Eric Steven Raymond

Thyrsus Enterprises

 

{esr} [at] {thyrsus} [point] {com}

 

Kako postati Haker

How To Become A Hacker, Како постати хакер

Prevod:

Milan Smuđa

http://milansmudja.awardspace.com

{dirinfo} [at] {verat} [point] {net}

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:

 

Zašto ovaj tekst?

Ko je to haker?

 

Hakerski stav

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

4. Sloboda je dobra

5. Stav nije zamena za stručnost

 

Osnovne hakerske veštine

1. Naučiti kako se programira

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.

 

Status u hakerskoj kulturi

1. Pisanje open-source-a

2. Testiranje i debuging open-source aplikacija

3. Objavljivanje korisnih informacija

4. Pomoć u izgradnji infrastrukture

5. Širi  hakersku kulturu

 

Konekcija Haker/Nerd

Smernice

Ostali izvori

FAQ

The Glider: A Universal Hacker Emblem

Zašto ovaj tekst?

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.

Ko je to haker?

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.

Hakerski stav

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.

1. Svet je pun fascinantnih problema koji čekaju da budu rešeni.

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.)

2. Problemi se ne smeju rešavati dva puta

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.)

3. Dosada i besposlenost su zli.

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.

4. Sloboda je dobra.

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.

5. Stav nije zamena za stručnost.

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.

 

Osnovne hakerske veštine

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:

1. Naučiti kako se programira.

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…

2. Nabaviti jedan od Unix-a i naučiti kako se koristi.

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ć).

3. Naučiti kako se koristi World Wide Web i piše HTML.

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…

4. Ako ne znaš funkcionalni Engleski, nauči ga.

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.

Status u hakerskoj kulturi

1. Pisanje open-source software-a

2. Testiranje i debuging open source aplikacija

3. Objavljivanje korisnih informacija

4. Pomoć u izgradnji infrastrukture

5. Širi hakersku kulturu

 

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.

1. Pisanje open-source-a

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.

2. Testiranje i debuging open-source aplikacija

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.

3. Objavljivanje korisnih informacija

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.

4. Pomoć u izgradnji infrastrukture

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.

5. Širi hakersku kulturu

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.

 

Hacker/Nerd Veza

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…

Smernice

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.

Ostali izvori

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