Om denne oversættelse

Nyeste version Sun Mar 28 16:30:40 CEST 2004. Første version Sun Jun 6 01:52 CEST 1999

Dette er en oversættelse af Eric S. Raymonds How to Become A Hacker. Den engelske original findes på http://www.catb.org/~esr/faqs/hacker-howto.html. Forslag, kommentarer, rettelser og kritik af oversættelsen er yderst velkommen, og kan sendes med email.


Hvordan man bliver hacker

Indholdsfortegnelse

Hvorfor denne side?
Hvad er en hacker?
Hackernes indstilling

  1. Verden er fuld af fascinerende problemer, der venter på at blive løst
  2. Et problem bør aldrig løses mere end en gang
  3. Kedsomhed og ensformigt arbejde er skadeligt
  4. Frihed er godt
  5. Holdning kan ikke erstatte kompetence
En hackers basale færdigheder
  1. Lær at programmere
  2. Skaf et af open-source UNIX-systemerne og lær at bruge det og arbejde med det
  3. Lær at bruge World Wide Web og lær at skrive HTML
  4. Hvis du ikke har et funktionelt engelsk, så lær det
Status i hacker-kulturen
  1. Skrive open-source programmer
  2. Hjælpe med at teste og rette fejl i open-source software
  3. Offentliggøre brugbare oplysninger
  4. Hjælpe med at holde infrastrukturen i gang
  5. Tjene selve hacker-kulturen
Sammenhængen mellem hackere og nørder
Point for stil
Andre ressourcer
Ofte Stillede Spørgsmål [FAQ]

Hvorfor denne side?

Som redaktør for The Jargon File og forfatter til nogle få andre velkendte dokumenter af tilsvarende slags får jeg tit e-mail forespørgsler fra entusiastiske nybegyndere inden for netværk, der (i realiteten) spørger "hvordan bliver jeg en hacker/troldmand?". Tilbage i 1996 lagde jeg mærke til, at der ikke synes at være nogen FAQ's eller hjemmesider, der svarer på dette vigtige spørgsmål, så her er mit svar. Mange mennesker betragter den nu som definitiv, og vil mene, at det betyder, at den er det. Alligevel hævder jeg ikke at være den eneste autoritet på området; hvis du ikke kan lide, hvad du læser her, så skriv din egen.

Hvis du læser et uddrag af denne side offline, kan du finde den gældende på http://www.catb.org/~esr/faqs/hacker-howto.html.

Bemærk: der er en liste med ofte stillede sprøgsmål i slutningen af dette dokument. Vær venlig at læse dem -- to gange -- før du sender mig spørgsmål om dette dokument.

Diagrammet fem-punkter-i-ni-kvadrater, der dekorerer dette dokument, kaldes en glider. Det er et simpelt mønster med nogle overraskende egenskaber i en matematisk simulering, der kaldes Life, der har fascineret hackere i mange år. Jeg synes, det er et godt visuelt emblem på, hvordan hackere er -- abstrakt, til at begynde med virker det mystisk, men en gateway til en hel verden med en indviklet egen logik. Læs mere om glider emblemet her.

Hvad er en hacker?

The Jargon File indeholder en masse definitioner på begrebet 'hacker', hvoraf de fleste drejer sig om teknisk dygtighed, glæde ved problemløsning og brydning af grænser. Hvis du derimod vil vide, hvordan man bliver hacker, drejer det sig kun om to ting.

Der findes et fællesskab, en fælles kultur hos ekspertprogrammører og netværksspecialister, hvis historie går årtier tilbage til de første delte minicomputere og de tidligste eksperimenter med ARPA-nettet. Medlemmerne af denne kultur fandt på begrebet 'hacker'. Hackerne byggede Internet. Hackerne gjorde UNIX operativsystemet til det, det er i dag. Hackerne styrer Usenet. Hackerne får World Wide Web til at virke. Hvis du er en del af denne kultur, hvis du har bidraget til den, og hvis andre i kulturen ved, hvem du er og kalder dig hacker, så er du hacker.

Hackernes tænkemåde er ikke begrænset til denne software-hacker kultur. Der er andre, som anvender hackernes indstilling på andre ting, for eksempel elektronik eller musik -- man kan faktisk finde denne indstilling på de højeste niveauer inden for hvilken som helst form for videnskab eller kunst. Software-hackere genkender disse beslægtede sjæle andre steder og kan også finde på at kalde dem for 'hackere' -- og nogen hævder, at holdningen hos hackere i virkeligheden er uafhængig af det givne medie, som hackeren arbejder med. Men på resten af denne side vil jeg fokusere på software-hackernes færdigheder og holdninger samt på traditionerne i den fælles kultur, som var oprindelsen til begrebet 'hacker'.

Der er en anden type mennesker, som højrøstet kalder sig hackere, men ikke er det. Det er hovedsagelig unge fyre, som morer sig med at tiltvinge sig adgang til computere, de ikke ejer, og omgå telefonsystemet. Rigtige hackere kalder dem 'crackere' og vil ikke have noget med dem at gøre. Rigtige hackere synes som regel, crackere er dovne, uansvarlige og ikke særlige intelligente, og mener ikke, at evner til at omgå sikkerhedssystemer lige så lidt gør en til hacker, som evnen til at stjæle biler gør en til ingeniør. Uheldigvis er mange journalister og forfattere blevet narret til at bruge ordet 'hacker' til at beskrive crackere; det irriterer rigtige hackere grænseløst.

Den basale forskel er denne: hackere opbygger ting, crackere ødelægger dem.

Hvis du vil være hacker, så læs videre. Hvis du vil være cracker, så læs nyhedsgruppen alt.2600 og forbered dig på at komme ind at sidde, når du finder ud af, at du ikke var så smart, som du troede. Og det er alt, hvad jeg har at sige om crackere.

Hackernes indstilling

Hackere løser problemer og opbygger ting, og de tror på frihed og frivillig gensidig hjælp. For at blive accepteret som hacker, skal du opføre dig som om, du har denne holdning. Og for at opføre dig som om, du har holdningen, er du nødt til virkelig at have den.

Men hvis du overvejer at tillægge dig hacker-holdningen bare for at blive accepteret i kulturen, misforstå du pointen. At blive en, som tror på disse ting, er vigtigt for dig -- for at hjælpe dig med at lære og blive ved med at være motiveret. Som med al kreativ kunst, er den mest effektive måde at blive en mester at imitere mesterenes indstilling -- ikke blot intellektuelt men også følelsesmæssigt.

Eller som formuleret i det følgende, moderne Zen-digt:

At følge vejen:
se på mesteren,
følg mesteren,
gå med mesteren,
gennemsku mesteren,
bliv mesteren.

Så hvis du vil være hacker, skal du gentage det følgende, til du tror på det:

1. Verden er fuld af fascinerende problemer, der venter på at blive løst

Det er sjovt at være hacker, men det er den slags morskab, der kræver en stor indsats. Indsatsen kræver motivation. Topidrætsfolk får deres motivation fra en fysisk glæde ved udførelsen af deres sport ved at overskride deres egne fysiske grænser. På samme måde må du for at blive hacker opleve en basal spænding ved at løse problemer, ved at blive bedre, og ved at bruge din intelligens.

Hvis du ikke allerede har det sådan, bliver du nødt til at få det sådan, hvis du vil kunne klare dig som hacker. Ellers vil du opdage, at din energi som hacker bliver drænet af distraktioner som sex, penge og social accept.

(Du bliver også nødt til at udvikle en tro på din egen indlæringsevne -- en tro på, at du, selv om du ikke ved alt hvad du behøver for at løse et problem, kan løse en del af det og lære af det, hvordan du løser den næste del -- og så videre til du er færdig.)

2. Et problem bør aldrig løses mere end en gang

Kreative hjerner er en værdifuld, begrænset ressource. De burde ikke spildes på at opfinde hjulet gang på gang, når der er så mange fascinerende nye problemer som venter derude.

For at opføre dig som en hacker skal du synes, at andre hackeres tankevirksomhed er så kostbar, at det er en næsten moralsk forpligtelse for dig at dele information, løse problemer og så give løsningerne væk, bare for at andre hackere kan løse nye problemer i stedet for bestandig at løse allerede løste problemer.

(Du behøver ikke at tro, du er forpligtet til at give alle dine kreative ideer væk, selv om de hackere, som gør det, er dem, som opnår mest respekt hos andre hackere. Det er foreneligt med hacker-værdier at sælge nok af dem til at have til mad, husleje og datamaskiner. Det er foreneligt at bruge dine færdigheder som hacker til at forsørge en familie eller endda til at blive rig, så længe du ikke glemmer, at du er hacker, mens du bliver det.)

3. Kedsomhed og ensformigt arbejde er skadeligt

Hackere (og kreative personer i al almindelighed) burde aldrig kede sig eller være nødt til at slide med dumt, ensformigt arbejde, som, når det sker, betyder, at de ikke laver det, som kun de kan gøre -- løse nye problemer. Dette spild skader alle. Derfor er kedsomhed og ensformigt arbejde ikke bare ubehagelig men faktisk skadeligt.

For at opføre dig som hacker, skal du være så overbevist om det, at det får dig til at ville automatisere de kedelige dele så meget som muligt, ikke bare for dig selv men for alle andre (hackere i særdeleshed).

(Der er een åbenbar undtagelse til dette. Hackere gør nogle gange ting, som kan synes ensformigt eller kedeligt for andre, for at tømme tankerne, for at lære noget eller få en bestemt erfaring, som du ikke kan få på anden vis. Men det er efter eget valg -- ingen, som kan tænke, burde være tvunget til kedsomhed.)

4. Frihed er godt

Hackere er antiautoritære af natur. Enhver, som kan beordre dig til noget, kan forhindre dig i at løse det problem, som fascinerer dig -- og vil, som følge af sin autoritære natur, som regel finde en forfærdelig dum grund hertil. Så den autoritære holdning skal bekæmpes hvor som helst, du støder på den, for at den ikke kvæler dig og andre hackere.

(Det er ikke det samme som at bekæmpe al autoritet. Børn har behov for at blive opdraget, og kriminelle skal tilbageholdes. En hacker kan acceptere visse former for autoritet for at opnå noget, han ønsker mere end den tid, han bruger på at følge ordrer. Men det er en begrænset, bevidst handel; den slags personlig overgivelse, som autoritære ønsker, er ikke en mulighed.)

Autoritære trives med censur og hemmelighedskræmmeri. Og de mistror frivillig samarbejde og deling af information -- de kan kun lide det 'samarbejde', som de styrer. Så for at opføre dig som hacker, skal du have en instinktiv modvilje overfor censur, hemmelighedskræmmeri og brugen af magt eller bedrag til at tvinge ansvarlige voksne. Og du skal være villig til at handle ud fra den overbevisning.

5. Holdning kan ikke erstatte kompetence

For at blive hacker skal du udvikle nogle af disse holdninger. Men holdningen alene gør dig ikke til hacker, lige så lidt som det vil gøre dig til super atlet eller rockstjerne. At blive hacker vil kræve intelligens, øvelse, vedholdenhed og hårdt arbejde.

Derfor skal du lære at mistro holdninger og respektere kompetence af enhver slags. Hackere lader ikke en påtaget holdning spilde deres tid, men de tilbeder kompetence -- især kompetence som hacker, men enhver slags kompetence er godt. Kompetence i krævende færdigheder, som få besidder, er særlig godt, og kompetence i krævende færdigheder, som indebærer mental skarphed, dygtighed og koncentration er bedst.

Hvis du ærer kompetence, vil du nyde at udvikle det hos dig selv -- det hårde arbejde og vedholdenheden vil være en slags intens leg snarere end ensformigt arbejde. Og det er af vital betydning for at blive hacker.

En hackers basale færdigheder

Hacker-holdningen er af afgørende betydning, men færdigheder har endnu støre betydning. Holdning er ingen erstatning for kompetence, og der er et grundlæggende værktøjssæt af færdigheder, som du skal have, før nogen hacker overhovedet vil kunne finde på at kalde dig en.

Dette værktøjssæt ændrer sig langsomt over tid, efterhånden som teknologien skaber nye færdigheder og gør gamle overflødige. For eksempel indebar det tidligere at kunne programmere i maskinkode, og indtil for nylig indebar det ikke at kunne HTML. Men lige nu er det temmelig tydeligt, at det indebærer følgende:

1. Lær at programmere

Dette er selvfølgelig den fundamentale hacker-evne. Hvis du ikke kender nogen programmeringssprog, foreslår jeg, at du starter med Python. Det er godt designet, veldokumenteret og relativt venligt ved begyndere. Selv om det er et godt første sprog, er det ikke bare til leg; det er kraftfuldt, fleksibelt og velegnet til store projekter. Jeg har skrevet en mere detaljeret evaluering af Python. Godt undervisningsmateriale er tilgængeligt på Python-hjemmesiden.

Java er også et godt sprog at lære at programmere med. Det er sværere end Python, men det giver hurtigere kode end Python. Jeg tror, det vil være et godt andet sprog.

Men vær opmærksom på, at du ikke når samme niveau af evner som en hacker eller endda blot som programmør, hvis du kun kender et sprog -- du er nødt til at lære at behandle programmeringsproblemer i almindelighed og uafhængigt af et bestemt sprog. For at være rigtig hacker skal du have nået det punkt, hvor du kan lære et nyt sprog inden for nogle dage ved at relatere manualens indhold til det, som du allerede ved. Det betyder, at du bør lære flere meget forskellige sprog.

Hvis du begynder at programmere seriøst, bliver du nødt til at lære C, det sprog UNIX er skrevet i. C++ er tæt relateret til C; hvis du kender det ene, vil det ikke være svært at lære det andet. Men ingen af sprogene er gode at forsøge at lære som dit første. Og faktisk vil du være mere produktiv jo mere du kan undgå at programmere i C.

C er meget effektivt, og meget sparsom med dine maskinressourcer. Uheldigvis kommer den effektivitet ved at kræve, at du udfører meget styring af lavniveauressourcer (som hukommelse) i hånden. Al den lavniveaukode er kompleks og udsat for fejl og vil opsluge enorme mængder af din tid med fejlsøgning. Med nutidens maskiner, der er så kraftfulde, er det ofte et dårligt bytte -- det er smartere at bruge et sprog, der bruger maskintiden mindre effektivt, men din tid mere effektivt. Derfor Python.

Andre sprog af særlig vigtighed for hackere inkluderer Perl og Lisp. Perl er værd at lære af praktiske årsager; det er meget brugt til interaktive web-sider og systemadministration, så selv om du aldrig skriver i Perl, bør du lære at læse det. Mange mennesker bruger Perl til det, som jeg anbefaler, at du bruger Python til, at undgå C-programmering til jobs, der ikke kræver C's maskineffektivitet. Du vil have brug for at kunne forstå deres kode.

Lisp er værd at lære for den dybtgående oplevelse, du vil få, når du endelig forstår det; den oplevelse vil resten af dine dage gøre dig til en bedre programmør, selv om du faktisk aldrig bruger det ret meget. (Du kan ret let få begyndererfaring med LISP ved at skrive og modificere redigeringstilstande til tekstredigeringsværktøjet Emacs.)

Det er faktisk bedst at lære alle disse fem (Python, Java, C/C++, Perl og Lisp). Udover at være hackerens vigtigste sprog, repræsenterer de meget forskellige tilgange til programmering, og hver enkelt vil lære dig noget værdifuldt.

Jeg kan ikke her give en fuldstændig vejledning i hvordan, man lærer at programmere -- det er en kompleks viden. Men jeg kan fortælle dig, at bøger og kurser ikke er tilstrækkeligt (mange, måske de fleste af de bedste hackere er selvlærte). Du er nødt til at (a) læse kode og (b) skrive kode.

At lære at programmere er som at lære at skrive et naturligt sprog godt. Den bedste måde at gøre det på er at læse noget af dem, der mestrer det, at skrive noget selv, læse meget mere, skrive lidt mere, læse meget mere, skrive noget mere -- og blive ved til din skrivning begynder at udvikle den slags styrke og enkelthed, som du ser hos dine forbilleder.

Det var tidligere svært at finde god kode at læse, da der var få store programmer til rådighed i kildekode, som nybagte hackere kunne læse og rode med. Det har ændret sig dramatisk; open-source software, programmeringsværktøjer og styresystemer (alle bygget af hackere) er nu vidt udbredt. Hvilket bekvemt bringer mig til vores næste emne...

2. Skaf et af open-source UNIX-systemerne og lær at bruge det og arbejde med det

Jeg antager, at du har en personlig computer eller har adgang til en (de unge i dag har det så let :-)). Det allervigtigste skridt, en begynder kan tage for at blive hacker, er at få fat i en kopi af Linux eller et af BSD-Unix-systemerne, installere det og arbejde med det.

Ja, der er andre styresystemer i verden udover Unix. Men de distribueres i binær form -- du kan ikke læse kildekoden, og du kan ikke ændre den. At lære at hacke på en DOS eller Windows maskine eller med MacOS er som at prøve at danse med rustning på.

Med OS/X er det muligt, men kun en del af systemet er open-source -- du vil ramme en masse mure, og du er nødt at være forsigtig med ikke at få den dårlige vane at være afhængig af Apples proprietære kode. Hvis du koncentrerer dig om din Unix, som er under hjælmen, kan du lære nogle værdifulde ting.

Unix er styresystemet på Internet. Selv om du kan lære at bruge Internet uden at kende Unix, kan du ikke blive Internet hacker uden at forstå det. Af den grund er hacker-kulturen i dag stærkt centreret omkring Unix (sådan var det ikke altid, og nogle af de gamle hackere er ikke glade for det, men symbiosen mellem Unix og Internet er blevet stærk nok til, at selv Microsofts størrelse ikke synes at kunne true den).

Så få fat i et Unix-system -- jeg foretrækker Linux, men der er andre måder (og ja, du kan have både Linux og Microsoft Windows på samme maskine). Lær det. Arbejd med det. Rod med det. Vær på Internet med det. Læs koden. Modificer koden. Du vil få bedre værktøjer til programmering (inklusive C/C++, Java, Lisp, Python og Perl), end hvilket som helst Microsoft styresystem kan drømme om, det er sjovere, og du vil lære meget mere end du tror, indtil du ser tilbage på det som mester hacker.

For mere om at lære Unix, kan du se The Loginataka. Du bør måske også se på The Art of Unix Programming.

For at få fat på Linux, se Linux Online hjemmesiden; du kan downloade herfra eller (bedre idé) finde en lokal Linux-brugergruppe, der kan hjælpe dig med installationen. Fra en ny brugers synspunkt er alle Linuxdistributioner ret ens.

Du kan finde hjælp til BSD Unix på www.bsd.org.

Jeg har skrevet en begynderbog om grundlæggende Unix og Internet.

(Jeg anbefaler normalt ikke at installere Linux som et enmandsprojekt, hvis du er nybegynder. Med Linux bør du finde en Linux-brugergruppe og spørge om hjælp.)


3. Lær at bruge World Wide Web og lær at skrive HTML

Det meste af det hackerkulturen har produceret, arbejder usynligt, kører fabrikker og kontorer og universiteter uden umiddelbar synlig indflydelse på ikke-hackeres liv. World Wide Web er den store undtagelse, det store, skinnende hackerlegetøj, som selv politikere indrømmer ændrer verden. Af denne grund (og mange andre gode grunde) er det nødvendigt, at du lærer at arbejde med World Wide Web.

Det betyder ikke kun at lære at bruge en web-browser (det kan enhver), men også at lære at skrive HTML, det sprog hjemmesider skrives i. Hvis du ikke kan programmere, vil det at skrive HTML give dig nogle mentale vaner, som vil hjælpe dig til at lære det. Lav en hjemmeside. Prøv at holde dig til XHTML, som er et renere sprog end klassisk HTML. (Der er gode undervisningsværktøjer for begyndere på Internet; her er én.)

Kun at have en hjemmeside er dog langtfra nok til at gøre dig til en hacker. World Wide Web er fuld af hjemmesider. Mange af dem er uden mening, indholdsløst lort -- meget fikst udseende lort, vær opmærksom på det, men lort uanset hvad (se også The HTML Hell Page).

For at have værdi, må din hjemmeside have indhold -- den må være interessant og brugbar for andre hackere.

4. Hvis du ikke har et funktionelt engelsk, så lær det

Som amerikaner med engelsk som modersmål har jeg tidligere været tilbageholdende med at foreslå dette af frygt for, at det skulle forstås som en slags kulturimperalisme. Men adskillige fremmedsprogede har opfordret mig til gøre opmærksom på, at engelsk er arbejdssproget for hackerkulturen og på Internet, og du vil have behov for at kende det for at fungere i hackermiljøet.

Det er meget sandt. Tilbage i 1991 lærte jeg, at mange, der har engelsk som andet sprog, bruger det i tekniske diskussioner, selv når de har samme modersmål; jeg blev gjort opmærksom på, at engelsk har et rigere teknisk ordforråd end noget andet sprog, og det er derfor ganske enkelt et bedre værktøj til opgaven. Af samme grunde er oversættelser af tekniske bøger, der er skrevet på engelsk, ofte utilfredsstillende (når de overhovedet bliver færdige).

Linus Torvalds, som er finne, kommenterer sin kode på engelsk (det faldt ham tilsyneadende aldrig ind at gøre andet). Hans flydende engelsk har været en vigtig faktor ved hans evne til at rekuttere et verdensomspændende samfund af udviklere til Linux. Det er et eksempel, der er værd at følge.

Status i hacker-kulturen

Som i de fleste kulturer uden et økonomisk grundlag, lever hacker-kulturen på anseelse og omdømme. Du forsøger at løse interessante problemer, men præcist hvor interessante de er, og om dine løsninger er rigtigt gode, er noget, som kun dem, der er lige så gode som dig, og dem, der er bedre end dig, normalt er i stand til at vurdere.

Så når du leger med hackere, lærer du at holde styr på stillingen primært efter hvad andre hackere synes om dine evner (det er derfor, du egentligt ikke er en hacker, før andre hackere konsekvent kalder dig for en). Dette faktum overskygges af billedet af hacker-arbejdet som et ensomt arbejde, samt af et hacker-kulturelt tabu (nu gradvist aftagende, men stadig virkende) imod at indrømme at ego og andres accept og godkendelse er involveret i ens motivation overhovedet.

Især er hacker-kulturen hvad antropologer kalder en gave-kultur. Du opnår status og omdømme ikke ved at dominere andre mennesker, ikke ved at være smuk, eller ved at have ting, som andre begærer, men i stedet ved at forære ting bort. Specifikt ved at bortgive din tid, din kreativitet og resultatet af dine evner.

Der er fem grundlæggende ting du kan gøre for at blive respekteret af hackere:

1. Skrive open-source programmer

Det første (og vigtigste og mest traditionelle) er at skrive programmer, som andre hackere finder sjove eller nyttige, og at forære programmernes kildekode til hacker-kulturen, så den kan blive benyttet.

(Vi plejede at kalde disse værker 'frie programmer' [free software], men det har forvirret for mange mennesker, som ikke var sikre på, hvad 'fri' [free] betød ('fri' eller 'gratis'). De fleste af os, i hvert fald 2 ud af 3 i henhold til webindholdsanalyser, foretrækker nu betegnelsen 'open-source' software.)

Hacker-kulturens mest værdsatte halvguder er mennesker, som har skrevet store, funktionelle programmer, der tilfredsstiller et bredt behov, og som har givet disse programmer væk, så alle nu bruger dem.

2. Hjælpe med at teste og rette fejl i open-source software

Selv de, der tester og retter fejl i andres programmer er til hjælp. I denne ikke-perfekte verden vil vi uundgåeligt bruge det meste af den tid, vi har afsat til udvikling af programmer, til fejlfinding. Af denne grund vil enhver tænkende open-source programmør fortælle dig, at gode beta-testere (som kan beskrive symptomer tydeligt, er gode til at identificere problemer, leve med fejl på grund af hurtige opdateringer, og som er villige til at anvende nogle enkle diagnosticeringsrutiner) er deres vægt værd i guld. Selv en enkelt af disse kan udgøre forskellen mellem en fase med fejlfinding, der er et langvarig, udmattende mareridt, og en, der blot er en sund gene.

Hvis du er nybegynder, forsøg at finde et program under udvikling som du er interesseret i, og bliv en god beta-tester. Der er en naturlig udvikling fra at hjælpe med at teste programmer, over at hjælpe med at finde fejl i dem, til at hjælpe med at ændre i dem. Du vil lære meget på denne måde, og få god karma hos mennesker, som senere vil hjælpe dig.

3. Offentliggøre brugbare oplysninger

En anden god ting at gøre, er at samle og filtrere brugbare og interessante oplysninger på hjemmesider eller i dokumenter som FAQ's [Frequently Asked Questions] lister med ofte stillede spørgsmål, og gøre disse alment tilgængelige.

Dem, der vedligeholder de store, tekniske FAQ's, respekteres næste lige så meget som open-source programmører.

4. Hjælpe med at holde infrastrukturen i gang

Hacker-kulturen (og den tekniske udvikling af Internet, for den sags skyld) drives af frivillige. Der er meget nødvendigt men uglamourøst arbejde, der skal gøres for at holde tingene i gang -- administration af postfordelingslister, styring af nyhedsgrupper, vedligeholdelse af store samlinger af programmer, udvikling af RFC'er og andre tekniske standarder.

De, som gør den slags arbejde godt, får meget respekt, fordi alle ved at disse opgaver er store og tidskrævende og ikke nær så sjove som at lege med kode. At påtage sig den slags arbejde vidner om dedikation.

5. Tjene selve hacker-kulturen

Endeligt kan du tjene og udvikle kulturen selv (for eksempel ved at skrive en præcis indføring i hvordan man bliver hacker :-)). Det er ikke noget, som du vil være i stand til at gøre, før du har været med i et stykke tid, og er blevet kendt for en eller flere af de fire første ting.

Hacker-kulturen har ikke nogen ledere, men den har kulturelle helte, stamme-ældste, historikere og talsmænd. Når du har været i skyttegravene tilstrækkeligt længe, bliver du måske en af disse. Pas på: hackere mistror højrøstede stamme-ældste, så at gå åbenlyst efter denne slags berømmelse er farligt. Hellere end at stræbe efter det, er du nødt til at placere dig, så det kommer dumpende ned i skødet på dig, og dernæst at være beskeden og taknemmelig for din status.

Sammenhængen mellem hackere og nørder

I modsætning til hvad mange tror, er det ikke nødvendigt at være nørd for at være hacker. Det hjælper dog, og mange hackere er faktisk nørder. Det at være et socialt udskud hjælper dig til at forblive fokuseret på de virkeligt vigtige ting, som at tænke og at hacke.

Af denne grund har mange hackere taget betegnelsen 'nørd' til sig, og bruger endda den endnu barskere betegnelse 'geek' med stolthed -- det er en måde at vise uafhængighed fra normale sociale forventninger. Se The Geek Page for en uddybende diskussion.

Det er fint, hvis du kan præstere at koncentrere dig længe nok om hacking til at blive god, og stadig leve et normalt liv ved siden af. Det er en del nemmere i dag, end det var, da jeg var nybegynder tilbage i 1970'erne; mainstream kulturen er meget mere imødekommende overfor tekno-nørder nu. Der er endda et voksende antal mennesker, der indser, at hackere ofte er et rigtigt godt emne som elsker og samlever.

Hvis du er tiltrukket af hacking, fordi du ikke har et liv, er det også i orden -- du vil i det mindste ikke få svært ved at koncentrere dig. Måske vil du få et liv senere.

Point for stil

Endnu engang, for at blive hacker skal du tænke som en hacker. Der er noget, du kan gøre, som hjælper, når du ikke sidder foran computeren. Det er ikke alternativer til hacking (de findes ikke), men mange hackere gør det, og føler at de på en grundlæggende måde hænger sammen med essensen af at hacke.

Jo mere af dette du allerede gør, jo mere sandsynligt er det, at du er naturligt hacker-materiale. Hvorfor specielt dette er ikke helt klart, men det har at gøre med en blanding af evner, der anvender både højre og venstre hjernehalvdel (hackere skal både kunne ræsonnere logisk og kunne træde uden for den tilsyneladende logik i et problem med øjebliks varsel).

Arbejd så intenst, som du leger, og leg så intenst, som du arbejder. For ægte hackere har grænserne mellem "leg", "arbejde", "videnskab" og "kunst" en tendens til at forsvinde eller til at smelte sammen til en kreativ munterhed på højt plan. Vær heller ikke tilfreds med et snævert antal færdigheder. Selv om de fleste hackere kalder sig programmører, så er de med høj sandsynlighed mere end kompetente inden for adskillige relaterede færdigheder -- systemadministration, webdesign og fejlfinding på PC-hardware er almindelige færdigheder. En hacker, der er systemadministrator, er på den anden side sandsynligvis ganske dygtig til scriptprogrammering og webdesign. Hackere gør ikke ting halvt; hvis de overhovedet investerer i en færdighed, så har de tendens til at være ret gode til det.

Til slut noget, man ikke skal gøre:

Du vil kun få dårligt omdømme af dette. Hackere husker godt -- det kan tage år at blive accepteret efter sådan noget.

Problemet med bruger- eller kaldenavne fortjener at gøres tydeligere. Det er et barnagtigt og dumt karaktertræk ved crackers, warez d00dz og andre lavere livsformer, at de skjuler deres identitet bag et kaldenavn. Det gør hackere ikke; de er stolt af, hvad de gør og vil have det forbundet med deres rigtige navne. Så hvis du har et kaldenavn, så drop det. I hackerkulturen vil det kun identificere dig som en taber.

Andre ressourcer

Peter Seebach vedligeholder den fremragende Hacker FAQ for ledere, der ikke ved, hvordan de skal forholde sig til hackere.

Der er et dokument kaldet How To Be A Programmer, der er et fremragende supplement til dette. Det indeholder værdifulle råd ikke bare om at kode og om færdigheder men også om, hvordan man fungerer i et prorammeringsteam.

Jeg har også skrevet A Brief History Of Hackerdom.

Jeg har skrevet en artikel, The Cathedral and the Bazaar, som forklarer meget om, hvordan Linux og open-source kulturerne fungerer. Jeg har beskrevet dette emne endnu mere direkte i efterfølgeren Homesteading the Noosphere.

Rick Moon har skrevet et fremragende dokument om, how to run a Linux user group.

Rick Moon og jeg har samarbejdet om et andet dokument, How To Ask Smart Questions. Det vil hjælpe dig søge assistance på en måde, så du faktisk får den.

Hvis du har brug for grundlæggende instruktion i personlige computere, Unix og hvordan Internet fungerer, kan du se The Unix and Internet Fundamentals HOWTO.

Når du frigiver software eller skrive fejrettelser, så prøve at følge retningslinjerne i Software Release Practice HOWTO.

Hvis du holdt at Zen-digtet, vil du måske også synes om Rootless Root: The Unix Koans of Master Foo.

Ofte stillede spørgsmål

Q:. Vil du lære mig at hacke?
Q:. Hvordan starter jeg så?
Q:. Hvornår skal man starte? Er det for sent for mig at lære?
Q:. Hvor lang tid vil det tage mig at lære at hacke?
Q:. Er Visual Basic eller C# gode sprog at starte med?
Q:. Vil du hjælpe mig med at cracke et system, eller lære mig at cracke?
Q:. Hvordan får jeg fat i en andens password?
Q:. Hvordan bryder jeg ind i/læser/overvåger en andens email?
Q:. Hvordan kan jeg stjæle channel op privileges på IRC?
Q:. Jeg er blevet cracked. Vil du hjælpe mig med at forhindre yderligere angreb?
Q:. Jeg har problemer med mit Windows-software. Vil du hjælpe mig?
Q:. Hvor kan jeg finde rigtige hackere at tale med?
Q:. Kan du anbefale brugbare bøger om hacking-relaterede emner?
Q:. Behøver jeg at være god til matematik for blive hacker?
Q:. Hvilket sprog skal jeg lære først?
Q:. Hvilken slags hardware har jeg brug for?
Q:. Jeg vil gerne bidrage. Kan du hjælpe mig med at finde et problem at arbejde med?
Q:. Behøver jeg hade og nedgøre Microsoft?
Q:. Men vil open-source-software ikke gøre programmører ude af stand til at tjene nok penge?
Q:. Hvordan får jeg startet? Hvor kan jeg få en fri Unix?

Q:. Vil du lære mig at hacke?

A:. Siden denne side første gang blev offentliggjort, har jeg fået adskillige ugentlige (ofte daglige) forespørgsler fra folk om at "lære mig alt om at hacke". Uheldigvis har jeg hverken tiden eller energien til at gøre det; mine hacker-projekter og rejseriet som fortaler for open-source tager 110% af min tid.

Selv hvis jeg havde, så er hacking en holdning og evner, som du i grunden skal lære dig self. Du vil opdage, at selv om rigtige hackere vil hjælpe dig, så vil de ikke respektere dig, hvis du ber om at få alt, hvad de ved, ind med ske.

Lær nogle ting først. Vis, at du prøver, at du er i stand til at lære selv. Så kan du gå til hackerne med specifikke spørgsmål.

Hvis du skriver til en hacker efter råd, så er der to ting, du skal vide i forvejen. For det første har vi opdaget, at folk, der er dovne eller sløsede med deres sprog, sædvanligvis er for dovne og sløsede i deres tænkning til at blive gode hackere -- så gør dig umage med at stave korrekt, og hav god grammatik og tegnsætning, ellers vil du sikkert blive ignoreret. For det andet vov ikke at be om et svar til en konto hos internetudbyder, der er forskellig fra den, som du sender fra; som regel er det tyve med stjålne konti, som gør det, og vi har ingen interesse i at belønne eller assistere med tyveri.

Q:. Hvordan starter jeg så?

A:. Den bedste måde at starte vil formentlig være at gå til et LUG-møde (Linux User Group == Linux bruger gruppe). Du kan finde sådanne grupper på LDP General Linux Information Page; der er sikkert en tæt på dig, måske i tilknytning til et universitet. LUG-medlemmer vil sikkert give dig en Linux-distribution, hvis du spørger, og de vil sikkert hjælpe dig med at installere og komme i gang.

Q:. Hvornår skal man starte? Er det for sent for mig at lære?

A:. Enhver alder, hvor du er motiveret, er et godt tidspunkt at starte. Det ser ud til, at de fleste bliver interesseret i alderen 15 til 20, men jeg kender til undtagelser i begge retninger.

Q:. Hvor lang tid vil det tage mig at lære at hacke?

A:. Det afhænger af, hvor talentfuld du er, og hvor hårdt, du arbejder på det. De fleste mennesker kan tilegne sig et respektabelt sæt af evner på 18 til 24 måneder, hvis de koncentrerer sig. Tro dog ikke, at det slutter her; hvis du er en rigtig hacker, vil du bruge resten af dit liv på at lære og fuldende dig fag.

Q:. Er Visual Basic eller C# gode sprog at starte med?

A:. Hvis du stiller dette spørgsmål, betyder det næsten med sikkerhed, at du tænker på at prøve at hacke med Microsoft Windows. Det er en dårlig idé i sig selv. Det var ikke for sjov, når jeg sammenlignede det at prøve at lære at hacke med Windows med at danse indkapslet i gips. Lad være at prøve det. Det er grimt, og det holder aldrig op med at være grimt.

Der er specifikke problemer med Visual Basic og C#; hovedsagelig, at de ikke kan porteres. Selv om det er prototyper af open-source-implementationer af disse sprog, er de anvendelige ECMA-standarder dækker ikke mere end en lille del af deres programmeringsinterface. På Windows er understøttelse de fleste biblioteker proprietære og ejet af en sælger (Microsoft); hvis du ikke er ekstremt forsigtig med de funktionaliteter, du bruger, (mere forsigtig end nogen nybegynder er i stand til at være) vil du ende op med at være låst til netop de platforme, Microsoft vælger at supportere. Hvis du starter på en Unix, er der meget bedre sprog med meget bedre biblioteker tilgængelige.

Visual basic er særlig grimt. Som andre versioner af Basic er det et dårligt designet sprog, der vil give dig dårlige programmeringsvaner. Nej, bed mig ikke om at beskrive dem i detaljer; den forklaring vil fylde en bog. Lær et veldesignet sprog i stedet for.

En af disse dårlige vaner er at blive afhængig af en enkelt sælgers biblioteker, widgets og udviklingsværktøjer. Generelt er ethvert sprog, der ikke er fuldt supporteret på mindst Linux eller en af BSD'erne og/eller mindst tre forskellige sælgeres operativsystemer, et dårligt sprog at lære at hacke med.

Q:. Vil du hjælpe mig med at cracke et system, eller lære mig at cracke?

A:. Nej. Enhver, der kan stadig kan stille dette spørgsmål efter at have læst denne FAQ, er enten for dum til at kunne lære, selv hvis jeg havde tid til at undervise. Enhver emailforespørgsel af denne art vil blive ignoreret eller besvaret med ekstrem uhflighed.

Q:. Hvordan får jeg fat i en andens password?

A:. Det er cracking. Forsvind, idiot.

Q:. Hvordan bryder jeg ind i/læser/overvåger en andens email?

A:. Det er cracking. Forsvind, tåbe.

Q:. Hvordan kan jeg stjæle channel op privileges på IRC?

A:. Det er cracking. Vig bort, åndspygmæ.

Q:. Jeg er blevet cracket. Vil du hjælpe mig med at forhindre yderligere angreb?

A:. Nej. Hver gang jeg hidtil er blevet stillet dette spørgsmål, har det været fra en stakkels klovn, der kørte Microsoft Windows. Det er ikke muligt at sikre Windows-systemer effektivt mod crackerforsøg; koden og arkitekturen har simpelthen for mange fejl, hvilket svarer til at lænse en båd med en sigte. Den eneste pålidelige forebyggelse starter med at skifte til Linux eller et operativsystem, der er designet til i det mindste at have sikkerhed.

Q:. Jeg har problemer med mit Windows-software. Vil du hjælpe mig?

A:. Ja. Gå til en DOS-prompt og tast format. Ethvert problem, du har haft, vil forsvinde inden for et par minutter.

Q:. Hvor kan jeg finde rigtige hackere at tale med?

A:. Den bedste måde at finde en Unix- eller Linux-brugergruppe i nærheden af dig og gå til deres møder (du kan finde links til adskillige lister med brugergruppe på LDP website på ibiblio).

(Jeg plejede at sige, at du ikke fandt nogen hackere på IRC, men jeg forstår, at det er ved at ændre sig. Tilsyneladende har nogen rigtige hackermiljøer omkring fx GIMP og Perl IRC-kanaler nu.)

Q:. Kan du anbefale brugbare bøger om hacking-relaterede emner?

A:. Jeg vedligeholder en Linux Reading List HOWTO, som du måske vil finde anvendelig. Loginataka vil måske også være interressant.

Se introductory materials på Python websitet, hvis du ønsker introduktion til Python.

Q:. Behøver jeg at være god til matematik for blive hacker?

A:. Nej. Selv om du har brug for at tænke logisk og følge kæder af ræsonnementer, brugere hackere meget lidt formel matematik eller regning.

I særdeleshed har du ikke behov for trigonometri, integralregning eller matematisk analyse (den slags overlader vi til elektroingeniørerne :-)). Et fundament inden for anvendt matematik (inklusiv boolsk algebra, mængdelære, kombinatorik og grafteori kan være anvendeligt.

Q:. Hvilket sprog skal jeg lære først?

A:. XHTML (den seneste version af HTML) hvis du ikke allerede kender det. Der eksisterer en masse glittede, stærkt opreklamerede, dårlige HTML-bøger og bekymrende få gode. Den, som jeg ynes bedst om, er HTML: The Definitive Guide.

Men HTML er ikke et fuldt programmeringssprog. Når du er klar til at begynde på progammering, vil jeg anbefale at starte med Python. Du vil høre mange anbefale Perl, og Perl er stadig mere populært end Python, men det er sværere at lære og (efter min mening) mindre godt designet.

C er virkelig vigtigt, men det er også meget sværere end både Python og Perl. Prøv ikke på at lære det først.

Windows-brugere bør ikke slå sig til tåls med Visual Basic. Det vil give dig dårlige vaner, og det kan ikke porteres væk fra Windows. Undgå det.

Q:. Hvilken slags hardware har jeg brug for? A:. Tidligere var personlige computere ikke ret kraftige og havde ikke nok hukommelse, og det satte kunstige grænser for en hackers læreproces. Det er ikke længere sandt; enhver maskine fra 486DX50 og op er mere end kraftfuld nok til udviklingsarbejde, X og Internetkommunikation, og de mindste diske, du kan købe i dag, er rigeligt store nok.

Det vigtige ved at vælge en maskine at lære på er, om dens hardware er Linux-kompatibelt (ellers BSD-kompatibelt, hvis du skulle vælge den vej). Igen, det vil gælde for de fleste maskiner. Det eneste rigtigt vanskelige område er modemmer; nogle maskiner har Windows-specifik hardware, der ikke kan virke med Linux.

Der findes en FAQ om hardware-kompatibilitet; den seneste version er her.

Q:. Jeg vil gerne bidrage. Kan du hjælpe mig med at finde et problem at arbejde med?

A:. , Nej, fordi jeg kender ikke til dine talenter eller interesser. Du må være selvmotiverende, ellers holder du ikke ud. Derfor duer det næsten aldrig at få andre til at vælge din retning.

Prøv dette. Følg annonceringen af projekter på Freshmeat et par dage. Når du set et, der får dig til at tænke "Cool! Det kunne jeg godt tænke mig at arbejde med", så deltag.

Q:. Behøver jeg hade og nedgøre Microsoft?

A:. Nej, det behøver du ikke. Ikke at Microsoft ikke er afskyelig, men der var en hacker-kultur længe før Microsoft, og der vil stadig være en længe efter, Microsoft er historie. Al energi, du bruger på at hade Microsoft, vil være bedre brugt på at elske dit fag. Skriv god kode - det vil nedgøre Microsoft tilstrækkeligt uden at forurene din karma.

Q:. Men vil open-source-software ikke gøre programmører ude af stand til at tjene nok penge?

A:. Det synes usandsynligt - indtil videre synes open-source-industrien at skabe arbejdspladser snarere end at fjerne dem. Hvis det det en økonomisk nettogevinst at have skrevet et program frem for ikke at have skrevet det, vil en programmør blive betal, uanset om programmet vil være open-source, når det er færdigt. Og lige meget hvor meget "fri" software, der bliver skrevet, synes der altid at være behov for nye og specialiserede applikationer. Jeg har skrevet mere om det på open-source-siderne.

Q:. Hvordan får jeg startet? Hvor kan jeg få en fri Unix?

A:. Andetsteds på denne side er der henvisninger til, hvor du kan få den mest brugte, frie Unix. For at blive hacker har du brug for motivation, initiativ og evnen til uddanne dig selv. Start nu...