Cara Menjadi Seorang Hacker Terjemahan melayu dari How To Become A Hacker oleh Eric S. Raymond . Diterjemahkan oleh penditegile <surfingmy>. Pertama diterjemahkan 2 jun 2002.
1. Mengapa Tulisan Ini Dibuat? Sebagai penyunting Jargon File dan penulis beberapa tulisan serupa lain yang telah dikenali, saya sering menerima email permintaan dari pelawat yang bunyinya ( lebih kurang) "bagaimana cara menjadi hacker ?". Anehnya, tidak ada FAQ atau dokumen web lain yang membahas pertanyaan penting ini, jadi inilah tulisan saya. Jika Anda membaca dokumen ini secara offline, kunjungi versi terakhirnya di http://www.tuxedo.org/~esr/faqs/hacker-howto.html. Catatan: ada daftar FAQ di akhir tulisan. Bacalah FAQ ini -- dua kali -- sebelum mengirim email pertanyaan pada saya i. Terjemahan berbagai bahasa dari tulisan ini tersedia: : Bulgaria, Cina (Simplified), Cina (Tradisional), Denmark, Belanda, Prancis, Finlandia, Jerman, Hungaria, Italia, Indonesia, Jepang, Korea, Portugis, Rusia, Spanyol, dan Swedia. Perhatikan bahwa kerana dokumen ini sesekali berubah, terjemahan-terjemahan tersebut mungkin sedikit banyak berbeza.
2. Apa Itu Hacker ? Jargon File memuat beberapa definisi untuk perkataan 'hacker', hampir semuanya berkaitan dengan kemahiran teknik serta kegemaran menyelesaikan masalah dan mengatasi sempadan. Namun jika ingin menjadi seorang hacker, hanya ada dua definasi yang relevan. Ada sebuah komuniti, budaya, terdiri dari para programer mahir dan ahli web, yang sejarahnya bermula dari dekad minikomputer pertama yang memiliki time-sharing dan zaman eksperimen awal ARPAnet. Dari anggota budaya inilah muncul istilah 'hacker'. Hackerlah yang membangun internet. Hackerlah yang membuat sistem operasi Unix menjadi seperti sekarang. Hackerlah yang mengoperasikan Usenet. Hacker yang membuat World Wide Web berjalan. Jika Anda sebahagian dari budaya ini, jika Anda
telah menyumbangkan sesuatu untuk budaya ini, dan rakan lain di dalamnya mengenali Anda sebagai seorang hacker, maka seorang hackerlah Anda. Cara fikir hacker tidak terbatas pada budaya hacker software. Ada orang yang menerapkan sikap hacker pada banyak bidang lain, elektronik atau muzik -- bahkan, cara fikir hacker ada di tingkat tertinggi setiap bidang ilmu dan seni. Hacker software mengakui semangat serupa ini dan kadang menyebut orang-orang tersebut "hacker" pula -- sebagian juga berpendapat bahawa sifat seorang hacker tidak bergantung pada wadah tempatnya bekerja. Tapi, untuk selanjutnya, kita akan memusatkan perhatian pada software hacker, keahlian dan sikap mereka, serta tradisi budaya bersama yang melahirkan istilah ‘hacker’. Terdapat pula sekelompok lain yang mengelari diri mereka hacker, padahal bukan. Mereka ini (terutama terdiri dari remaja ia) mendapat kepuasan mengodaml komputer dan mengakali telefon (phreaking). Hacker sejati menyebut orang-orang ini 'cracker' dan tidak suka bergaul dengan mereka. Hacker sejati memandang cracker sebagai orang malas, tidak bertanggung jawab, dan tidak terlalu cerdas. Hacker sejati tidak setuju jika dikatakan bahwa dengan menerobos keamanan seseorang telah menjadi hacker, sama seperti jika dikatakan bahwa merosakkan kereta membuat seseorang itu menjadi mekanik. Sayangnya, wartawan dan penulis telah salah tafsir dan menggunakan perkataan 'hacker' untuk menggambarkan cracker.. Perbezaan dasar antara hacker dan cracker: hacker membangun, cracker membongkar. Jika Anda ingin menjadi hacker, lanjutkan membaca. Jika ingin menjadi cracker, kunjungi newsgroup alt.2600 dan bersiaplah menghabiskan lima sampai sepuluh tahun di balik jeriji setelah mengetahui bahwa Anda ternyata tidak sepandai yang Anda kira. Hanya itu yang perlu dikatakan tentang cracker.
3. Sikap Hacker Pekerjaan hacker menyelesaikan masalah dan membangun sesuatu, dan hacker percaya pada kebebasan dan kerjasama sukarela. Agar dapat diterima sebagai seorang hacker, Anda harus berbuat seolah-olah Anda memiliki sikap ini. Dan agar dapat berbuat demikian, sikap ini harus benar-benar diyakini. Tapi kalau Anda berniat membina sikap ini hanya agar dapat diterima oleh para hacker, maka Anda belum memahami maknanya. Menjadi orang yang meyakini sikap hacker penting bagi Anda sendiri -- agar boleh terus belajar dan termotivasi. Sama seperti semua seni kreatif lain, cara paling efektif untuk menjadi seorang ahli adalah dengan meniru cara berfikir ahli-ahli lainnya -- bukan hanya secara intelektual tapi juga emosional. Seperti diungkapkan oleh sebuah sajak Zen modern di bawah:
Untuk mengikuti jalan: pandanglah sang ahli, ikuti sang ahli, berjalan bersama sang ahli, kenali sang ahil, jadilah sang ahli. Jadi, jika ingin menjadi hacker, ulangi pernyataan di bawah ini sampai benar-benar Anda yakini:
3.1 Dunia penuh dengan persoalan-persoalan menarik yang menanti untuk dipecahkan. Menjadi seorang hacker sebetulnya menyenangkan, tapi 'menyenangkan' yang memerlukan usaha. Usaha ini memerlukan motivasi. Atlet yang berjaya memperolehi motivasi dari kepuasan fizik semasa tubuh mereka beraksi, ketika mendorong diri melampaui batasan fizik. Demikian juga, untuk menjadi seorang hacker Anda harus merasa tertarik memecahkan persoalan, mengasah keahlian, dan melatih kecerdasan. Jika Anda merasa bukan seperti ini secara naluri, Anda harus berusaha menjadi demikian jika ingin berjaya menjadi hacker. Jika tidak, energi hacking Anda akan melemah kerana perhatian teralihkan oleh seks, wang, dan kedudukan. (Anda pun harus mengembangkan keyakinan pada kapasiti belajar diri -- keyakinan bahwa meskipun yang Anda ketahui belum cukup untuk memecahkan suatu persoalan, jika satu potongan sahaja dari persoalan Anda usaha pecahkan, maka itu sudah cukup memberi pelajaran kepada Anda untuk menyelesaikan potongan berikutnya -- dan berikutnya, hingga semua masalah selesai.)
3.2 Tidak seharusnya masalah yang sama dipecahkan dua kali. Otak yang kreatif merupakan sumber daya yang berharga dan terbatas. Tidak seharusnya sumber daya ini diboroskan hanya untuk memikirkan kembali suatu persoalan sama; padahal ada begitu banyak masalah menarik baru lain di dunia ini yang menanti. Agar dapat bertingkah laku seperti hacker, Anda harus percaya bahwa waktu berfikir hacker lain itu berharga -- begitu berharganya hingga merupakan suatu kewajiban moral bagi Anda untuk membahagikan informasi, menyelesaikan masalah lalu memberi jawabannya pada hacker lain supaya mereka menyelesaikan masalah baru dan tidak selamanya berkutat pada masalah-masalah lama. (Tidak harus berkeyakinan bahwa semua produk kreatif Anda harus direlakan bagi orang lain, hacker yang demikianlah yang paling dihormati hacker lain. Menurut nilai-nilai
hacker, jual sahaja sebahagian asal cukup untuk tetap makan, tetap dapat membayar sewa rumah, dan tetap dapat memakai komputer. Tidak melanggar nilai hacker jika Anda memanfaatkan ilmu Anda untuk membiayai keluarga atau bahkan memperkaya diri, asalkan sambil melakukannya tetap setia pada disiplin ilmu dan sesama hacker lain.)
3.3 Kebosanan dan pekerjaan membosankan itu jahat. Hacker (dan manusia kreatif pada umumnya) tidak seharusnya dibosankan dengan pekerjaan bodoh yang berulang-ulang, karena ini bererti mereka tidak melakukan pekerjaan yang hanya boleh dilakukan oleh mereka -- menyelesaikan persoalan-persoalan baru. Pemborosan sumber daya ini merugikan semua pihak. Kerana itu kebosanan dan pekerjaan membosankan bukan saja tidak menyenangkan tapi juga jahat. Agar dapat bertingkah laku seperti hacker, Anda harus meyakini hal ini sehingga Anda berkeinginan untuk mengautomasi sebanyak mungkin bahagian yang membosankan, bukan saja bagi diri sendiri tapi juga orang lain (terutama sesama hacker). (Ada satu kekecualian yang jelas. Hacker kadang kala melakukan pekerjaan yang di mata orang lain nampaknya berulang-ulang atau membosankan; ini untuk latihan menjernihkan fikiran, atau dalam rangka memperoleh keahlian atau pengalaman yang tak boleh tidak harus diperoleh dengan cara demikian. Tentu saja hal ini dilakukan atas dasar kehendaknya sendiri -- setiap orang yang mampu berfikir tidak seharusnya dipaksa menjadi bosan.)
3.4 Kebebasan itu baik. Secara alamiah hacker itu anti-otoriti. Siapa pun yang dapat memerintah Anda akan dapat menghentikan Anda untuk menyelesaikan persoalan yang menarik -- dan, sesuai fikiran otak para otoriter, pada umumnya akan membuat alasan yang benar-benar bodoh untuk itu. Jadi sikap otoriter harus dilawan di mana pun Anda berada, agar nantinya tidak menekan Anda dan hacker-hacker lain. (Tidak untuk disamakan dengan melawan setiap bentuk kekuasaan. Anak-anak tetap harus dibimbing, para penjenayah ditahan. Seorang hacker mungkin akan tunduk pada bentuk-bentuk kekuasaan tertentu agar dapat memperoleh sesuatu yang lebih dari waktu yang diperlukan untuk mengikuti peraturan. Ini lebih merupakan tawar-menawar yang terbatas dan dilakukan secara sadar; jenis tunduk diri yang diinginkan oleh orang-orang otoriter tentu saja tidak boleh diterima.) Para otoriter hidup di atas sensor dan kerahsiaan. Mereka tidak percaya pada kerjasama dan berbagi informasi -- satu-satunya jenis 'kerja sama' yang disukai adalah yang dapat mereka kendalikan. Jadi untuk berlaku seperti seorang hacker, Anda perlu mengembangkan rasa benci pada pensensoran, kerahsiaan, dan penggunaan kekerasan atau penipuan untuk memaksakan kehendak pada orang dewasa. Dan Anda harus bersedia bertindak atas dasar keyakinan ini.
3.5 Sikap sahaja tidak ada ertinya tanpa keahlian. Untuk menjadi hacker, Anda perlu mengembangkan sebahagian dari sikap-sikap yang telah disebutkan. Tapi memiliki sikap saja belum membuat seseorang menjadi hacker, atau atlet juara atau bintang rock. Untuk menjadi hacker diperlukan kecerdasan, latihan, dedikasi, dan kerja keras. Jadi, Anda perlu belajar untuk tidak mempercayai sikap saja dan menghormati setiap bentuk kemampuan. Hacker tidak bersedia menghabiskan waktu dengan orang-orang yang hanya bersikap seperti hacker, tapi hacker memuja keahlian -- terutama keahlian dalam hacking, tapi juga keahlian di bidang apapun. Yang terlebih bagus lagi iaitu keahlian dalam bidang yang sulit dan hanya dapat dikuasai oleh sedikit orang, dan yang terbaik adalah keahlian dalam bidang yang sulit dan melibatkan ketajaman mental, keahlian, serta konsentrasi. Bila Anda memuja keahlian, Anda akan merasa senang dalam meningkatkan kemampuan diri -- kerja keras dan dedikasi akan menjadi semacam permainan yang mengasyikkan . Dan hal ini penting dalam proses menjadi hacker.
4. Kemampuan Hacking 4.1 Pelajari pemprograman. Ini tentunya merupakan keahlian hacking yang fundamental. Jika Anda belum pernah belajar bahasa pemprograman apa pun, saya sarankan mulai dengan Python. Designnya bersih, terdokumentasi dengan baik, dan cukup mudah bagi pemulaan. Meski pun menjadi bahasa pertama, bukan bererti Python hanya mainan; Python amat ampuh dan fleksibel dan sesuai untuk projek-projek besar. Saya menulis evaluasi terhadap Python yang lebih detaill. Tutorial Python boleh dilihat di laman web Python Java juga bahasa yang baik untuk belajar pemprograman. Lebih sukar dari Python, tapi menghasilkan kod yang lebih cepat dari Python. Menurut saya Java amat bagus sebagai bahasa kedua. Perlu diingat bahwa dengan satu dua bahasa pemprograman saja Anda tidak akan mencapai tingkat keahlian seorang hacker, atau bahkan seorang programer -- Anda perlu belajar cara memandang pemprograman secara umum, tidak bergantung pada satu bahasa mana pun. Untuk menjadi hacker sejati, Anda perlu mencapai tahap di mana Anda dapat mempelajari bahasa baru dalam beberapa hari, dengan menghubungkan apa yang ada di manual dengan apa yang telah Anda ketahui. Hal ini bererti, Anda perlu mempelajari beberapa bahasa yang jauh berbeza satu dengan yang lainnya. Jika ingin serius dalam pemrograman, pada akhirnya Anda harus belajar C, bahasa inti sistem operasi Unix. C++ terkait erat dengan C; jika tahu yang satu, belajar yang lain
tidak akan susah. Namun keduanya bukan bahasa yang sesuai untuk dipelajari pertama kali. Bahasa lain yang juga penting untuk hacker antara lain Perl dan LISP. Perl patut dipelajari untuk keperluan praktis; Perl dipakai secara amat meluas untuk halaman web aktif dan untuk administrasi sistem, jadi meskipun nantinya Anda tidak akan membuat program dalam Perl, Anda sebaiknya belajar cara membaca Perl. LISP patut dipelajari karena akan memberikan pengalaman 'membuka pikiran' jika Anda telah menangkapnya; dengan mempelajari LISP, Anda akan menjadi seorang programer yang lebih baik, meskipun dalam kenyataan Anda akan jarang memakainya. Paling baik sebetulnya mempelajari semuanya (Python, Java, C/C++, Perl, dan LISP). Selain merupakan bahasa-bahasa terpenting dalam hacking, masing-masing mewakili cara pendekatan pemrograman yang berbeza, dan tiap bahasa akan memberi Anda pelajaran-pelajaran berharga. Tentu saja, di sini tidak mungkin saya memberi petunjuk lengkap cara memprogram -pemprograman merupakan keahlian yang kompleks. Tapi, satu petunjuk yang saya berikan: buku dan kursus saja tidak akan membuat Anda menjadi seorang programer Anda akan menjadi programer dengan (a) membaca kod dan (b) menulis kod. Belajar membuat program adalah seperti belajar menulis dalam bahasa alamiah. Cara terbaik untuk melakukannya dengan membaca tulisan yang dibuat oleh para ahlinya, membuat tulisan sendiri sedikit, membaca lebih banyak lagi, menulis lebih banyak, dan mengulanginya sampai di tulisan Anda mulai terbentuk semacam kekuatan dan kemahiran penggunaan kata seperti di tulisan-tulisan yang semula Anda teladani. Dahulu sukart mencari kod yang baik untuk dibaca, kerana dulu hanya sedikit programprogram besar yang terdapat dalam bentuk source untuk boleh dibaca . Sekarang keadaanya jauh berbeza: software open-source, tool pemprograman, dan sistem operasi (semua dibuat oleh hacker) kini banyak terdapat. Dan ini menghantar kita pada point berikutnya…
4.2 Cari, pelajari, dan jalankan salah satu versi Unix open-source. Saya anggap Anda memiliki, atau memperoleh akses ke komputer pribadi . Kalau ada satu langkah terpenting bagi pemula untuk mendapatkan kemampuan hacker, itu adalah mendapatkan satu salinan sistem operasi Linux atau salah satu Unix BSD, meng-installnya di komputer sendiri, dan menjalankannya. (Tidak saya sarankan meng-install Linux sendirian jika Anda pemula. Cari klub komputer atau kelompok pengguna Linux di daerah Anda dan mintalah bantuan; atau hubungi Linux Internet Support Co-Operative. LISC mengurus channel-channel IRC tempat Anda dapat bertanya). Tentu, di dunia ini ada banyak sistem operasi selain Unix. Tapi sistem-
sistem operasi tersebut didistribusikan dalam program binary -- kodnya tidak senang Anda baca, sehinggga sistem operasi tersebut tidak boleh Anda modifikasikan. Belajar hacking di DOS atau Windows atau MacOS adalah bagaikan belajar menari dengan seluruh tubuh diikat. Lagipula Unix-lah sistem operasi Internet. Meski tentu boleh berlajar menggunakan internet tanpa mengenal Unix, Anda tak akan mampu menjadi hacker Internet tanpa memahami Unix. Untuk alasan inilah, budaya hacker saat ini cukup cenderung berat ke Unix. (Ini tidak selalu benar, beberapa hacker zaman dahulu tidak menyukai kenyataan ini, tapi simbiosis antara Unix dan Internet telah menjadi kuat sehingga bahkan otot Microsoft pun tak mampu membengkokkannya.) Jadi, buatlah sistem Unix -- saya pribadi menyukai Linux tapi tentu saja ada yang lainnya (dan ya, Anda boleh menjalankan Linux dan DOS/Windows di mesin yang sama). Pelajari Unix. Jalankan Unix. Bermain-mainlah dengan Unix. Berhubungan dengan internet melalui Unix. Baca kod. Modifikasi. Di Unix Anda akan menjumpai tool pemprograman yang lebih baik (termasuk C, Lisp, Python, dan Perl) di sistem operasi Microsoft manapun, Anda akan bersenang-senang, dan Anda akan mendapat pengetahuan lebih dari yang Anda sadari sampai kemudian ketika mengenang kembali Anda telah seorang hacker pakar. Lebih jauh tentang mempelajari Unix, lihat The Loginataka. Untuk memperoleh Linux, lihat Where can I get Linux. Bantuan dan resource BSD Unix bisa Anda lihat di http://www.bsd.org/. Saya menulis pengantar dasar Unix dan Internet. (Catatan: Saya tidak menganjurkan menginstal Linux atau BSD sendirian jika Anda seorang pemula. Untuk Linux, carilah sebuah kelompok pengguna lokal Linux dan mintalah bantuan mereka; atau hubungi Open Projects Network. LISC memaintain daftar IRC channel yang boleh Anda datangi untuk memperoleh bantuan.)
4.3 Pelajari cara menggunakan World Wide Web dan cara menulis HTML. Kebanyakan hasil budaya hacker bekerja di belakang layar tanpa diketahui orang banyak, membantu mengoperasikan fabrik, pejabat, dan universiti, tanpa ada pengaruh yang jelas pada cara hidup para non-hacker. Web adalah satu kekecualian, bahkan para politik pun mengakui bahawa barang mainan hacker yang besar dan berkilauan ini telah mengubah dunia. Untuk satu alasan ini sahaja (dan juga banyak alasan bagus lainnya) Anda perlu mempelajari cara pengoperasian Web.
Maksudnya lebih dari sekadar cara menggunakan browser (sebab kalau itu siapa pun boleh), tapi mempelajari cara menulis HTML, bahasa markup Web. Bila Anda belum menguasai pemprograman, dengan menulis HTML Anda akan diajari beberapa kebiasaan mental yang akan membantu Anda belajar pemprograman. Jadi, buatlah home page. Hanya dengan membuat homepage tidak akan membuat Anda menjadi (bahkan dekat pun tidak) seorang hacker. Web penuh dengan home page. Kebanyakan hanyalah kotoran tanpa erti, tanpa isi -- kotoran yang nampak indah, tapi tetap kotoran (lebih jauh tentang ini, lihat The HTML Hell Page). Agar bermanfaat, halaman Anda harus mengandung content -- harus menarik dan/atau berguna bagi hacker lain. Dan ini menghantar kita pada bahasan berikutnya...
5. Status dalam Budaya Hacker Seperti halnya dalam kebanyakan budaya lain tanpa ekonomi wang, dunia hacker berjalan di atas reputasi. Anda berusaha menyelesaikan persoalan-persoalan menarik, tapi seberapa menarik persoalan tersebut, dan apakah solusi Anda benar-benar baik, merupakan sesuatu yang umumnya hanya dapat dinilai oleh rakan sejawat atau orang atasan Anda. Demikian juga, dalam permainan hacker, Anda menjaga nilai terutama dari pandangan hacker lain terhadap kemampuan Anda (inilah sebabnya Anda belum benar-benar seorang hacker sampai hacker-hacker lain dengan konsisten menyebut Anda seorang hacker). Kenyataan ini dikaburkan oleh citra hacking sebagai pekerjaan menyendiri; juga oleh budaya hacker (yang kini perlahan-lahan menghilang namun masih tetap kuat) yang tidak mengakui bahwa ego atau pengesahan dari luar berpengaruh pada motivasi seseorang. Tegasnya, dunia hacker merupakan apa yang disebut oleh para antropologi sebagai budaya memberi. Kedudukan dan reputasi tidak diperoleh dengan menguasai orang lain, atau dengan menjadi seseorang yang cantik, atau dengan memiliki sesuatu yang tidak dimiliki orang lain, tapi dengan memberikan sesuatu. Tepatnya, dengan memberikan waktu Anda, kreativiti, dan hasil dari kemampuan Anda. Pada asasnya ada lima hal yang selalu dilakukan agar dihormati oleh hacker:
5.1 Menulis software open-source. Yang pertama (yang paling inti dan paling tradisional) adalah menulis program yang dipandang berguna atau mengasyikkan oleh hacker lain, kemudian memberikan source programnya untuk digunakan oleh seluruh budaya hacker.
(Dulu karya semacam ini disebut 'software bebas' (free software), tapi istilah ini memeningkan ramai orang kerana mereka tidak tahu apa erti tepat dari 'free'. Sekarang banyak yang lebih menyukai istilah 'software open-source'.) hackers pakar
yang dipuja di dunia hacker yaitu mereka yang telah menulis program besar yang berkemampuan tinggi dan diperlukan di mana-mana, seterusnya memberikan program ini percuma, dan sekarang program itu telah dipakai setiap orang.
5.2 Membantu menguji dan men-debug software opensource Yang selanjutnya berjasa adalah mereka yang bertahan menggunakan dan men-debug software open-source. Di dunia yang tak sempurna ini, tanpa terhindarkan kita harus menghabiskan sebahagian besar waktu pengembangan software dalam tahap debugging. Karena itu setiap penulis software open-source yang waras akan berpendapat bahwa penguji beta yang baik (yang tahu bagaimana menjelaskan gejala masalah dengan jelas, bagaimana melokal masalah, mampu mentolerisasi bug di rilease cepat, dan bersedia menjalankan beberapa rutin diagnostik sederhana) itu sangat berharga. Bahkan satu saja penguji beta sudah mampu membantu menjadikan tahap debugging dari mimpi burukyang berpanjang yang melelahkan menjadi hanya gangguan yang menyehatkan. Bila Anda seorang pemula, cubalah mencari program yang sedang dalam tahap pengembangan, yang menarik bagi Anda, dan jadilah seorang penguji beta yang baik. Dari sini Anda secara alamiah akan meningkat dari membantu menguji program ke membantu memodifikasi program. Anda akan belajar banyak, dan pada gilirannya nanti Anda pun akan memperoleh bantuan dari orang lain saat memerlukan.
5.3 Menerbitkan informasi yang bermanfaat. Yang bagus juga untuk dilakukan iaitu mengumpulkan dan menyaring informasiinformasi menarik dan berguna ke dalam halaman Web atau dokumen seperti FAQ (Frequently Asked Questions -- daftar jawapan pertanyaan-pertanyaan yang sering diajukan orang), dan membuat dokumen-dokumen ini mudah didapati orang. Pemelihara FAQ teknik yang besar-besar juga mendapatkan hormat hampir seperti para penulis software open-source.
5.4 Membantu terus berjalannya infrastruktur. Budaya hacker (dan juga dalam hal ini pengembangan Internet) dijalankan oleh sukarelawan. Banyak sekali pekerjaan yang diperlukan namun bukan pekerjaan yang agung, yang harus dilakukan agar semuanya tetap berjalan – melakukan administrasi mailing list, moderasi newsgroup, memelihara laman archive software yang besar, mengembangkan dokumen-dokumen RFC serta standard teknik lainnya.
Mereka yang melakukan hal-hal seperti ini dengan baik juga dihormati, kerana orang tahu bahwa pekerjaan seperti ini menghabiskan banyak waktu dan tidak kalah mengasyikkan dibanding bermain dengan kod. Melakukan pekerjaan seperti ini menunjukkan bahwa seseorang memiliki dedikasi.
5.5 Mengabdi kepada budaya hacker itu sendiri. Terakhir, Anda dapat mengabdi dan menyebarluaskan budaya hacker ( misalnya, menulis panduan tepat bagi pemula tentang cara menjadi seorang hacker :-)). Anda tidak boleh melakukan hal ini kecuali telah berkecimpung cukup lama dan menjadi figure yang cukup terkenal di salah satu dari empat hal sebelumnya. Budaya hacker tidak seperti memiliki pemimpin, tapi memiliki pahlawan, tetua suku, sejarawan. Jika Anda telah cukup lama berada di 'medan tempur', Anda dapat saja memperoleh salah satu dari jabatan-jabatan ini. Peringatan: hacker tidak mempercayai ego ketua suku , jadi berbahaya jika Anda terlalu terlihat untuk berusaha menjadi terkenal. Cara yang benar seharusnya iaitu dengan memposisikan diri sedemikian rupa sehingga jabatan tersebut jelas telah Anda capai, lalu kemudian bersikap rendah hati dan ramah sehubungan dengan kedudukan Anda tersebut.
6. Hubungan Hacker Bertentangan dengan mitos popular, tidak perlu menjadi orang terkenal untuk menjadi hacker. Meski itu sebetulnya membantu, dan pada kenyataannya banyak hacker yang merupakan orang terkenal. Menjadi orang yang tersisih secara sosial membantu Anda tetap memusatkan perhatian pada hal-hal yang benar-benar penting, seperti berfikir dan hacking. Kerana alasan ini, banyak hacker mengadopsi label 'nerd' dan bahkan menggunakan istilah yang lebih kasar 'geek' sebagai lencana kebanggaan -- cara memproklamasikan kebebasan dari tuntutan sosial. Lihatlah The Geek Page untuk pembahasan menyeluruh. Bila Anda tetap dapat memusatkan perhatian pada hacking sampai menjadi cukup pakar dan tetap memiliki kegiatan sosial, . Hal ini memang lebih mudah dilakukan sekarang pertimbangkan waktu saya seorang pemula di tahun 1970-an; budaya mainstream saat ini jauh lebih ramah pada para techno-nerd. Malah kini semakin banyak orang yang menyedari bahawa hacker kadang-kadang merupakan kekasih yang berkualiti dan calon pasangan hidup potensi. Lebih lanjut tentang hal ini, lihat Girl's Guide to Geek Guys. Bila ketertarikan Anda pada hacking adalah kerana Anda tidak mempunyai kegiatan lain, itu juga tidak apa-apa -- setidaknya tidak perlu susah-susah memusatkan perhatian. Mudah-mudahan satu hari nanti Anda akan memperoleh kehidupan sosial.
7. Panduan Gaya
Saya ulangi, untuk menjadi hacker, Anda perlu memasuki cara fikir hacker. Hal-hal tertentu yang Anda lakukan sewaktu jauh dari komputer kadang membantu mencapainya. Tentu saja kegiatan-kegiatan ini bukan sebagai pengganti hacking (tak ada yang dapat menggantikan hacking) tapi banyak hacker melakukannya, dan merasa bahawa kegiatan tersebut secara dasar berhubungan dengan intisari hacking. • • •
• •
Membaca karya fiksi ilmiah. Datang ke pertemuan fiksi ilmiah (salah satu jalan yang bagus untuk bertemu hacker dan proto-hacker). Mempelajari Zen, dan/atau berlatih bela diri. (Disiplin mental yang diajarkan serupa dengan hacking dalam hal-hal penting.) Mengasah pendengaran muzik. Belajar menghargai jenis-jenis musik yang tidak lazim. Belajar menjadi ahli dalam bermain alat muzik tertentu, atau berlatih bernyanyi. Mengembangkan apresiasi akan permainan kata. Belajar menulis dalam bahasa asli (Sejumlah banyak hacker, termasuk semua hacker terbaik yang saya kenal, adalah penulis yang cakap).
Semakin banyak dari hal-hal di atas yang sudah Anda kerjakan, semakin besar kemungkinan Anda adalah calon hacker berbakat. Kenapa hal-hal di atas yang berhubungan dengan hacking tidak sepenuhnya jelas, tapi semuanya berkaitan dengan gabungan kemampuan otak kiri dan kanan yang penting (hacker harus dapat berfikir logis dan juga sewaktu-waktu harus dapat melangkah keluar dari logika umum suatu permasalahan). Terakhir, sebagian dari hal-hal yang tidak sebaiknya dilakukan: • • • •
Jangan menggunakan ID atau nama samaran secara berlebihan. Jangan terlibat perang flame di Usenet (atau di mana pun). Jangan menggelari diri 'cyberpunk', jangan berurusan dengan para 'cyberpunk'. Jangan mengirim posting atau email yang penuh salah taip dan bertata bahasa buruk.
Satu-satunya reputasi yang akan Anda dapatkan jika melakukan hal-hal di atas adalah sebagai orang dungu. Ingatan hacker biasanya bagus -- mungkin diperlukan bertahuntahun lamanya sebelum Anda dapat diterima kembali.
8. Bacaan Lain Peter Seebach mengurus dokumen bagus Hacker FAQ bagi para manager yang tidak tahu bagaimana harus berhadapan dengan para hacker. Di Loginataka terdapat beberapa keterangan tentang latihan dan cara bersikap seorang hacker Unix yang benar. Saya juga menulis A Brief History Of Hackerdom.
Saya menulis sebuah paper, The Cathedral and the Bazaar, yang menjelaskan banyak tentang cara kerja Linux dan budaya open-source. Topik ini saya bahas lebih tegas dalam kelanjutan paper tersebut, Homesteading the Noosphere. Rick Moen menulis dokumen yang bagus tentang cara mengoperasikan kelompok pengguna Linux.
9. Soal Jawab (FAQ) T: Bolehkah Anda mengajar saya cara hacking? J: Sejak pertama kali halaman ini diterbitkan online, setiap minggu (kadang kala setiap hari) saya mendapatkan beberapa permintaan dari orang agar saya 'mengajari hacking dari A-Z'. Sayangnya, saya tidak memiliki waktu atau tenaga untuk ini; projek-projek hacking saya telah menghabiskan 110% dari waktu saya. Meski pun saya ajarkan, hacking adalah sikap dan kemampuan yang pada dasarnya harus dipelajari sendiri. Anda akan menyedari bahwa meskipun para hacker sejati bersedia membantu, mereka tidak akan menghargai Anda jika Anda minta disuapi segala hal yang mereka ketahui. Pelajari dulu sedikit hal. Tunjukkan bahwa Anda telah berusaha, bahwa Anda mampu belajar sendiri. Barulah ajukan pertanyaan-pertanyaan spesifik pada hacker yang Anda jumpai. Jika pun Anda mengirim email pada seorang hacker untuk meminta nasihat, ketahuilah dahulu dua hal. Pertama, kami telah menemukan bahwa orang-orang yang malas dan sembarangan dalam menulis biasanya terlalu malas dan sembarangan dalam berpikir sehingga tidak sesuai menjadi hacker -- kerana itu usahakanlah mengeja dengan benar, dan gunakan tata bahasa dan tanda baca yang baik, atau Anda tidak akan dilayan. Kedua, jangan berani-berani meminta agar jawapan dikirim ke alamat email lain yang berbeza dari alamat tempat Anda mengirim email; kami menemukan orang-orang ini biasanya pencuri yang memakai account curian, dan kami tidak berminat menghargai pencuri. T: Jadi bagaimana cara memulaiya? J: Cara terbaik adalah barangkali mengunjungi pertemuan (kelompok pengguna Linux) setempat. Anda dapat menemukan kelompok yang dimaksud di LDP General Linux Information Page; mungkin ada satu yang berhampiran Anda, kemungkinan berkaitan dengan sebuah sekolah atau universiti. Anggota kelompok Linux kemungkinan akan memberi Anda Linux jika Anda meminta, dan sudah pasti akan menolong Anda menginstall Linux dan mula memakainya. T: Bila saya harus mulai? Apakah sudah terlambat?
J: Di usia mana pun Anda mulai termotivasi, itu usia yang baik. Kebanyakan orang mulai tertarik di usia 15 s.d. 20, tapi banyak perkecualian (lebih tua maupun lebih muda). T: Berapa lama waktu yang diperlukan untuk belajar hacking? J: Bergantung seberapa besar bakat dan usaha Anda. Kebanyakan orang memperoleh keahlian yang cukup dalam lapan belas bulan atau dua tahun, jika mereka berkonsentrasi. Tapi jangan fikir setelah itu selesai; jika Anda hacker sejati, Anda akan menghabiskan sisa waktu belajar dan menyempurnakan keahlian. T: Apakah Visual Basic atau Delphi bahasa permulaan yang bagus? J: Tidak, karena mereka tidak portabel. Belum ada implementasi open-source dari bahasa-bahasa ini, jadi Anda akan terkurung di platform yang dipilih oleh vendor. Menerima situasi monopoli seperti itu bukanlah cara hacker. Visual Basic amat jelek. Fakta bahwa bahasa ini proprietary dari Microsoft sudah cukup untuk mendiskualifikasikannya, dan seperti halnya Basic-Basic yang lain, bahasa ini didesign dengan jelek dan akan mengajarkan kepada Anda kebiasaan-kebiasaan memprogram yang jelek. T: Mahukah Anda membantu saya meng-crack sistem ini, atau mengajari saya cara cracking? J: Tidak. Jika orang masih mengajukan pertanyaan bodoh seperti di atas setelah membaca tulisan ini, berarti dia terlalu bodoh untuk dididik, meskipun saya memiliki waktu untuk mendidiknya. Setiap email kepada saya dengan permintaan semacam ini akan diabaikan atau dijawab dengan amat kasar. T: Bagaimana cara mendapatkan password account orang lain? J: Ini cracking. Pergi sana, bodoh. T: Bagaimana cara menembus/membaca/memonitor email orang lain? J: Ini cracking. T: Bagaimana cara mencuri privilege op chanel di IRC? J: Ini cracking. T: Saya dicrack. Mahukah Anda menolong saya mencegah serangan berikutnya? J: Tidak. Setiap kali saya ditanya pertanyaan di atas sejauh ini, ternyata penanyanya seseorang yang menggunakan Microsoft Windows. Tidak mungkin secara efektif melindungi sistem Windows dari serangan crack; kode dan arsitektur Windows terlalu
banyak mengandung cacat, sehingga berusaha mengamankan Windows seperti berusaha menyelamatkan kapal yang bocor dengan saringan. Satu-satunya cara pencegahan yang adal adalah berpindah ke Linux atau sistem operasi lain yang setidaknya dirancang untuk keamanan. T: Saya mengalami masalah dengan software Windows saya. Maukah Anda menolong? J: Ya. Buka DOS prompt dengan ketikkan "format c:". Semua masalah yang Anda alami akan lenyap dalam beberapa minit. T: Di mana tempat untuk bertemu dengan para hacker asli dan berbual dengan mereka? Jalan terbaik yaitu dengan mencari kelompok pengguna Unix atau Linux di daerah Anda dan pergi ke pertemuan rutin mereka (sebagian daftar kelompok pengguna ini bisa dilihat di halaman LDP di Sunsite). (Dulu saya pernah berkata bahwa di IRC Anda tidak akan berjumpa dengan hacker sejati, tapi sekarang saya mengerti bahwa kenyataan ini telah berubah. Nampaknya komuniti para hacker sejati, yang berhubungan dengan hal-hal seperti GIMP dan Perl, telah memiliki channel IRC masing-masing). T: Bolehkah Anda menganjurkan buku-buku yang berguna berkaitan hacking? J: Saya memaintain Linux Reading List HOWTO yang mungkin berguna bagi Anda. Loginataka juga barangkali menarik buat Anda. T: Apakah matematik saya harus bagus untuk menjadi hacker? J: Tidak. Meskipun Anda perlu dapat berfikir logik dan mengikuti rantai pemikiran abstrak, hacking hanya menggunakan sedikit sekali matematik formal atau aritmetika. Anda terutama tidak perlu kalkulus atau analisis . Sejumlah asas pada matematik finit (termasuk aljabar Bool, teori himpunan hingga, kombinasi, dan teori graph) berguna. T: Bahasa apa yang pertama harus saya pelajari? J: HTML, bila Anda belum menguasainya. Ada banyak buku HTML yang senang, dengan sampul mengkilap dan penuh dengan kata-kata berlebih, sementara amat disayangkan jumlah buku yang bagus sedikit. Satu yang paling saya sukai iaitu HTML: The Definitive Guide. Tapi HTML bukan bahasa pemprograman penuh. Bila Anda telah siap untuk memprogram, saya sarankan mulai dengan Python. Anda akan mendengar banyak orang menyarankan Perl, dan Perl waktu ini masih lebih popular berbanding Python, tapi Perl lebih susah dipelajari.
C amat penting, tapi juga jauh lebih sukar daripada Python atau Perl. Jangan terus belajar C untuk pertama kali. T: Hardware apa yang saya perlukan? J: Komputer pribadi (PC, personal computer) dulu kurang memiliki daya komputasi dan memorinya sedikit, sehingga membatasi proses belajar hacker. Sudah agak lama kenyataannya tidak lagi demikian. Setiap mesin mulai dari 486DX50 ke atas sudah lebih dari cukup untuk development, X, dan komunikasi Internet, dan hard disk terkecil yang boleh Anda beli sekarang sudah cukup besar. Yang penting dalam memilih hardware adalah apakah kompatibel dengan Linux (atau BSD, jika Anda memilih OS itu). , hardware modern kebanyakan kompatibel; yang masih kurang banyak kompatibel adalah modem dan printer; beberapa mesin mengandung hardware yang spesifik Windows dan tidak akan bekerja dengan Linux. Ada FAQ tentang kompatibilitas hardware, versi terakhirnya ada di sini. T: Apakah saya harus membenci Microsoft? J: Tidak perlu. Bukannya Microsoft itu menjijikkan, tapi sudah ada budaya hacker jauh sebelum Microsoft dan juga akan ada nanti setelah Microsoft menjadi sejarah. Energi yang Anda berikan untuk membenci Microsoft barangkali lebih baik dikerahkan untuk mencintai pekerjaan Anda. Tulislah kod yang bagus T: Tapi bukankan dengan software open-source programer tidak akan dapat memperoleh nafkah? J: Kemungkinan besar tidak -- sejauh ini, industri software open-source justru menciptakan ketimbang menmengisi masa lapang. Jika ditulisnya suatu program akan menciptakan keuntungan bersih secara ekonomi, seorang programer tetap akan memperoleh bayaran terlepas dari apakah programnya itu akan menjadi program bebas atau tidak. Dan, terlepas dari sebanyak apa pun software “bebas” yang telah ditulis, selalu ada keperluan akan aplikasi yang baru dan dibuat sesuai pesanan. Di halaman web Open Source, saya menulis lebih jauh tentang hal ini. T: Bagaimana caranya mulai? Di mana saya boleh mendapatkan versi Unix percuma? J: Di bahagian lain tulisan ini saya telah memberi petunjuk tempatnya. Untuk menjadi hacker Anda memerlukan motivasi dan inisiatif dan kemampuan untuk belajar sendiri. Mulailah sekarang… Footnote
1
Demigod, hacker yang telah memiliki pengalaman bertahun-tahun, memiliki reputasi kelas dunia, dan berperan penting dalam pengembangan rancangan, tool, atau game yang dipakai/dikenal oleh minimal separuh komunitas hacker (dari Jargon File 4.1.2). 2
Nerd, seseorang yang memiliki IQ di atas rata-rata, kurang mampu bercakap-cakap atau melakukan ritual sosial lainnya. (dari Jargon File 4.1.2).