EN
Březen 23, 2013 | Projekty » IT Bezpečnost

Název: How To Become A Hacker
Autor: Eric Steven Raymond
Zdroj: http://www.catb.org/~esr/faqs/hacker-howto.html

Jak se stát hackerem


Proč tento dokument?
Kdo to je hacker?
Přístup hackera
  1. Svět je plný nevyřešených fascinujících problémů.
  2. Žádný problém by neměl být nikdy řešen podruhé.
  3. Nuda a dřina jsou zlo.
  4. Svoboda je skvělá.
  5. Přístupem nelze nahradit schopnosti.
Základní schopnosti hackera
  1. Naučte se programovat.
  2. Naučte se používat nějaký UNIXový operační systém.
  3. Naučte se používat internet a psát v jazyce HTML.
  4. Naučte se číst a psát v angličtině.
Postavení v hackerské kultuře
  1. Tvořte otevřený software.
  2. Pomozte testovat a ladit software.
  3. Publikujte užitečné informace.
  4. Pomozte udržovat infrastrukturu v provozu.
  5. Propagujte hackerskou kulturu.
Spojení mezi hackerem a nerdem
Životní styl hackera
Historie otevřeného a svobodného softwaru
Jiné zdroje
Často kladené otázky

Proč tento dokument?

Jakožto editor Jargonu a autor několika dalších známých dokumentů podobné povahy dostávám často e-maily, v nichž se mě nadšení začátečníci ptají: „Co se mám naučit, abych se stal geniálním hackerem?“ V roce 1996 jsem si všiml, že na internetu dosud neexistují žádné dokumenty, které by poskytovaly odpověď na tuto základní otázku, proto jsem založil tento. Spousta hackerů jej v současnosti považuje za finální, což podle mě znamená, že opravdu je. Netvrdím však, že jsem v tomto tématu výhradní autorita. Pokud se vám to, co čtete, nelíbí, sepište svůj vlastní dokument.

Schéma, tvořené pěti tečkami v devíti čtvercích, které zdobí úvod tohoto dokumentu, se nazývá kluzák (glider). Jedná se o jednoduchý vzor z matematické simulace zvané Život s několika překvapivými vlastnostmi. Tato simulace hackery fascinuje již mnoho let. Podle mě je to dobrý symbol pro to, jací hackeři jsou – abstraktně smýšlející, na první pohled zdánlivě tajemní, avšak jsou bránou do celého světa s jeho vlastní komplikovanou logikou. O symbolu kluzáku si přečtete více zde.


Kdo to je hacker?

Jargon obsahuje hned několik definicí pojmu hacker, většina z nich má něco společného s technickou přizpůsobivostí, zálibou v řešení problémů a překonávání hranic. Pokud se však toužíte dovědět, jak se stát hackerem, jsou relevantní pouze dvě z nich.

Počátky komunity, sdílené kultury tvořené zkušenými programátory a síťovými génii, sahají desetiletí zpět až k prvním minipočítačům se sdíleným přístupem a k prvním experimentům se sítí ARPANET. A právě členové této kultury stáli u vzniku pojmu hacker. Hackeři byli ti, kdo vybudovali internet. Hackeři stojí za dnešní podobou operačního systému UNIX. Hackeři provozují Usenet. Díky hackerům funguje World Wide Web. Pokud jste součástí této kultury, pokud do ní přispíváte a ostatní členové vás znají a nazývají vás hackerem, pak jste hacker.

Hackerské myšlení ale není doménou jen softwarových hackerů. Mnoho lidí uplatňuje hackerský přístup i v jiných oborech, například v elektronice nebo hudbě. Ve skutečnosti lze lidi s tímto přístupem nalézt na nejvyšší úrovni takřka libovolného odvětví vědy a umění. Softwaroví hackeři tyto spřízněné duše rozpoznávají a i je nazývají hackery. A mnozí z nich tvrdí, že hackerská povaha je opravdu nezávislá na konkrétním oboru, kterému se daný hacker věnuje. Ve zbytku tohoto dokumentu se však zaměřime na schopnosti a přístup softwarových hackerů a na tradice sdílené kultury, která dala za vznik pojmu hacker.

Je zde také ještě jiná skupina lidí, kteří sami sebe nazývají hackery, ale nejsou jimi. Jsou to lidé (většinou dospívající chlapci), které vzrušuje nabourávat se do cizích počítačů a odposlouchávat telefonní linky. Opravdoví hackeři takového člověka označují termínem cracker a nechtějí mít s někým takovým nic společného. Dle většiny hackerů jsou crackeři jen líní, nezodpovědní a nepříliš bystří, a namítají, že schopnost prolomit bezpečnost z člověka nedělá hackera stejně tak jako schopnost nastartovat auto s pomocí drátků nedělá z člověka automobilového inženýra. Naneštěstí bylo mnohým novinářům a spisovatelům namluveno, aby pojem hacker používali pro popis crackerů. Což opravdové hackery nepřestává rozčilovat.

Základní rozdíl je tento:

Hackeři věci stavějí, crackeři je rozbíjejí.

Pokud se chcete stát hackery, pokračujte ve čtení. Pokud se chcete stát crackery, jděte se přihlásit k odběru novinek skupiny alt.2600 a připravte se na pět až deset let v kriminále po tom, co zjistíte, že nejste až tak chytří, jak jste si mysleli. A to je vše, co vám povím o crackerech.


Přístup hackera

Hackeři řeší problémy, tvoří věci a věří ve svobodu a vzájemnou dobrovolnou pomoc. Abyste byli přijati jako hackeři, musíte jednat, jako by vám byl tento přístup vlastní. A abyste mohli takto jednat, musíte tomuto přístupu opravdu věřit.

Pokud ale chápete pěstování hackerského postoje jen jako cestu k získání uznání v kultuře, pak jste to nepochopili. Stát se tím typem člověka, který v tyto věci věří, je důležité pro vás – pro vaši motivaci a chuť se učit. Jako u všech kreativních umění i zde nejúčinnější způsob, jak se stát mistrem, je myšlení mistrů napodobovat. Nejen intelektuálně, ale i emocionálně.

Skvěle to vystihuje také následující moderní báseň Zenu:

Abys kráčel cestou:
Vzhlížej k mistrovi,
následuj mistra,
kráčej s mistrem,
prohlédni mistra,
staň se mistrem.

Pokud se tedy chcete stát hackery, opakujte následující pravidla, dokud jim nebudete věřit:

Svět je plný nevyřešených fascinujících problémů.

Být hackerem skýtá množství zábavy, je to však typ zábavy, který vyžaduje hodně snahy. Snaha vyžaduje motivaci. Úspěšní sportovci získávají svou motivaci z fyzického potěšení, které získávají přinucením svých těl k výkonu a překonáváním svých vlastních fyzických limitů. Stejně tak být hackerem znamená cítit vzrušení z řešení problémů, zdokonalování svých schopností a procvičování své inteligence.

Pokud nejste typ člověka, který toto cítí přirozeně, pak vám nezbývá nic jiného, než se jím stát, abyste měli šanci uspět jako hacker. Jinak totiž zjistíte, že je vaše energie pro hackování vysávána rozptýleními jako sex, peníze a uznání ve společnosti.

(Musíte si také vyvinout jakousi důvěru ve své vlastní schopnosti učení. Víru, že i když třeba zatím neumíte vše potřebné k vyřešení daného problému, tak pokud se vypořádáte byť jen s jeho částí a poučíte se z ní, získáte dostatek vědomostí na to, abyste vyřešili další část. A tak dále, dokud nejste hotovi.)

Žádný problém by neměl být nikdy řešen podruhé.

Kreativní myšlení je hodnotný omezený zdroj. Nemělo by tedy být plýtváno na znovuvynalézání kola, když mnoho úžasných problémů teprve čeká na své vyřešení.

Abyste se chovali jako hackeři, musíte věřit tomu, že čas jiných hackerů je vzácný. Tak vzácný, že je téměř vaší morální povinností sdílet informace, řešit problémy a publikovat jejich řešení, aby mohli ostatní hackeři řešit nové problémy namísto pouhého opakovaného objevování těch starých.

Poznamenejme však, že ono tvrzení „žádný problém by neměl být nikdy řešen podruhé“ neznamená, že musíte pokládat všechna existující řešení za posvátná nebo že pro každý problém existuje pouze jedno správné řešení. Často se o problému, který jsme dříve neznali, dovíme mnoho tak, že studujeme dřívější pokusy o jeho řešení. Je to v pořádku a často dokonce nezbytné pro to, abychom byli schopni rozhodnout, zda máme šanci na lepší řešení. Co není správné, jsou umělé technické, právní nebo instituční bariéry (jako například uzavřený kód), které brání tomu, aby bylo dobré řešení znovu použito a nutí lidi znovuvynalézat kola.

(Nemusíte ale věřit v to, že jste nuceni poskytovat všechnu svou kreativní práci, i když hackeři s tímto přístupem získávají od ostatních to největší uznání. Prodávat její část, abyste měli na jídlo, zaplacení nájmu a vybavení počítače, je plně v souladu s hodnotami hackera. Je v pořádku používat své hackerské schopnosti k obživě rodiny nebo dokonce ke zbohatnutí, dokud přitom nezapomenete svou oddanost vašemu umění a vašim s vámi spolupracujícím hackerům.)

Nuda a dřina jsou zlo.

Hackeři (a obecně tvořiví lidé) by se nikdy neměli nudit nebo být nuceni k bezmyšlenkovité opakující se práci, protože v takovém případě nedělají to, co jediné mohou dělat – řešit nové problémy. Tato nehospodárnost poté škodí všem. Proto nuda a dřina nejsou jen nepříjemné, ale jsou opravdu zlem.

Toto je vše, v co stačí věřit, abyste měli potřebu zautomatizovat ony nudné části, jak jen to bude možné. Ne jen pro vás, ale pro všechny ostatní (speciálně pro ostatní hackery).

(Je zde však jedna očividná výjimka. Hackeři občas dělají věci, které se mohou zdát opakující se nebo nudné, a to jako mysl uvolňující cvičení nebo aby získali schopnosti nebo nějakou konkrétní zkušenost, které nelze získat jinak. V tomto případě je to však dobrovolné. Nikdo, kdo je schopen myslet, by nikdy do situace, která jej nudí, neměl být nucen.)

Svoboda je skvělá.

Hackeři přirozeně neuznávají autority. Kdokoli, kdo vám může dávat příkazy, vám může zabránit v řešení jakéhokoliv problému, který vás nadchl. A vzhledem k tomu, jak autority uvažují, je pravděpodobné, že si pro to také nějaký otřesně hloupý důvod najdou. Proti názorům autorit tedy musí být bojováno kdekoliv, kde se vyskytnou. Ulehčí to vám i ostatním hackerům.

(To není to samé jako odmítat jakoukoliv autoritu. Děti potřebují být vedeny a zločinci usměrňováni. Hacker může souhlasit s přijetím některých druhů autority, aby získal něco, co chce více než čas, který stráví plněním příkazů. To je však omezená a záměrná dohoda. Osobní oběť, kterou autority požadují, v nabídce není.)

Autority si libují v cenzuře a utajování. A nemají důvěru v dobrovolnou spolupráci a sdílení informací. Jedinou „spolupráci“, kterou uznávají, je ta, kterou mohou kontrolovat. Takže abyste se chovali jako hackeři, musíte si vyvinout instinktivní odpor k cenzuře, utajování a použití síly či podvodu k vynucení si zodpovědnosti. A musíte být na základě toho, čemu věříte, ochotni také jednat.

Přístupem nelze nahradit schopnosti.

Abyste se stali hackery, musíte si některé z těchto názorů osvojit. Samotné přivlastnění si názorů z vás však neudělá hackery o nic více než špičkové atlety nebo rockové hvězdy. Stát se hackerem vyžaduje inteligenci, cvik, oddanost a tvrdou práci.

Musíte se proto naučit nedůvěřovat postojům a vážit si schopností všeho druhu. Hackeři neztrácejí čas s pozéry, ale uznávají schopnosti – především schopnosti v hackování, ale schopnosti jakéhokoliv druhu jsou ceněny. Znalost dovedností, v nichž může excelovat málokdo, je obzvláště dobrá a znalosti, které zahrnují hbitou mysl, zručnost a koncentraci, jsou ty nejlepší.

Pokud uctíváte schopnosti, budete mít také radost z jejich vlastního získávání. Tvrdá práce a oddanost se pak stanou spíše intenzivní hrou než dřinou. Tento přístup je nezbytný pro to stát se hackerem.


Základní schopnosti hackera

Hackerský přístup je nezbytný, ale schopnosti jsou ještě důležitější. Přístupem nelze nahradit schopnosti. Existuje několik základních dovedností, které musíte mít, než vůbec kdokoliv začne uvažovat o tom nazvat vás hackerem.

Tento seznam se časem pomalu mění s tím, jak technologie vytvářejí nové dovednosti a činí tak ty původní zastaralými. Kdysi například obsahoval programování ve strojovém kódu a naopak až do nedávna neobsahoval znalost jazyka HTML. Nyní ovšem obsahuje především následující body:

Naučte se programovat.

Toto je samozřejmě základní dovednost hackera. Pokud ještě neumíte programovat v žádném programovacím jazyce, doporučuju začít v Pythonu. Je to čistě navržený a dobře dokumentovaný jazyk, poměrně vlídný k začátečníkům. Přestože se ale jedná o vhodný první jazyk, není to jenom hračka. Python je velmi silný a flexibilní nástroj vhodný i pro rozsáhlé projekty. Detailnější zhodnocení Pythonu jsem sepsal zde. Dobré tutoriály jsou k dispozici na stránkách Pythonu.

Kdysi jsem doporučoval Javu jako dobrý programovací jazyk pro začátek, ale tato kritika změnila můj názor (hledejte uvnitř „Nástrahy Javy jakožto prvního programovacího jazyka“). Hacker nesmí, jak báječně vystihují, přistupovat k řešení problému jako instalatér v železářství. Musíte vědět, co dané součásti ve skutečnosti dělají. Nyní si myslím, že je pravděpodobně nejlepší začít s jazyky C a Lisp a až pak s Javou.

Toto je mnohem obecnější myšlenka. Pokud vám toho některý jazyk nabízí příliš moc, může být zárověň dobrým nástrojem pro tvorbu a špatným pro výuku. Není to ale problém jen programovacích jazyků – například frameworky pro webové aplikace jako Ruby on Rails, CakePHP, Django a další usnadňují práci možná až příliš a získané povrchní znalosti vám nebudou stačit, když se budete muset vypořádat s obtížným problémem nebo dokonce jen odladit řešení toho jednoduchého.

Pokud začnete brát programování vážně, budete se muset naučit jazyk C, základní jazyk Unixu. Jazyk C++ je velmi příbuzný s jazykem C. Pokud již znáte jeden z nich, naučit se druhý už nebude problém. Žádný z nich však není vhodným jazykem pro začátek a, ve skutečnosti, čím lépe se vám povede vyhnout programování v jazyce C, tím více budete produktivní.

Jazyk C je velmi efektivní a šetrný k výkonu vašeho počítače. Bohužel si však svou efektivitu vybírá na tom, že po programátorovi požaduje dělat spoustu nízkoúrovňové správy zdrojů (jako například paměti) ručně. Všechen tento nízkoúrovňový kód je komplikovaný a náchylný k chybám a spotřebuje na odlaďování vašich programů velkou spoustu vašeho času. Vzhledem k tomu, jak jsou dnešní stroje výkonné, je to většinou nevýhodný obchod. Je chytřejší použít jazyk, který sice strojový čas nevyužívá tak efektivně, ale zase je mnohem šetrnější k vašemu času. Tedy, Python.

Další pro hackery mimořádně významné programovací jazyky jsou Perl a LISP. Perl má smysl se naučit z praktických důvodů – je velmi používaný v interaktivních webových stránkách a pro systémovou administraci, takže i když nebudete nikdy v Perlu programovat, měli byste se jej naučit, abyste v něm uměli čist. Mnoho lidí používá Perl tak, jako já doporučuju používání Pythonu – aby se vyhnuli programování v jazyce C pro projekty, které nevyžadují strojovou efektivitu jazyka C. Budete muset být schopni rozumět jejich kódu.

Jazyk LISP je užitečné se naučit z jiného důvodu – pro tu zkušenost z hlubokého osvícení, kterou získáte, když jej konečně pochopíte. Tato zkušenost z vás do budoucna udělá lepšího programátora, i když LISP samotný moc používat nebudete. (Nějakou základní zkušenost s LISPem můžete získat docela jednoduše psaním nebo úpravou módů pro textový editor Emacs nebo Script-Fu pluginů pro GIMP.)

Nejlepší je samozřejmě naučit se všech pět programovacích jazyků – Python, C/C++, Java, Perl a LISP. Vedle toho, že jsou jedněmi z nejdůležitějších hackerských jazyků, představují také velmi rozdílné přístupy k programování a každý z nich vás vzdělá hodnotným způsobem.

Dávejte si však pozor, ať nedosáhnete úrovně hackera nebo dokonce jen programátora obyčejným hromaděním jazyků. Musíte se také naučit, jak přemýšlet o problémech v programování obecně, nezávisle na jazyku. Abyste byli opravdovým hackerem, musíte se dostat do bodu, kdy jste schopni se naučit nový jazyk za několik dní tak, že si spojíte informace v manuálu s tím, co už víte. To znamená, že byste se měli naučit několik velmi odlišných jazyků.

Nemůžu vám tady dát kompletní návod na to, jak se naučit programovat – je to komplexní dovednost. Můžu vám ale zaručit, že knihy a kurzy vás to také nenaučí. Mnoho, možná téměř všichni hackeři, jsou samouci. Můžete se naučit vlastnosti jazyka – střípky vědomostí – z knih, ale způsob uvažování, který tyto vědomosti přetvoří ve skutečné dovednosti, se můžete naučit jen praxí a učením. Dvě věci, kterými toho dosáhnete, jsou psaní a čtení kódu.

Peter Norvig, jeden z nejlepších hackerů pracujících pro Google a spoluautor nejprodávanější knihy na téma umělé inteligence, sepsal vynikající esej zvanou Naučte se programovat za deset let. Jeho recept pro úspěch v programování je více než hoden pozornosti.

Naučit se programovat je stejné jako naučit se psát spisovně rodným jazykem. Nejlepší způsob, jak toho dosáhnout, je číst tvorbu mistrů v oboru, psát vlastní práce, ještě více číst, ještě více psát, ještě více číst a ještě psát… a opakovat toto tak dlouho, dokud si vaše texty nezačnou vyvíjet svou sílu a úspornost, kterou vidíte ve svých vzorech.

Nalézt dobrý kód ke čtení bývalo obtížné, protože dříve nebylo mnoho velkých programů poskytováno spolu s jejich zdrojovým kódem, aby se měli rodící se hackeři v čem šťourat. Situace se ale dramaticky změnila a otevřený software, programovací nástroje a operační systémy (všechny vybudovány hackery) jsou nyní běžně k dispozici. Což mě přivádí k našemu dalšímu tématu…

Naučte se používat nějaký UNIXový operační systém.

Budu předpokládat, že počítač buď vlastníte nebo k němu máte alespoň přístup. (Věnujte chvilku tomu, že oceníte, jak významná věc to je. Hackerská kultura původně vznikala za dob, kdy byly počítače tak drahé, že je jednotlivci neměli šanci vlastnit.) Ten nejdůležitější krok, který může jakýkoliv začátečník udělat, aby získal hackerské dovednosti, je sehnat si kopii Linuxu, BSD-UNIXu nebo OpenSolaris, nainstalovat si jej na počítači a začít jej používat.

Ano, na světě jsou i jiné než UNIXové operační systémy. Ty jsou však k dispozici pouze v binární formě – nemáte tedy možnost jejich zdrojový kód ani vidět ani jej pozměnit. Snažit se naučit hackovat na stroji se systémem Microsoft Windows nebo s jakýmkoliv jiným uzavřeným systémem je stejné jako snažit se naučit tančit s nohou v sádře.

Systém Mac OS X lze použít také, ale otevřená je jen jeho část – pravděpodobně tedy narazíte na mnoho překážek. Musíte být také opatrní a nevypěstovat si zlozvyk přílišného používání Applem patentovaného kódu. Když se zaměříte na to, co pod kapotou skrývá UNIX, můžete se něčemu užitečnému přiučit.

UNIX je bez nadsázky operačním systémem Internetu. I když se můžete naučit používat Internet i bez toho, aniž byste znali UNIX, nemůžete se bez pochopení UNIXu stát internetovým hackerem. Z tohoto důvodu je dnes hackerská kultura poměrně silně soustředěná okolo UNIXu. (Toto nebylo vždy pravdou a někteří staří hackeři z toho stále nejsou nadšení, vztah mezi UNIXem a Internetem se ale stal natolik silným, že jej ani vliv Microsoftu není schopen nějak výrazně narušit.)

Vezměte si tedy nějaký UNIX – já osobně mám rád Linux, ale možností je více (a ano, můžete mít na jednom stroji Linux i Microsoft Windows zároveň). Spusťte jej. Naučte se jej používat. Šťourejte se v něm. Komunikujte s jeho pomocí na internetu. Čtěte jeho kód. Upravujte jeho kód. Získáte programovací nástroje (včetně jazyků C, LISP, Pythonu a Perlu), o jakých si může libovolný operační systém od Microsoftu nechat jen zdát, užijete si spoustu zábavy. Získáte mnohem více znalostí, než si myslíte. Uvedomíte si to, až budete jako mistři vzpomínat na své začátky.

Pro více informací o tom, jak začít s UNIXem, si přečtěte dokument The Loginataka. Možná by vás také mohla zajímat kniha Umění programování v UNIXu (The Art of UNIX Programming).

Pokud chcete začít s Linuxem, navštivte jeho oficiální stránku. Systém můžete stáhnout buďto z ní a nebo (ještě lépe) najít nějakou skupinu uživatelů Linuxu ve vašem okolí, která vám s instalací pomůže. Během prvních deseti let existence tohoto návodu jsem prosazoval, že z pohledu začátečníka jsou všechny Linuxové distribuce téměř ekvivalentní. Ale v letech 2006 až 2007 se objevila nejlepší možnost: Ubuntu. I ostatní distribuce mají své silné stránky, Ubuntu je však zdaleka nejpřístupnějším Linuxovým systémem pro začátečníky.

Zdroje a nápovědu k BSD-UNIXu naleznete na stránkách BSD.

Dobrý způsob, jak si Linux nezávazně vyzkoušet, je spustit Linuxové Live CD – distribuci, která běží výhradně z CD bez toho, aniž by zapisovala na váš disk. Nebude to nic převratně svižného, jelikož CD mechaniky jsou pomalé, ale je to způsob, jak si prohlédnout možnosti nez toho, aniž byste museli provádět cokoli drastického.

Sepsal jsem učebnici pro začátečníky na téma Základy UNIXu a Internetu.

Kdysi jsem nedoporučoval, abyste se pokoušeli si nainstalovat Linux nebo BSD sami, pokud jste začátečníci. V dnešní době se však instalace natolik vylepšily, že by to již ani pro začátečníka neměl být problém. Nicméně, i tak doporučuju vyhledat nějakou skupinu uživatelů Linuxu ve vašem okolí a požádat o pomoc. Neublíží vám to a možná ulehčí průběh.

Naučte se používat internet a psát v jazyce HTML.

Většina věcí, které vybudovala hackerská kultura, není na první pohled vidět. Pomáhají provozovat továrny, úřady a univerzity, aniž by jakkoliv viditelně ovlivňovaly život běžného člověka. Web je jednou velikou výjimkou, ta obrovská zářivá hackerská hračka, o níž dokonce i politici přiznávají, že změnila svět. Už jen z tohoto jediného důvodu (ale i z mnoha dalších) se musíte naučit pracovat s Webem.

To neznamená umět spustit Webový prohlížeč (to dokáže každý), ale naučit se psát jazyk HTML, značkovací jazyk Webu. Pokud neumíte programovat, psaní HTML kódu vás naučí některé duševní návyky, které vám v učení pomohou. Založte si tedy vlastní stránky. Snažte se držet varianty XHTML, která je čistější, než klasické HTML. (Na internetu lze sehnat dobré tutoriály pro začátečníky – zde je jeden z nich.)

Ale mít své vlastní stránky nikde ani zdaleka nestačí k tomu, aby se z vás stal hacker. Web je plný osobních stránek. Většina z nich jsou jen zbytečný odpad – velice vznešeně vypadající odpad, nutno podotknout – ale stále jen odpad. (Pro více na toto téma navštivte Pekelnou HTML stránku.)

Aby stály za návštěvu, musí vaše stránky mít nějaký hodnotný obsah – musí být zajímavé a/nebo užitečné pro ostatní hackery. Což mě přivádí k dalšímu tématu…

Naučte se číst a psát v angličtině.

Jakožto Američan a anglický rodilý mluvčí jsem se dříve zdráhal toto doporučovat, aby to nebylo bráno jako jakýsi kulturní imperialismus. Několik lidí s jiným než anglickým mateřským jazykem mě však nabádalo k tomu, abych zmínil, že angličtina je pracovním jazykem hackerské kultury a Internetu a že ji budete potřebovat znát, abyste byli funkčním článkem hackerské komunity.

Okolo roku 1991 jsem si všiml, že mnoho hackerů používá angličtinu v technických diskuzích, a to i v případě, že mají jiný společný mateřský jazyk. Bylo mi tehdy oznámeno, že angličtina má bohatší technický slovník než jakýkoliv jiný jazyk a proto je jednoduše lepším nástrojem k práci. Z tohoto důvodu jsou překlady anglicky psaných technických knih často neuspokojivé (i když jsou přeloženy kompletně).

Linus Torvalds, původem z Finska, svůj kód komentuje v angličtině (a pravděpodobně ho nikdy nenapadlo dělat to jinak). Jeho plynulá angličtina byla důležitým faktorem v jeho schopnosti vytvořit světovou komunitu vývojářů Linuxu. Je dobré si z něj vzít příklad.

To, že jste anglický rodilý mluvčí, vám ale ještě nezaručuje, že máte dostatečně dobré jazykové schopnosti na to, abyste mohli být hackerem. Pokud váš psaný projev nejeví známky inteligence, není gramaticky správný nebo je plný překlepů, budou vás mít hackeři (včetně mě) sklon ignorovat. Přestože nedbalý písemný projev nemusí nutně znamenat nedbalé myšlení, obecně se mezi těmito dvěma faktory ukazuje poměrně silná souvislost. A o lajdáky tady nemáme zájem. Pokud dosud neumíte psát na úrovni, tak se to naučte.


Postavení v hackerské kultuře

Stejně tak jako jakákoliv jiná kultura bez peněžní ekonomiky i hackerství je poháněno reputací. Snažíte se řešit zajímavé problémy, ale jak zajímavé opravdu jsou a jestli jsou vaše řešení opravdu dobrá, to je něco, o čem jsou obvykle schopni rozhodovat jen váš technický dozor či někdo nad vaší úrovní.

Proto tedy, pokud budete hrát tuto hru na hackery, naučíte se, že vaše skóre se primárně odvíjí od toho, co si o vašich dovednostech myslí ostatní hackeři (proto se stanete hackerem až tehdy, když vás tak ostatní hackeři začnou nazývat). Tato skutečnost je zastřena obrázkem hackování jakožto samotářské práce a také (koncem 90. let postupně upadajícím, ale stále silným) tabu hackerské kultury – přiznáním, že do vaší motivace zahrnujete také ego nebo hodnocení vaší práce okolím.

Speciálně, antropologové hackerství nazývají kultura darů. Postavení a reputaci si v ní nezískáte dominancí nad ostatními lidmi ani krásou nebo vlastnictvím věcí, které ostatní chtějí, ale tím, že budete dávat. Investovat váš čas a vaši tvořivost a nabízet výsledky vašich dovedností.

V podstatě existuje pět typů činností, které můžete dělat, abyste získali respekt od ostatních hackerů:

Tvořte otevřený software.

První (hlavní a nejtradičnější) činností je psát programy, které ostatní hackeři považují za zábavné nebo užitečné, a dávat k dispozici jejich zdrojové kódy. (Kdysi se tato práce skrývala pod názvem svobodný software, toto však mátlo příliš mnoho lidí, kteří si nebyli úplně jistí, jaký má přesně slovo „svobodný“ význam. Mnozí z nás proto v současnosti dávají přednost pojmu otevřený software.)
V hackerství nejvíce uctívaní lidé – polobohové – jsou ti, kteří napsali veliké, schopné a všeobecně žádané programy a nabídli je ostatním k použití.

Dovolte mi ale jednu malou historickou poznámku. Přestože hackeři odjakživa vzhlíželi k vývojářům otevřeného softwaru jakožto k jádru celé jejich komunity, ještě v první polovině 90. let psala většina hackerů uzavřený kód. To bylo pravdou ještě i v době, kdy jsem v roce 1996 sepsal svou první verzi tohoto návodu. Věci se změnily až cca po roce 1997, kdy se otevřený software začal stávat běžnou věcí. Dnes jsou „hackerská komunita“ a „vývojáři otevřeného softwaru“ dva popisy pro jednu a tu samou kulturu a populaci. Má ale význam pamatovat si, že tomu vždy tak nebylo.
(Pro více informací čtěte sekci Historie otevřeného a svobodného softwaru.)

Pomozte testovat a ladit software.

Hackeři mají respekt také k tomu, kdo pomáhá ladit otevřený software. V tomto nedokonalém světě strávíme nevyhnutelně většinu našeho programátorského času ve fázi lazení. Proto kterýkoliv autor otevřeného softwaru, který aspoň trochu přemýšlí, vám poví, že dobří beta-testeři (ti, kteří umí jasně popsat příznaky problému a určit přesně, kde se nachází, dokážou tolerovat chyby v narychlo vytvořené verzi a jsou ochotni aplikovat několik jednoduchých diagnostik) jsou vyvažováni zlatem. I jen jeden takový tester může ze zdlouhavé a vyčerpávající noční můry udělat ladící fázi, která je jen užitečnou nepříjemností.

Pokud jste začátečníci, zkuste si najít program ve vývoji, který vás zajímá, a buďte dobrým beta-testerem. Nabyté zkušenosti vás přirozeně posunou z fáze jeho testování do fáze, kdy jej budete schopni ladit nebo dokonce měnit jeho kód. Mnoho se takto naučíte a získáte taky dobrou pověst u lidí, kteří pak třeba pomohou zase vám.

Publikujte užitečné informace.

Jinou dobrou věcí je sbírat a třídit užitečné a zajímavé informace, shromažďovat je na webových stránkách nebo v dokumentech typu Seznam často kladených otázek (FAQ) a dávat k dispozici ostatním.

Tvůrci hlavních technických seznamů jsou respektováni téměř tak jako autoři otevřeného softwaru.

Pomozte udržovat infrastrukturu v provozu.

Hackerská kultura (a vlastně i vývoj internetu) je založen na dobrovolnictví. Je zde spousta nutné, ale nepříliš atraktivní práce, kterou je třeba udělat, aby vše fungovalo. Administraci e-mailové konference, moderaci diskusních skupin, udržování rozsáhlých internetových archivů softwaru, vývoj technických standardů RFC a jiné.

Lidé, kteří tyto věci dělají, získají mnoho respektu, protože každý ví, že tyto práce jsou obrovskými žrouty času a nejsou tak zábavné jako hrát si s kódem. Jejich vykonávání dává najevo vaši oddanost.

Propagujte hackerskou kulturu.

Nakonec, můžete také propagovat samotnou hackerskou kulturu (například tím, že sepíšete precizní návod pro začátečníky na téma Jak se stát hackerem :-)) Není to ale nic, co byste měli zkoušet, dokud se tomu nevěnujete dlouhodoběji a nejste dobře známý díky jednomu ze čtyř důvodů výše.

Hackerská kultura nemá vůdce v tom daném smyslu, ale má kulturní hrdiny, kmenové stařešiny, historiky a mluvčí. Pokud budete součástí této kultury déle, možná se stanete jedním z nich. Dávejte si však pozor: hackeři nevěří kmenovým stařešinům s do očí bijícím egem, proto viditelně mířit za tímto typem slávy může být nebezpečné. Spíše, než o to přímo usilovat, je vhodnější se prostě usadit a ono vám to už spadne do klína samo. A pokud se tak stane, chovejte se ke svému postavení skromně a zdvořile.


Spojení mezi hackerem a nerdem

Narozdíl od obecně rozšířeného mýtu o hackerech nemusíte být nerd (hanlivé označení pro IT nadšence, pozn. překl.), abyste se mohli stát hackerem. Nicméně tento postoj pomůže a ve skutečnosti mnozí hackeři jsou nerdové. Být na okraji společnosti vám pomůže se soustředit na opravdu důležité věci jako jsou přemýšlení a hackování.

Z tohoto důvodu si mnoho hackerů přivlastnilo označení geek jakožto odznak hrdosti. Je to způsob, jak dát najevo svou nezávislost na obvyklých společenských očekáváních (stejně tak jako zálibu v jiných věcech jako jsou sci-fi a strategické hry, které neodmyslitelně patří k hackerskému stylu). Označení „nerd“ bývalo používáno v tomto smyslu v 90. letech, kdy titulek „nerd“ byl jen lehce hanlivý, zatímco „geek“ už znamenal poněkud drsnější urážku. Někdy okolo roku 2000 si tyto dva pojmy (alespoň v USA) vyměnily svá místa a nyní jsou i mezi technicky nevzdělanými lidmi mnozí, kteří označení „geek“ považují za poklonu.

Pokud se dokážete dostatečně soustředit na hackování tak, abyste v něm byli dobří a přesto vedli normální život, pak je vše v pořádku. V dnešní době je to mnohem jednodušší, než když jsem já býval začátečník okolo roku 1970. Běžný člověk je teď mnohem přátelštější k technickým nadšencům. Rostoucí počet lidí si dokonce uvědomuje, že hackeři jsou často velmi kvalitní milenci a manželé.

Pokud vás zaujalo hackování, protože nevedete plnohodnotný život, je to také v pořádku – alespoň se nebudete mít problémy soustředit. A možná se váš život poté zlepší.


Životní styl hackera

Opět, pokud chcete být hackerem, musíte přijmout myšlení hackera. Existuje několik věcí, které vám k tomuto myšlení pomohou a které můžete dělat, když zrovna nesedíte u počítače. Nejsou náhradou za hackování (nic takového neexistuje), ale mnoho hackerů je dělá a cítí přitom jakési jednoduché propojení s podstatou hackování.

Čím více z těchto věcí se už věnujete, tím pravděpodobněji se ve vás skrývá hackerský potenciál. Proč onen seznam tvoří právě tyto věci, není úplně jasné. Jedno mají ale společné – propojují levou a pravou mozkovou hemisféru, což se zdá být důležitá vlastnost. Hackeři potřebují být schopni jak logicky uvažovat, tak se na problém podívat i jinak, než jeho očividnou logikou.

Dopřávejte si stejné množství volného času jako práce. Opravdoví hackeři nemají hranice mezi pojmy „volný čas“, „práce“, „věda“ a „umění“ a vše souhrnně označují jako vysoce kreativní hravost. Nebuďte také spokojení s omezeným okruhem vašich schopností. Ačkoliv se většina hackerů označuje jako programátoři, jsou většinou zdatní i v několika příbuzných odvětvích, například systémová administrace, tvorba webu nebo hardware počítače. Na druhou stranu, hacker, který se živí jako systémový administrátor, je většinou také schopný v psaní skriptů a tvorbě webových stránek.
Hackeři nedělají věci napůl. Pokud se už rozhodnou něčemu věnovat, tak mají snahu být v dané oblasti velmi dobrý.

A nakonec, několik věcí, které nedělat:

Jedinou reputací, kterou těmito věcmi získáte, bude, že vás budou ostatní považovat za hlupáka. Hackeři mají dobrou paměť. Může trvat roky, než ostatní zapomenou na vaše tehdejší chyby a přijmou vás.

Problém s přezdívkami si zaslouží trochu pozornosti. Skrývání vaší identity je dětinské a hloupé a je typické pro crackery, „warez d00dz“ a jiné nízké formy života. Hackeři toto nedělají – jsou pyšní na to, čemu se věnují, a chtějí jejich tvorbu spojit se svým skutečným jménem. Pokud tedy skrýváte svou identitu, skončete s tím. V hackerské kultuře budete akorát za chudáka.


Historie otevřeného a svobodného softwaru

Když jsem původně koncem roku 1996 sepsal tento návod, mnoho věcí se lišilo od toho, jak je tomu nyní. Několik poznámek k těmto změnám vám možná pomůže pochopit, proč jsou někteří lidé zmatení ze vztahu hackerské komunity k Linuxu a otevřenému a svobodnému softwaru. Pokud vás tato část nezajímá, můžete přeskočit přímo k doporučeným odkazům nebo často kladeným otázkám.

Hackerský charakter a jeho komunita tak, jak jsem ji zde popsal, dalece předchází rok 1990, kdy se objevil Linux. Já jsem se hackerství začal věnovat okolo roku 1976 a jeho kořeny lze bez problémů vystopovat až do počátku 60. let. Před existencí Linuxu se hackování provádělo většinou buď na proprietárních operačních systémech nebo na hrstce napůl experimentálních doma vytvořených systémů jako ITS, původem z institutu MIT, které nebyly nikdy vypuštěny mimo jejich původní akademickou půdu. Pokusy změnit situaci zde byly i dříve (ještě před Linuxem), jejich dopad byl však téměř mizivý a ovlivnil jen skupinky opravdových přívrženců, jichž bylo málo i mezi hackery, natož obecně ve světě.

Čemu nyní říkáme „otevřený software“, má kořeny až k začátkům hackerské komunity, ale až do roku 1985 to byla spíše záležitost několika lidí než uvědomělé hnutí. Toto prehistorické období skončilo v roce 1985, když se tomu arcihacker Richard Stallman (přezdívaný RMS) pokusil dát jméno – svobodný software. Spolu se jménem se ale neslo i mnoho požadavků. K nálepce „svobodný software“ připojil bohužel i spoustu ideologického balastu, který zbytek hackerské komunity nikdy nepřijalo. Výsledkem bylo, že bylo označení „svobodný software“ podstatnou většinou hackerské komunity (a převážně uživateli BSD Unixu) hlasitě odmítnuto a ostatními (včetně mě) používáno s vážnými výhradami.

Přeze všechny tyto výhrady byl Stallmanův požadavek označit a vést hackerskou komunitu ve jménu svobodného softwaru všeobecně uznáván až do poloviny 90. let. V té době se již rozšířil Linux, který dal vývoji otevřeného softwaru přirozený domov. Mnoho projektů, které bychom dnes nazvali otevřeným softwarem, v minulosti na Linux přesídlilo z proprietárních Unixových systémů. Komunita okolo Linuxu rostla exponenciální rychlostí a stala se mnohem větší a pestřejší než hackerská kultura, jak ji známe z dob před Linuxem. Stallman se okamžitě pokusil všechnu tuto činnost zahrnout pod své „hnutí svobodného softwaru“, jeho snahu mu ale překazila jak explozivní různorodost vznikající Linuxové komunity, tak veřejná nedůvěra jejího zakladatele, Linuse Torvaldse. Torvalds nadále z důvodu chybějící vhodné altermativy používal termín „svobodný software“, veřejně ale odmítl všechnu k němu přidruženou ideologii. Mnoho mladých hackerů tento vzor následovalo.

V roce 1996, když jsem poprvé vydal tento hackerský návod, se hackerská komunita rychle seskupovala okolo Linuxu a několika jiných otevřených operačních systémů (za zmínku stojí například některé systémy původem z BSD Unixu). Skutečnost, že většina z nás strávila desítky let vývojem uzavřeného softwaru na uzavřeném operačním systému, ještě v té době z podvědomí komunity nezmizela, ale začala být alespoň chápána jako již uzavřená minulost a hackeři sami sebe stále častěji definovali svým vztahem k projektům s otevřeným kódem jako Linux nebo Apache.

Termín „otevřený software“ však tehdy ještě stále neexistoval, a to až do počátku roku 1998. Když se objevil, většina hackerské komunity si jej přivlastnila během následujícího půl roku. Výjimkou byla menšina, která byla stále spjatá s ideologií svobodného softwaru. Od roku 1998 a hlavně po roce 2003 se pojmy „hackování“ a „otevřený software“ staly velmi blízkými. V dnešní době se mezi těmito dvěma kategoriemi téměř nerozlišuje a je nepravděpodobné, že by tomu mělo být v budoucnosti jinak.

Stojí však za to si pamatovat, že tomu tak vždy nebylo.


Jiné zdroje



Často kladené otázky


Jak zjistím, jestli už jsem hacker?

Položte si sami sobě následující tři otázky:

Pokud můžete na všechny tři otázky odpovědět ano, pak už jste hacker. Žádné dvě z nich pouze nestačí.

První otázka testuje vaše dovednosti. Pokud máte základní technické dovednosti, o nichž jsem dříve hovořil, pak jste na ni pravděpodobně odpověděli kladně. A pokud jste už napsali větší množství kódu v rámci nějakého projektu, pak jste nad ní určitě ani nepřemýšleli.

Druhá otázka se týká vašich názorů. Pokud vám dříve zmiňovaná pětice principů hackerského myšlení přišla samozřejmá a spíše už jen popisovala váš současný životní styl, pak jste již na půli cesty. Za vnitřní půlkou však následuje ještě polovina vnější, a tou je míra, s jakou se ztotožňujete s dlouhodobými cíli hackerské komunity.

Zde jsou pro názornost některé z těchto cílů: Záleží vám na tom, aby se Linux vyvíjel a šířil? Jste nadšencem svobody softwaru? Nemáte v lásce monopoly? Jste přesvědčeni, že počítače mohou být nástrojem pro bohatší a lidštější svět?

Je třeba ale zmínit jedno varování. Hackerská komunita má některé specifické defensivní politické zájmy. Dvěma z nich jsou obrana práva na svobodu projevu a odrážení mocenských pokusů o zavedení duševního vlastnictví, jehož důsledkem by se stal otevřený software nelegální. Mezi dlouhodobé cíle patří také některé organizace podporující občanskou svobodu jako např. Electronic Frontier Foundation, a vnější polovina vašich názorů by samozřejmě měla zahrnovat podporu takovýchto projektů. Až na tyto dvě výjimky však většinou hackeři nejsou příznivci myšlenky vytvořit z hackerského postoje konkrétní politický program. Naučili jsme se totiž, a to ne zrovna příjemným způsobem, že tyto pokusy pouze tříští komunitu a vyvolávají v ní spory. Pokud se vás někdo pokusí najmout, abyste vedli protestní pochod ve jménu hackerských názorů, pak takový člověk nic nepochopil. Správnou reakcí na takový návrh by pravděpodobně mělo být „Zmlkni a ukaž jim kód“.

Třetí test má v sobě zajímavě schovanou rekurzi. V sekci Kdo to je hacker? jsem poznamenal, že být hackerem taky částečně znamená být součástí konkrétní subkultury nebo sociální sítě se společnou historií. Dříve byli hackeři mnohem méně soudržní a vědomi si sebe sama než v současnosti. Důležitost myšlenky sociální sítě ale v posledních 30 letech narůstala s rozvojem internetu, který umožnil mnohem jednodušeji vytvářet a udržovat spojení s jádrem hackerské subkultury. Jedním jednoduchým pozorováním této změny je například to, že už máme svá vlastní trička.

Sociologové, kteří skupinu sociálních sítí podobných té naší studují obecně pod názvem neviditelné univerzity, poznamenali, že jednou charakteristikou těchto sítí jsou jejich strážci – uznávaní členové, kteří svou autoritou podporují zájem nových lidí. Jelikož je však hackerská kultura jakožto neviditelná univerzita pouze neformálním celkem, jsou tím pádem neformální i role strážců. V jedné věci jsou si ale všichni hackeři jistí – zdaleka ne každý hacker je strážcem. Strážci musí mít určitý minimální věk a dosažené výsledky, aby se mohli takto nazvat. Je nejednoduché pro to určit konkrétní hodnoty, ale každý hacker to bez problémů sám pozná.

Naučíš mě hackovat?

Od okamžiku, kdy jsem poprvé vydal tento návod, mi tuto otázku pokládá několik lidí týdně (často i denně). Bohužel na to ale nemám čas ani energii. Mé vlastní projekty a má pozice obhájce otevřeného softwaru mi zabírají 110 % mého volného času.

I kdybych na to ale čas nebo energii měl, tak hackování je schopnost, kterou se v podstatě musíte naučit sami. Zjistíte, že ačkoliv vám opravdoví hackeři rádi pomohou, přestanou vás respektovat, pokud vám budou muset všechno naservírovat až pod nos.
Naučte se nejprve pár věcí. Ukažte snahu. Ukažte, že jste schopni se sami učit. A pak až pokládejte konkrétní otázky.

Pokud napíšete hackerovi e-mail s žádostí o radu, měli byste vědět dvě věci. Prvně, lidé, kteří jsou líní nebo lhostejní ve svém psaném projevu, jsou často taky líní myslet, což není vlastnost hackerů. Dbejte proto na kvalitní psaný projev, pište gramaticky správně a s interpunkcí, jinak je docela možné, že nedostanete odpověď. Za druhé, neopovažujte se žádat o zaslání odpovědi na jiný e-mail než na ten, z něhož právě píšete. To je totiž typické pro lidi, kteří používají ukradený cizí e-mail a v našem zájmu není podpora nebo pomoc zlodějům.

Jak mám začít?

Nejlepším místem, kde s hackováním začít, by pro vás mohlo být LUG sektání (setkání skupiny uživatelů Linuxu). O těchto skupinách se více dovíte na LDP: Obecné Linuxové informační stránky. Jedna z nich se určitě nachází ve vaší blízkosti, třeba jako součást univerzity. Členové LUG vám pravděpodobně dají k dispozici Linux, pokud o něj požádáte, a pomohou vám jej případně nainstalovat a začít v něm pracovat.

V kolika letech je nejlepší začít? Jsem už na to příliš starý?

Vhodná doba začít je kdykoli. Nejvíce lidí se začne o hackování zajímat ve věku od 15 do 20 let, ale znám výjimky na obě strany.

Jak dlouho mi bude trvat, než se naučím hackovat?

To záleží na tom, jak jste nadaní a jak tvrdě na sobě pracujete. Většina lidí získá obstojné schopnosti do dvou let, pokud se opravdu snaží. Nemyslete si ale, že tím to končí – v hackerství (stejně tak jako v mnoha jiných oborech) trvá odhadem deset let stát se mistrem. A pokud jste opravdoví hackeři, strávíte vylepšováním svého umění zbytek svého života.

Je Visual Basic dobrým programovacím jazykem pro začátek?

Pokládáte-li tuto otázku, pak s velkou pravděpodobností uvažujete o hackování pod systémem Microsoft Windows. A to je už sám o sobě špatný nápad. Učit se hackovat pod Windows je stejné jako učit se tancovat ve svěrací kazajce. Nedělám si srandu. Nezkoušejte to. Je to hrozné a nikdy to lepší nebude.

Hlavním problémem Visual Basicu je jeho nepřenositelnost. I když už existuje prototyp otevřené implementace Visual Basicu, příslušné ECMA standardy pokrývají bohužel jen malou část jeho rozhraní. V systému Windows patří většina knihoven jedinému vlastníkovi (Microsoft). A pokud nejste velmi opatrní v tom, co používáte (mnohem opatrnější, než jak je jakýkoliv začátečník schopen být), skončí váš výběr uvězněn v tom, co se Microsoft zrovna rozhodne podporovat. Pokud začnete v Unixu, budete mít k dispozici mnohem lepší knihovny a programovací jazyky. Například Python.

Dále, Visual Basic je, stejně jako všechny ostatní věci pro začátečníky, nevhodně navržený jazyk, který vás naučí špatným programovacím návykům. Ne, nežádejte mě, abych je všechny detailně vypisoval – jejich seznam by zaplnil celou knihu. Naučte se raději nějaký dobře navržený jazyk.

Jedním z těch špatných návyků je závislost na knihovnách a vývojových nástrojích jediného vlastníka. Obecně platí, že jakýkoliv jazyk, který není plně podporován alespoň pod Linuxem nebo jedním z BSD, a/nebo pod systémy nejméně třech různých vlastníků, je zbytečné se učit.

Pomohl bys mi cracknout systém nebo mě to naučit?

Ne. Kdokoliv, kdo je schopen po přečtení tohoto návodu stále položit takovou otázku, je příliš hloupý na to, abych jej něco učil, i kdybych na to měl čas. Na jakékoliv žádosti tohoto druhu, které dostávám e-mailem, buď neodpovídám, nebo odpovídám velmi sprostě.

Jak můžu získat heslo k cizímu účtu?

To je crackování. Odejdi, pitomče.

Jak se můžu dostat do cizí e-mailové schránky?

To je crackování. Zmiz, blbče.

Jak můžu někomu ukrást Op na IRC?

To je crackování. Vypadni, kreténe.

Stal jsem se cílem crackera. Pomůžeš mi se ubránit dalším útokům?

Ne. Kdykoliv, kdy se mě dosud na toto někdo zeptal, tak se jednalo o nějakého chudáka používajícího Microsoft Windows. Není možné účinně zabezpečit Windows proti útokům crackerů – programový kód a architektura Windows má jednoduše příliš mnoho chyb. Ze zabezpečování Windows se tak stává stejná práce jako když děravý člun ucpáváte sítem. Jedinou spolehlivou prevencí je přejít na jiný operační systém, který je navržený tak, aby aspoň zabezpečení umožňoval.

Mám problém s mými Windows. Pomůžeš mi?

Ano. Jděte do příkazového řádku a napište „format c:“. Jakékoliv problémy zmizí během několika minut.

Kde mohu najít nějaké opravdové hackery, se kterými bych si mohl promluvit?

Nejlepším způsobem bude najít nějakou skupinu uživatelů Unixu nebo Linuxu ve vaší blízkosti a přijít na jejich setkání. (Odkazy na několik seznamů uživatelských skupin můžete najít na stránkách LDP ).
Tvrdil jsem zde také dříve, že na IRC žádné opravdové hackery nenajdete, ale pochopil jsem, že je tomu už jinak. Některé hackerské komunity, přidružené k věcem jako GIMP nebo Perl, už v dnešní době mají svůj vlastní IRC kanál.

Můžeš mi doporučit nějakou užitečnou knihu týkající se témat blízkých hackování?

Spravuju Seznam doporučené četby o Linuxu, který vám může přijít užitečný. Zajímavý dokument je také Loginataka.
Pro úvod do programovacího jazyka Python si přečtěte návod na jeho oficiální stránce.

Je nutné umět dobře matematiku pro to, abych se mohl stát hackerem?

Není. K hackování potřebujete jen velmi málo obecné matematiky nebo aritmetiky. Konkrétně, většinou nebudete potřebovat trigonometrii, analýzu nebo kalkulus (i když i v tomto jsou výjimky, například některé konkrétní oblasti aplikací jako 3D počítačová grafika). Je dobré znát nějakou formální logiku a Booleovu algebru. Nějaké základy konečné matematiky (teorie konečných množin, kombinatorika a teorie grafů) mohou být taky užitečné.

Mnohem důležitější je, abyste byli schopni logicky uvažovat a uměli sledovat řetězce myšlenkových úvah, což je typická vlastnost matematiků. Zatímco konkrétní matematický aparát vám většinou k ničemu nebude, tak naopak kázeň a inteligenci potřebnou pro zvládnutí matematiky potřebovat budete. Pokud vám chybí inteligence, máte malou naději na to stát se hackerem. Pokud vám chybí kázeň a sebekontrola, měli byste si ji raději vypěstovat.

Dobrý způsob, jak zjistit, jestli jste vybaveni všemi potřebnými znalostmi, je podle mě přečíst si knihu od Raymonda Smullyana Jaký je název této knihy?. Smullyanovy hravé logické hádanky poměrně přesně odpovídají povaze hackerství. Je dobré, pokud jste je schopni vyřešit, ještě lepší, pokud vás řešení těchto hlavolamů baví.

Který programovací jazyk bych se měl naučit jako první?

XHTML (poslední dialekt jazyka HTML), pokud jej ještě neumíte. Vyšlo velmi mnoho na pohled nádherných a mediálně vyzdvihovaných knih, které však nestojí za nic, a jen hrozivě málo těch dobrých. Mou nejoblíbenější z nich je HTML: Finální příručka.

Jazyk HTML však není plnohodnotný programovací jazyk. Až budete připraveni začít programovat, doporučuju vám začít s Pythonem. Určitě také uslyšíte mnoho lidí vychvalovat Perl, ale já jej nedoporučuji, protože je pro začátečníka těžší se jej naučit a (podle mě) není tak dobře navržený jako Python.

Jazyk C je velmi důležitý, ale je také mnohem složitější než oba jazyky Python i Perl. Nezkoušejte se jej učit jako první.
A vy, kdo používáte Windows, ani neuvažujte o Visual Basicu. Naučí vás špatným návykům a není přenositelný mimo systém Windows. Vyhněte se mu.

Jaký hardware k tomu budu potřebovat?

Dříve nemívaly osobní počítače takový výkon a množství paměti, čímž omezovaly hackera v tom, čemu všemu se mohl věnovat. To přestalo být pravdou někdy v průběhu devadesátých let a jakýkoliv stroj od Intel 486DX50 dále je již výkonem pro práci a internetovou komunikaci více než dostačující a disky, které dnes můžete koupit, mají paměti také dostatek.

Důležitou věcí, na kterou je třeba myslet, když si vybíráte počítač, je ta, jestli je použitý hardware kompatibilní s Linuxem (nebo BSD, pokud se hodláte vydat tímto směrem). Opět, drtivá většina moderních počítačů bude tuto podmínku splňovat. Jedinými opravdovými zádrheli mohou být modemy a bezdrátové karty – některé z nich totiž obsahují součásti specifické pro Windows, které v Linuxu nezprovozníte.

Existuje také seznam často kladených otázek týkajících se hardwarové kompatibility. Jeho aktuální verze je k dispozici zde.

Chci být užitečný. Pomůžeš mi vybrat problém, na němž mám pracovat?

Ne, protože neznám vaše schopnosti ani, co vás zajímá. Musíte být schopni se motivovat sami, jinak nemáte šanci uspět. Proto téměř nikdy nefunguje, když vám musí ostatní lidé určovat směr, kterým máte jít.
Zkuste toto. Sledujte několik dní informace a novinky o projektech na stránkách Freshmeat a pokud narazíte na nějaký, o kterém si budete myslet „Super! Na tomhle bych se rád podílel!“, zapojte se do něj.

Je nutné, abych nesnášel Microsoft?

Ne, není. Ne, že by Microsoft nebyl hnusný, ale hackerská kultura tady byla dlouho před Microsoftem a ještě dlouho bude po tom, co už Microsoft bude jen minulostí. Jakoukoliv energii, kterou vyplýtváte na svou nenávist vůči Microsoftu, je lepší investovat do vaší práce. Pište dobrý kód. To ublíží Microsoftu poměrně dost a navíc bez toho, aniž by vám to poškodilo vaši karmu.

Budou mít programátoři, kteří vydávají otevřený software, z čeho žít?

Určitě ano. Zatím je tomu tak, že průmysl okolo otevřeného softwaru spíše pracovní pozice vytváří než aby je rušil. Jestliže aplikace, kterou programátor napsal, pomůže růstu síťové ekonomiky, dostane programátor zaplaceno, ať už se bude ve výsledku jednat o aplikaci s otevřeným kódem nebo ne. A jakkoliv mnoho softwaru bude napsáno, vždy tady bude zájem o nové aplikace. Více o tomto tématu jsem sepsal na Stránkách o otevřeném kódu.

Kde můžu sehnat Unix?

Pokud ještě nemáte na svém počítači nainstalovaný Unix, poohlédněte se po těchto stránkách – již dříve jsem tady zmiňoval, kde lze nejčastěji používaný volně šířený Unix získat. Abyste byli hackeři, potřebujete být iniciativní a mít motivaci a schopnost se vzdělávat. Začněte teď!


Vaše komentáře, náměty či připomínky vřele uvítám na své e-mailové adrese.
Copyright © 2010 – 2013 Tomáš Jeziorský