Å skrive og bruke åpen programvare er ikke bare en form for programmering (aka "hacking" i programmerernes verden), det er en slags filosofi. Selv om du bare trenger å kunne et programmeringsspråk for å kunne programmere, handler denne artikkelen om hvordan du kan bli med i fellesskapet, få venner, samarbeide om flotte prosjekter og bli en respektert spesialist med en profil du ikke kan få andre steder. I en verden av åpen programvare kan du ganske enkelt bli tildelt oppgaver som bare eliten, toppnivåprogrammerere, har lov til å gjøre i et selskap. Bare tenk hvor mye erfaring dette kan gi deg. Men når du først har bestemt deg for å bli en åpen programvareprogrammerer, må du være villig til å investere tid i dette målet. Dette gjelder også dersom du allerede er IT-student. Merk deg, denne artikkelen handler ikke om hvordan du blir en hacker eller cracker.
Trinn
1. Last ned en god Unix-distribusjon. GNU/Linux er en av de mest populære for programmering, men GNU Hurd, BSD, Solaris og (til en viss grad) Mac OS X er også ofte brukt.
2. Lær hvordan du bruker kommandolinjen. Du kan gjøre mye mer med Unix-lignende operativsystemer når du bruker kommandolinjen.
3. Lær noen populære programmeringsspråk til du når et mer eller mindre tilfredsstillende nivå. Ellers kan du ikke bidra med kode (den viktigste delen av et programvareprosjekt) til det åpne programvarefellesskapet. Noen kilder foreslår å starte med to språk samtidig: ett systemspråk (C, Java eller lignende) og et skriptspråk (Python, Ruby, Perl eller lignende).
4. For å være mer produktiv trenger du NetBeans eller et lignende integrert utviklingsmiljø.
5. Lær hvordan du bruker en avansert editor, for eksempel vi eller Emacs. De har en høyere læringskurve, men du kan gjøre mye mer med dem.
6. Lær mer om versjonskontroll. Versjonskontroll er sannsynligvis det viktigste verktøyet for felles programvareutviklingssamarbeid. Forstå oppretting og bruk av oppdateringer. Mest åpen programvareutvikling i samfunnet gjøres gjennom å lage, diskutere og bruke ulike patcher.
7. Finn et passende lite åpent programvareprosjekt som du enkelt kan bli med på for å få erfaring. De fleste slike prosjekter finnes på SourceForge i disse dager.bare. Et passende prosjekt bør:
Bruk programmeringsspråket du kjenner.Vær aktiv, med nylige utgivelser.Allerede å bestå av tre til fem utviklere.å bruke versjonskontroll.Ha en del du kan begynne å jobbe med med en gang, uten å måtte endre den eksisterende koden for mye.I tillegg til koden har et godt prosjekt også aktive diskusjonslister, feilrapporter, mottar og implementerer forbedringsforespørsler og lignende aktiviteter.8. Kontakt administratoren for det valgte prosjektet. I et lite prosjekt med få utviklere, vil din hjelp vanligvis bli akseptert umiddelbart.
9. Les reglene for prosjektet nøye og følg dem mer eller mindre. Du kan finne reglene for programmeringsstil eller behovet for å dokumentere endringene dine i en egen tekstfil til å begynne med. Men formålet med disse reglene er å muliggjøre delt arbeid - og de fleste prosjekter jobber med det.
10. Arbeid med dette prosjektet i flere måneder. Lytt nøye til hva administratoren og andre prosjektmedlemmer har å si. Foruten programmering har du mye å lære. Men hvis du virkelig ikke liker noe, bare stopp og gå videre til et annet prosjekt.
11. Ikke dvel for lenge i undergrunnsprosjektet. Når du finner ut at du kan jobbe med suksess i det teamet, er det på tide å se etter noe mer seriøst.
12. Finn en seriøs åpen programvare på høyt nivå eller åpen kildekode-prosjekt. De fleste slike prosjekter eies av GNU- eller Apache-organisasjoner.
1. 3. Fordi vi tar et alvorlig sprang her, må du ta hensyn til en mye mindre varm mottakelse. Du vil sannsynligvis bli bedt om å kjøre uten direkte skrivetilgang til kodelageret for første gang. Det forrige undergrunnsprosjektet burde imidlertid ha lært deg mye -- så etter noen måneder med å være produktiv, kan du kreve rettighetene du tror du burde ha.
14. Ta på deg en seriøs oppgave og grei den. Det er på tide. Ikke vær redd. Fortsett selv om du synes oppgaven er mye vanskeligere enn du først trodde – i dette trinnet er det viktig å ikke gi opp.
15. Hvis du kan, søk på Googles "Sommer av kode" for å spare penger på dette eventyret. Men ikke bekymre deg hvis søknaden ikke blir akseptert fordi de har mye mindre finansierte stillinger enn det er virkelig gode programmerere.
16. Finn en passende konferanse som skjer i nærheten ("Linux-dager" eller noe lignende) og prøv å presentere prosjektet ditt der (hele prosjektet, og ikke bare delen du programmerer). Etter at du har fortalt dem at du representerer et seriøst gratis/open source-prosjekt, vil arrangørene ofte frigjøre deg fra konferanseavgiften (hvis ikke, vil konferansen sannsynligvis være uegnet uansett). Ta med din Linux-laptop (hvis du har en) og vis noen demoer. Spør prosjektlederen om materialene du kan bruke til å forberede presentasjonen eller plakaten.
17. Søk på Internett etter kunngjøringer om en installasjonshendelse i nærheten og prøv å delta som bruker først (merk alle problemene som oppstår og hvordan hackere løser dem) og neste gang tilby å installere programmer.
18. Fullfør oppgaven, sjekk arbeidet ditt med automatiske tester og bidra til prosjektet. Du er ferdig! Bare for å være sikker, prøv å møte noen av programmererne på prosjektet personlig og få en øl til resultatet sammen.
19. For en bedre forståelse, se på et ekte eksempel på utviklingshistorien til et åpent programvareprosjekt (over). Hver stigende kurve representerer et bidrag (kodelinjer) fra en enkelt utvikler. Utviklere har en tendens til å bli mindre aktive med alderen, men prosjektet blir ofte raskere selv om nye folk blir med. Så hvis du kommer med noen nyttige ferdigheter i lomma, er det ingen grunn til at teamet ikke skal invitere deg.
Tips
Før du stiller et spørsmål om det praktiske ved prosjektet, bør du søke etter svaret i prosjektdokumentasjonen og postlistearkivene.Fortsett alltid å prøve å fullføre programmeringen du startet. Kan ikke bygge, kan ikke kjøre, systemet krasjer? eh er årsaker til alt, og hvis du har kildekoden, betyr det vanligvis at du har systemet vi vil tvinge deg til å gjøre hva du vil, spesielt ved hjelp av noen online undersøkelser. Denne regelen har selvfølgelig grenser, men det er viktig å aldri gi opp for lett.Bare kall deg en programmerer (eller hacker) etter å ha blitt anerkjent som sådan av noen av det virkelige hackermiljøet.I begynnelsen velger du en klasse, modul eller annen enhet som ingen jobber veldig aktivt med for øyeblikket. Å jobbe sammen i samme klasse eller til og med en stilling krever mer dyktighet og omsorg fra alle kanter.Arbeidsgivere til noen hackere/programmerere virker motiverte nok til å tillate bidrag i arbeidstiden (vanligvis fordi institusjonen bruker gratis/åpen kildekode-programmet programmereren utvikler). Tenk, kanskje du kan få i det minste noe av tiden som trengs på denne måten.Hvis du fortsatt ikke føler deg trygg nok på deg selv, ta utgangspunkt i en del av koden du tror mangler og kan skrives fra bunnen av. Endringer i eksisterende kode vil bli kritisert mye raskere.Advarsler
- Hackerstatusen din i fellesskapsprosjektet reflekterer nåtiden din mer enn fortiden din. Ønsker du en anbefaling eller lignende fra prosjektlederen, spør om du fortsatt bidrar aktivt.
- Ikke gå inn på mindre kodeoptimaliseringer, ekstra kommentarer, forbedringer av kodestil og andre lignende "småskala" ting. Dette kan møte mye mer kritikk enn et seriøst bidrag. I stedet kan du inkludere disse endringene i en enkelt "opprydding"-lapp.
- Hvis du planlegger å møte de åpne programvarehackerne personlig, la den bærbare Windows-datamaskinen være hjemme. Mac OS er litt mer tolerert, men egentlig ikke velkommen heller. Hvis du tar med den bærbare datamaskinen, må den kjøre Linux eller et annet operativsystem de anser som "åpen programvare".
- Hvis e-postklienten din støtter HTML-meldinger, bør du deaktivere denne funksjonen. Legg aldri ved dokumenter som bare kommersiell programvare (som Microsoft Word) kan åpne ordentlig. Hackere anser dette som støtende.
- Ikke meld deg frivillig til bedriftsprosjekter hvis kode ikke er dekket av en godkjent åpen kildekode lisens fall. I slike tilfeller vil de virkelig viktige delene av prosjektet sannsynligvis forbli bak lukkede dører fra eieren, noe som hindrer deg i å lære noe nyttig.
- Unngå spørsmål om grunnleggende programmering eller programmeringsverktøy. Tiden til en åpen programvareprogrammerer er verdifull. Diskuter i stedet det grunnleggende om programmering i grupper for amatører eller nybegynnere.
- Etablerte og svært vellykkede prosjekter kan ha skriftlige eller uskrevne retningslinjer om aldri å betale for arbeidet ditt (ingen penger, ingen evne til å markedsføre deg selv, ingen forhøyet status uavhengig av ditt bidrag, etc. -- se : Do_not_expect_reward Wikipedia). Hvis du ikke kan være enig i dette, hold deg til mer vanlige prosjekter som ikke har råd til en slik holdning.
- Ikke ta fatt på et eget prosjekt med mindre du alltid ønsker å tilbringe stolt ensomhet. Av samme grunn bør du ikke ta fatt på et forsøk på å gjenopplive et allerede forlatt prosjekt som det forrige teamet allerede har tapt.
- Ved et uformelt møte om prosjektet hvor du aldri har bidratt med noen kode, vil du få den ubehagelige følelsen av å bli fullstendig ignorert. Ikke bekymre deg, noen hackere kan bli gode venner senere, etter at du har fortjent deres respekt med din egen kode.
- Store åpne programvareprosjekter, spesielt de rundt GNU-domenet, behandler ikke jobben din som din personlige virksomhet. Etter at du har fått jobben i et programvarerelatert selskap, ber de arbeidsgiveren din om visse avtaler [1] å signere, som selskapet vil eller ikke vil signere. Dette kan tvinge deg til å velge et prosjekt med mindre strenge krav.
Nødvendigheter
- Linux. Mange åpne programvareprosjekter er mer kompliserte å bygge under Windows, eller er ikke bygget riktig i det hele tatt. Dette gjelder spesielt for avanserte prosjekter, dedikert til programmering av mobiltelefoner, USB-nøkler og andre enheter.
- En datamaskin med relativt god internettforbindelse. Hvis du vil dobbeltoppstarte med Windows, kan en ekstra harddisk eller partisjon for Linux være en god løsning.
- Grunnleggende kunnskap om minst ett programmeringsspråk og en sterk intensjon om å lære mer. De mest populære språkene ser for tiden ut C og være Java.
- En betydelig mengde tid, minst fem timer i uken (en typisk hardcore programmerer bidrar med så mange som 14 timer).
- Selv om formell IT-utdanning vil gjøre veien mye enklere, er dette ikke et obligatorisk krav, og ingen ekte hackersamfunn vil noen gang spørre deg om det. Programmerere/hackere dømmer hverandre etter noens programmering, ikke falske kriterier som karakterer, alder, rase eller posisjon. Husk at minst 60 % av open source-hackerne som vurderer patchene dine har den `riktige` høyskolegraden og vil ikke la dritten din bidra til prosjektet.
- Under de siste trinnene (konferanse og `installasjonsfest`) kan du dra nytte av din egen bærbare datamaskin. Men det er ikke bra å jobbe med det hjemme, så kjøp kun en hvis du har råd til den andre maskinen.
- Den beskrevne veien til å bli en "hacker" av åpen kildekode tar minst to år å fullføre.
Artikler om emnet "Å bli programmerer av åpen programvare"