Jak zostać hackerem
Jak zostać hackerem
Oryginał: angielski
Tłumaczenia:
francuski
hiszpański
włoski
niemiecki
japoński
koreański
szwedzki
portugalski
Eric S. Raymond
Jak zostać hackerem
tłum. Marek Pętlicki
Skąd ten dokument?
Jako twórca Jargon
File często otrzymuję prośby e-mailem od wielu entuzjastycznych
nowicjuszy w Sieci pytających (w skrócie): "w jaki sposób mogę zostać doskonałym
hackerem?". Co dziwne, nie ma jak do tej pory jakichkolwiek
FAQ lub innych dokumentów Webowych traktujących
o tym ważnym temacie, więc oto mój.
Jeśli czytasz zrzut tego dokumentu offline, bieżąca wersja znajduje
się na
www.jtz.org.pl/hacker-howto-pl.htmlWersja oryginalna
(angielska) jest do przeczytania na
http://www.tuxedo.org/~esr/faqs/hacker-howto.html
Hacker - kto to taki?
Jargon File
zawiera garść definicji terminu "hacker", 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ć hackerem, tylko dwie z nich są naprawdę
odpowiednie.
Istnieje społeczność, kultura grupowa, 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 "hacker". Hackerzy zbudowali Internet. Hackerzy uczynili
z UNIXa system operayjny, jakim jest dzisiaj. Hackerzy zapoczątkowali Usenet.
Hackerzy sprawili, że Światowa Pajęczyna
(World Wide Web) zaczęła działać. Jeśli jesteś częścią tej kultury, jeśli
bierzesz w niej czynny udział i inni ludzie z tej grupy Ciebie znają i nazywają Cię
hackerem - wtedy jesteś hackerem.
Filozofia hackera nie jest ograniczona do tej kultury software'owo-hackerskiej.
Są ludzie, którzy stosują postawę hackera 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 hackerzy rozpoznają
te bratnie dusze gdziekolwiek się pojawią i mogą ich również nazywać hackerami
- są tacy, którzy twierdzą, że natura hackera 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 hackerów
software'owych, oraz na tradycjach kultury społecznej, która zapoczątkowała
termin "hacker".
Jest druga grupa ludzi, którzy głośno nazywają siebie hackerami, ale
nimi nie są. Wspomniani ludzie (w większości niedorosłe osobniki płci męskiej)
znajdują podnietę we włamywaniu się do komputerów i robieniu
zamieszania* w systemie telefonicznym. Prawdziwi hackerzy nazywają
takich ludzi "crackerami" i nie chcą mieć z nimi nic wspólnego. Prawdziwi
hackerzy uważają w większości, że crackerzy są leniwi, nieodpowiedzialni
i niezbyt błyskotliwi, a fakt, że jesteś w stanie przełamać system ochrony
nie czyni Cię hackerem bardziej niż umiejętność uruchamiania samochodu "na
krótko" robi z kogoś inżyniera w dziedzinie motoryzacji. Niestety, wielu
dziennikarzy i autorów publikacji dało się oszukać i używają słowa "hacker"
na określenie crackera. A to bezgranicznie irytuje hackerów z prawdziwego
zdarzenia.
Podstawowa różnica jest następująca: hackerzy coś tworzą, a crackerzy
to niszczą.
Jeśli chcesz być hackerem, czytaj dalej. Jeśli masz ambicję zostać crackerem,
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 to wszystko co mam do powiedzenia o crackerach.
Postawa hackera
Hackerzy rozwiązują problemy i tworzą rzeczy wierząc w wolność i wzajemną
pomoc. Aby zostać zaakceptowanym jako hacker, musisz zachowywać się jakbyś
sam miał ten rodzaj podejścia. Jednak żeby zachowywać się tak, jakbyś miał takie
podejście, musisz w nie naprawdę uwierzyć.
Jednakże jeśli myślisz o rozwijaniu postaw hackerskich jedynie
jak o metodzie uzyskania akceptacji wewnątrz kultury, zmierzasz w złym
kierunku. Bardzo ważne jest, abyś stał się takim typem człowieka, który
wierzy w te rzeczy - po to, byś łatwiej uczył się i zachował motywację.
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.
Więc, jeśli chcesz być hackerem, powtarzaj następujące rzeczy do
chwili, kiedy w nie uwierzysz:
1. Świat jest pełen fascynujących problemów oczekujących na rozwiązanie.
Być hackerem 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ć hackerem,
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
zostać, jeśli chcesz być hackerem. W przeciwnym razie zorientujesz się,
że twoja hackerska energia jest uszczuplana przez zagadnienia takie jak
seks, pieniądze i 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 hacker musisz wierzyć, że myślowy czas innych
hackeró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 hackerzy mogli rozwiązywać nowe problemy zamiast konieczności
ciągłego przetwarzania starych.
(Nie musisz wierzyć, że masz obowiązek rozdawać za darmo całą
swoją twórczą działalność, choć hackerzy, którzy tak czynią uzyskują najwięcej
szacunku od innych. Nie jest sprzeczne z wartościami
hackera, żebyś mógł sprzedać wystarczająco dużo, aby mieć dostęp do pożywienia,
dachu nad głową i komputerów. Jest logiczne, że używasz swoich hackerskich
umiejętności aby utrzymać rodzinę lub wręcz wzbogacić się, tak długo, dopóki
robiąc to nie zapomnisz, że jesteś hackerem.)
3. Znudzenie i harówka są złe.
Hackerzy (i twórczy ludzie w ogóle) nigdy nie powinni zanudzać się
czy też być zmuszonymi do zaharowywania się przy głupiej i powtarzalnej
robocie, ponieważ jeśli tak się stanie, okaże się, że nie robią tego, co
powinni - rozwiązywania problemów. To marnotrawstwo szkodzi wszystkim.
Dlatego znudzenie i nużąca praca są nie tylko nieprzyjemne, ale w rzeczywistości
szkodliwe.
Aby zachowywać się tak, jak hacker, 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 hackerów).
(Jest jednak pewien oczywisty wyjątek od tej reguły. Hackerzy czasem
robią rzeczy, które mogą wydawać się powtarzalnymi lub nudnymi dla obserwatora
jako ćwiczenia oczyszczające umysł, lub, gdy w celu osiągnięcia
konkretnego rodzaju doświadczenia nie można inaczej. Ale jest to wybór
- nikt, kto jest istotą myślącą nie powinien być zmuszany do nudy.)
4. Wolność jest dobra.
Hackerzy 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 hackerów.
(To nie jest wszakże to samo, co zwalczanie wszelkich form władzy. Dzieci
muszą być wychowywane a przestępcy izolowani. Hacker 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, nikt nie oferuje takiej formy uległości, jakiej
oczekiwaliby ludzie o autokratycznym nastawieniu).
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. Więc aby zachowywać się jak hacker, 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ć hackerem musisz wytworzyć w sobie niektóre z tych postaw. Ale kopiowanie
postawy samej dla siebie nie uczyni z Ciebie hackera, tak samo jak postawa
nie uczyni z Ciebie mistrza w sporcie lub gwiazdy rocka. Żeby zostać hackerem
potrzeba inteligencji, ćwiczeń, poświęcenia i ciężkiej pracy.
W związku z tym musisz nauczyć się niedowierzania dla postawy
oraz szacunku dla kompetencji pod każdą postacią. Hackerzy nie pozwolą pozerom
marnować ich czasu, ale cenią sobie kompetencję - szczególnie kompetencję
w hackerstwie, ale każda inna jest też 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 wszystkich najlepsza.
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ę hackerem.
Podstawowe umiejętności hackera.
Postawa hackera jest istotna, ale umiejętności znaczą jeszcze więcej.
Postawa nie zastąpi kompetencji i można wyróżnić pewien konkretny zestaw
umiejętności, które będziesz musiał posiąść, zanim hackerom
przyśni się nazwać Ciebie jednym z nich.
Ten zestaw zmienia się powoli w
czasie wraz z techniką wytwarzającą nowe zdolności i czyniące inne z nich
przestarzałymi. Na przykład kiedyś do zasobu zdolności hackera zaliczało
się programowanie w języku maszynowym, natomiast do niedawna nie należała
do nich znajomość HTMLa. W chwili obecnej w miarę jasno można zaliczyć
do nich co następuje:
1. Naucz się programowania.
To jest oczywiście fundamentalna umiejętność hackera. Jeśli nie znasz żadnego
języka programowania komputerów, 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.
Bądź jednak świadom, że nie osiągniesz poziomu umiejętności hackera, a nawet zwykłego
programisty, jeśli będziesz znać zaledwie jeden język - musisz nauczyć się
myśleć o problemie programistycznym w sposób ogólny, niezależny od jakiegokolwiek
języka. Aby być prawdziwym hackerem, 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ł nauczyć
się C, rdzennego UNIXowego języka (choć nie powinieneś uczyć się go w pierwszej
kolejności). Inne języki o szczególnej wartości dla hackerów to
Perl i
LISP.
Perl jest wart nauczenia z przyczyn praktycznych: jest bardzo szeroko wykorzystywany
do tworzenia aktywnych stron WWW i administracji systemem, więc nawet jeśli
nie piszesz programów w Perlu powinieneś nauczyć się go czytać. LISP jest
wart nauki dla głębokiego uczucia oświecenia, kiedy go wreszcie zrozumiesz.
To doświadczenie uczyni z ciebie o wiele lepszego programistę, nawet jeśli
nie używasz LISPa zbyt często.
Najlepiej jednak nauczyć się wszystkich czterech (Pythona, C,
Perla, LISPa). Poza faktem, że są najważniejszymi hackerskimi językami programowania,
reprezentują bardzo różne podejścia do programowania, a każdy z nich nauczy
Cię innych wartościowych rzeczy.
Nie mogę dać tu kompletnych instrukcji jak nauczyć się programowania
- to skomplikowana umiejętność. Ale mogę powiedzieć, że książki i kursy
tego nie zrobią (wielu, może większość najlepszych hackerów to samouki).
Co Ci pomoże to: (a) czytanie kodu, (b) pisanie kodu.
Nauka programowania jest jak nauka doskonałego 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 ... powtarzaj 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 w kodzie źródłowym do czytania i zabawy
dla świeżo opierzonych hackerów. To zmieniło się znacząco. Oprogramowanie
z udostępnionym kodem źródłowym, narzędzia programistyczne, systemy operacyjne
(wszystkie zbudowane przez hackerów) są dziś szeroko dostępne. I to pięknie
doprowadza mnie do następnego tematu...
2. Weź jeden z UNIXów dostępnych z kodem źródłowym i naucz się go używać
i zarządzać nim.
Zakładam, że masz komputer, lub możesz uzyskać dostęp do takowego (ta
dzisiejsza młodzież ma dużo lżej :-)). Jeden z najważniejszych kroków,
który musi postawić nowicjusz w kierunku osiągnięcia
umiejętności hackera jest zdobycie kopii Linuxa lub jednego z BSD-UNIXów,
zainstalowanie go na komputerze i uruchomienie.
Tak, są systemy operacyjne na tym świecie poza UNIXem. Ale są udostępniane
w kodzie binarnym - nie możesz poczytać kodu i nie możesz go zmienić. Próbowanie
nauki hackerstwa w DOSie, Windows lub pod MacOS jest jak nauka tańca
z gipsem na całym ciele.
Poza tym UNIX jest systemem operacyjnym Internetu. Chociaż możesz nauczyć
się posługiwania Internetem bez znajomości UNIXa, lecz bez zrozumienia go
nie nauczysz się internetowego hackerstwa. Z tej przyczyny kultura hackerów
jest silnie scentralizowana wokół UNIXa. (To nie zawsze była prawda i niektórzy
hackerzy starej daty 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).
Więc postaw UNIXa - osobiście lubię Linuxa, ale są inne drogi (no i
oczywiście możesz używać Linuxa i DOS/Windows na tej samej maszynie).
Naucz się go. Zarządzaj nim. Baw się nim. Nawiąż kontakt z Internetem za
jego pomocą. Czytaj jego kod źródłowy. Modyfikuj kod. Otrzymasz lepsze
narzędzia programistyczne (włączając C, Lisp, Python, i Perl) niż 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 hackerskiego mistrza.
Aby nauczyć się więcej o UNIXie, zobacz The
Loginataka.
Aby dopaść w swoje ręce Linuxa zobacz Where
can I get Linux.
3. Naucz się używać World Wide Web i pisać w HTML.
Większość rzeczy, które zostały zbudowane przez kulturę hackerską jest ukrytych
przed wzrokiem pozwalając kierować fabrykami, biurami i uniwersytetami
bez widocznego piętna na stylu życia nie-hackerów. Web jest jednym wielkim
wyjątkiem, wielką błyszcącą zabawką hackerów, która, co potwierdzają nawet
politycy, zmienia świat. Z tego jedynego powodu (i wielu innych
równie dobrych) powinieneś nauczyć się jak dział Sieć.
Nie oznacza to po prostu nauki posługiwania się browserem (każdy to
może zrobić), ale nauczyć się pisania w HTML, języku Webu. Jeśli nie umiesz
programować, pisanie w HTMLu nauczy Cię paru umysłowych przyzwyczajeń,
które pomogą Ci to opanować. A więc: zbuduj sobie home page.
Jednakże posiadanie samej strony domowej nie jest jeszcze wystarczające
do uczynienia Cię hackerem Sieć jest pełna stron domowych. Większość z nich
jest bezcelowyn, pozbawionym zawartości szlamem*
- bardzo wymyślnie wyglądającym,
trzeba zauważyć, ale szlamem 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 hackerów. A to przenosi nas
do następnego tematu...
Status w kulturze hackerskiej
Podobnie jak większość kultur nie zawierających ekonomii pieniądza
hackerstwo 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 hackerskiej 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ś hackerem
dopóki inni hackerzy uparcie nie nazywają Cię hackerem). Ten fakt jest nieco
stłumiony przez wizerunek hackera jako samotnika. Podobnie działa tabu kultury
hackerskiej (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 hackerstwo jest czymś, co antropologia
nazywa kulturą darów. Zdobywasz w niej status i reputację nie
poprzez dominacje nad innymi ludźmi, nie za swoją urodę, 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 hackerów:
1. Pisz oprogramowanie z udostępnionym kodem źródłowym
Pierwszym (centralnym i najbardziej tradycyjnym) elementem jest tworzenie
programów, które są odbierane przez innych hackerów jako zabawne lub użyteczne,
oraz udostępnianie kodów źródłowych do użytku dla całej kultury hackerskiej.
(Zwyczajowo nazywało się te prace "oprogramowaniem darmowym",
ale zbyt wielu ludzi nie wiedziało do końca co miałoby znaczyć pojęcie "darmowy".
Wielu z nas woli teraz określenie "oprogramowanie z dostępnym kodem źródłowym"*
- "open source"
software).
"Półbogami" hackerstwa są ludzie, którzy napisali duże, użyteczne programy,
stanowiące odpowiedź na szerokie zapotrzebowanie, a teraz udostępniają
je za darmo, do użytku dla wszystkich zainteresowanych.
2. Pomagaj testować i usuwać błędy w programach z udostępnionym kodem źródłowym
Hackerzy 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 debugowania wydającym 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 hackerska (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 hackerskiej
W końcu, możesz służyć samej kulturze oraz szerzyć jej ideologię (chociażby
za pośrednictwem napisania niezłej rozprawy na temat: "Jak zostać hackerem" :-)).
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 hackeró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: hackerzy 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 pomiędzy pojęciem "hacker" a pojęciem "dziwak".
Wbrew popularnemu mitowi nie musisz być dziwakiem aby móc zostać hackerem.
To niewątpliwie pomaga i wielu hackerów jest odludkami. Bycie wyrzutkiem społecznym
pomaga skupić się na ważnych rzeczach, takich jak myślenie i grzebanie w kodzie.
Z tego powodu wielu hackerów zaadoptowało sobie etykietę "dziwak"*,
a nawet używają
ostrzejszego terminu "świr"* jako oznaki własnej dumy
- jest to forma zadeklarowania
ich niezależności od normalnych społecznych oczekiwań. Zobacz The Geek Page dla dalszej dyskusji.
Jeśli potrafisz skoncentrować się na hackerstwie 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 byłem nowicjuszem. 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 hackerzy są często świetnym
materiałem na partnerów i małżonków. Więcej na ten temat w Girl's Guide to Geek
Guys (Przewodniku dla dziewcząt po dziwnych facetach).
Jeśli pasjonujesz się hackerstwem, 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ć hackerem, musisz wejść w styl myślenia hackera. Jest kilka rzeczy,
które możesz robić, jeśli nie siedzisz za komputerem. Nie są one substytutami
hackerstwa (nic nie jest), ale wielu hackerów to robi czując, że na pewien sposób
wiążą się w swych podstawach z duchem hackerstwa.
Czytaj science-fiction. Odwiedzaj konwenty science-fiction (świetny sposób,
aby spotkać hackerów, lub osoby dobrze rokujące, aby nimi zostać).
Studiuj Zen i/lub trenuj sztuki walki (tu dyscyplina psychiczna zdaje się
być podobna do hackerskiej)
Rozwijaj w sobie analityczny słuch do muzyki. Naucz się cenić specyficzne
gatunki muzyki. Naucz się dobrze grać na jakimś instrumencie lub dobrze śpiewać.
Rozwiń w sobie szacunek dla gier umysłowych i zabawy słownej.
Naucz się dobrze pisać w swoim języku narodowym. (Zdumiewająco dużo hackerów,
włączając w to tych najlepszych, jakich znam, jest doskonałymi pisarzami).
Im więcej z tych rzeczy robisz, tym bardziej prawdopodobne, że jesteś dobrym
materiałem na hackera. Nie wiadomo do końca, dlaczego akurat te rzeczy kojarzą się
ze zdolnościami hackerskimi, ale są one związane z jednoczesnym wykorzystywaniem
zdolności prawej i lewej półkuli mózgowej, a to wydaje się być ważne (hackerzy
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).
W końcu kilka rzeczy, których nie należy robić.
Nie używaj głupich, górnolotnych pseudonimów.
Nie wdawaj sięw święte wojny na Usenecie (lub gdziekolwiek indziej).
Nie nazywaj siebie "cyberpunkiem" i nie marnuj czasu na kogokolwiek, kto
określa siebie kimś takim.
Nie wysyłaj poczty lub ogłoszeń na grupach dyskusyjnych, które będą
pełne błędów ortograficznych, lub gramatycznych.
Reputacja jaką zdobędziesz robiąc te rzeczy jest niewiele warta. Hackerzy mają dobrą
pamięć - może upłynąć wiele lat Twojego życia zanim zostaniesz zaakceptowany.
Inne źródła:
Peter Seebach zarządza świetnym Hacker FAQ dla managerów, którzy nie wiedzą, jak postępować z hackerami.
Loginataka zawiera kilka rzeczy dotyczących właściwego treningu i postawy hackerów UNIXowych.
Napisałem również A Brief History Of
Hackerdom (krótką historię hackerstwa).
Jestem autorem artykułu
The Cathedral and the Bazaar,
który wyjaśnia, w jaki sposób działąją kultury hackerskie wokół Linuxa i oprogramowania
z dostępnym kodem źródłowym. W dalszej części
Homesteading
the Noosphere treści te znalazły jeszcze bardziej bezpośredni opis.
Często zadawane pytania
Pytanie: Nauczysz mnie hackerstwa?
Od pierwszej publikacji tego dokumentu otrzymuję kilka próśb tygodniowo o to, żebym kogoś "nauczył
wszystkiego o hackerstwie". Niestety, nie mam ani czasu ani energii aby to uczynić. Moje
własne projekty hackerskie zajmują mi 110% czasu.
Nawet gdybym miał czas, hackerstwo jest postawą i umiejętnością, których musisz po prostu
nauczyć się sam. Przekonasz się, że chociaż prawdziwi hackerzy 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 hackerów ze szczegółowymi pytaniami.
P: Pomożesz mi włamać się do systemu, lub nauczysz mnie crackerstwa?
Nie. Każdy, kto ciągle zadaje takie pytanie po przeczytaniu tego dokumentu jest zbyt głupi,
by go czegoś nauczyć, nawet gdybym miał na to czas. Jakiekolwiek podobne prośby wysłane
e-mailem zostaną zignorowane, lub odpowiem na nie ze skrajną nieuprzejmością.
P: Gdzie mogę znaleźć prawdziwych hackerów do rozmowy?
Najlepszą metodą jest odnaleźć grupę użytkowników UNIXa lub Linuxa 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 hackerów na IRC, ale miałem okazję przekonać się,
że to się zmienia. Okazuje się, że niektóre społeczności hackerskie, związane z takimi
rzeczami jak GIMP czy Perl mają własne kanały IRC.)
P: Jakiego języka powinienem nauczyć się na początku?
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.
C jest naprawdę ważne, ale jest też dużo trudniejsze od Perla i Pythona. Nie próbuj uczyć
się go na początku.
P: Ale, czy rynek oprogramowania z dostępnym kodem źródłowym nie uniemożliwi
programistom zarobienia na życie?
To wydaje się nieprawdopodobne - ale na razie przemysł oprogramowania
z dostępnym kodem źródłowym wydaje się stwarzać nowe stanowiska pracy zamiast 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, zawsze wydaje się być większy popyt
na nowe i specjalizowane oprogramowanie. Napisałem więcej na ten temat na stronach
Open Source.
P: Jak mogę zacząć? Gdzie zdobędę darmowy UNIX?
Gdzieś na tej stronie zawarłem wskazówki, gdzie znaleźć najpowszechniej stosowany darmowy
UNIX. Żeby być hackerem potrzebujesz motywacji, inicjatywy i umiejętności samodzielnej nauki.
Zacznij teraz...
Od tłumacza:
Tu znajdują się oryginalne sformułowania, które dla mnie stanowią elementy kontrowersyjne. Jeśli ktoś pokusi się o próbę poprawienia mnie w tłumaczeniu - bardzo proszę. Wszak na tym polega esencja hackerstwa...
phreaking - w uproszczeniu oznacza to korzystanie z usług telefonicznych "na lewo", czyli bez opłaty. U nas objawiało się to np. poprzez wykorzystanie zapalniczki piezoelektrycznej do nabijania impulsów w aparatach publicznych na żetony... (dzięki Greg... ;-) <-
sludge - szlam to dokładne tłumaczenie tego słowa. Jednak niezbyt dobrze brzmi po polsku... Na pewno jest lepsze słowo na określenie bezwartościowego śmiecia, czegoś stworzonego dla samego tworzenia, bez wartości dla innych, prócz twórcy... <-
open source software
- właściwie to się czepiam, ale warto wreszcie przyjąć jakąś polską wersję tego określeia do naszego języka. "Oprogramowanie z dostępnym kodem źródłowym" brzmi zbyt opisowo. Co tylko dowodzi, że język polski jest ubogi w określenia, dla opisania zjawisk musimy używac więcej słów (moje tłumaczenie jest ok 20% większe od oryginału...)<-
nerd
geek
- moje tłumaczenia "dziwak" oraz "świr" oddają raczej nastrój emocjonalny określeń użytych przez Erica (tak sądzę ;-), niż rzeczywiste znaczenie tych slangowych sformułowań. FIXME please... <-
Wyszukiwarka
Podobne podstrony:
bootdisk howto pl 8PPP HOWTO pl 6 (2)NIS HOWTO pl 1 (2)kernel howto 3 clbigwpagydoy3epnkmic3ys7wlqwsg4rlwwgvq clbigwpagydoy3epnkmic3ys7wlqwsg4rlwwgvqconsultants howto 18cdrom howto pl 1jtz howto pl 5Keystroke HOWTO pl (2)PostgreSQL HOWTO pl 14printing howto pl 5debian apt howto plsecurity howto 7 bif7pmbdlmrob6tcblpvwkf37huqfjqc5eeufry bif7pmbdlmrob6tcblpvwkf37huqfjqc5eeufrycommercial howto 21Kernel HOWTO pl 12 (2)XFree86 HOWTO pl (3)NewStandard HOWTOserial howto 5 kgcppz4s5yl52f7evqakks2dmarwh2apafjtjjy kgcppz4s5yl52f7evqakks2dmarwh2apafjtjjywięcej podobnych podstron