http://www.tuxedo.org/~esr/faqs/hacker-howto.html> oleh Eric S.
Raymond
<http://www.tuxedo.org/~esr>. Diterjemahkan oleh Steven Haryanto
<steven@haryan.to>.
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 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 蘇acker・
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:
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 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).
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 澱ebas・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・/p>
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).
0 comments:
Post a Comment