Miért ez az iromány?
Mint a Zsargon Fájl szerkesztője, gyakran kapok e-maileket lelkes hálózaton kezdő újoncoktól, amikben (tulajdonképpen) az kérdezik, hogy “hogyan lehet belőlem is nagy hacker varázsló?”. Különös, de úgy tűnik, hogy nincsen egy GyIK vagy Web oldal sem, ami ezzel a fontos kérdéssel foglakozna, úgyhogy itt van az enyém.
Ha offline olvasod ezt a doksit, megtalálod a legfrissebb (angol nyelvű) változatot a http://www.tuxedo.org/~esr/faqs/hacker-howto.html weblapon.
Mi az, hogy Hacker?
A Zsargon fájlban találsz egy csomó definíciót a `hacker’ kifejezésre, a legtöbbjükben szerepel a jó műszaki érzék, a problémamegoldás és a korlátok ledöntésének élvezete. Ha viszont konkrétan az érdekel, hogy hogyan lehetsz Te is hacker, akkor csak két dolog a fontos. Van egy kultúra, a kiváló programozók és hálózati varázslók közös kultúrája, ami évtizedekre nyúlik vissza, az első időosztásos miniszámítógépek és a legelső ARPAnet kísérletek idejébe. Ezek az emberek honosították meg a `hacker’ kifejezést. Hackerek építették az Internetet. Hackerek tették a Unix operációs rendszert azzá, ami. Hackerek üzemeltetik a Usenet hírfórumokat. Hackerek tartják működésben a Világhálót. Ha ennek a kultúrának a része vagy, ha hozzájárultál valamivel és mások a közösségből ismernek és hackernek titulálnak, akkor hacker vagy.
A hacker beállítottság nem korlátozódik a szoftver-hacker kultúrára. Vannak olyanok, akik a hacker mentalitást más területen gyakorolják, ez lehet pl. elektronika vagy zene – valójában ezzel a viselkedési formával találkozhatsz a tudományok vagy a művészet legmagasabb szintjein. A szofver-hackerek elismerik ezeket a rokonlelkeket, néha nyíltan “hackereknek” is hívják őket – egyesek azt vallják, hogy a hacker természet valójában független attól, hogy mit is hackel az illető. Ennek ellenére, e dokumentum hátralévő részében a szoftver-hackerek képességeivel és viselkedésükkel, valamint a `hacker’ kifejezést létrehozó közös kultúra tradíciójával foglalkozom.
Van egy másik csoport is, amely az hangoztatja magáról, hogy hackerekből áll, de ez nem fedi a valóságot. Ezek az emberek (főleg serdülő fiúk) azok, akik poénosnak tartják, hogy betörnek számítógépekre, vagy szórakoznak a telefonhálózattal. Az igazi hackerek ezeket az embereket `crackereknek’ hívják és hangoztatják, hogy semmi közös nincs bennük. Az igazi hackerek szerint a crackerek lusták, felelőtlenek és nem briliáns elmék, azzal érvelnek hogy a biztonsági intézkedések megsértése nem tesz hackerré, ugyanúgy, ahogy attól sem leszel közlekedésmérnök, ha el tudsz kötni egy autót. Sajnos sok író és újságíró keveri a két kifejezést, a crackereket is a `hacker’ kifejezéssel írja le; ez kimondhatatlanul idegesíti az igazi hackert.
Az alapvető különbség: a hackerek építenek, míg a crackerek rombolnak.
Ha hacker akarsz lenni, olvass tovább. Ha cracker akarsz lenni, olvasd el az alt.2600 hírcsoportot, és készülj fel öttől tíz évig terjedő börtönbüntetésre, miután kiderült, hogy nem vagy olyan okos, mint hitted. Ennyit a crackerekről.
A hacker hozzáállása
A hacker problémákat old meg és dolgokat hoz létre, hisz a szabadságban és a kölcsönös önkéntes segítségnyújtásban. Ahhoz, hogy befogadjanak a hackerek, Neked is hasonló hozzáállást kell tanúsítanod. Ahhoz, hogy ennek az elvárásnak megfelelően tudjál viselkedni, tényleg hinned kell ebben a hozzáállásban.
Ha úgy gondolod, hogy csak azért viselkedsz úgy, mint a hackerek, hogy befogadjanak, akkor elsiklasz a lényeg felett. Az, hogy higgyél ennek a viselkedésnek a helyességében, nagyon fontos Neked – ez segít a tanulásban, és ez motivál. Mint minden kreatív művészetnél, nem elég a mestert csak ésszel imitálni, szívvel is kell.
Tehát, ha hacker akarsz lenni, ismételgesd a következő dolgokat, amíg el nem hiszed őket:
1. A világ tele van lebilincselő, megoldásra váró problémákkal
Hackernek lenni szórakoztató dolog, de ez az a fajta szórakozás, ami erőfeszítést igényel. Az erőfeszítés nagy része a motiváció. A sikeres atlétákat az fizikailag mámorító érzés motiválja, hogy testüket tökéletesítik, és a lehető legjobbat kihozva magukból túlszárnyalják a saját fizikai korlátjaikat. Ehhez hasonlóan, akkor lehetsz jó hacker, ha izgalomba hoznak a megoldásra váró problémák, cél és motiváló erő a képességeid fejlesztése és az elméd edzése.
Ha természetednél fogva nem így érzel, meg kell változnod ahhoz, hogy sikeres hacker legyél. Máskülönben gyorsan azon kapod magad, hogy a hackelésre szánt energiád elfolyik más irányba, mint pl. szex, pénz vagy társadalmi elismerés megszerzésének irányába.
(Ezek mellett meg kell tanulnod hinni a tanulási képességedben – hinni abban, hogy ha nem is tudsz mindent, ami a probléma megoldásához kell, ha elkezded a probléma egy részét boncolgatni, megtanulsz közben annyit, amennyi a következő részfeladat megoldásához szükséges – és így tovább, amíg az egész problémát meg nem oldod.)
2. Soha senkinek nem kell ugyanazt a problémát kétszer megoldani
A kreatív elmék értékes és korlátozott erőforrást képeznek. Nem szabad őket a kerék újrafeltalálására pazarolni, amikor annyi új érdekes probléma vár megoldásra.
A hacker magatartására jellemző, hogy tudatában van annak, hogy a többi hacker ideje értékes – ezért az információ megosztását majdnem erkölcsi kötelességének érzi. Az így megosztott megoldások segítségével más hackerek új problémákkal tudnak foglakozni.
(Nehogy azt hidd, hogy minden kreativitásodból származó szellemi termékedet be kell dobnod a közösbe, bár minél többet adsz, annál jobban fog a többi hacker tisztelni. A hacker értékekkel összefér, ha eladsz annyit magadból, hogy kifizesd a lakbért, tudjál kaját és számítógépeket venni. Belefér, ha hackelésből eltartod a családodat, sőt az is, ha meggazdagszol, mindaddig, amíg nem felejted el, hogy hacker vagy.)
3. Az unalom és a robotolás rossz
Hackert (és a kreatív embereket általában) nem szabad unalomra ítélni vagy ostoba, robotolás jellegű munkára fogni, ha ez mégis megtörténik az azt jelenti, hogy nem azt csinálja, amihez csak ő ért – megoldást keresni új problémákra. Ez a pazarlás mindenkinek rossz. Ezért az unalom és a robotolás nem csak kellemetlen, de rossz is mindenkinek.
Ha hackerként akarsz viselkedni, akkor annyira kell ebben higgyél, hogy automatizáld az unalmas dolgokat, amennyire csak lehet, nem csak magad miatt, de mindenki más miatt is (főleg a többi hackerért).
(Erre a szabályra egy látszólagos kivétel van. A hackerek csinálnak néha dolgokat, amelyek unalmasnak és robotjellegűnek tűnhetnek a kívülálló számára, de valójában ezekre azért van szükség, hogy egy képességet fejlesszenek, vagy gyakorlatot szerezzenek valamiben, amit másképp nem ismerhetnének meg. Ez azonban a hacker saját választása – egy gondolkodó embert sem szabad unalomba kényszeríteni.)
4. A szabadság jó dolog
A hacker természeténél fogva hatalomellenes. Bárki, aki parancsokat osztogat neki, akadályozza az éppen soron lévő érdekes probléma megoldásában – és mivel tudjuk, hogyan működik a parancsokat osztogatók agya, ez előbb utóbb elkerülhetetlen lesz, kitalálnak valami ostoba okot. Tehát a parancsolgató magatartás ellen küzdeni kell, bárhol ahol találkozol vele, nehogy megfojtson Téged, vagy hacker társaidat.
(Ez nem jeleni azt, hogy mindennemű hatalmat bírálni kell. A gyerekeknek szükségük van irányításra, és a bűnözőknek felelniük kell tetteikért. A hacker dönthet úgy, hogy elfogad bizonyos szintű irányítást, ha valami olyasmit kap ez által, ami fontosabb Neki, mint az utasítások követésére elpazarolt idő. De ez csakis korlátozott lehet, szó nincsen arról a személyes behódolásról, amit a parancsolgató beállítottságú emberek elvárnak.)
A parancsolgató ember lételeme a cenzúra és a titkolózás. Bizalmatlan mindennel szemben, ami önkéntes együttműködés és információmegosztás – csak az olyan `együttműködést’ szereti, amit ő irányít. Tehát ha hackerként akarsz viselkedni, ki kell fejlesszél egy ösztönös ellenszenvet a cenzúra, a titkolózás és a felelős felnőtt emberek erőszakos kényszerítése iránt. Nem csak hinned kell, hogy ez a helyes, hanem e szerint kell cselekedned.
5. A magatartás nem helyettesíti a kompetenciát
Ahhoz, hogy hacker lehess, ki kell fejlesztened az előbb felsorolt tulajdonságok közül néhányat. De kizárólag a viselkedés másolásával nem lehetsz hacker, ugyanúgy, ahogy világbajnok atléta sem, vagy rocksztár. A hackerré váláshoz intelligencia kell, gyakorlat, elhivatottság és kemény munka.
Ezért meg kell tanulnod, hogy nem szabad bízni a viselkedésben, és tisztelni kell bármilyen szaktudást. A hacker nem pazarolja az idejét szimulánsokra, de értékeli a szakértelmet – főleg a hackeléssel kapcsolatos szakértelmet, de bármilyen más irányú szaktudás is elismerendő. Ha a szaktudásod olyan területet is lefed, amihez kevesen értenek, az jó, ha olyan terület szakértője vagy, ami precíz logikai képességeket, szellemi erőt és koncentrációs képességet igényel, az a legjobb.
Ha tiszteled a hozzáértést, örömöd telik majd a képességeid fejlesztésében – a kemény munka és az, hogy ennek szenteled magad, egy komoly játék lesz, és nem robotolás. Ez életbevágóan fontos, ha hacker akarsz lenni.
Alapvető képességek hackeléshez
A hacker hozzáállás létfontosságú, de a képességek még fontosabbak. A viselkedés nem helyettesíti a kompetenciát, van egy alapvető képességtár, amivel rendelkezned kell, mielőtt a hackerek társuknak tartanak.
Ezek a képességek lassan változnak az idők során, ahogy a technológia fejlődik, új területek jönnek létre, melyek új képességeket igényelnek, a régiek ezzel párhuzamosan elavulnak. Például, az alapképességek közé tartozott régebben a gépi kódban való programozás, míg a HTML ismerete csak az utóbbi időben vált szükségessé. Jelenleg a következők tartoznak a hacker alapműveltségéhez:
1. Tanulj meg programozni
Ez, természetesen, az alapvető tudás, minden hacker számára. Ha nem ismersz egyetlen programozási nyelvet sem, javaslom, hogy kezdjél a Pythonnal. Jól tervezett, jól dokumentált és relatíve kíméletes a kezdőkkel. Annak ellenére, hogy jó kezdő nyelv, nem csak játékszer; a python egy nagyon sokoldalú és rugalmas nyelv, amely alkalmas nagy projektek létrehozására.
Legyél tisztában azzal, hogy nem fogod elérni a hacker szaktudását, vagy akárcsak egy egyszerű programozóét sem, ha csak egy nyelvet ismersz – meg kell tanulnod nyelvtől függetlenül gondolni a programozási problémákra. Ahhoz, hogy igaz hacker lehess, el kell jussál arra a pontra, amikor egy új programozási nyelvet néhány nap alatt meg tudsz tanulni, a leírások alapján, abból kiindulva, amit már tudsz. Ez azt jelenti, hogy több, egymástól nagyon különböző nyelvet kell megtanuljál.
Ha komoly programozásba kezdesz, meg kell tanulnod a C nyelvet, a Unix alapnyelvét (a C-t ettől függetlenül nem ajánlom első nyelvnek). Az egyéb fontos nyelvek közé tartozik a Perl és a LISP. A Perlt gyakorlati okok miatt érdemes megtanulni; gyakran használják dinamikus web oldalak létrehozásához és rendszer-adminisztrációhoz, tehát ha nem is írsz soha Perlt, mindenképp érdemes megtanulnod olvasni azt. A LISP-et a megvilágosodás mély érzése miatt érdemes megtanulni, amit akkor érzel, amikor végre sikerül megérteni, hogy miről is van szó; ez a tapasztalat jobb programozóvá tesz a hátralévő napjaidra, még akkor is, ha nem használod majd gyakran a LISP-et.
A legjobb, igazából, ha ezt a négy nyelvet (Python, C, Perl, és LISP) mind megtanulod. Amellet, hogy ezek a hacker alapnyelvei, nagyon eltérő módon közelítik meg a programozást, mindegyikből hasznos és értékes új ismeretekre tehetsz szert.
Nem tudok kimerítő leírást adni arról, hogy hogyan tudsz megtanulni programozni – nagyon összetett tudásról van szó. Egyet azonban elárulhatok: a könyvek és tanfolyamok nem érnek túl sokat (sok, valószínűleg a legtöbb hacker autodidakta). Aminek van értelme: (a) kódot olvasni és kódot írni.
Programozni megtanulni ugyanolyan, mint a saját anyanyelveden megtanulni írni. A legjobb módszer, ha beleolvasol abba, amit a mesterek írtak, majd írsz valamit, utána olvasol még egy jó adag kódot, írsz egy keveset, olvasol még egy adagot, írsz még egy kicsit… és mindezt addig ismétled, amíg a saját kódodban el nem kezded felfedezni a példaképek kódjainak jó vonásait.
Régen nehézkes volt jó, olvasásra érdemes kódot találni, mert kevés nagy program forráskódja állt a zöldfülű hackerfiókák rendelkezésére. Ez drasztikusan megváltozott; ma már nyílt forráskódú szoftverek, programozási eszközök és operációs rendszerek (ezeket is mind hackerek írták) könnyedén elérhetők bárki számára. Ez át is vezet minket a következő témához…
2. Szerezz be egy nyílt forráskódú Unixot és tanuld meg használni
Abból indulok ki, hogy van egy PC-d, vagy hozzáférsz valahol egyhez (ezeknek a mai gyerekeknek olyan könnyű dolguk van :-)). Az legfontosabb lépés a hackerré válás útján: szerezz be valamilyen Linuxot vagy BSD-Unixot, telepítsd fel a gépedre, és tanuld meg használni.
Igen, vannak a Unixon kívül más operációs rendszerek a világon. De azokat binárisokban terjesztik, ergo nem tudod olvasni vagy módosítani a kódot. Hackelni tanulni DOS, Windows vagy MacOS alatt olyan, mintha kényszerzubbonyban próbálnál táncolni tanulni.
Mindezek mellett, nem szabad megfeledkezni arról, hogy a Unix az Internet operációs rendszere. Megtanulhatod ugyan az Internet használatát Unix ismeretek nélkül, de biztosan nem lehetsz Internetes hacker. Éppen ezért, manapság a hacker kultúra elég határozottan Unix-központú. (Ez nem volt mindig így, néhány régi motoros a mai napig nem tud ezzel megbékélni, de a Unix és az Internet közötti szimbiózis annyira megerősödött, hogy még a Microsoft sem tud igazán csorbát ejteni rajta.)
Tehát húzzál fel egy Unixot – én személy szerint a Linuxot szeretem, de van választék (és igen, lehet ugyanazon a gépen felváltva Linuxot és DOS / Windows-t használni). Tanuld meg használni. Játsszál vele. Lődd össze az Internetet vele. Olvasd a forrásokat. Módosítsd a forrásokat. Olyan programozási eszközökkel fogsz találkozni Linux alatt (pl. C, LISP, Python és Perl), amilyenekről egy Microsoft operációs rendszer alatt álmodni sem mernél, jól szórakozol, és olyan sok tudást szívsz magadba, hogy bele sem gondolsz, egészen addig, amíg már profi hackerként vissza nem emlékszel ezekre az időkre.
Információt találsz arról, hogy hogyan és honnan szerezzél be Linuxot a Honnan szedjek Linuxot? című oldalról.
Találhatsz BSD Unix-al kapcsolatos segítséget és linkeket a www.bsd.org címen.
(Megjegyzés: Nem ajánlom, hogy Linux vagy BSD telepítésbe kezdjél egyedül, ha teljesen kezdő vagy a témában. Ha Linuxal próbálkozol, keress meg egy helyi felhasználó csoportot [ilyen Magyarországon az LME] és kérj segítséget, vagy vedd fel a kapcsolatot a Linux Internet Support Co-Operative-al. A LISC üzemeltet IRC csatornákat is, ahol [angol nyelvű] segítséget kaphatsz.)
3. Tanuld meg használni a Világhálót (World Wide Web) és a tanulj meg HTML-t írni
A hackerek által létrehozott dolgok többsége észrevétlenül a háttérben működik, segíti a gyárakban, irodákban és egyetemeken folyó munkát, látszólag nem befolyásolva a nem-hackerek életét. A Web az egyetlen nagy kivétel, a hatalmas csillogó-villogó hacker játékszer, amiről még a politikusok is elismerik, hogy megváltoztatja a világot. Ezért (valamint egy csomó más nyomós ok miatt) meg kell tanulnod a Webbel dolgozni.
Ez nem csak azt jelenti, hogy meg kell tanulnod Web-böngészőt használni (ezt bárki megteheti), hanem azt is, hogy el kell sajátítanod a HTML-t, a web nyelvét. Ha nem tudsz programozni, a HTML tanulása közben felvehetsz bizonyos jó szokásokat, amiknek hasznát veszed a későbbi tanulmányaid során. Tehát hozzál létre egy honlapot.
Az, hogy van egy honlapod, még közelítőleg sem jelenti azt, hogy hacker vagy. A Web tele van honlapokkal. A legtöbbjük értelmetlen, nulltartalmú hulladék – tarka hulladék, mondhatnád, de attól még ugyanúgy szemét. (erről többet olvashatsz a A HTML Pokol oldalán).
Hogy olvasásra érdemes legyen egy lap, kell legyen tartalma – érdekes és vagy hasznos kell legyen más hackerek számára. Ez átvezet a következő témához…
Státus a Hacker kultúrában, közösségben
Mint a legtöbb pénz és gazdaság nélküli kultúra, a hackerség meghatározó eleme a hírnév. Érdekes problémákat próbálsz megoldani, de azt, hogy ezek a problémák valójában mennyire érdekesek és hogy igazából a mennyire jó a megoldásod, csak azok tudják megítélni, akik szintén szakértők a kérdéses területen.
Ehhez hasonlóan, amikor a hackerek szabályai szerint játszol, megtanulod, hogy az alapján kapod a jó pontokat, hogy mások mire tartják a szakértelmedet (ezért írtam korábban, hogy addig nem vagy igazi hacker, amíg nem a többiek hívnak annak). Ezt a tényt elhomályosítja az a kép, ami a hackelést magányos munkának tünteti fel, valamint az a hacker körökben elterjedt nézet, miszerint a büszkeség vagy az, hogy mások mit gondolnak, nem lehet a motiváló tényezők része.
Egészen pontosan, a hackerség az, amit az antropológusok ajándék kultúrának neveznek. Nem az által szerzel egy ilyen társadalomban hírnevet, hogy elnyomsz másokat, azzal sem, hogy szép vagy, vagy olyan dolgokat birtokolsz, amikért mások áhítoznak, hanem azzal, hogy adsz. Másokra áldozod történetesen az idődet, a kreativitásodat és a szaktudásod gyümölcseit.
Alapvetően öt dolgot tehetsz, hogy kivívd a hackerek elismerését:
1. Írj nyílt forráskódú szoftvert
Az első (legfontosabb és legelfogadottabb) módja a bevágódásnak, ha olyan programot írsz, amiről a hackerek úgy látják, hogy hasznos vagy jópofa, és elérhetővé teszed a forrását, hogy az egész közösség felhasználhassa azt.
(Ezeket a munkákat ``free software’‘-nek hívtuk, de mivel nem volt mindenki számára egyértelmű, hogy a ``free’’ a szabadra vagy az ingyenesre utal-e, sokunk inkább az ``open-source’’ azaz nyílt forráskódú szoftver kifejezést részesíti előnyben.)
A hacker kultúra legelismertebb félistenei olyan emberek, akik nagy, hasznos programokat írtak, amikre széles körben volt szükség, majd a közösség rendelkezésére bocsátották ezeket, hogy mindenki szabadon felhasználhassa őket.
2. Segíts nyílt forráskódú szoftvert tesztelni és debuggolni
Azok munkája is nagyon hasznos, akik tesztelik és javítják a nyílt forráskódú szoftvereket. Ebben a tökéletlen világban elkerülhetetlen, hogy a szoftverfejlesztésre szánt idő tetemes részét hibakereséssel és javítással töltsük. Ezért minden józan eszű, nyílt forráskódot karbantartó szerző egyet fog velem érteni, amikor azt írom, hogy a jó béta-tesztelő (aki világosan le tudja írni a tüneteket, jól tudja lokalizálni a problémát, el bírja viselni a hibákat az összecsapott kiadásokban, hajlandó néhány egyszerű diagnosztizáló eszközt alkalmazni) megéri a súlyát gyémántban. Egy szem ilyen béta-tesztelő eldöntheti, hogy a hibakeresés egy kétségbeejtő, kimerítő rémálom vagy csak egy hasznos kellemetlenség.
Ha újonc vagy, keress egy fejlesztés alatt álló programot, ami érdekel és próbálj jó béta-tesztelő lenni. Innen már magától megy minden, a tesztelés után besegíthetsz a hibakeresésbe, utána besegíthetsz a fejlesztésbe. Sokat tanulhatsz így, és jó pontot szerezhetsz olyan embereknél, akik segíthetnek majd a későbbiek során.
3. Tegyél közzé hasznos információkat
Még egy jó dolog, amit megtehetsz, a hasznos és érdekes információ kiszűrése majd Web lapon, vagy GyIK (Gyakran Ismételt Kérdések listája) dokumentumokban való közzététele.
A főbb szakmai GyIK-ek karbantartói majdnem olyan elismerésben részesülnek, mint a nyílt forráskódú szoftvert író programozók.
4. Segíts működésben tartani az infrastruktúrát
A hacker kultúrát (és így egyben az Internet fejlesztését is) önkéntesek tartják karban, működésben. Sok szükséges ám kevésbé látványos és vonzó munkát kell elvégezni, hogy a gépezet működjön – levelezési listákat kell adminisztrálni, hírcsoportokat moderálni, hatalmas szoftver archívumokat fenntartani, RFC-ket és más technikai szabványokat írni.
Azok az emberek, aki ezeket a feladatokat jól látják el, nagy tiszteletben állnak, mert mindenki tudja, hogy a munkájuk borzalmasan időt rabló, és nem olyan mókás, mint a kódolás. Akik ezt a fajta munkát csinálják, elhivatottak.
5. Szolgáld a hacker társadalmat
Végül, szolgálhatod és népszerűsítheted magát a hacker kultúrát (például azzal, hogy írsz egy részletes bevezetőt arról, hogy hogyan lesz az emberből hacker :-)). Ez nem olyasmi, amit meg tudsz csinálni, amíg nem vagy a hacker társadalom résztvevője egy bizonyos időn keresztül és nem válsz ismerté az előző négy pont valamelyike által.
A hacker társadalomnak nincsenek kimondott vezetői, de vannak hősei, ``vénjei’’, történészei és szóvivői. Ha már elég régóta vagy a csatasorban, ezek egyikévé nőheted ki magad. De ne feledd: a hackerek bizalmatlanok a túl nagy mellénnyel rendelkező ``vénekkel’’ szemben, tehát veszélyes ezt a stádiumot látványosan elérni. Ne törekedjél erre, inkább helyezkedj úgy, hogy az öledbe hulljon, majd legyél szerény, és ápold gondosan a kapcsolataidat.
A Hacker / Kocka összefüggés
A népszerű híreszteléssel ellentétben, ahhoz, hogy hacker legyél, nem kell, hogy “kocka” légy. Ettől függetlenül segítségedre lehet – a valóságban sok hacker “kocka”. Ha társadalmilag kirekesztett vagy, az segít abban, hogy az igazán fontos dolgokra koncentrálj, mint pl. az elmélkedés és a hackelés.
Ezért sok hacker felvállalja a ``kocka’’ bélyeget, sőt, büszkén használják a durvább ``geek’’ kifejezést is – így függetlenítik magukat a konvencionális társadalmi elvárásoktól. A Geek oldalon olvashatsz bővebben a témáról.
Ha meg tudod oldani, hogy elég figyelmet fordítasz a hackelésre ahhoz, hogy jó hacker legyél, és emellett normális életet is tudsz folytatni, akkor jó. Ez manapság sokkal könnyebb feladat egy újonc számára, mint az én időmben volt, a 70-es években; napjainkban a társadalom sokkal toleránsabb a techno-megszállottakkal szemben. Sőt, egyre több ember jön rá, hogy a hackerek gyakran kiváló minőségű szerető és férj alapanyagok.
Ha azért vonz a hackelés, mert nincs életed, az is OK – legalább nem vonja el semmi a figyelmedet. Lehet, hogy később még az is kialakul.
Pontok a stílusért
Még egyszer, ahhoz, hogy hacker legyél, úgy kell gondolkodj, mint egy hacker. Vannak dolgok, amiket ez érdekében megtehetsz, ha éppen nem számítógép előtt ülsz. Ezek nem helyettesítik a hackelést (azt semmi sem helyettesítheti), de sok hacker foglalkozik ilyen dolgokkal, így ezek is kapcsolódnak a hackelés lényegéhez.
- Olvass tudományos-fantasztikus irodalmat. Járjál tudományos-fantasztikus témájú klubokba, gyűlésekre. (Ott találkozhatsz hackerekkel és proto-hackerekkel).
- Tanulmányozd a Zen-t, és/vagy tanulj harci művészeteket. (A meditálás is hasonló sok szempontból.)
- Tanuld meg a zenét elemző füllel hallgatni. Tanuld meg értékelni az egyéni zenei stílusokat. Tanulj meg valamilyen hangszeren játszani vagy énekelni.
- Barátkozz meg a szójátékokkal.
- Tanulj meg jól és helyesen írni az anyanyelveden. (Meglepően sok hacker, többek között a legjobbak, akiket ismerek, jó írók.)
Ezek közül minél több dolog tűnik természetesnek Neked, annál jobb hacker-alapanyag vagy. Hogy miért pont ezek a dolgok, az nem teljesen világos, de valószínűleg összefüggés van közöttük és az agy jobb és bal féltekéjében honos képességek sora között, amelyek a hacker számára elengedhetetlenek (a hacker képes kell legyen logikusan gondolkodni, de ki is kell tudjon lépni az adott probléma látszólagos logikájából).
Végül néhány kerülendő dolog:
- Ne használj ostoba, nagyzoló felhasználói azonosítót vagy becenevet.
- Ne keveredj felesleges vitákba (flame háborúkba) a Usenet-en (máshol sem).
- Ne hívd magad `cyberpunk’-nak és vesztegesd az idődet olyanra, aki annak titulálja magát.
- Ne küldjél e-mail-eket tele helyesírási és nyelvtani hibákkal.
Ha ilyeneket csinálsz, legfeljebb rossz híred kel – csak azt jegyzik meg rólad, mekkora balfácán vagy. A hackereknek jó a memóriájuk – évekbe telhet amíg elfelejtik a kezdő botladozásaidat, és befogadnak.
A becenevek problémájára külön visszatérnék. Az igazi személyed becenevek mögé rejtése gyerekes és ostoba dolog, és a crackerekre, warez d00dz-okra és más alsóbbrendű életformákra jellemző viselkedés. A hacker nem csinál ilyet; büszke arra amit csinál és amit elért, ezért szereti, ha az igazi nevét is ismerik. Tehát ha ilyen becenevet használsz, hagyd el, mert a hackerek között csak vesztesnek bélyegez.
Egyéb források
Peter Seebach karbantart egy kiváló Hacker GyIK-et menedzserek, főnökök számára, akik nem tudják hogyan álljanak a hacker beosztottakhoz. Ha Peter lapja nem lenne elérhető, próbáld az Excite-on keresztül megtalálni a lap egy másolatát.
A Loginatakának van némi mondanivalója a Unix hacker képzettségét és hozzáállását illetően.
Írtam egy esszét A hackerség rövid története címmel.
Írtam egy esszét, A Katedrális és a Bazár címmel, ami részletesem elemzi a Linux és az open-source köré épülő társadalmak működését. Még közvetlenebbül tárgyaltam ezt a témát a folytatásban a Homesteading the Noosphere-ben.
Gyakran Ismételt Kérdések
K: Megtanítasz hackelni?
V: Amióta először megjelentettem ezt a lapot, hetente (gyakran naponta) többen kérik, hogy “tanítsak meg mindent a hackelésről”. Sajnos, erre sem időm, sem energiám nincs; a saját hackeléssel kapcsolatos projektjeim kiteszik az időm 110%-át.
Még ha lenne is lehetőségem arra, hogy a hackelést tanítsam, nem tehetném, mert ez egy olyan hozzáállás és képesség, amit magadnak kell egyedül elsajátítanod. Meg fogod látni, hogy az igazi hackerek örömmel segítenek neked, de nem fognak tisztelni és elismerni, ha mindent a szádba kell rágjanak.
Tanulj meg először néhány dolgot. Mutasd meg, hogy próbálkozol, hogy tudsz önállóan tanulni. Ezek után a hackereket már csak specifikus kérdésekkel zargasd.
K: Akkor hol kezdjem?
V: Valószínűleg a legjobb módja a hackeléssel való ismerkedésnek az, ha elmész egy Linux Felhasználói Csoport gyűlésére. Megtalálhatod ezeknek a csoportoknak a listáját az LDP General Linux Information Page weblapon; valószínűleg van egy a közeledben, esetleg egy főiskolán vagy egyetemen. A Linux Felhasználói Csoport tagjaitól egyszerűen szerezhetsz Linuxot és egészen biztosan segítenek majd a telepítésnél is.
K: Mikor kell kezdenem? Nem vagyok én már ehhez túl öreg?
V: Legyél bármilyen idős, a motiváció a fontos. Általában a 15 és 20 év közötti korosztály érdeklődését kelti fel a hackelés, de ismerek kivételeket mind a két irányban.
K: Mennyi ideig tart, amíg megtanulok hackelni?
V: Ez attól függ, hogy mennyire vagy tehetséges és mennyire dolgozol keményen. Általában 18 hónap vagy 2 év alatt már tiszteletreméltó képességekre tehetsz szert, ha ügyes vagy. Ennek ellenére ne gondold, hogy ennyi az egész; ha igazi hackerré válsz, sohasem hagyod abba a tanulást, életed hátralevő részét a képességeid tökéletesítésével töltöd majd.
K: Segítenél feltörni egy rendszert, vagy megtanítanál betörni?
V: Nem. Az aki ennek a GyIK-nek az elolvasása után ilyen kérdést tesz fel, túl ostoba ahhoz, hogy bármit tanítsak neki, még ha időm lenne is. Bármilyen ilyen témában küldött e-mail a szemetes kosárban köt ki, vagy rosszabb esetben a feladó durva válaszra számíthat.
K: Betörtek hozzám. Segítesz elkerülni a jövőbeni támadásokat?
V: Nem. Ezt a kérdést mindig olyanok teszik fel, akik Windows-t használnak. A Windows-os rendszereket nem lehet hatékonyan biztonságossá, a betörésekkel szemben ellenállóvá tenni; a kódban és a szoftver architektúrájában túl sok lyuk van, körülbelül olyan vállalkozás ez, mintha pohárral akarnánk egy süllyedő hajóból a vizet kimerni. Az egyetlen megbízható megoldás, ha átváltasz Linuxra vagy valamilyen másik igazi biztonságos operációs rendszerre.
K: Hol találkozhatok, beszélhetek igazi hackerekkel?
V: A legjobb megoldás, ha keresel egy Linux vagy Unix Felhasználói csoportot és elmész a gyűléseikre (találsz linkeket az LDP weblapján a Metalabnál).
(Régebben azt írtam volna itt, hogy IRC-n nem találkozhatsz igazi hackerrel, de úgy tűnik ez változik. Mostanában igazi hacker csoportoknak, mint pl. a GIMP és a Perl körül serénykedőknek, saját IRC csatornájuk van.)
K: Tudsz ajánlani hasznos könyveket a hackeléssel kapcsolatban?
V: Én tartom karban a Linuxos Irodalomlista HOGYANt , ez segítségedre lehet. A Loginataka szintén érdekes lehet.
K: Mit kell először megtanuljak?
V: A HTML-t, ha még nem ismernéd. Sok csillogó-villogó, lényegtelen dolgokra fókuszáló rossz HTML-ről szóló könyv van forgalomban, és kétségbeejtően kevés jó. Személyes kedvencem az HTML: The Definitive Guide című O’Reilly kiadvány.
A HTML azonban nem programozási nyelv. Ha felkészültél arra, hogy elkezdjél programozni tanulni, véleményem szerint a Pythont válaszd. Sokan a Perlt ajánlják, ami igaz, hogy elterjedtebb, mint a Python, de nehezebb megtanulni és (véleményem szerint) nincs olyan jól megtervezve. Találhatsz linkgyűjteményt a kezdő Python programozó számára a Weben.
A C igazán fontos, de ugyanakkor sokkal nehezebb, mint a Python vagy a Perl. Ne próbáld elsőként megtanulni.
Windows felhasználók, ne ragadjatok le a Visual Basic-nél! Rossz programozási szokásokat fogtok felvenni tőle, és nem hordozható, teljesen a Windows platformra van utalva. Kerülendő.
K: Muszáj utálnom a Microsoftot?
V: Nem, nem muszáj. Nem azért, mert nem érdemli meg, de léteztek hacker közösségek a Microsoft előtt, és lesznek még akkor is, amikor a Microsoft már régen történelem lesz. A Microsoft utálata helyett szeresd inkább a saját erődet. Írjál jó kódot, ezzel többet érsz el, mint a Microsoft mocskolásával, és még a hírnevedet sem sodrod veszélybe.
K: De nem veszélyezteti az open-source szoftverfejlesztés a programozók megélhetését?
V: Ez valószínűtlen – sőt, a nyílt forráskódú szoftveripar inkább új állásokat hoz létre. Ha az, hogy egy program meg van írva, nettó nyereséggel jár, a programozót meg fogják fizetni, függetlenül attól, hogy a program nyílt lesz-e, miután elkészül. Az is mindegy, hogy mennyi “nyílt” szoftvert írnak a programozók, úgy tűnik, hogy növekvő kereslet van az új és testre szabott alkalmazások iránt. Többet írtam erről a témáról az Open Source lapokon.
K: Hogyan fogjak neki? Honnan szerezzek szabad Unixot?
V: Feljebb ezen az oldalon találsz mutatókat a legelterjedtebb szabad Unixokra. Ahhoz, hogy hacker legyen belőled, motivációra, vállalkozó szellemre és az önálló tanulás képességére van szükséged. Vágj bele most…
Eric S. Raymond esr@snark.thyrsus.com
Fordította:
Kovács Emese < emese@goliat.eik.bme.hu >