{esr} [at] {thyrsus} [point]
{com}
Prevod:
http://milansmudja.awardspace.com
{dirinfo} [at] {verat} [point] {net}
Decembar 2006,
Sve
sugestije i ispravke prevoda sa zahvalnošću se prihvataju
Copyright © 2001 Eric S. Raymond
|
Revision History |
||
|
Revision 1.34 |
07 Mar 2006 |
esr |
|
Remove C# from the list
of languages to be avoided now that Mono is out of beta. |
||
|
Revision 1.33 |
29 Nov 2005 |
esr |
|
Ubacen link ka eseju
Peter Norvig-a (prim.prev. –
jedan od top
Google programera, http://www.norvig.com). |
||
|
Revision 1.32 |
29 Jun 2005 |
esr |
|
Znatan novi materijal o
tome kako ne treba rešavati probleme dva puta. Odgovori u FAQ-u o hakovanju i
open source- programiranju. Tri pitanja koja otkrivaju da li ste već haker. |
||
|
Revision 1.31 |
22 Mar 2005 |
esr |
|
Ubacen link ka još
jednom eseju Paul Graham-a, I savet kako se uključiti u prvi projekt. Još
linkova ka prevodima. |
||
|
Revision 1.30 |
2 Mar 2005 |
esr |
|
Ubaceni i updateovani
linkovi ka mnogim prevodima |
||
Sadržaj:
1. Svet je pun fascinantnih problema koji čekaju da budu
rešeni.
2. Problemi se ne smeju rešavati dva puta
3. Dosada i besposlenost su zli
5. Stav nije zamena za stručnost
2. Nabaviti jedan od Unix-a i naučiti kako se
koriste
3. Naučiti kako se koristi World Wide Web i
piše HTML
4. Ako ne znaš funkcionalni Engleski, nauči ga.
2. Testiranje i debuging open-source
aplikacija
3. Objavljivanje korisnih informacija
4. Pomoć u izgradnji infrastrukture
Kao urednik
Jargon File –a i
autor nekoliko dobro poznatih tekstova slične tematike, često dobijam email-ove
od mladih i motivisanih osoba koji me pitaju
“kako da postanem elitni haker?”. Još 1996. sam primetio da ne postoji
ni FAQ niti neki drugi tekst koji obrađuje ovo veoma bitno pitanje, pa sam se
odlučio na pisanje jednog takvog dokumenta. Mnogi hakeri smatraju ovaj tekst
odličnim, pa ću i ja pretpostaviti da je tako. Ipak, ja ne tvrdim da sam neki
izuzetan autoritet u ovoj oblasti, pa ako vam se ne sviđa to što pisem,
napišite vi nešto svoje.
Ako čitate
kratak pregled ovog teksta dok ste offline, aktuelna verzija je na http://catb.org/~esr/faqs/hacker-howto.html.
Obratite
pažnju, postoji lista Frequently Asked Questions na kraju ovog
dokumenta. Molim vas, pročitajte ovaj tekst bar dva puta pre nego što me
kontaktirate email-om u vezi nekog pitanja.
Postoje
brojni prevodi ovog teksta na sledećim jezicima: Arabic Bulgarian, Catalan, Chinese
(Simplified), Danish, Dutch,
Farsi, Finnish, German,
Hebrew,
italian
Japanese, Norwegian,
Polish, Portuguese
(Brazilian), Romanian
Russiam Spanish, Turkish, i Swedish.
Uzmite u obzir da se ovaj dokument menja i nadograđuje pa može biti nekih
razlika od onih koji su prevedeni.
Ovih
pet-tačaka-u-devet-kvadrata koje ukrašavaju tekst predstavljaju glider. To je
jednostavan pattern sa nekim iznenađujućim osobinama matematičke simulacije
nazvane Life koja fascinira hakere već dugi niz godina (probajte Game
Of Life, igra je odlična-prim.prev.). Mislim da predstavlja dobar
vizuelni amblem za ono što hakeri jesu - apstrakcija, na početku pomalo
misteriozna, ali i prolaz za čitav jedan svet specifične logike koja intrigira.
Pročitajte nešto više o glider amblemu ovde.
Jargon File sadrži gomilu
definicija termina ‘hacker’, uglavnom vezanih za posebne tehničke stvari i
specifičan pristup (zadovoljstvu) u rešavanju problema i prevazilaženju
nametnutih ograničenja. Ako želiš saznati kako da postaneš haker, moraš uvažiti
samo dve stvari.
Radi se o
zajednici, specifičnoj kulturi, elitnih programera i mrežnih magova čija
istorija seže decenijama unazad do vremena kada su miniračunari korišćeni za
usaglašavanje vremena i najranijih ARPAnet eksperimenata. Članovi ove
kulture su definisali
termin haker. Hakeri su stvorili Internet. Hakeri su napravili od UNiX-a ono
što je on danas. Hakeri su pokrenuli Usenet. Hakeri su omogućili funkcionisanje World
Wide Web-a. Ako si deo ove kulture, ako si joj nekako doprineo, i ako drugi
ljudi unutar tog kruga znaju ko si ti i nazivaju te hakerom onda si ti zaista
haker.
Hakerski
način razmišljanja nije samo vezan za hakersku kulturu. Postoje ljudi koji primenjuju ovaj hakerki stav u drugim
stvarima, kao što je elektronika i muzika – u stvari, možete ih naći u vrhu
nauke ili umetnosti. Hakeri iz IT-a prepoznaju ovaj duh u drugim oblastima i
mogu ga okarakterisati kao hakerski, takođe – i neki tvrde da je hakerska
kultura veoma nezavisna bez obzira u kojoj oblasti haker radi i stvara. Ali mi ćemo se u nastavku ovog teksta fokusirati na veštine
i stavove hakera u oblasti računara, i tradiciji kulture iz koje je ponikao
termin haker.
Postoji
druga grupa ljudi koja glasno sebe predstavlja kao hakere, ali oni to zaista
nisu. Oni su (uglavnom maloletni muškarci) koji se lože na provaljivanje u računare i sisteme
telefonije. Pravi haker naziva ove ljude krekerima i ne želi imati ništa sa njima.
Pravi haker uglavnom smatra da su krekeri lenčuge, neodgovorni, i ne baš tako
bistri, i da činjenica što žele da naruše nečiju sigurnost njih ne čini hakerima
baš kao što mogućnost da neko poveže žice na kolima ne činu tu osobu auto
inžinjerom.
Na žalost,
mnogi novinari i pisci su se zavarali u upotrebi reči haker da opišu krekere,
te ovim nema kraja u iritiranju pravih hakera.
Osnovna
razlika je u slećem: haker pravi stvari, kreker ih uništava.
Ako želiš
biti haker, nastavi čitati. Ako želiš biti kreker, idi pročitaj alt.2600 newsgroup i spremi se na pet do
deset u ćeliji nakon što saznaš da nisi pametan koliko si mislio da jesi.

1. Svet je pun
fascinantnih problema koji čekaju da budu rešeni.
2. Probleme ne
treba rešavati dva puta.
3. Dosada i besposlenje
su zli.
4. Sloboda je
dobra.
5. Sam stav nije
zamena za stručnost.
Hakeri
rešavaju probleme i kreiraju stvari, i veruju u slobodu i volonterizam. Da bi
bio prihvaćen kao haker, moraš se ponašati u skladu sa ovim stavom. Da bi se
ponašao u skladu sa ovim stavom moraš zaista i verovati u njega.
Ali ako
misliš da je usvajanje tog stava put za prihvatanje u ovoj oblasti stvaranja,
propuštaš poentu. Ako postaneš osoba koja veruje u našu kulturu to će biti
veoma važno za tebe – da ti pomogne da učiš i motivišeš se. Kao i u bilo kojoj
kreativnoj umetnosti , najbolji put da postaneš master je da shvatiš i imitiraš one koji to
jesu – ne samo intelektualno, već isto tako i emocionalno.
ili kao
što kaže sledeća Zen pesma:
Da bi sledio:
potraži vođu,
sledi vođu,
koračaj pokraj vođe,
gledaj kroz vođu,
postani vođa.
Pa , ako želiš biti haker, ponovi prethodno
sve dok ne počneš verovati u to.
Kada ste
haker onda je to mnogo zabavno, ali je to tip zabave koji zahteva dosta napora.
Napori zahtevaju motivaciju. Uspešan atleta pronalazi motivaciju iz onoga što
radi sa svojim telom, u teranju sebe preko sopstvenih fizičkih ograničenja.
Slično,
moraš biti ushićen rešavanjem problema, oštrenjem svojih veština, i vežbanju
svoje inteligencije.
Ako nisi
osoba koja se ovako prirodno oseća, moraćeš to postati ako želiš biti haker. U
suprotnom, osetićeš kako se tvoja energija odvači na sex, novac i socijalno
odobravanje.
(Takođe
ćeš morati razviti veru u svoje kapacitete u učenju – verovanje za koje nisi ni
znao da je moguće kada rešavaš problem, ako takneš samo deo problema i naučiš
iz toga, naučićeš dovoljno i da rešiš sledeći deo, - i tako dalje, do rešenja.)
Kreativan
mozak je vredan, ograničen resurs. Ne bi trebao biti potrošen na izmišljanje
točka kada postoji toliko drugih problema koji čeku u redu.
Da bi se
ponašao kao haker, moraš shvatiti da je hakersko vreme dragoceno – toliko da je
to u stvari moralna dužnost da deliš informacije, rešiš problem i daš nekome
rešenje kako bi drugi hakeri mogli rešiti druge probleme umesto da se stalno
zamajavaju starim.
Treba
primetiti da, iako,
"Problem ne treba rešavati dva puta." to ne znači da je
postojeće rešenje zadovoljavajuće. Često mi naučimo mnogo toga o problemu što
ranije nismo znali dok smo razmatrali samo jedan aspekt istog. U redu je, i
ponekad neophodno, da mi možemo uraditi bolje. Ono što nije u redu je veštačka,
pravna ili institucijalna barijera (kao zatvoren source code) koji sprečava
dobro rešenje i tera ljude da nanovo izmišljaju točak.
(Ti nisi obavezan dati sva tvoja kreativna rešenja, mada su hakeri koji to
rade veoma cenjeni. To je jednostavno nešto što dolazi kao skup hakerskih
vrednosti, da zarađuju onoliko koliko im je potrebno da se hrane, plate
stanarinu i računare.. Sasvim je u redu da koritiš
hakerske veštine da pomogneš porodici ili da se čak obogatiš, sve dok ne
zaboraviš lojalnost prema svojoj umetnosti i kolegama hakerima.)
Hakeri (generalno, svi
kreativni ljudi) se nikad ne bi trebali dosađivati ili ponavljati u glupim
poslovima (repetitive work), zato što kada se ovo desi to znači da oni ne rade ono što bi
trebali – da rešavaju nove probleme. Ovo traćenje povređuje sve. Zbog toga
dosada i besposlenost nisu samo neugodni, nego i zli.
Da bi se
ponašao kao haker, moraš verovati u ovo toliko da automatišeš sve što je
dosadno, ne samo za sebe, već i za sve ostale (posebno za druge hakere).
Postoji
ovde jedna začkoljica. Hakeri će možda raditi neke stvari koje će se možda
činiti dosadnim i ponavljajućim da bi ih izučili, i upotrebili kao misaonu
vežbu, ili da steknu neke nove veštine koje ne bi mogli steći na drugi način.
Ali ovo je već stvar izbora – niko ko misli svojom glavom ne bi trebao da
dozvoli da se stavi u situaciju koja će ga smoriti.
Hakeri su
po prirodi anti-autoritativno orijentisani. Ko god ti daje naređenja te
sprečava u rešavanju problema koji te fasciniraju – i, u smislu u kome radi
mozak autoritativnih ljudi, će verovatno naći neki besmislen razlog da te
ugnjetavaju i sprečavaju u radu. Dakle, treba se boriti sa ovako glupim stavom
gde god ga spazite, bolje to nego da mu dopustite da vas sprečava, vas i druge
hakere. (Obratite pažnju na ovo
pravilo, kada se borite protiv onih koji teže da vam isperu mozak i izvuku
pare, uvek sebi osigurajte (pravnu) odstupnicu – prim.prev.)
(Ovo nije
isto što i borba protiv svih autoriteta. Deci treba zaštita, a kriminal mora
biti suzbijen. Haker može prihvatiti određeni nivo autoriteta pre nego da
izgubi vreme na to da sledi nekog da bi ostvario cilj. Ali to je
ograničavajuća, svesna pogodba, a tip predaje autoritetima na način na koji oni
to žele jednostavno ne dolazi u obzir.)
Autoriteti
se oslanjaju na cenzuru i tajnost. Oni osujećuju organizacije sa primesom
volonterizma i težnjom za podelom informacija. - oni samo vole kooperaciju koju mogu kontrolisati.
Dakle, da bi se ponašao kako haker, moraš razviti bazično neprijateljstvo prema
cenzuri, tajnosti, upotrebi sile i obmane. I moraš biti spreman da delaš u tom
pogledu.
Da bi bio
haker, moraš usvojiti neke od spomenutih stavova. Ali kopiranje stavova te neće
napraviti hakerom, kao ni šampionom ili rok zvezdom. Da bi postao haker,
potrebna je inteligencija, vežba, posvećenost, i težak rad.
Prema
tome, moraš naučiti preispitivati stav i poštovati stručnost bilo koje vrste.
Hakeri neće dozvoliti gubitnicima da im traće vreme, kompetenciju – posebno
kompetenciju u hakovanju, ali i svaku drugu vrednost. Kompetencija koju mogu imati pojedini samo je
posebno dobra, ali kompetencija u oblasti veština koje uključuju mentalnu
bistrinu i koncentraciju je bolja.
Ako ceniš
stručnost, uživaćeš razvijajući je – težak rad i posvećenost će postati kao
intenzivno igranje, pre nego dosada. Taj stav je vitalan da bi ste bili hakeri.

1. Nauči kako da
programiraš.
2. Nabavi jedan od
open source Unix-a i nauči kako se upotrebljavaju.
3. Nauči kako da
koristiš World Wide Web i pišeš HTML.
4. Ako ne znaš
funkcionalni Engleski, nauči ga.
Hakerski
stav je važan, ali su veštine važnije. Stav nije zamena za kompetencije, i
postoje osnovne veštine koje moraš posedovati da bi te drugi nazvali hakerom.
Te veštine se vremenom menjaju kako tehnologije napreduju i čine da već
postojeće budu zastarele. Na primer, to je bilo programiranje u mašincu a sada
je na sceni HTML. Baš sada taj set veština uključuje:
Ovo je,
naravno, osnovna hakerska veština. Ako ne znaš ni jedan programski jezik
predlažem Python za početak. Čistog je dizajna, dobro dokumentovan, i relativno
pogodan za početnike. Uprkos što će Vam biti prvi jezik, to ne znači da je
igračka, to je veoma moćan i fleskibilan programski jezik kojim se mogu
razvijati i veliki projekti. Napisao sam detaljan pregled
Python-a. Dobri tutorijali su dostupni na Python-ovom web site-u.
Java je
takođe dobar program za početak. Komplikovanija je od Pythona, ali je source
pisan u njoj brži. Mislim da je odličan drugi jezik posle Pythona. Na žalost
Sun-ove reference su i dalje njihovo vlasništvo. Ovo i nije toliko bitno za
Javu samo po sebi, pošto su visokokvalitetni Java interpreteri javno dostupni,
pravi problem su biblioteke klasa koje idu uz jezik. Open-source class
libraries mnogo zaostaju u odnosu na Sun-ove. Ako se odlučiš za Javu, uradi to
sa nekom od javno dostupnih implementacija, bolje je i to nego da budeš zavisan
od koda iz Sun-a.
Uzmi u
obir da nećeš dostići nivo veštine potrebne za hakera ili čak programera samo
ako poznaješ jedan ili dva jezika – moraš naučiti kako da razmišljaš o
problemima programiranja na specifičan način bez obzira o kom se programskom
jeziku radi. Da bi bio pravi haker, moraš sebe dovesti u situaciju da naučiš
pisanje u novom jeziku u par dana oslanjajući se na ono što piše u manuel-u i
onomo što si već
znao. To znači da bi trebao naučiti nekoliko
veoma različitih programskih jezika.
Ako hoćeš
da se ozbiljno baviš programiranjem, moraćeš naučiti C, osnovni UNIX jezik. C++
je veoma blizak C-u. , ako znaš jedan, učenje drugog neće biti problem. Ni
jedan od ovih jezika ne bi trebao da ti bude prvi. I, zapravo, što više
izbegavaš C više ćeš biti produktivniji.
C je veoma
efikasan , i veoma štedi resurse mašine. Na žalost, C
dolazi do te efikasnosti kroz mnogo low-level programiranja resursa mašine (kao
što je memorija). Sav taj low-level je kompleksan i bagovit, i potrošićete
ogromnu količinu tog vremena na debugovanje. Sa današnjim mašinama, ovo je
uglavnom loš potez – pametnije je koristiti program koji pravi source koji
koristi nešto slabije resurse mašine, nego trošiti preko potrebno vreme. Prema
tome, Python.
Drugi
jezici koji su naročito bitni za hakere su
Perl i LiSP. Perl je vredan učenja iz
praktičnih razloga; veoma je mnogo upotrebljavan za aktivne web stranice i
administraciju sistema, tako da iako nikad ne budete pisali u Perlu trebali bi
da ga bar naučite čitati. Mnogi ljudi koriste Perl na
takav način da ja preporučujem Python, da bi ste izbegli programiranje u C-u
na mašinama koje ne zahtevaju takav tip efikasnosti. Trebali bi biti u stanju
da razumete njegov kod.
LiSP je
vredan učenja zbog više razloga – iskonske prosvećenosti kroz iskustvo kada ga
na kraju savladaš. To iskustvo će te napraviti boljim programerom do kraja, čak
i ako ga nikad ne budeš poslovno koristio. (Možeš steći iskustvo na početku
tako što ćeš sa LiSP-om menjati nešto u Emacs tekstualnom editoru, ili
Script-Fu dodatke za GiMP.)
Najbolje
bi, zapravo, bilo da naučite pet jezika, Python, C/C++, Java, Perl, i LiSP. I
pored toga što su veoma bitni za hakere, oni predstavljaju veoma različiti
pristup programiranju, i svaki će vas obrazovati na specifičan način.
Ja ti ne
mogu dati instrukcije kako da naučiš programiranje ovde – to je kompleksna
veština. Ali ti mogu reći da vam knjige i kursevi neće doprineti mnogo (mnogi,
možda najbolji hakeri su samouki). Možeš naučiti opcije programerskog jezika –
delove znanja –iz knjiga, ali način razmišljanja koji pretvara znanje u živu
veštinu može biti naučen jedino kroz praksu i vežbanje. Moći će te (a) čitati
kod i (b) pisati kod.
Peter
Norvig, koji je jedan od Gogleovih top hakera i ko-author jedne mnogo korisne i
tražene knjige o Ai , je napisao odločan esej nazvan Teach Yourself
Programming in Ten Years. Njegov "recept za programerski uspeh"
je više nego vredan pažnje.
Učiti
programiranje je kao učenje pisanja prirodnim jezikom. Najbolji način da bi ste
to uradili je čitanje nekih stvari napisanih od mastera u oblasti forme, napišite nešto
sami, čitajte još, pišite još, čitajte još više, pišite još više … i
ponavljajte to do kada razvijete vrstu moći i ekonomičnosti koju možete sami
uočiti u svojim modelima.
Naći dobar
kod za čitanje je teško, zato što je samo par velikih programa dostupnih u
source-u za hakere da ga prostudiraju. Ovo se menja drastično, open-source software, programski
jezici, i operativni sistemi (svi napravljeni od strane hakera) su sada široko
dostupni. Što me polako dovodi do sledeće teme…
Pretpostaviću
da imate personalca ili bar pristup jednom od njih. (Razmislite malo o vrednosti toga. Hakerska kultura je proizašla iz perioda kada obični ljudi nisu imali mogućnosti ni finansijska sredstva da poseduju računare. Prvi i najvažniji korak za svakog početnika ako želi da stekne veštine hakera je da nabavi kopiju Linux-a ili neki od BSD-Unixa ili OpenSolaris, instalira ih na svojoj mašini, i pokrene.
Da,
postoje drugi operativni sistemi u svetu osim Unix-a. Ali se oni distribuiraju
“in binary” – ne može se čitati source kod, i
ne može se menjati. Naučiti kako se hakuje na nekoj mašini na kojoj je
instaliran Microsoft Windows ili unutar nekog drugog zatvorenog sistema je kao
da učite plesanje dok nosite oklop.
Unutar Mac
OS X-a je moguće, ali samo u jednom delu source koda – najverovatnije ćete
naleteti na mnogo problema., i morate biti pažljivi da
ne razvijete gadnu naviku zavisnosti od Apple koda. Ako se skoncentrišete na
ono što se nalazi ispod haube UNIX-a naučićete neke korisne stvari.
Unix je
operativni sistem Interneta. Iako možeš naučiti o Internetu bez Unix-a, ne
možeš biti haker bez njega. Iz ovog razloga hakerska kultura se uglavnom vrti
oko Unix-a. (Ovo nije bespogovorno tačno, i neki old-time hakeri još uvek nisu
srećni u vezi toga, ali simbioza između Unix-a i Internet-a nije narušena čak i
Microsoft mišićima).
Dakle,
nabavi Unix – Ja volim Linux ali postoje i druga rešenja, i dalje se može
koristiti Linux i Microsoft Windows na istoj mašini). Nauči ga. Koristi ga.
Misli na njegov način. Pričaj sa Internetom putem njega. Čitaj source kod.
Menjaj kod. Dobićeš bolje programerske alate (uključujući C, LiSP, Python, and Perl) nego što i
jedan Microsoft operativni sistem može sanjati, zabavićeš se, i pokupiti mnogo
više znanja nego što misliš da si ikad mogao, kada se posle izvesnog vremena
osvrneš unazad kao master haker.
U vezi
učenja Linuxa, pogledaj The Loginataka. Takođe može ti biti korisno i The Art Of Unix
Programming.
Pogledaj i
Linux Online! sajt gde ga
možeš downloadirati ili (još bolja ideja) , nađi
lokalnu grupu za podršku da ti pomogne u vezi instalacije. Sa gledišta
početnika su svi Linux-i isti. Možeš
naći BSD Unix help i izvore na http://www.bsd.org/.
Napisao
sam i basics of Unix and the internet.
(Napomena:
Ja ne predlažem instaliranje bilo Linux-a ili BSD-a kao solo projekt ako ste
početnik. Za Linux, pronađite lokalnu grupu za podršku i slobodno potražite
pomoć).
Većina stvari koje je hakerska kultura stvorila izgleda indirektno pomažu rad fabrika i kancelarija i univerziteta bez
nekog vidljivog uticaja na to kako ne-hakeri žive. Web je veliki izuzetak, velika svetlucava stvar za koju čak i političari
priznaju da je promenila svet. Samo na osnovu ovog razloga (a i mnogih drugih)
moraš naučiti kako se Web zapravo koristi.
Ovo ne
znači samo da znaš kako se pokreće browser (svako to može) već nauči kako se
piše HTML, jezik za razvoj Web-a. Ako ne znaš programiranje, pisanje HTML-a će
ti pomoći da stekneš neke navike koje će ti kasnije opet pomoći u programiranju
i učenju. Dakle, napravi svoj sajt. Pokušaj da koristiš XHTML, koji je čistiji
jezik neko klasičan HTML (Postoje dobri tutorijali za početnike, među njima ; here's
one).
Ali samo
posedovanje sajta nije ni približno dovoljno da te učini hakerom. Web je pun
ličnih sajtova. Većina njih je besmislena, nula od sadržaja – koja veoma dobro
izgleda, pomislićeš, ali kako god, ipak besmislena. (Više o ovome na The HTML Hell Page).
Da bi bio
vredan, tvoj sajt mora imati sadržaj – mora biti zanimljiv za čitanje i/ili
koristan drugim hakerima. I to nas dovodi do sledećeg…
Kao
Amerikanac i neko kome je engleski maternji jezik, u početku nisam hteo
sugerisati ovo, da se ne bi shvatilo kao iskazivanje kulturne ili jezičke
superiornosti. Ali nekoliko drugih autora, mi je skrenulo pažnju na činjenicu
da je engleski radni jezik među hakerima i na Internetu, i da ga je neophodno
znati da bi se moglo učestvovati u hakerskoj zajednici. Negde oko 1991. sam
uvideo da mnogi hakeri kojima je engleski sekundarni jezik koriste ga u
tehničkim diskusijama čak i kada im je neki dugi jezik zajednički. Shvatio sam
vremenom da engleski ima bogatiji tehnički rečnik i da je zbog toga jednostavno
bolji alat za posao. Iz sličnih razloga, prevodi tehničkih knjiga napisanih u
engleskom su često loše prevedeni na druge jezike (čak i kada se na kraju
prevedu tako da to na nešto liči).
Linus
Torvalds, Finac, komentariše svoj kod na engleskom (izgleda da se nikad nije
desilo drugačije). Njegov tečni engleski je važan faktor u regrutovanju novih
dewelopera za Linux, to je primer vredan sledbe. Ako je nekom engleski maternji
jezik to nije odmah garancija da ima dobre predispozicije za hakera. Ako
pišeš tako da to deluje polu-pismeno, puno gramatičkih grešaka, mnogi će te
hakeri (uključujući mene) ignorisati. Iako plitko pisanje ne znači odmah i
plitko rezonovanje, uglavnom će se smatrati da je korelacija jaka – a kako da
imamo koristi od ljudi koji plitko misle. Ako ne možeš pisati tako da se iz
pisanja nazire kompetencija, nauči.

1. Pisanje open-source software-a
2. Testiranje i debuging open source aplikacija
3. Objavljivanje korisnih informacija
4. Pomoć u izgradnji infrastrukture
Kao i
mnoge kulture koje nisu direktno zavisne od (vezane za) ekonomiju, hakerisanje
se oslanja na reputaciju. Trudiš se
rešiti neke interesantne probleme, ali koliko su oni zaista interesantni, i da
li su tvoja rešenja dobra, je nešto što mogu oceniti samo visoko rangirani
ljudi, u tehničkom smislu, ili tvoji nadređeni. Prema tome, hada igraš igru
hakera, naučiš da se bodovi osvajaju primarno na osnovu onoga što drugi hakeri
misle o tvojoj veštini (I baš zbog toga nisi haker, sve do onog trenutka kada
drugi hakeri počnu da te zovu tako). Ova slika je opterećena stereotipima o
hakerisanju kao o stvari koja pretpostavlja krajnu samoću, što je praćeno
predrasudama (u opadanju su od kasnih 90ih, ali i dalje postoje) nasuprot prihvatanju toga da
su ego i spoljnja
potvrda
uopšte uključeni u bilo čije motivisanje.
Osobito, hackerdom je ono što antropologisti nazivaju gift kulturom. Ti stičeš status i
reputaciju time što ne dominiraš nad drugim ljudima, niti zato što si lep, niti
što imaš nešto što drugi ljudi nemaju, nego po tome što nekome nešto daješ.
Posebno time, što daješ svoje vreme, svoju kreativnost, i rezultat svojih
veština.
Ovo su, u
osnovi, pet stvari koje ti omogućuju da budeš prepoznat od strane hakera, kao
jedan od njih.
Prvo
(najbitnije i najtradicionalnije) je pisanje programa koje mogu zabaviti druge
hakere i biti im korisni, takođe, dati source programa celoj hakerskoj kulturi
na upotrebu- (Mi najčešće koristimo reč “free software”, ali ovo zbunjuje mnoge
ljude koji nisu sigurni konkretno šta bi ovo trebalo da znači. Mnogi od nas
sada preferiraju termin “open-source”
software).
Najcenjeniji su oni ljudi u našoj zajednici koji su napisali velike
programe, one koji su sposobni da podmire različite, i dali ih drugima na
upotrebu, tako da svako ima koristi. Ali je u
ovome naročito fina istorijska poenta. Dok su hakeri uvek bili open-source
programeri mnogi meću njima, koji su najbolji, su bili bezani za neke zatvorene
projekte do sredine ‘90ih. Ovo je i dalje bilo tako i kada sam po prvi put napisao
ovaj HOWTO u ’96oj;
bio je potreban mainstreaming open-source software-a posle ‘97e
da promeni ovakvo stanje. Danas , "hakerske
zajednice" i "open-source developeri" su dva pojma, termina,
koja su, u stvari, ista kultura i populacija – ali je vredno zapamtiti da nije
baš uvek bilo tako.
Mnogo su
zaslužni oni koji stoje iza debuging-a open-source rešenja. U ovom ne-idealnom
svetu, u razvoju tih rešenja mi ćemo provesti veliki deo našeg vremena u fazi
debagovanja. Iz tog razloga će ti bilo koji open-source autor koji misli svojom
glavom, reći da su beta-testeri (koji znaju kako da opišu simptome tečno,
lokalizuju problem dobro, mogu tolerisati bug-ove u quick verzijama, i koji su
voljni da primene par dijagnostičkih rutina) toliko vredni da se to može
izraziti u rubinima. Oni mogu napraviti mnogo toga
kroz debuging fazu koja je dugotrajna, prava noćna mora ali ujedno i nešto što
je korisna dosada.
Ako si početnik, pokušaj naći program koji je u stadijumu razvoja za koji
si zaiteresovan i prijavi se za njegovo testiranje. Ovde postoji prirodna
progresija kroz debuging kako bi ste pomogli njima da ga modifikuju kako treba.
Naučićeš mnogo na ovaj način, i steći dobru karmu koja će ti koristiti kasnije
kada tebi bude trebala pomoć od strane drugih.
Druga
dobra stvar je prikupiti i filtrirati korisne i interesantne informacije na
svom sajtu ili dokumente kao što su FAQ liste, i učini ih javno dostupnim. Oni
koji održavaju ovakve sajtove dobijaju gotovo isto poštovanje kao i open-source
autori.
Hakerska
kultura (i razvoj Interneta, u stvari) funkcioniše na volonterskoj osnovi. Tu
je mnogo neophodnog, ali i neglamoruznog posla koji treba biti obavljen da bi
se stvari kotrljale – administracija mailing lista, administriranje servera za
vesti, održavanje velikih arhiva aplikacija, razvijanje RFC-a i drugih
tehničkih standarda. Ljudi koji rade ove stvari stiču poštovanje i uvažavanje
drugih, zato što svi znaju da je ovo ogroman posao i ne tako zanimljiv kao
igranje sa source kodom. Obavljanje takvih stvari pokazuje posvećenost.
Konačno,
možeš širiti i propagirati kulturu (recimo, pišući o tome kako postati haker:-)). Ovo nije pozicija na koju ćeš tek tako moći doći,
već ćeš morati raditi hack stvari neko vreme i postati blizak sa prethodno
navedenim odrednicama u tekstu.)
Hakerska
kultura nema liderstvo, tačnije, ali ima svoje heroje, istoričare i govornike.
Ako si u rovovima dovoljno dugo, postaćeš jedan od njih. Budi svestan: Hakeri su oprezni i pronicljivi, pa je sticanje ovog
statusa poprilično zahtevno. Važnije od upinjanja ka statusu, bitno je da dođeš
u poziciju da ti titula po proteku određenog vremena sama padne u krilo, i da i
tada budeš skroman i ljubazan.

Suprotno
uvreženom stavu, ne moraš biti Nerd da bi bio Haker. Pomaže, naravno, i mnogi
hakeri su nerdovi u stvari. Kada ste izvan društva ostajete skoncentrisani na
veoma bitne stvari kao što je razmišljanje i hakerisanje.
Zbog ovog
razloga, mnogi hakeri su prihvatili termin nerd, ili čak geek kao specifičnu
značku – koja govori koliko su nezavisni od društva i njegovog očekivanja. Ako
možeš učiniti da se posvetiš hakerisanju, i da budeš dobar u tome i da dalje
imaš život, to je odlčno. Ovo je mnogo lakše danas neko kada sam je bio
početnik u ‘70im, mainstream kultura je mnogo otvorenija prema tehno-nerdovima
danas. A i sve je više onih koji shvataju da su hakeri veoma kvalitetan bračni
i ljubavnički materijal.
Ako ste
privučeni hakerisanjem zato što ne vodite klasičan život, to je takođe u redu –
u svakom slučaju nećete imati problema da se skoncentrišete. Možda kasnije
nađete nešto…

Opet, da
bi ste bili haker morate razmišljati kao haker. I kad nisi za računarom možeš
učiniti mnoge stvari koji će pomoći. One nisu zamena za hakerisanje (i nema
toga što hakerisanje može zameniti) ali ih mnogi hakeri upražnjavaju, i osećaju
da su na neki način povezani sa hakerisanjem kada ih rade.
Nauči da pišeš svoj maternji jezik
dobro. Mada je stereotip da programeri ne znaju da pišu, za čudo (uključujući i
one koji su najostvareniji za koje ja znam) su veoma dobri pisci.
Čitaj naučnu fantastiku. Idi na slične
konvencije (dobar način da se sretnu hakeri i proto-hakeri)
Vežbaj neke borilačke veštine. Ova
vrsta mentalne discipline koja je potrebna za svaku umetnost, izgleda da je
podjednako važna za to čime se haker bavi. Najpopularnije među hakerima su
definitivno Asian empty-hand kao i Tae Kwon Do, razne verzije Karate, Wing Chun, Aikido, ili Ju
Jitsu. Western fencing i Asian mač su takođe upotrebljivi. Na mestima gde je to
dozvoljeno pucanje iz pištolja je veoma popularno od kasnih ‘90ih. Najbolje za
hakera je ona disciplina koja od njega zahteva stanje opuštene svesnosti,
kontrolu, pre nego čistu jačinu, atletiku i fizičku zategnutost.
Proučavaj disciplinu meditacije.
Najpopularnija meću hakerima je Zen (najvažnije je za Zen što ne moraš da se
odrekneš svoje religije ili da imaš neku). Ostala proučavanja mogu poslužiti
svrsi, ali samo ako te ne teraju da veruješ u lude stvari.
Razvij analitičko
uho za muziku. Nauči da ceniš određenu vrstu muzike. Nauči svirati neki
instrument, ili pevanje.
Razvij smisao za
zabavu i igru.
Što više ovih
stvari radiš, to je veća šansa da si hakerski materijal. Zašto su konkretno ove
stvari bitne nije baš jasno, ali je to vezano za funkcionisanje strana mozga i
veštinama koje iz toga proističu, hakeri moraju biti sposobni da budu u
mogućnosti da se služe logikom, ali i da iskorače korak dalje u nekim trenutcima.
Raditi kada se igraš i igrati kada se radi. Za istinske hakere, granice između
rada i posla, i nauke i umetnosti gube na značenju, ili da se pretoče u jedno
iskonsko kreativno zadovoljstvo. Takođe, ne budite vezani za samo određene
veštine. Mada većina hakera opisuje sebe kao programere, oni su mnogo više nego
kompetentni u drugim oblastima – sistem administratori, web dizajn, PC
serviseri su najčešći. Haker koji je i sitem administrator je najčešće dobar u
web dizajnu i skript programiranju. Hakeri ne rade stvari po standardu, ako se
užive u to što rade, postaju veoma dobri u svemu što dotaknu…
Konačno,
par stvari koje NE treba raditi..
·
Ne koristiti
smešna, grandiozna imena i ID-ove.
·
Ne upadajte u
ratove na Usenet-u (ili bilo gde drugde)
·
Ne zovite sebe ‘cyberpunk’,
i ne traćite svoje vreme na bilo koga ko se tako predstavlja.
·
Ne šaljite email i
ne pišite ako vam je to što pišete puno gramatičkih grešaka.
·
Jedina reputacija
koju može zaraditi radeći navedene stvari je reputacija neznalice. Hakeri imaju
dugo pamćenje – potrebne su godine za oprati obraz i biti prihvaćen.
Problem vezan za nadimke zahteva malo razrade. Kada se
neko krije iza nadimka tipa crackers, warez d00dz, i slično, onda je očigledno
da se radi o običnom crackeru. Hakeri ne rade ovo, oni su ponosni na to što
jesu i žele da ih pamte po njihovim pravim imenima.

Paul
Graham je napisao esej nazvan Great Hackers, i drugi Undergraduation,
u kojima iznosi mnoge mudrosti.
Peter
Seebach održava odličan Hacker FAQ
za menadžere koji ne znaju kako sa hakerima.
Postoji
dokument nazvan How
To Be A Programmer koji se odlično nadopunjuje na prethodni. To je ne samo
skup odličnih saveta vezano za koding i veštine, već kako funkcionisati u timu
programera.
Ja sam
takođe napisao A Brief History Of
Hackerdom.
Napisao
sam i The Cathedral and the
Bazaar, koji mnogo objašnjava kako Linux i open-source kultura
funkcioniše. Detaljnije sam ovo obradio u Homesteading the Noosphere.
Rick Moen
je napisao odličan dokument how to run
a Linux user group.
Rick Moen
and i ja smo sarađivali na drugom dokumentu How To Ask
Smart Questions. Ovo će ti pomoći da dobiješ pomoć i da postavljaš prava
pitanja.
Ako ti je
potrebna pomoć kako računari rade, kako Unix funkcioniše i Internet radi,
pogledajte The Unix and Internet Fundamentals HOWTO.
Kada objavljuješ software ili napišeš patcheve, pokušaj sa sledećim dokumentom