Hacker Howto

Autor: Eric Steven Raymond

Oryginalne tłumaczenie: Marek Pętlicki

Poprawa i aktualizacja tłumaczenia: Tomasz P. Kotecki

Tekst tego dokumentu jest tłumaczeniem wersji 1.27 (28 października 2004) oryginalnego tekstu.

***

Skąd ten dokument?

Jako twórca Jargon File i autor kilku innych znanych dokumentów o podobnej tematyce, często dostaję maile od rozentuzjazmowanych nowicjuszy sieciowych pytających (w skrócie): "Jak mogę się stać genialnym hakerem?". Co dziwne, jak do tej pory nie było jakichkolwiek FAQ czy innych dokumentów dotyczących tego jakże ważnego zagadnienia, więc napisałem własny. Wiele osób uznało go za autorytatywny, więc wydaje mi się, że tak rzeczywiście jest. Mimo to, nie uważam się za wyłączny autorytet w tym temacie - jeśli nie podoba Ci się to, co tu czytasz, napisz swoją wersję.

Jeśli czytasz zrzut tego dokumentu offline, bieżąca wersja znajduje się tutaj, a wersja oryginalna (angielska) jest do przeczytania na http://catb.org/~esr/faqs/hacker-howto.html.

Uwaga: na końcu tego dokumentu znajduje się FAQ. Przeczytaj je - dwukrotnie - zanim wyślesz mi maila nt. tego dokumentu.

Symbol 'pięć-kropek-w-dziewięciu-kwadratach', który pojawia się w tym dokumencie jest nazywany glider (ang. szybowiec). To prosty wzór z zadziwiającymi własnościami w grze zwanej Life (ang. życie), który fascynował hakerów od wielu lat. Wydaje mi się, że jest to dobre odzwierciedlenie tego, jacy są hakerzy - abstrakcyjny, na pierwszy rzut oka nieco tajemniczy, ale jednocześnie furtka do całego świata z własną logiką. Poczytaj więcej o tym znaku tutaj.

Kim jest Haker?

Jargon File zawiera garść definicji terminu "haker", w większości opierających się na biegłości w zagadnieniach technicznych, znajdowaniu upodobania w rozwiązywaniu problemów i przekraczaniu ograniczeń. Jeśli jednak chcesz wiedzieć, w jaki sposób zostać hakerem, tylko dwie z nich sa naprawdę odpowiednie.

Istnieje pewna społeczność, grupowa kultura, złożona z ekspertów w dziedzinie programowania i magików sieciowych, której historia sięga wstecz poprzez dziesięciolecia do pierwszych wielodostępnych minikomputerów z podziałem czasu i najwcześniejszych eksperymentów z siecią ARPAnet. Członkowie tej kultury zapoczątkowali termin "haker". Hakerzy zbudowali Internet. Hakerzy uczynili z Uniksa system operayjny, jakim jest dzisiaj. Hakerzy zapoczątkowali Usenet. Hakerzy sprawili, że World Wide Web działa. Jeśli jesteś częścią tej kultury, jeśli bierzesz w niej czynny udział i inni ludzie z tej grupy Cię znają i nazywają Cię hakerem - wtedy jesteś hakerem.

Filozofia hakera nie jest ograniczona do kultury hakerów software'owych. Są ludzie, którzy stosują postawę hakera w innych zagadnieniach, jak elektronika czy muzyka - w rzeczywistości możesz znaleźć ją na najwyższym poziomie we wszystkich dyscyplinach nauki czy sztuki. Software'owi hakerzy rozpoznaję te bratnie dusze gdziekolwiek się pojawią i mogą ich również nazywać hakerami - są tacy, którzy twierdzą, że natura hakera jest naprawdę niezależna od konkretnego medium, nad którym on pracuje. Niemniej jednak w dalszej części tego dokumentu skupię się na umiejętnościach i postawach hakerów software'owych, oraz na tradycjach kultury społecznej, która zapoczątkowała termin "haker".

Jest też inna grupa ludzi, którzy głośno nazywają siebie hakerami, ale w rzeczywistości nimi nie są. Wspomniani ludzie (głównie niedorosłe osobniki płci męskiej) znajdują podnietę we włamywaniu się do komputerów i przełamywaniu zabezpieczeń systemów telefonicznych (w celu umożliwienia sobie wykonywania darmowych połączeń). Prawdziwi hakerzy nazywają takich ludzi "crakerami" i nie chcą mieć z nimi nic wspólnego. Prawdziwi hakerzy uważają w większości, ze crakerzy są leniwi, nieodpowiedzialni i niezbyt błyskotliwi, a fakt, że jesteś w stanie przełamać system ochrony nie czyni Cię hakerem bardziej niż umiejętność uruchamiania samochodu "na krótko" robi z kogoś inżyniera w dziedzinie motoryzacji. Niestety, wielu dziennikarzy i autorów publikacji podchwyciło ten ton i używają słowa "haker" na określenie crakera. A to bezgranicznie irytuje prawdziwych hakerów.

Podstawowa różnica polega na tym, że hakerzy coś tworzą, a crakerzy tylko niszczą.

Jeśli chcesz być hakerem, czytaj dalej. Jeśli masz ambicję zostać crakerem, przeczytaj grupę dyskusyjną alt.2600 i przygotuj się na pięć do dziesięciu lat odsiadki po tym, jak okaże się, że nie jesteś tak bystry, jak myślałeś. I tyle mam do powiedzenia, jeśli chodzi o crakerów.

***

Postawa hakera

Hakerzy rozwiązują problemy i tworzą rzeczy wierząc w wolność i we wzajemną pomoc. Aby zostać zaakceptowanym jako haker, musisz zachowywać się jakbyś sam miał ten rodzaj podejścia. A żeby zachowywać się tak, jakbyś miał takie podejście, musisz w nie naprawdę uwierzyć.

Jednakże jeśli myślisz o rozwijaniu postaw hakerskich jedynie jak o metodzie uzyskania akceptacji wewnątrz kultury, zmierzasz w złym kierunku. To, aby stać się człowiekiem wierzącym w te ideały jest istotne dla Ciebie - pomoże Ci to w nauce i byciu zmobilizowanym. Podobnie jak we wszystkich dziedzinach twórczej sztuki, najefektywniejszą metodą zostania mistrzem jest naśladowanie stylu myślenia mistrzów - nie tylko intelektualnie, lecz również emocjonalnie.

Albo, jak ujęto to w poniższym wierszu Zen:

Aby podążać drogą:
patrz na mistrza,
podążaj za mistrzem,
idź razem z mistrzem,
przejrzyj mistrza,
zostań mistrzem.

Zatem, jeśli chcesz zostać hakerem, powtarzaj następujące rzeczy do chwili, kiedy w nie naprawdę uwierzysz:

1. Świat jest pełen fascynujących problemów oczekujących na rozwiązanie.

Być hakerem to kupa zabawy, ale to tego typu zabawa, która pochłania mnóstwo wysiłku. Wysiłek wymaga motywacji. Atleci odnoszący sukcesy biorą swoją motywację z formy fizycznego zadowolenia płynącego z umiejętności nakłonienia własnego ciała, aby działało tak, jak sobie tego życzą, z popychania samych siebie poza własne fizyczne ograniczenia. Podobnie, aby być hakerem, musisz odczuwać podstawową satysfakcję z rozwiązywania problemów, wyostrzania własnych umiejętności i ćwiczenia swojej inteligencji.

Jeśli nie jesteś osobą myślącą tak w sposób naturalny, musisz takim się stać, jeśli chcesz zostać hakerem. W przeciwnym razie okaże się, że twoja energia jako hakera jest wytracana na rzeczy takie jak seks, pieniądze czy społeczna akceptacja.

(Musisz również rozwinąć w sobie rodzaj wiary we własne możliwości uczenia się - wiary, że możesz nie wiedzieć wszystkiego, czego potrzebujesz do rozwiązania problemu, ale jeśli zmierzysz się z nim choć trochę i wskutek tego nauczysz się czegoś, umiesz już wystarczająco, żeby ugryźć następny kawałek - i tak dalej, aż będzie po wszystkim.)

2. Nikt nigdy nie powinien rozwiązywać problemu dwa razy.

Twórcze umysły są wartościowym, rzadkim surowcem. Nie powinny być marnotrawione na powtórne wynajdowanie koła, jeśli jest tyle fascynujących problemów czekających na rozwiązanie.

Aby zachowywać się jak haker musisz wierzyć, że myślowy czas innych hakerów jest cenny - tak bardzo, że niemal moralnym obowiązkiem jest, abyś dzielił się informacjami, rozwiązywał problemy i rozdawał rozwiązania tak, aby inni hakerzy mogli rozwiązywać nowe problemy zamiast ciągle głowić się nad starymi.

(Nie musisz wierzyć, że masz obowiązek rozdawać za darmo całą swoją twórczą działalność, choć hakerzy, którzy tak czynią uzyskują najwięcej szacunku od innych. Nie jest sprzeczne z wartościami hakera, żebyś mógł sprzedać wystarczająco dużo, aby mieć dostęp do pożywienia, dachu nad głową i komputerów. Nie ma nic złego w tym, że używasz swoich hakerskich umiejętności aby utrzymać rodzinę lub wręcz wzbogacić się, tak długo, dopóki robiąc to nie zapominasz o lojalności wobec swojej sztuki i innych hakerów.)

3. Znudzenie i harówka są złe.

Hakerzy (i wszyscy inni kreatywni ludzie) nie powinni nigdy nudzić się czy być zmuszonym do harowania przy głupiej, powtarzalnej robocie, ponieważ gdy tak się dzieje, nie robią tego, co tylko oni są w stanie robić - rozwiązywać nowe problemy. To marnotrawstwo szkodzi wszystkim. Dlatego znudzenie i nużąca praca są nie tylko nieprzyjemne, ale faktycznie szkodliwe.

Aby zachowywać się tak jak haker, musisz uwierzyć w to wystarczająco mocno, aby zautomatyzować nudne fragmenty tak bardzo, jak to możliwe, nie tylko dla siebie, ale i dla innych (w szczególności innych hakerów).

(Jest jednak pewien oczywisty wyjątek od tej reguły. Hakerzy czasem robią rzeczy, które mogą wydawać się powtarzalnymi lub nudnymi dla obserwatora, jako ćwiczenia oczyszczające umysł, lub gdy w celu nauczenia się nowej umiejętności czy osiągnięcia konkretnego rodzaju doświadczenia nie można inaczej. Ale to jest wybór - nikt, kto jest istotą myślącą nie powinien być zmuszany do nudy.)

4. Wolność jest dobra.

Hakerzy z natury sprzeciwiają się narzucaniu władzy. Każdy, kto może wydawać Ci polecenia jest w stanie powstrzymać Cię przed rozwiązywaniem problemu, niezależnie jak bardzo byłbyś nim zafascynowany - a biorąc pod uwagę sposób działania władczych umysłów, zawsze znajdą one jakiś niebywale głupi powód aby tak uczynić. Więc autokratyczne nastawienie powinno być zwalczane gdziekolwiek byś go nie znalazł, w przeciwnym razie stłumi Ciebie i innych hakerów.

(To nie jest wszakże to samo, co zwalczanie wszelkich form władzy. Dzieci muszą być wychowywane a przestępcy izolowani. Haker może zgodzić się na zaakceptowanie pewnych form władzy w celu osiągnięcia czegoś co ceni bardziej niż czas, który poświęci spełniając rozkazy. Ale to jest ograniczona i świadoma transakcja, takiej uległości, jakiej oczekiwaliby ludzie o autokratycznym nastawieniu, nikt nie oferuje.)

Autokratom służy cenzura i utajnienie. Nie ufają oni dobrowolnej współpracy i chęci dzielenia się informacjami - jedyną współpracą, którą lubią jest ta kontrolowana przez nich samych. Więc aby zachowywać się jak haker, musisz wytworzyć w sobie instynktowną wrogość wobec cenzury, utajnienia i używania siły lub podstępu do wywierania przymusu na odpowiedzialnych za swoje czyny dorosłych ludziach. I musisz być gotów do działania zgodnie z tymi przekonaniami.

5. Postawa nie zastąpi kompetencji.

Aby być hakerem musisz wytworzyć w sobie niektóre z tych postaw. Ale kopiowanie postawy samej dla siebie nie uczyni z Ciebie hakera, tak samo jak postawa nie uczyni z Ciebie mistrza w sporcie lub gwiazdy rocka. Żeby zostać hakerem potrzeba inteligencji, ćwiczeń, poświęcenia i ciężkiej pracy.

W związku z tym musisz nauczyć się niedowierzać postawie oraz szanować kompetencję pod każdą postacią. Hakerzy nie pozwolą pozerom marnować ich czasu, ale cenią sobie kompetencję - szczególnie kompetencję w hakerstwie, lecz każda kompetencja jest dobra. Kompetencja w dziedzinach, które niewielu potrafi opanować jest szczególnie ceniona, a kompetencja w dziedzinach, które wymagają umysłowej dokładności, wysiłku i koncentracji jest ze najlepszą z możliwych.

Jeśli jesteś czcicielem kompetencji, będziesz z przyjemnością rozwijać je w sobie - ciężka praca i poświęcenie staną się formą intensywnej zabawy, nie zaś harówką. A to jest szczególnie istotne w procesie stawania się hakerem.

***

Podstawowe umiejętności hakera

Postawa hakera jest istotna, ale umiejętności są jeszcze istotniejsze. Postawa nie zastąpi kompetencji, a można wyróżnić pewien konkretny zestaw umiejętności, które będziesz musiał posiąść, zanim jakiemukolwiek hakerowi przyśni się nazwać Ciebie jednym z nich.

Ten zestaw zmienia się powoli w czasie wraz z technologią wytwarzającą nowe zdolności, a czyniące inne z nich przestarzałymi. Na przykład kiedyś do zasobu zdolności hakera zaliczało się programowanie w języku maszynowym, natomiast do niedawna nie należała do nich znajomość HTML-a. W chwili obecnej w miarę jasno można zaliczyć do nich co następuje:

Naucz się programowania

To jest oczywiście fundamentalna umiejętność hakera. Jeśli nie znasz żadnego "komputerowego języka", polecam rozpoczęcie od Pythona. Jest zaprojektowany w czysty sposób, dobrze udokumentowany i stosunkowo przyjazny dla początkujących. Pomimo dobrego spełniania roli pierwszego języka programowania, nie jest on po prostu zabawką: jest potężnym i elastycznym narzędziem świetnie dopasowanym do dużych projektów. Napisałem bardziej szczegółowe omówienie Pythona. Dobre kursy są dostępne na jego stronie domowej.

Java jest również dobrym językiem do rozpoczęcia nauki programowania. Co prawda jest trudniejsza niż Python, ale generuje szybszy kod. Uważam ją za idealnego kandydata na drugi język.

Bądź jednak świadom, że nie osiągniesz poziomu umiejętności hakera, a nawet zwykłego programisty, jeśli będziesz znać zaledwie jeden czy dwa języki - musisz nauczyć się myśleć o problemie programistycznym w sposób ogólny, niezależny od jakiegokolwiek języka. Aby być prawdziwym hakerem, potrzebujesz osiągnąć poziom, na którym możesz nauczyć się nowego języka w ciągu dni poprzez porównanie tego, co wyczytasz w podręczniku z tym, co już umiesz. Oznacza to, że powinienieś nauczyć się kilku, bardzo różniących się od siebie, języków.

Jeśli zajmiesz się poważnym programowaniem, będziesz musiał się nauczyć C, rdzennego Unixowego języka. C++ jest bardzo blisko spokrewniony z C; jeśli znasz jeden z nich, nauka drugiego nie będzie trudna. Żaden z nich nie jest jednak dobry jako pierwszy język programowania. A w zasadzie, im bardziej jesteś w stanie omijać kodowanie w C, tym bardziej będziesz produktywny.

C jest bardzo wydajne, i bardzo dobrze wykorzystuje zasoby Twojego komputera. Niestety, osiąga tę efektywność poprzez wymaganie, abyś wykonał całą masę niskopoziomowego zarządzania zasobami (np. pamięcią) ręcznie. Cały ten niskopoziomowy kod jest trudny do napisania i bardzo łatwo popełnić jakiś błąd - a poprawienie go może pochłonąć potem olbrzymią ilość Twojego czasu. Biorąc pod uwagę moc dzisiejszych komputerów, jest to zazwyczaj zły układ - sprytniejsze jest użycie języka, który mniej efektywnie korzysta z zasobów komputera, ale Twoim czasem zdecydowanie lepiej. A więc - Python.

Inne języki o specjalnym znaczeniu dla hakerów to Perl i LISP. Perl jest wart nauczenia z przyczyn praktycznych: jest bardzo szeroko wykorzystywany do tworzenia aktywnych stron WWW i administracji systemem, jeśli więc nawet nie zamierzasz programować w Perlu, powinieneś przynajmniej nauczyć się go czytać. Wiele osób używa Perla w sposób, w jaki polecam wykorzystywać Pythona - aby unikać pisania w C, gdy efektywność nie jest najważniejsza. Umiejętność zrozumienia ich kodu będzie potrzebna.

LISP wart jest nauczenia z innyego powodu - dla głębokiego uczucia oświecenia, które osiągniesz, gdy go w końcu zrozumiesz. To doświadczenie uczyni z Ciebie o wiele lepszego programistę, nawet jesli nigdy nie będziesz z niego za wiele korzystał. (Możesz łatwo uzyskać podstawowe doświadczenie z LISPem poprzez pisanie i modyfikowanie trybów edycji dla edytora tekstowego Emacs).

Najlepiej jednak nauczyć się wszystkich pięciu (Pythona, Javy, C/C++, Perla, LISPa). Poza faktem, że są najważniejszymi dla hakera językami programowania, reprezentują bardzo różne podejścia do programowania, a każdy z nich nauczy Cię innych, wartościowych rzeczy.

Nie jestem w stanie dać tu kompletnych instrukcji, jak nauczyć się programowania - jest to bowiem skomplikowana umiejętność. Ale na pewno mogę powiedzieć, że książki i kursy tego nie załatwią (wielu, chyba większość hakerów to samouki). Możesz nauczyć się cech języka - kawałków wiedzy - z książek, ale przekształcenie wiedzy w umiejętność może byc osiągnięta tylko poprzez praktykę i naukę. To, co Ci pomoże to: (a) czytanie kodu i (b) pisanie kodu.

Nauka programowania jest jak nauka dobrego pisania w języku naturalnym. Najlepszą metodą jest czytanie rzeczy pisanych przez mistrzów formy, pisanie samemu, czytanie dużo więcej, pisanie nieco więcej, czytanie jeszcze więcej, pisanie jeszcze trochę więcej... powtarzane tak długo, aż Twoje pisanie zacznie rozwijać się do siły i wydajności, którą obserwujesz w swoich wzorcach.

Kiedyś znalezienie dobrego kodu było zadaniem trudnym, ponieważ mało było dużych programów dostępnych z kodem źródłowym do czytania i zabawy dla świeżo opierzonych hakerów. To zmieniło się znacząco. Oprogramowanie open source, narzędzia programistyczne, systemy operacyjne (wszystkie zbudowane przez hakerów) są dziś szeroko dostępne. I to pięknie doprowadza mnie do następnego tematu...

2. Weź jeden z Unixów rozprowadzanych na zasadach open source i naucz się go używać oraz zarządzać nim.

Zakładam, że masz komputer, lub możesz uzyskać dostęp do takowego (ta dzisiejsza młodzież ma tak łatwo :-)). Jednym z najważniejszych kroków, który musi postawić nowicjusz w kierunku osiągnięcia umiejętności hakera jest zdobycie kopii Linuksa lub jednego z BSD-Unixów, zainstalowanie go na komputerze i uruchomienie.

Tak, są inne systemy operacyjne na tym świecie poza Unixem. Ale są udostępniane w postaci binarnej - nie możesz przeczytać ich kodu i nie możesz go zmienić. Próbowanie nauki hakerstwa w DOSie, Windows, MacOS czy jakimkolwiek innym systemie z zamkniętym kodem źródłowym jest jak nauka tańca z gipsem na całym ciele.

Pod OS/X to jest możliwe, ale tylko część systemu jest open source - najprawdopodobniej wiele razy się na coś "nadziejesz", i musisz uważać, aby nie dostać złego nawyku polegania na własnościowym kodzie Apple'a. Jeśli skoncentrujesz się na Unixie ukrytym pod spodem, możesz nauczyć się nieco użytecznych rzeczy.

Poza tym, Unix jest systemem operacyjnym Internetu. Chociaż możesz nauczyć się posługiwania Internetem bez znajomości Uniksa, to bez zrozumienia go nie zostaniesz internetowym hakerem. Z tej przyczyny kultura hakerów jest silnie scentralizowana wokół Uniksa. (To nie zawsze była prawda i niektórzy hakerzy starej daty wciąż nie są z tego powodu szczęśliwi, ale symbioza pomiędzy Unixem i Internetem stała się tak silna, że nawet potęga Microsoftu nie jest w stanie zadać jej poważnego ciosu).

Postaw zatem Uniksa - osobiście lubię Linuksa, ale są inne drogi (no i oczywiście możesz używać Linuksa i DOS/Windows na tej samej maszynie). Naucz się go. Korzystaj z niego. Baw się nim. Nawiąż kontakt z Internetem za jego pomocą. Czytaj jego kod źródłowy. Modyfikuj ten kod. Otrzymasz lepsze narzędzia programistyczne (włączając w to C, Lisp, Python, i Perl) niż jakikolwiek system operacyjny Microsoftu mógłby marzyć, będziesz miał kupę frajdy i wsiąkniesz więcej wiedzy niż się zorientujesz, zanim nie spojrzysz na to później z perspektywy hakerskiego mistrza.

Aby nauczyć się więcej o Unixie, zobacz The Loginataka. Możesz również zajrzeć na Sztukę programowania w Uniksie.

Aby dopaść w swoje ręce Linuksa zobacz Where can I get Linux. Z punktu widzenia nowego użytkownika, wszystkie dystrybucje Linuksa są całkiem podobne.

Możesz znaleźć pomoc nt. Unixów z rodziny BSD na stronie www.bsd.org.

Napisałem artykuł o podstawach Uniksa i Internetu.

(Uwaga: jeśli jesteś początkujący, nie polecam instalowania Linuksa ani BSD w pojedynkę. Jeśli chodzi o Linuksa, znajdź najbliższy LUG (Linux Users Group - Grupę Użytkowników Linuksa) i tam proś o pomoc)

3. Naucz się używać World Wide Web i pisać w HTML.

Większość rzeczy, które zostały zbudowane przez kulturę hakerską jest ukrytych przed wzrokiem pozwalając kierować fabrykami, biurami i uniwersytetami bez widocznego piętna na stylu życia nie-hakerów. Sieć jest jednym wielkim wyjątkiem, jedną wielką błyszcącą zabawką hakerów, która, co potwierdzają nawet politycy, zmienia świat. Z tego jedynego powodu (i wielu innych, równie dobrych) powinieneś nauczyć się jak działa Sieć.

To nie oznacza po prostu nauki obsługi przeglądarki (każdy jest w stanie to zrobić), ale nauki pisania w HTML-u, sieciowym języku znacznikowym. Jeśli nie umiesz programować, pisanie w HTML-u da Ci parę umysłowych przyzwyczajeń, które pomogą Ci się uczyć. A więc: zbuduj sobie witrynę domową. Staraj się trzymać XHTML-a, który jest jaśniejszym językiem niż klasyczny HTML (jest wiele dobrych kursów w Sieci, oto jeden z nich).

Posiadanie samej strony domowej nie jest jednak wystarczające do uczynienia Cię hakerem. Sieć jest pełna stron domowych. Większość z nich jest bezcelowym, pozbawionym zawartości chłamem - bardzo wymyślnie wyglądającym, trzeba zauważyć, ale chłamem bez dwóch zdań (dla dalszych informacji zobacz The HTML Hell Page).

Aby Twoja strona posiadała wartość musi zawierać treść - musi być interesująca i/lub użyteczna dla innych hakerów. A to przenosi nas do następnego tematu...

4. Jeśli jeszcze nie znasz angielskiego, naucz się go.

Jako Amerykanin i native-speaker w Angielskim, byłem wcześniej niechętny, aby to zasugerować, jako że może to zostać odebrane jako pewien rodzaj kulturowego imperializmu. Ale kilku native speakerów w językach innych niż angielski nalegało, abym zaznaczył, że angielski jest językiem komunikacji i pracy w kulurze hakerów i w Internecie, i że będziesz go potrzebował, aby funkcjonować w tej kulturze.

To jest prawda. Mniej więcej w 1991 roku zauważyłem, że wielu hakerów, którzy znają angielski jako drugi język, używają go w technicznych dyskusjach nawet jeśli korzystają z tego samego języka podstawowego; ktoś mi mówił, że angielski ma po prostu bogatsze techniczne słownictwo niż jakikolwiek inny jezyk i jest przez to po prostu lepszym narzędziem w takich sytuacjach. Z podobnych względów, tłumaczenia technicznych książek napisanych po angielsku są często niesatysfakcjonujące (jeśli są w ogóle wykonywalne).

Linus Torvalds, Fin, komentuje swój kod po angielsku (i nigdy nie widziano, by robił to w innym języku). Biegłość w języku angielskim była istotnym czynnikiem przy tworzeniu ogólnoświatowej społeczności osób rozwijających Linuksa. Jest to przykład wart naśladowania.

***

Status w kulturze hakerów

Podobnie jak większość kultur nie zawierających ekonomii pieniądza hakerstwo opiera się na pojęciu reputacji. Starasz się rozwiązać interesujące problemy, ale na ile są one interesujące oraz na ile Twoje rozwiązania są dobre jest zagadnieniem, które potrafią osądzic tylko podobni Tobie lub lepsi od Ciebie.

W związku z tym, jeśli bierzesz udział w tej hakerskiej zabawie, uczysz się oceniać własne wyniki tylko na podstawie tego, co inni sądzą o Twoich umiejętnościach (stąd właśnie bierze się stwierdzenie, że nie jesteś hakerem dopóki inni hakerzy uparcie nie nazywają Cię hakerem). Ten fakt jest nieco stłumiony przez wizerunek hakera jako samotnika. Podobnie działa tabu kultury hakerskiej (stopniowo zanikające, ale ciągle obecne) sprzeciwiające się wyznaniu, że ego lub zewnętrzne uznanie mogą być w ogóle czyimkolwiek czynnikiem motywującym.

Z pewnego punktu widzenia hakerstwo jest czymś, co antropologia nazywa kulturą darów. Zdobywasz w niej status i reputację nie poprzez dominację nad innymi ludźmi, nie za swoją urodę, ani nie dlatego, że posiadasz to, co inni chcą mieć, ale dlatego, że dajesz coś innym za darmo. W szczególności rozdając swój czas, swoją kreatywność, wyniki swoich umiejętności.

Ogólnie wyróżnia się pięć rzeczy, które można robić dla zdobycia respektu przez hakerów:

1. Pisz oprogramowanie open source.

Pierwszym (centralnym i najbardziej tradycyjnym) elementem jest tworzenie programów, które są odbierane przez innych hakerów jako zabawne lub użyteczne, oraz udostępnianie kodów źródłowych do użytku dla całej kultury hakerskiej.

(Zwyczajowo nazywało się te prace "wolnym oprogramowaniem", ale zbyt wielu ludzi nie wiedziało do końca co miałoby znaczyć pojęcie "wolne". Większośc z nas, co najmniej 2:1, zgodnie z analizą treści Sieci, woli teraz określenie "oprogramowanie open source".)

"Półbogami" hakerstwa są ludzie, którzy napisali duże, użyteczne programy, stanowiące odpowiedź na szerokie zapotrzebowanie, a teraz udostępniają je za darmo, i wszyscy z nich korzystają.

2. Pomagaj testować i usuwać błędy w programach z udostępnionym kodem źródłowym.

Hakerzy pomagają testować i usuwać błędy w oprogramowaniu z dostępnym kodem źródłowym. W tym niedoskonałym świecie nieuniknione jest, że większość naszego czasu przy tworzeniu oprogramowania poświęcamy na usuwanie błędów. Dlatego każdy autor programów powie Ci, że dobry beta-tester (taki, który potrafi opisać symptomy, dobrze zlokalizować problemy, toleruje błędy we wczesnych wersjach i umie zastosować kilka prostych procedur diagnostycznych) jest na wagę złota. Nawet jeden taki człowiek jest w stanie pokazać różnicę pomiędzy procesem usuwania błędów, który wydaje się czasochłonnym, wyczerpującym koszmarem, a takim, który jest wręcz dobroczynną uciążliwością.

Jeśli jesteś nowicjuszem, spróbuj znaleźć program w trakcie procesu tworzenia, który Cię zainteresuje i bądź dobrym beta-testerem. Istnieje naturalny postęp od pomagania przy testowaniu, poprzez pomoc przy usuwaniu błędów aż do pomocy przy tworzeniu programu. W ten sposób nauczysz się wiele i wytworzysz dobre fluidy z ludźmi, którzy później pomogą i Tobie.

3. Publikuj użyteczne informacje.

Inną użyteczną działalnością jest gromadzenie i filtrowanie użytecznych informacji i umieszczanie ich na stronach internetowych i w dokumentach typu FAQ (Frequently Asked Questions - "często zadawane pytania") oraz udostępnianie ich dla szerokiego forum.

Osoby zarządzające dokumentami technicznymi typu FAQ są szanowane prawie tak, jak autorzy oprogramowania.

4. Pomóż działać infrastrukturze.

Kultura hakerska (i techniczny rozwój internetu, jeśli o tym mowa) jest napędzana przez ochotników. Jest wiele koniecznej, ale niezbyt widowiskowej roboty, którą trzeba wykonać, aby wszystko działało tak, jak należy - administracja e-mailowymi listami dyskusyjnymi, filtrowanie grup dyskusyjnych (moderowanie), zarządzanie dużymi archiwami oprogramowania, rozwijanie różnych standardów technicznych.

Ludzie wykonujący dobrze ten rodzaj pracy uzyskują dużo szacunku, bo każdy wie, że ta robota pochłania mnóstwo czasu i nie jest tak ciekawa, jak zabawa z kodem. Robienie tego pokazuje poświęcenie.

5. Służ samej kulturze hakerskiej.

W końcu, możesz służyć samej kulturze oraz szerzyć jej ideologię (chociażby poprzez napisanie rozprawy na temat: "Jak zostać hakerem" :-)). Inni nie będą tego od Ciebie oczekiwać, o ile nie kręciłeś się w tym temacie od jakiegoś czasu i nie zostałeś postacią dobrze znaną z któregoś z pierwszych czterech zagadnień

Kultura hakerów nie posiada przywódców w typowym rozumieniu tego słowa, ale posiada kulturowych bohaterów, "starszyznę plemienną", historyków i rzeczników. Jeśli wystarczająco długo przebywałeś w obozie, możesz w końcu wyrosnąć na jednego z nich. Strzeż się jednak: hakerzy nie ufają wybujałym osobowościom swojej "starszyzny", więc sięganie po tego typu zaszczyty może być niebezpieczne. Zamiast walki o nie powinieneś raczej ustawić się odpowiednio, aby same upadły do Twoich stóp, a wtedy bądź skromny i wdzięczny za swoją pozycję w grupie.

***

Związek między pojęciem "haker" a pojęciem "nerd"

Wbrew popularnemu mitowi nie musisz być nerdem (ang. dziwak), aby móc zostać hakerem. To niewątpliwie pomaga i wielu hakerów jest wyrzutkami społecznymi - pomaga to skupić się na ważnych rzeczach, takich jak myślenie i grzebanie w kodzie.

Z tego też powodu wielu hakerów zaadoptowało sobie etykietę "nerd", a niektórzy nawet używają ostrzejszego terminu "geek" jako oznaki własnej dumy - jest to forma zadeklarowania ich niezależności od normalnych społecznych oczekiwań. Zobacz The Geek Page jeśli chcesz poznać dokładne znaczenie tych słów.

Jeśli potrafisz skoncentrować się na hakerstwie wystarczająco, aby być w tym dobrym i wciąż posiadasz własne życie - w porządku. Dziś jest dużo łatwiej niż w latach siedemdziesiątych, kiedy to ja zaczynałem. Główny nurt kultury społeczeństwa jest dziś dużo bardziej przyjacielsko nastawiony wobec techno-dziwaków. Zwiększa się nawet ilość ludzi zdających sobie sprawę z faktu, że hakerzy są często świetnym materiałem na partnerów i małżonków.

Jeśli pasjonujesz się hakerstwem, bo nie posiadasz własnego życia, to też w porządku - przynajmniej nie będziesz miał problemów z koncentracją. Może później rozpoczniesz prywatne życie.

***

Punkty za styl

Znów: aby być hakerem, musisz wejść w styl myślenia hakera. Jest kilka rzeczy, które możesz robić, jeśli nie siedzisz za komputerem, a które zdają się być pomocne. Nie są one substytutami hakerstwa (nic nie jest), ale wielu hakerów to robi czując, że na pewien sposób wiążą się w swych podstawach z duchem hakerstwa.

Im więcej z tych rzeczy już wcześniej Cię zainteresowało, tym bardziej prawdopodobne, że jesteś dobrym materiałem na hakera. Nie wiadomo do końca, dlaczego akurat te rzeczy kojarzą się ze zdolnościami hakerskimi, ale jest to związane z jednoczesnym wykorzystywaniem zdolności prawej i lewej półkuli mózgowej, a to wydaje się być ważne; hakerzy muszą zarówno myśleć logicznie jak i być w stanie wyjść poza zakres pozornej logiki, by móc przekroczyć barierę swoich wyobrażeń w danej chwili.

Pracuj tak intensywnie, jak się bawisz, a baw się tak intensywnie, jak pracujesz. Dla prawdziwych hakerów, różnice między pojeciami takimi jak "zabawa" i "praca", czy "nauka" i "sztuka" zdają się zanikać, lub łączyć w kreatywną zabawę na wysokim poziomie. Poza tym, nie poprzestawaj na wąskim zakresie swoich umiejętności. Mimo, iż większość hakerów sama się określa jako programiści, bardzo często są więcej niż kompetentni w dziedzinach pokrewnych - administracja systemami, projektowanie stron www czy znajomość sprzętu PC to najczęstsze przykłady. Z drugiej strony, haker, który jest administratorem jest prawdopodobnie uzdolniony, jeśli chodzi o programowanie skryptowe czy projektowanie stron www. Hakerzy nie robią nic "po łebkach"; jeśli już tracą swój czas na naukę jakiejś umiejętności, starają się nauczyc jej na najwyższym poziomie.

W końcu: kilka rzeczy, których nie należy robić.

Reputacja jaką zdobędziesz robiąc te rzeczy jest wątpliwa. Hakerzy mają dobrą pamięć - i może upłynąć wiele lat Twojego życia zanim zostaniesz zaakceptowany.

Problem z pseudonimami wymaga specjalnej uwagi. Ukrywanie swojej tożsamości jest niedojrzałym i głupawym zachowaniem, charakterystycznym dla crakerów, ludzi zajmujacych się warezami i innych niższych form życia. Hakerzy tego nie robią; są dumni z tego, co robią i chcą, aby utożsamiane było to z ich prawdziwymi imionami i nazwiskami. Jeśli więc masz jakiś pseudonim, porzuć go. W kulturze hakerów przedstawi Cię to tylko jako frajera.

***

Inne źródła:

Paul Graham napisał esej pt. "Great Hackers", w którym zawarte jest wiele mądrości.

Peter Seebach zarządza świetnym Haker FAQ dla managerów, którzy nie wiedzą, jak postępować z hakerami. Jeśli nie możesz się połączyć z jego stroną, rezultaty tego wyszukiwania na Excite powinny Ci pomóc w znalezieniu kopii tego dokumentu.

Istnieje również dokument noszący nazwę "Jak zostać programistą" (ang. How To Be A Programmer), które jest wspaniałym uzupełnieniem tego tekstu. Zawiera on wartościowe informacje nie tylko na temat kodowania i umiejętności z tym związanych, ale też radzi jak funkcjonować w zespole programistycznym.

Napisałem również tekst pod tytułem "Krótka historia hakerstwa" (ang. A Brief History Of Hakerdom)

Napisałem artykuł The Cathedral and the Bazaar, który wyjaśnia, w jaki sposób działąją kultury hakerskie wokół Linuksa i oprogramowania open source. W dalszej części, Homesteading the Noosphere treści te zostały opisane jeszcze bardziej szczegółowo.

Rick Moen napisał doskonały dokument o tym, jak rozpocząć działanie LUG-u (ang. How to run a Linux user group).

Rick Moen i ja współpracowaliśmy przy tworzeniu innego dokumentu pt. "Jak zadawać inteligentne pytania" (ang. How To Ask Smart Questions). Pomoże Ci on w szukaniu pomocy w sposób, który gwarantuje większe prawdopodonieństwo uzyskania odpowiedzi.

Jeśli potrzebujesz instrukcji odnośnie komputerów, Uniksa i tego, jak działa Internet, polecam The Unix and Internet Fundamentals HOWTO.

Kiedy publikujesz oprogramowanie lub gdy piszesz łatki na programy, staraj się postępować zgodnie z zasadami zawartymi w Software Release Practice HOWTO.

Jeśli podobał Ci się wiersz Zen, spodobać Ci się również może Rootless Root: The Unix Koans of Master Foo.

***

Często zadawane pytania(FAQ)

Czy nauczysz mnie hakerstwa?

Od pierwszej publikacji tego dokumentu otrzymuję kilka próśb tygodniowo o to, żebym kogoś nauczył "wszystkiego o hakerstwie". Niestety, nie mam ani czasu ani energii aby to uczynić. Moje własne projekty hakerskie zajmują mi 110% czasu.

Zresztą nawet gdybym miał czas, hakerstwo jest postawą i umiejętnością, których musisz po prostu nauczyć się sam. Przekonasz się, że chociaż prawdziwi hakerzy chcą Ci pomóc, nie uszanują Cię, jeśli będziesz ich błagać, żeby karmili Cię swoją wiedzą jak łyżeczką.

Naucz się na początku kilku rzeczy. Pokaż, że się starasz, że potrafisz uczyć się samodzielnie. Potem zwróć się do znajomych hakerów ze szczegółowymi pytaniami.

Jeśli piszesz maila do hakera z prośbą o pomoc, oto kilka rzeczy, o których warto pamiętać. Po pierwsze: zauważyliśmy, że ludzie, którzy są leniwi i beztroscy, pisząc e-maila są zazwyczaj w ogóle zbyt leniwi i beztroscy, aby zostać hakerem - tak więc staraj się pisać poprawnie, bez błędów gramatycznch czy interpunkcyjnych, ponieważ w przeciwnym wypadku zostaniesz najprawdopodobiej zignorowany. Po drugie, nie waż się prosić o odpowiedź na konto ISP inne, niż to z którego wysłałeś pytanie; często okazuje się, że ludzie którzy o to proszą używają kradzionych kont, a my nie widzimy celu w nagradzaniu ani pochwalaniu kradzieży.

Jak więc mogę zacząć?

Prawdopodobnie najlepszą metodą na rozpoczęcie jest pójść na spotkanie lokalnego LUG-u. Możesz znaleźć takie grupy na LDP General Linux Information Page; najprawdopodobniej znajdziesz jakiś w Twoich okolicach, zapewne związany z jakąś uczelnią. Członkowie LUG-u pewnie dadzą Ci jakąś dystrybucję Linuksa jeśli o to poprosisz, a na pewno pomogą Ci zainstalować go i posługiwać się nim.

W jakim wieku powinienem zacząć? Czy nie jest dla mnie za późno?

Każdy wiek, w którym jesteś zmotywowany, jest odpowiedni. Najczęściej ludzie zaczynają w wieku 15-20 lat, ale znam wyjątki tak w jedną, jak i w drugą stronę.

Jak długo zajmie mi nauka hakerstwa?

To zależy od Twojego talentu i od tego, jak ciężko będziesz nad tym pracował. Większość ludzi może uzyskać odpowiednie umiejętności w przeciągu osiemnastu miesięcy do dwóch lat, jeśli się skoncentrują. Ale nie myśl, że na tym koniec: jeśli będziesz prawdziwym hakerem, spędzisz resztę życia na nauce i doskonaleniu remiosła.

Czy Visual Basic lub C# są dobrymi językami na start?

Jeśli zadajesz tego typu pytanie, oznacza to niewątpliwie, iż pragniesz nauczyć się hakerstwa używając Windows. To jest pomysł zły sam w sobie. Kiedy porównywałem próbę nauki hakerstwa do nauki tańca w gipsie, nie żartowałem. Nawet nie próbuj. To jest złe, i nigdy nie przestaje byc złe.

Jeśli zaś chodzi o Visual Basica czy C#, to są z nimi specyficzne problemy - przede wszystkim chodzi o to, że nie są przenośne. Mimo, iż są prototypy implementacji open source tych języków, stosowne standardy ECMA nie pokrywają nawet małej części ich interfejsu programistycznego. Pod Windows, zdecydowana większość ich bibliotek jest własnością jednej firmy (Microsoft); jeśli nie jesteś ekstremalnie ostrożny z tym, jakich fukcji korzystasz - na pewno dużo ostrożniejszy, niż jakikolwiek nowicjusz jest w stanie być - skończysz przywiązany tylko do tych platform, jakie wspiera Microsoft. Jeśli zaczynasz na Unixie, masz dostęp do sporo lepszych języków i bibliotek do nich.

Visual Basic jest szczególnie wstrętny. Podobnie, jak inne Basic-i jest to kiepsko zaprojektowany język, który nauczy Cię złych nawyków programistycznych. Nie, nie proś mnie o ich szczegółowy opis, bo zająłby on całą książkę. Lepiej naucz się jakiegoś dobrze zaprojektowanego języka.

Jednym z tych złych nawyków jest uzależnienie od bibliotek, widgetów i środowisk wymyślonych przez jedną firmę. Generalnie, jeśli dany język nie jest w pelni wspierany przynajmniej przez Linuksa lub jeden z systemów BSD, i/lub co najmniej trzy odmienne komercyjne systemy operacyjne, nie jest to dobry język do nauki hakerstwa.

Czy pomożesz mi się włamać, albo nauczysz mnie jak to się robi?

Nie. Ktokolwiek, kto zadaje takie pytanie po przeczytaniu tego dokumentu jest zbyt głupi, by się czegoś nauczyć, nawet jeśli miałbym czas na jego naukę. Wszelkie prośby tego typu przesłane mi mailem zostaną przeze mnie zignorowane albo odpowiem na nie ze skrajną nieuprzejmością.

Jak mogę uzyskać hasło do czyjegoś konta?

To jest cracking. Odczep się, idioto.

Jak mogę włamać się do/czytać/monitorować czyjąś pocztę?

To jest cracking. Spadaj, głąbie.

Jak mogę ukraść prawa op-a na IRC-u?

To jest cracking. Precz, kretynie.

Padłem ofiarą ataku cracerów. Czy pomożesz mi odeprzeć przyszłe ataki?

Nie. Za każdym razem, gdy ktoś się mnie o coś takiego pytał, był to jakiś biedak używający Microsoft Windows. Nie jest mozłiwe efektywne zabezpieczenie Windows przeciwko atakom crakerów; kod i architektura tego systemu ma po prostu zbyt dużo błędów, które sprawiają, że zabezpieczanie Windows jest niczym łatanie dziurawej łodzi sitem. Jedyna metoda, na której można polegać to zmiena systemu na Linuksa czy inny system operacyjny, który jest zaprojektowany w taki sposób, aby conajmniej nadawał się do zabezpieczenia.

Mam problemy z moją kopią Microsoft Windows. Pomożesz mi?

Tak. Uruchom linię poleceń DOS i wpisz "format c:". Wszelkie problemy, jakie miałes z tym systemem znikną w kilka minut.

Gdzie mogę znaleźć prawdziwych hakerów do rozmowy?

Najlepszą metodą jest odnaleźć grupę użytkowników Uniksa lub Linuksa w pobliżu i udać się na ich spotkanie (możesz znaleźć linki do kilku list takich grup na stronie LDP na Sunsite).

(Kiedyś uważałem, że nie spotkasz prawdziwych hakerów na IRC, ale miałem okazję przekonać się, że to się zmienia. Okazuje się, że niektóre społeczności hakerskie, związane z takimi rzeczami jak GIMP czy Perl mają własne kanały IRC.)

Czy możesz mi polecić użyteczne książki dotyczące tematów związanych z hakerstwem?

Zarządzam dokumentem pod tytułem "Linux Reading List HOWTO", który może Ci pomóc. Loginataka również może się okazać pomocna.

A co do wstępu do Pythona, polecam materiały na stronie domowej tego języka.

Czy muszę być dobry z matematyki, aby zostać hakerem?

Nie. Hakerstwo wymaga niewiele formalnej matymetyki. W szczególności, zazwyczaj nie będziesz potrzebować trygonometrii, analizy matematycznej (choć w pewnych specyficznych zagadnieniach są wyjątki od tej reguły, jak np. grafika komputerowa). Przydatna jest znajomość podstaw formalnej logiki i algebry Boole'a, jak również pewne podstawy matematyki skończonej (włączając w to teorię zbiorów skończonych, kombinatorykę i teorię grafów).

Znacznie istotniejsze są umiejętności logicznego myślenia i matematycznego wnioskowania. Mimo, że większość teorii matematycznych nie będzie pomocna, będziesz potrzebować dyscyplinę i inteligencję wymaganą w matematyce. Jeśli brak Ci inteligencji, nie robiłbym sobie na Twoim miejscu dużych nadzieji na zostanie hakerem; jeśli zaś brak Ci dyscypliny, lepiej ją w sobie wypracuj.

Wydaje mi się, że dobrym sposobem na sprawdzenie, czy masz to coś, czego potrzeba, aby zostać hakerem, byłoby zabranie się za książkę Raymonda Smullyana "What Is The Name Of This Book?" (tytuł polski: "Jaki jest tytuł tej książki?"). Styl jego zabawnych zagadek logicznych jest mocno hakerski. Jeśli potrafisz je rozwiązać, to dobry znak; jeśli dodatkowo sprawia Ci to przyjemność, to jeszcze lepiej.

Jakiego języka powinienem nauczyć się na początku?

XHTML'a (najnowszego dialektu HTML-a), jeśli jeszcze go nie znasz. Jest pełno widowiskowych, przeładowanych formą, złych książek o HTML'u na rynku i załamująco niewiele dobrych. Tą, którą lubię najbardziej jest HTML: The Definitive Guide.

Ale HTML nie jest pełnym językiem programowania. Kiedy będziesz gotowy zacząć programować, polecam rozpoczęcie od Pythona. Spotkasz wiele osób polecających Perla, i Perl jest popularniejszy od Pythona, ale jest trudniejszy do nauki i (moim zdaniem) gorzej zaprojektowany.

C jest naprawdę ważne, ale jest też dużo trudniejsze od Perla i Pythona. Nie próbuj uczyć się go na początku.

Użytkownicy Windows, nie próbujcie Visual Basica. Nauczy was złych nawyków, a nie jest przenośny poza Windows. Unikać.

Jakiego rodzaju sprzętu potrzebuję?

Kiedyś komputery domowe miały raczej za mało mocy i pamięci, przez co stwarzały sztuczne limity dla procesu nauki hakerów. Od dawna nie jest to już prawdą; każdy komputer od 486DX50 i wzwyż jest więcej niż wystarczająco wydajny do prac nad rozwojem oprogramowania, X-ów i połączeń z internetem, a najmniejsze dyski jakie można dziś kupić są wystarczająco duże.

Istotnym aspektem przy wybieraniu sprzętu do nauki jest to, czy jego komponenty są kompatybilne z Linuksem (czy też z BSD, jeśli zamierzasz z niego korzystać). I znów, będzie to prawdą dla większości nowoczesnych maszyn. Jedynym naprawę problematycznym elementem są modemy; niektóre komputery wyposażone są w modemy zaprojektowane specjalnie dla Windows, i one zazwyczaj nie będą działały pod Linuksem.

Istnieje FAQ na temat zgodności sprzętowej; najnowsza wersja jest dostępna pod tym adresem.

Chcę się zaangażować. Czy mogłbyś pomóc mi wybrać problem do opracowania?

Nie, ponieważ nie znam Twoich talentów ani zainteresowań. Musisz być zmotywowany albo nie wytrzymasz długo, i dlatego robienie tego, co inni Ci wybiorą, prawie nigdy nie skutkuje.

Spróbuj tego: przez kilka dni poobserwuj pojawiające się ogłoszenia projektów na Freashmeat, i kiedy zobaczysz taki, o którym pomyślisz "Cool! Nad tym chciałbym pracować!", dołącz do niego.

Czy muszę nienawidzić i narzekać na Microsoft?

Nie, nie musisz. Nie dlatego, że Microsoft nie jest obrzydliwy, ale dlatego, że kultura hakerów istniała długo przed Microsoftem i wciąż będzie istnieć wtedy, gdy Microsoft będzie już historią. Zamiast tracić energię na nienawiść do Microsoftu, lepiej spożytkuj ją na miłość do swojego rzemiosła. Pisz dobry kod - to zaszkodzi Microsoftowi skuteczniej i nie zabrudzi Twojej karmy.

Ale czy rynek oprogramowania open source nie uniemożliwi programistom zarobienia na życie?

To wydaje się nieprawdopodobne - na razie przemysł oprogramowania open source wydaje się raczej stwarzać nowe miejsca pracy niż je odbierać. Jeśli zrealizowanie programu jest korzystniejsze ekonomicznie niż nie stworzenie go, programista otrzyma zapłatę niezależnie od tego, czy program będzie darmowy. I, niezależnie od ilości "darmowego" oprogramowania, wygląda na to, że zawsze jest duży popyt na nowe i specjalizowane oprogramowanie. Napisałem więcej na ten temat na stronach Open Source.

Jak mogę zacząć? Gdzie mogę dostać darmową wersję Uniksa?

W kilku miejscach na tej stronie zawarłem wskazówki, gdzie znaleźć najpowszechniej stosowany darmowy Unix. Żeby być hakerem potrzebujesz motywacji, inicjatywy i umiejętności samodzielnej nauki. Zacznij teraz...

***