Hacker DNA
Steven Haryanto
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 dewa1 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).