Jumat, 06 April 2012
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
(http://catb.org/~esr/faqs/loginataka.html).
Untuk memperoleh Linux, lihat Where can I get Linux
(http://www.linux.org).
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 [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 di
http://catb.org/~esr/html-hell.html).
Agar bermanfaat, halaman Anda harus mengandung content —
harus menarik dan/atau berguna bagi hacker lain. Dan ini mengantar kita pada
bahasan berikutnya…
4.4 Pelajari bahasa Inggris
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 Nyentrik
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.
l
Membaca karya fiksi ilmiah. Datang ke pertemuan
fiksi ilmiah (salah satu jalan yang bagus untuk bertemu hacker dan
proto-hacker).
l
Mempelajari Zen, dan/atau berlatih bela diri.
(Disiplin mental yang diajarkan serupa dengan hacking dalam hal-hal penting.)
l
Mengasah pendengaran musik. Belajar menghargai
jenis-jenis musik yang tidak lazim. Belajar menjadi ahli dalam bermain alat
musik tertentu, atau berlatih bernyanyi.
l
Mengembangkan apresiasi akan permainan kata.
l
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:
l
Jangan menggunakan ID atau nama samaran yang
konyol atau berlebihan.
l
Jangan terlibat perang flame di Usenet (atau di
mana pun).
l
Jangan menggelari diri ‘cyberpunk’, jangan
berurusan dengan para ‘cyberpunk’.
l
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
(http://www.plethora.net/~seebs/faqs/hacker.html) 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
(http://catb.org/~esr/writings/hacker-history/hacker-history.html).
Saya menulis sebuah paper, The Cathedral and the Bazaar
(http://catb.org/~esr/writings/cathedral-bazaar/index.html), yang menjelaskan
banyak tentang cara kerja Linux dan budaya open-source. Topik ini saya bahas
lebih tegas dalam kelanjutan paper tersebut, Homesteading the Noosphere (http://catb.org/~esr/writings/homesteading/).
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
(http://en.tldp.org/HOWTO/Reading-List-HOWTO/index.html) yang mungkin berguna
bagi Anda. Loginataka (http://www.catb.org/~esr/faqs/loginataka.html) 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
(http://www.oreilly.com/catalog/html5/).
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
(http://www.opensource.org/), 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).
**
Terjemahan Indonesia dari How To Become A Hacker
oleh Eric S. Raymond
. Diterjemahkan oleh Steven Haryanto <
steven@haryan.toEmail telah dilindungi dari Spam Bots, Anda harus mengaktifkan
Java untuk dapat melihatnya >. Pertama diterjemahkan 31 Juli 1999. Update ke
revisi 1.7 dan perbaikan terjemahan tanggal 19 Mei 2001.