1. Mengapa Tulisan Ini Dibuat?
Sebagai penyunting Jargon File dan penulis beberapa tulisan serupa lain yang telah dikenal luas, saya sering menerima email permintaan dari newbie jaringan yang antusias, bunyinya (kurang lebih) "bagaimana cara menjadi hacker jagoan?". Anehnya, tidak ada FAQ atau dokumen web lain yang membahas pertanyaan penting ini, jadi inilah tulisan saya.
Jika Anda membaca snapshot 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 seputar dokumen ini.
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 karena dokumen ini sesekali berubah, terjemahan-terjemahan tersebut mungkin sedikit banyak kadaluarsa.
2. Apa Hacker Itu?
Jargon File memuat beberapa definisi untuk kata 'hacker', hampir semuanya berkaitan dengan kemahiran teknis serta kegemaran menyelesaikan masalah dan mengatasi keterbatasan. Namun jika ingin menjadi seorang hacker, hanya ada dua definisi yang relevan.
Ada sebuah komunitas, budaya, terdiri dari para programer mahir dan ahli jaringan, yang sejarahnya bermula dari dekade 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 bagian dari budaya ini, jika Anda telah menyumbangkan sesuatu untuk budaya ini, dan rekan lain di dalamnya mengenali Anda sebagai seorang hacker, maka seorang hackerlah Anda.
Cara pikir hacker tidak terbatas pada budaya hacker software. Ada orang yang menerapkan sikap hacker pada banyak bidang lain, elektronik atau musik -- bahkan, cara pikir 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 bahwa 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 menyebut-nyebut diri hacker, padahal bukan. Mereka-mereka ini (terutama terdiri dari remaja pria) mendapat kepuasan lewat membobol komputer dan mengakali telepon (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 mengontakkan mobil membuat seseorang langsung menjadi ahli mesin. Sayangnya, wartawan dan penulis telah salah kaprah dan menggunakan kata 'hacker' untuk melukiskan cracker; sesuatu yang selalu membuat kesal para hacker sejati.
Perbedaan mendasar 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 jeruji 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 menumbuhkan sikap ini hanya agar dapat diterima di lingkungan hacker, maka Anda belum menangkap maknanya. Menjadi orang yang meyakini sikap hacker penting bagi Anda sendiri -- agar bisa terus belajar dan termotivasi. Sama seperti semua seni kreatif lain, cara paling efektif untuk menjadi seorang ahli adalah dengan meniru cara berpikir 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 ahili,
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 menuntut usaha. Usaha ini membutuhkan motivasi. Atlet yang sukses memperoleh motivasi dari kepuasan fisik saat tubuh mereka beraksi, saat mendorong diri melampaui batasan fisik. 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 berhasil menjadi hacker. Jika tidak, energi hacking Anda akan melemah karena perhatian teralihkan oleh seks, uang, dan kedudukan.
(Anda pun harus mengembangkan keyakinan pada kapasitas belajar diri -- keyakinan bahwa meskipun yang Anda ketahui belum cukup untuk memecahkan suatu persoalan, jika satu potongan saja dari persoalan Anda usaha pecahkan, maka itu sudah cukup memberi pelajaran kepada Anda untuk menyelesaikan potongan berikutnya -- dan berikutnya, hingga semua potongan terselesaikan.)
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 dari dasar; padahal ada begitu banyak masalah menarik baru lain di dunia ini yang menanti.
Agar dapat bertingkah laku seperti hacker, Anda harus percaya bahwa waktu berpikir hacker lain itu berharga -- sebegitu berharganya hingga merupakan suatu kewajiban moral bagi Anda untuk membagikan 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, meski hacker yang demikianlah yang paling dihormati hacker lain. Menurut nilai-nilai hacker, jual saja sebagian 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 berarti mereka tidak melakukan pekerjaan yang hanya bisa dilakukan oleh mereka -- menyelesaikan persoalan-persoalan baru. Pemborosan sumber daya ini merugikan semua pihak. Karena 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 mengotomasi sebanyak mungkin bagian yang membosankan, bukan saja bagi diri sendiri tapi juga orang lain (terutama sesama hacker).
(Ada satu kekecualian yang jelas. Hacker kadang melakukan pekerjaan yang di mata orang lain tampaknya berulang-ulang atau membosankan; ini untuk latihan menjernihkan pikiran, atau dalam rangka memperoleh keahlian atau pengalaman yang tak bisa tidak harus diperoleh dengan cara demikian. Tentu saja hal ini dilakukan atas dasar kehendaknya sendiri -- setiap orang yang mampu berpikir tidak seharusnya dipaksa menjadi bosan.)
3.4 Kebebasan itu baik.
Secara alamiah hacker itu anti-otoriter. Siapa pun yang dapat memerintah Anda akan dapat menghentikan Anda untuk menyelesaikan persoalan yang menarik -- dan, sesuai pikiran 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 kriminal ditahan. Seorang hacker mungkin akan tunduk pada bentuk-bentuk kekuasaan tertentu agar dapat memperoleh sesuatu yang lebih dari waktu yang dibutuhkan 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 bisa diterima.)
Para otoriter hidup di atas sensor dan kerahasiaan. 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 penyensoran, kerahasiaan, dan penggunaan kekerasan atau penipuan untuk memaksakan kehendak pada orang dewasa. Dan Anda harus bersedia bertindak atas dasar keyakinan ini.
3.5 Sikap saja tak ada artinya tanpa keahlian.
Untuk menjadi hacker, Anda perlu mengembangkan sebagian dari sikap-sikap yang telah disebutkan. Tapi memiliki sikap saja belum membuat seseorang menjadi hacker, atau atlet juara atau bintang rock. Untuk menjadi hacker dibutuhkan 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 yaitu 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 ketimbang pekerjaan membosankan. Dan hal ini penting dalam proses menjadi hacker.
4. Kemampuan Hacking Dasar
Sikap hacker penting, tapi terlebih penting lagi keahlian. Sikap bukan pengganti keahlian, dan ada seperangkat keahlian menggunakan perangkat tool yang perlu Anda kuasai sebelum orang bahkan bisa berpikir memanggil Anda hacker.
Perangkat tool ini perlahan-lahan memang berubah seiring teknologi yang menciptakan keahlian baru dan membuat keahlian lama tidak berguna. Misalnya, dulu keahlian pemrograman bahasa mesin termasuk, dan kemampuan HTML belum dan hanya baru-baru ini saja. Yang jelas saat ini yang termasuk adalah:
4.1 Pelajari pemrograman.
Ini tentunya merupakan keahlian hacking yang fundamental. Jika Anda belum pernah belajar bahasa pemrograman mana pun, saya sarankan mulai dengan Python. Disainnya bersih, terdokumentasi dengan baik, dan cukup mudah bagi pemula. Meski menjadi bahasa pertama, bukan berarti Python hanya mainan; Python amat ampuh dan fleksibel dan cocok untuk proyek-proyek besar. Saya menulis evaluasi terhadap Python yang lebih mendetil. Tutorial Python bisa dilihat di situs web Python (terjemahan Indonesia).
Java juga bahasa yang baik untuk belajar pemrograman. Lebih sulit dari Python, tapi menghasilkan kode yang lebih cepat dari Python. Menurut saya Java amat bagus sebagai bahasa kedua.
Perlu diingat bahwa dengan satu dua bahasa pemrograman saja Anda tidak akan mencapai tingkat keahlian seorang hacker, atau bahkan seorang programer -- Anda perlu belajar cara memandang pemrograman 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 berarti, Anda perlu mempelajari beberapa bahasa yang jauh berbeda 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 cocok untuk dipelajari pertama kali.
Bahasa lain yang juga penting untuk hacker antara lain Perl dan LISP. Perl patut dipelajari untuk kebutuhan 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 berbeda, dan tiap bahasa akan memberi Anda pelajaran-pelajaran berharga.
Tentu saja, di sini tidak mungkin saya memberi petunjuk lengkap cara memrogram -- pemrograman merupakan keahlian yang kompleks. Tapi, satu petunjuk yang saya berikan: buku dan kursus saja tidak akan membuat Anda menjadi seorang programer (banyak, mungkin hampir semua hacker terbaik itu belajar mandiri). Anda akan menjadi programer dengan (a) membaca kode dan (b) menulis kode.
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 sulit mencari kode yang baik untuk dibaca, karena dulu hanya sedikit program-program besar yang terdapat dalam bentuk source untuk bisa dibaca dan diutak-atik hacker-hacker pemula. Sekarang kondisinya jauh berbeda: software open-source, tool pemrograman, dan sistem operasi (semua dibuat oleh hacker) kini banyak terdapat. Dan ini mengantar kita pada poin berikutnya…
4.2 Cari, pelajari, dan jalankan salah satu versi Unix open-source.
Saya anggap Anda memiliki, atau memperoleh akses ke komputer pribadi (anak-anak sekarang mudah sekali mendapatkan akses :-)). 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-install-nya 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 jadi (binary) -- kodenya tidak bisa Anda baca, sehingga sistem operasi tersebut tidak bisa Anda modifikasi. Belajar hacking di DOS atau Windows atau MacOS adalah bagaikan belajar menari dengan seluruh tubuh digips.
Lagipula Unix-lah sistem operasi Internet. Meski tentu bisa belajar 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 bisa menjalankan Linux dan DOS/Windows di mesin yang sama). Pelajari Unix. Jalankan Unix. Bermain-mainlah dengan Unix. Berhubungan dengan internet melalui Unix. Baca kodenya. Modifikasi. Di Unix Anda akan menjumpai tool pemrograman yang lebih baik (termasuk C, Lisp, Python, dan Perl) ketimbang 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 ahli.
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 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 [KPLI di Indonesia] dan mintalah bantuan mereka; atau hubungi Open Projects Network. LISC memaintain daftar IRC channel yang bisa 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 pabrik, kantor, dan universitas, tanpa ada pengaruh yang jelas pada cara hidup para non-hacker. Web adalah satu kekecualian, bahkan para politisi pun mengakui bahwa barang mainan hacker yang besar dan berkilauan ini telah mengubah dunia. Untuk satu alasan ini saja (dan juga banyak alasan bagus lainnya) Anda perlu mempelajari cara pengoperasian Web.
Maksudnya lebih dari sekedar cara menggunakan browser (sebab kalau itu siapa pun bisa), tapi mempelajari cara menulis HTML, bahasa markup Web. Bila Anda belum menguasai pemrograman, lewat menulis HTML Anda akan diajari beberapa kebiasaan mental yang akan membantu Anda belajar pemrograman. 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 arti, tanpa isi -- kotoran yang tampak 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 mengantar kita pada bahasan berikutnya...
5. Status dalam Budaya Hacker
Seperti halnya dalam kebanyakan budaya lain tanpa ekonomi uang, 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 rekan sejawat atau atasan Anda.
Demikian juga, dalam permainan hacker, Anda menjaga nilai terutama lewat 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 tabu 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 antropolog 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, kreativitas, dan hasil dari kemampuan Anda.
Pada dasarnya ada lima hal yang bisa 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 memusingkan banyak orang karena mereka tidak tahu apa arti tepat dari 'free'. Sekarang banyak yang lebih menyukai istilah 'software open-source'.)
Para dewa yang dipuja di dunia hacker yaitu mereka yang telah menulis program besar yang berkemampuan tinggi dan dibutuhkan di mana-mana, lalu memberikan program ini cuma-cuma, dan sekarang program itu telah dipakai setiap orang.
5.2 Membantu menguji dan men-debug software open-source
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 sebagian 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 melokalisir masalah, mampu mentolerir bug di rilis cepat, dan bersedia menjalankan beberapa rutin diagnostik sederhana) itu amat sangat berharga. Bahkan satu saja penguji beta sudah mampu membantu menjadikan tahap debugging dari mimpi buruk panjang yang melelahkan menjadi hanya gangguan yang justru menyehatkan.
Bila Anda seorang pemula, cobalah 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 membutuhkan.
5.3 Menerbitkan informasi yang bermanfaat.
Yang bagus juga untuk dilakukan yaitu mengumpulkan dan menyaring informasi-informasi menarik dan berguna ke dalam halaman Web atau dokumen seperti FAQ (Frequently Asked Questions -- daftar jawaban pertanyaan-pertanyaan yang sering diajukan orang), dan membuat dokumen-dokumen ini mudah didapat orang.
Pemelihara FAQ teknis 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 rekayasa Internet) dijalankan oleh relawan. Banyak sekali pekerjaan yang dibutuhkan namun bukan pekerjaan yang agung, yang harus dilakukan agar semuanya tetap berjalan – melakukan administrasi mailing list, moderasi newsgroup, memelihara situs archive software yang besar, mengembangkan dokumen-dokumen RFC serta standar teknis lainnya.
Mereka yang melakukan hal-hal seperti dengan baik juga dihormati, karena orang tahu bahwa pekerjaan seperti ini menghabiskan banyak waktu dan kalah mengasyikkan dibanding bermain dengan kode. 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 (lewat, misalnya, menulis panduan tepat bagi pemula tentang cara menjadi seorang hacker :-)). Anda tidak bisa melakukan hal ini kecuali telah berkecimpung cukup lama dan menjadi figur yang cukup terkenal di salah satu dari empat hal sebelumnya.
Budaya hacker tidak persis memiliki pemimpin, tapi memiliki pahlawan, tetua suku, sejarawan, dan para jubir. Jika Anda telah cukup lama berada di 'medan tempur', Anda dapat saja memperoleh salah satu dari jabatan-jabatan ini. Peringatan: hacker tidak mempercayai ego tetua suku yang terlampau mencolok, jadi berbahaya jika Anda terlalu terlihat untuk berusaha menjadi terkenal. Cara yang benar seharusnya yaitu 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/Orang Nyentrik2
Bertentangan dengan mitos populer, tidak perlu menjadi orang nyentrik untuk menjadi hacker. Meski itu sebetulnya membantu, dan pada kenyataannya banyak hacker yang merupakan orang nyentrik. Menjadi orang yang tersisih secara sosial membantu Anda tetap memusatkan perhatian pada hal-hal yang benar-benar penting, seperti berpikir dan hacking.
Karena 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 ahli dan tetap memiliki kegiatan sosial, itu sah-sah saja. Hal ini memang lebih mudah dilakukan sekarang ketimbang 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 menyadari bahwa hacker kadang merupakan kekasih yang berkualitas dan calon pasangan hidup potensial. Lebih lanjut tentang hal ini, lihat Girl's Guide to Geek Guys.
Bila ketertarikan Anda pada hacking adalah karena 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 pikir hacker. Hal-hal tertentu yang Anda lakukan saat 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 bahwa 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 musik. Belajar menghargai jenis-jenis musik yang tidak lazim. Belajar menjadi ahli dalam bermain alat musik 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 berpikir 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 yang konyol atau 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 ketik 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 dibutuhkan bertahun-tahun lamanya sebelum Anda dapat diterima kembali.
8. Bacaan Lain
Peter Seebach mengurus dokumen bagus Hacker FAQ bagi para manajer 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. Tanya Jawab (FAQ)
T: Maukah Anda mengajari saya cara hacking?
J: Sejak pertama kali halaman ini diterbitkan online, setiap minggu (kadang setiap hari) saya mendapatkan beberapa permintaan dari orang agar saya 'mengajari hacking dari A-Z'. Sayangnya, saya tidak memiliki waktu atau tenaga untuk ini; proyek-proyek hacking saya telah menghabiskan 110% dari waktu saya.
Meski toh saya ajarkan, hacking adalah sikap dan kemampuan yang pada dasarnya harus dipelajari sendiri. Anda akan menyadari 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 mandiri. Barulah ajukan pertanyaan-pertanyaan spesifik pada hacker yang Anda jumpai.
Jika toh Anda mengirim email pada seorang hacker untuk meminta nasihat, ketahuilah dahulu dua hal. Pertama, kami telah menemukan bahwa orang-orang yang malas dan sembrono dalam menulis biasanya terlalu malas dan sembrono dalam berpikir sehingga tidak cocok menjadi hacker -- karena itu usahakanlah mengeja dengan benar, dan gunakan tata bahasa dan tanda baca yang baik, atau Anda tidak akan diacuhkan. Kedua, jangan berani-berani meminta agar jawaban dikirim ke alamat email lain yang berbeda 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 memulai?
J: Cara terbaik adalah barangkali mengunjungi pertemuan KPLI (kelompok pengguna Linux) setempat. Anda dapat menemukan kelompok yang dimaksud di LDP General Linux Information Page; mungkin ada satu yang di dekat Anda, kemungkinan terkait dengan sebuah sekolah atau universitas. Anggota KPLI kemungkinan akan memberi Anda Linux jika Anda meminta, dan sudah pasti akan menolong Anda menginstall Linux dan mulai memakainya.
T: Kapan saya harus mulai? Apakah sudah terlambat?
J: Di usia mana pun saat 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 dibutuhkan untuk belajar hacking?
J: Bergantung seberapa besar bakat dan usaha Anda. Kebanyakan orang memperoleh keahlian yang cukup dalam delapan belas bulan atau dua tahun, jika mereka berkonsentrasi. Tapi jangan pikir 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 didisain dengan jelek dan akan mengajarkan kepada Anda kebiasaan-kebiasaan memrogram yang jelek.
T: Maukah 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. Jauh-jauh sana, goblok.
T: Bagaimana cara mencuri privilege op chanel di IRC?
J: Ini cracking. Enyah kau, cretin. (Catatan: lihat Jargon File).
T: Saya dicrack. Maukah 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 andal 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 menit.
T: Di mana tempat untuk bertemu dengan para hacker asli dan mengobrol 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 komunitas para hacker sejati, yang berhubungan dengan hal-hal seperti GIMP dan Perl, telah memiliki channel IRC masing-masing).
T: Bisakah Anda menganjurkan buku-buku yang berguna seputar hacking?
J: Saya memaintain Linux Reading List HOWTO yang mungkin berguna bagi Anda. Loginataka juga barangkali menarik buat Anda.
T: Apakah matematika saya harus bagus untuk menjadi hacker?
J: Tidak. Meskipun Anda perlu dapat berpikir logis dan mengikuti rantai pemikiran eksak, hacking hanya menggunakan sedikit sekali matematika formal atau aritmetika.
Anda terutama tidak perlu kalkulus atau analisis (kita serahkan itu kepada para insinyur elektro :-)). Sejumlah dasar di matematika finit (termasuk aljabar Bool, teori himpunan hingga, kombinasi, dan teori graph) berguna.
T: Bahasa apa yang pertama-tama harus saya pelajari?
J: HTML, bila Anda belum menguasainya. Ada banyak buku HTML yang jelek, dengan sampul mengkilap dan penuh dengan kata-kata berlebih, sementara amat disayangkan jumlah buku yang bagus sedikit. Satu yang paling saya sukai yaitu HTML: The Definitive Guide.
Tapi HTML bukan bahasa pemrograman penuh. Bila Anda telah siap untuk memrogram, saya sarankan mulai dengan Python. Anda akan mendengar banyak orang menyarankan Perl, dan Perl saat ini masih lebih populer ketimbang Python, tapi Perl lebih sulit dipelajari.
C amat penting, tapi juga jauh lebih sulit daripada Python atau Perl. Jangan langsung belajar C untuk pertama kali.
T: Hardware seperti apa yang saya butuhkan?
J: Komputer pribadi (PC, personal computer) dulu kurang memiliki daya komputasi dan memori 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 harddisk terkecil yang bisa Anda beli sekarang sudah cukup besar.
Yang penting dalam memilih hardware adalah apakah kompatibel dengan Linux (atau BSD, jika Anda memilih OS itu). Lagi-lagi, 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 dan menjelek-jelekkan 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 kode yang bagus -- itu yang akan cukup menjelekkan Microsoft tanpa mengotori karma Anda.
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 menghilangkan lapangan pekerjaan. 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 kebutuhan 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 bisa mendapatkan versi Unix bebas?
J: Di bagian lain tulisan ini saya telah memberi petunjuk tempatnya. Untuk menjadi hacker Anda memerlukan motivasi dan inisiatif dan kemampuan untuk belajar mandiri. 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).
Selengkapnya...