At skrive og bruge åben software er ikke bare en form for programmering (alias `hacking` i programmørernes verden), det er en slags filosofi. Selvom du kun behøver at kende et programmeringssprog for at kunne programmere, handler denne artikel om, hvordan du kan slutte dig til fællesskabet, få venner, samarbejde om fantastiske projekter og blive en respekteret specialist med en profil, du ikke kan få andre steder. I en verden af åben software kan du ganske nemt få tildelt opgaver, som kun eliten, topprogrammører, må udføre i en virksomhed. Tænk bare på, hvor meget erfaring dette kan give dig. Men når du først har besluttet dig for at blive en åben softwareprogrammør, så skal du være villig til at investere tid i dette mål. Det gælder også, hvis du allerede er IT-studerende. Husk at denne artikel ikke handler om, hvordan man bliver en hacker eller cracker.
Trin
1. Download en god Unix-distribution. GNU/Linux er en af de mest populære til programmering, men GNU Hurd, BSD, Solaris og (til en vis grad) Mac OS X er også almindeligt anvendte.
2. Lær, hvordan du bruger kommandolinjen. Du kan gøre meget mere med Unix-lignende operativsystemer, når du bruger kommandolinjen.
3. Lær nogle populære programmeringssprog, indtil du når et mere eller mindre tilfredsstillende niveau. Ellers kan du ikke bidrage med kode (den vigtigste del af ethvert softwareprojekt) til det åbne softwarefællesskab. Nogle kilder foreslår at starte med to sprog på én gang: et systemsprog (C, Java eller lignende) og et scriptsprog (Python, Ruby, Perl eller lignende).
4. For at være mere produktiv har du brug for NetBeans eller et lignende integreret udviklingsmiljø.
5. Lær, hvordan du bruger en avanceret editor, såsom vi eller Emacs. De har en højere indlæringskurve, men du kan gøre meget mere med dem.
6. Lær mere om versionskontrol. Versionskontrol er nok det vigtigste værktøj i fælles softwareudviklingssamarbejde. Forstå patch-oprettelse og -applikation. Den mest åbne softwareudvikling i fællesskabet sker gennem oprettelse, diskussion og anvendelse af forskellige patches.
7. Find et passende lille åbent softwareprojekt, som du nemt kan deltage i for at få erfaring. De fleste sådanne projekter kan findes på SourceForge i disse dage.lige. Et passende projekt bør:
Brug det programmeringssprog, du kender.Vær aktiv med de seneste udgivelser.Allerede til at bestå af tre til fem udviklere.at bruge versionskontrol.Har en del, du kan begynde at arbejde på med det samme, uden at skulle ændre den eksisterende kode for meget.Udover koden har et godt projekt også aktive diskussionslister, fejlrapporter, modtager og implementerer forbedringsanmodninger og lignende aktiviteter.8. Kontakt administratoren af det valgte projekt. I et lille projekt med få udviklere vil din hjælp normalt blive accepteret med det samme.
9. Læs projektets regler omhyggeligt og følg dem mere eller mindre. Du finder måske reglerne for programmeringsstil eller behovet for at dokumentere dine ændringer i en separat tekstfil latterligt i starten. Men formålet med disse regler er at muliggøre delt arbejde - og de fleste projekter arbejder med det.
10. Arbejde på dette projekt i flere måneder. Lyt nøje til, hvad administratoren og andre projektmedlemmer har at sige. Udover programmering har du en masse ting at lære. Men hvis du virkelig ikke kan lide noget, skal du bare stoppe og gå videre til et andet projekt.
11. Dvæle ikke for længe i det underjordiske projekt. Når du opdager, at du kan arbejde med succes i det team, er det tid til at lede efter noget mere seriøst.
12. Find en seriøs åben software på højt niveau eller open source-projekt. De fleste sådanne projekter ejes af GNU- eller Apache-organisationer.
13. Fordi vi tager et seriøst spring her, skal du tage højde for en meget mindre varm modtagelse. Du vil sandsynligvis blive bedt om at køre uden direkte skriveadgang til kodelageret for første gang. Det tidligere undergrundsprojekt burde dog have lært dig meget -- så efter et par måneder med at være produktiv, kan du gøre krav på de rettigheder, du synes, du burde have.
14. Påtag dig en seriøs opgave, og find ud af den. Det er tid. Vær ikke bange. Bliv ved, selvom du synes, at opgaven er meget sværere, end du først troede - i dette trin er det vigtigt ikke at give op.
15. Hvis du kan, ansøg til Googles "Sommer af kode" for at spare nogle penge på dette eventyr. Men bare rolig, hvis ansøgningen ikke bliver accepteret, fordi de har meget mindre finansierede stillinger, end der er rigtig gode programmører.
16. Find en passende konference i nærheden ("Linux-dage" eller noget lignende) og prøv at præsentere dit projekt der (hele projektet, og ikke kun den del, du programmerer). Når du har fortalt dem, at du repræsenterer et seriøst gratis/open source-projekt, vil arrangørerne ofte frigøre dig fra konferencegebyret (hvis ikke, vil konferencen sandsynligvis være uegnet alligevel). Medbring din Linux-laptop (hvis du har en) og vis nogle demoer. Spørg projektlederen om de materialer, du kan bruge til at forberede din præsentation eller plakat.
17. Søg på Internettet efter meddelelser om en installationsbegivenhed i nærheden, og prøv først at deltage som bruger (bemærk alle de problemer, der opstår, og hvordan hackere løser dem) og næste gang tilbyde at installere programmer.
18. Fuldfør opgaven, tjek dit arbejde med automatiske test og bidrag til projektet. Du er færdig! For at være sikker, prøv at møde nogle af programmørerne på projektet personligt og få en øl til resultatet sammen.
19. For en bedre forståelse, se på et virkeligt eksempel på udviklingshistorien for et åbent softwareprojekt (ovenfor). Hver stigende kurve repræsenterer et bidrag (kodelinjer) fra en enkelt udvikler. Udviklere har en tendens til at blive mindre aktive med alderen, men projektet accelererer ofte, selvom nye mennesker kommer til. Så hvis du ankommer med nogle nyttige færdigheder i lommen, er der ingen grund til, at holdet ikke skal invitere dig.
Tips
Før du stiller et spørgsmål om projektets praktiske forhold, bør du søge efter svaret i projektdokumentationen og postlistearkiverne.Bliv altid ved med at prøve at afslutte programmeringen, du startede. Kan ikke bygge, kan ikke køre, systemet går ned? eh er grunde til alt, og hvis du har kildekoden, betyder det normalt, at du har systemet godt tvinge dig til at gøre, hvad du vil, især ved hjælp af nogle online research. Denne regel har selvfølgelig grænser, men det er virkelig vigtigt aldrig at give op for let.Kald kun dig selv en programmør (eller hacker) efter at være blevet anerkendt som sådan af nogle af det rigtige hackersamfund.I begyndelsen skal du vælge en klasse, et modul eller en anden enhed, som ingen i øjeblikket arbejder meget aktivt på. At arbejde sammen på samme klasse eller endda en stilling kræver mere dygtighed og omsorg fra alle sider.Arbejdsgivere for nogle hackere/programmører virker motiverede nok til at tillade bidrag i arbejdstiden (normalt fordi institutionen bruger det gratis/open source-program, som programmøren udvikler). Tænk, måske kan du få i det mindste noget af den nødvendige tid på denne måde.Hvis du stadig ikke føler dig sikker nok i dig selv, så tag udgangspunkt i en del af koden, du synes mangler og kan skrives fra bunden. Ændringer af eksisterende kode vil blive kritiseret meget hurtigere.Advarsler
- Din hackerstatus i fællesskabsprojektet afspejler din nutid mere end din fortid. Ønsker du en anbefaling eller lignende fra projektlederen, så spørg, om du stadig bidrager aktivt.
- Gå ikke ind i mindre kodeoptimeringer, ekstra kommentarer, forbedringer af kodningsstil og andre lignende ting i `små skala`. Dette kan møde meget mere kritik end et seriøst bidrag. I stedet kan du inkludere disse ændringer i et enkelt "oprydnings"-plaster.
- Hvis du planlægger at møde de åbne software-hackere personligt, så lad din Windows-laptop blive hjemme. Mac OS er lidt mere tolereret, men heller ikke rigtig velkommen. Hvis du medbringer din bærbare computer, skal den køre Linux eller et andet operativsystem, de betragter som `åben software`.
- Hvis din e-mail-klient understøtter HTML-meddelelser, må du hellere deaktivere denne funktion. Vedhæft aldrig dokumenter, som kun kommerciel software (såsom Microsoft Word) kan åbne korrekt. Hackere anser dette for stødende.
- Meld dig ikke frivilligt til nogen virksomhedsprojekter, hvis kode ikke er dækket af en godkendt open source-licens falder. I sådanne tilfælde vil de virkelig vigtige dele af projektet sandsynligvis forblive bag lukkede døre fra ejeren, hvilket forhindrer dig i at lære noget nyttigt.
- Undgå spørgsmål om grundlæggende programmering eller programmeringsværktøjer. Tiden for en åben softwareprogrammør er værdifuld. Diskuter i stedet det grundlæggende i programmering i grupper for amatører eller begyndere programmører.
- Etablerede og meget succesfulde projekter kan have skrevet eller uskrevne politikker om aldrig at betale for dit arbejde (ingen penge, ingen evne til at promovere dig selv, ingen forhøjet status uanset dit bidrag osv. -- se : Don_not_expect_reward Wikipedia). Hvis du ikke er enig i dette, så hold dig til mere mainstream-projekter, der ikke har råd til sådan en holdning.
- Gå ikke i gang med dit eget projekt, medmindre du altid ønsker at tilbringe stolt ensomhed. Af samme grund bør du ikke gå i gang med et forsøg på at genoplive et allerede forladt projekt, som dets tidligere team allerede har mistet.
- I tilfælde af et uformelt møde om projektet, hvor du aldrig har bidraget med nogen kode, vil du have den ubehagelige følelse af at blive fuldstændig ignoreret. Bare rolig, nogle hackere kan blive gode venner senere, efter at du har opnået deres respekt med din egen kode.
- Store åbne softwareprojekter, især dem omkring GNU-domænet, behandler ikke dit job som din personlige virksomhed. Når du har fået jobbet i en softwarerelateret virksomhed, beder de din arbejdsgiver om visse aftaler [1] at underskrive, som virksomheden vil eller ikke vil underskrive. Dette kan tvinge dig til at vælge et projekt med mindre strenge krav.
Fornødenheder
- Linux. Mange åbne softwareprojekter er mere komplicerede at bygge under Windows, eller de er slet ikke bygget korrekt. Dette gælder især for avancerede projekter, dedikeret til programmering af mobiltelefoner, USB-nøgler og andre enheder.
- En computer med en forholdsvis god internetforbindelse. Hvis du vil dual boot med Windows, kan en anden harddisk eller partition til Linux være en god løsning.
- Grundlæggende kendskab til mindst ét programmeringssprog og en stærk intention om at lære mere. De mest populære sprog synes i øjeblikket C og være Java.
- En betydelig mængde tid, mindst fem timer om ugen (en typisk hardcore programmør bidrager med så mange som 14 timer).
- Selvom formel it-uddannelse vil gøre din vej meget nemmere, er dette ikke et obligatorisk krav, og ingen rigtig hacker-fællesskab vil nogensinde spørge dig om det. Programmører/hackere dømmer hinanden ud fra en persons programmering, ikke falske kriterier som karakterer, alder, race eller position. Husk, at mindst 60 % af de open source-hackere, der gennemgår dine patches, har den `korrekte` universitetsgrad og vil ikke tillade dit lort at bidrage til projektet.
- Under de sidste trin (konference og `installationsfest`) kan du drage fordel af din egen bærbare computer. Men det er ikke godt at arbejde på det derhjemme, så køb kun én, hvis du har råd til den anden maskine.
- Den beskrevne vej til at blive en open source software `hacker` tager mindst to år at gennemføre.
Artikler om emnet "At blive programmør af åben software"