Egy máig sokat vitatott kérdés megválaszolásához nyújt segítséget Eric S. Raymond cikke amely a fogalmak tisztázása mellett gyakorlati tanácsokkal is ellátja a Hacker jelöltet.
A cikket fordította és figyelmünkbe ajánlotta Kovács Emese < emese@goliat.eik.bme.hu >
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.
Ha többet akarsz tudni a Unix-ról, vess egy pillantást a
Loginatakára.
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...
Forrás : Linux-felhasználók Magyarországi Egyesülete
Kapcsolódó hírek/cikkek:
Hogyan lesz az emberből Hacker II.