Cara Menjadi Seorang Hacker
Terjemahan Indonesia dari How
To Become A Hacker
oleh Eric S. Raymond
Diterjemahkan oleh Ozy Alloisius
Pertama diterjemahkan 31 Juli 1999. Update ke revisi 1.7 dan perbaikan
terjemahan tanggal 19 Mei 2001.
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 ppertanyaan 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 ahli,
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).