Att bli programmerare av öppen programvara

Att skriva och använda öppen programvara är inte bara en form av programmering (aka "hacking" i programmerarnas värld), det är en slags filosofi. Även om du bara behöver kunna ett programmeringsspråk för att kunna programmera, handlar den här artikeln om hur du kan gå med i gemenskapen, få vänner, samarbeta i fantastiska projekt och bli en respekterad specialist med en profil du inte kan få någon annanstans. I en värld av öppen mjukvara kan du ganska enkelt tilldelas uppgifter som bara eliten, programmerare på toppnivå, får göra i ett företag. Tänk bara på hur mycket erfarenhet detta kan ge dig. Men när du väl har bestämt dig för att bli en öppen mjukvaruprogrammerare måste du vara villig att investera tid i detta mål. Detta gäller även om du redan är IT-student. Tänk på att den här artikeln inte handlar om hur man blir en hacker eller cracker.

Steg

Bild med titeln Bli en fri programvara hackare Steg 1
1. Ladda ner en bra Unix-distribution. GNU/Linux är en av de mest populära för programmering, men GNU Hurd, BSD, Solaris och (till viss del) Mac OS X används också ofta.
Bild med titeln Bli en fri programvara hackare Steg 2
2. Lär dig hur du använder kommandoraden. Du kan göra mycket mer med Unix-liknande operativsystem när du använder kommandoraden.
Bild med titeln Bli en fri programvara hackare Steg 3
3. Lär dig några populära programmeringsspråk tills du når en mer eller mindre tillfredsställande nivå. Annars kan du inte bidra med kod (den viktigaste delen av något programvaruprojekt) till den öppna programvarugemenskapen. Vissa källor föreslår att man börjar med två språk samtidigt: ett systemspråk (C, Java eller liknande) och ett skriptspråk (Python, Ruby, Perl eller liknande).
Bild med titeln Bli en fri programvara hackare Steg 4
4. För att bli mer produktiv behöver du NetBeans eller en liknande integrerad utvecklingsmiljö.
Bild med titeln Bli en fri programvara hackare Steg 5
5. Lär dig hur du använder en avancerad redigerare, som vi eller Emacs. De har en högre inlärningskurva, men du kan göra mycket mer med dem.
Bild med titeln Bli en fri programvara hackare Steg 6
6. Läs mer om versionskontroll. Versionskontroll är förmodligen det viktigaste verktyget för delat mjukvaruutvecklingssamarbete. Förstå skapande och tillämpning av patchar. Den mesta öppna mjukvaruutvecklingen i samhället sker genom att skapa, diskutera och applicera olika patchar.
Bild med titeln Bli en fri programvara hackare Steg 7
7. Hitta ett passande litet öppet programvaruprojekt som du enkelt kan gå med i för att få erfarenhet. De flesta sådana projekt kan hittas på SourceForge för närvarande.bara. Ett lämpligt projekt bör:
  • Använd det programmeringsspråk du känner till.
  • Var aktiv med de senaste släppen.
  • Redan att bestå av tre till fem utvecklare.
  • för att använda versionskontroll.
  • Ha en del du kan börja jobba på direkt, utan att behöva ändra den befintliga koden för mycket.
  • Utöver koden har ett bra projekt även aktiva diskussionslistor, felrapporter, får och implementerar förbättringsförfrågningar och liknande aktiviteter.
    Bild med titeln Bli en fri programvara hackare Steg 8
    8. Kontakta administratören för det valda projektet. I ett litet projekt med få utvecklare kommer din hjälp vanligtvis att accepteras omedelbart.
    Bild med titeln Bli en fri programvara hackare Steg 9
    9. Läs igenom projektets regler noggrant och följ dem mer eller mindre. Du kan till en början tycka att reglerna för programmeringsstil eller behovet av att dokumentera dina ändringar i en separat textfil är löjliga. Syftet med dessa regler är dock att möjliggöra delat arbete - och de flesta projekt arbetar med det.
    Bild med titeln Bli en Free Software Hacker Steg 10
    10. Arbeta med detta projekt i flera månader. Lyssna noga på vad administratören och andra projektmedlemmar har att säga. Förutom programmering har du mycket att lära dig. Men om du verkligen inte gillar något, sluta bara och gå vidare till ett annat projekt.
    Bild med titeln Bli en fri programvara hackare Steg 11
    11. Dröja inte för länge i det underjordiska projektet. När du upptäcker att du kan arbeta framgångsrikt i det teamet är det dags att leta efter något mer seriöst.
    Bild med titeln Bli en fri programvara hackare Steg 12
    12. Hitta en seriös öppen programvara på hög nivå eller ett projekt med öppen källkod. De flesta sådana projekt ägs av GNU- eller Apache-organisationer.
    Bild med titeln Bli en fri programvara hackare Steg 13
    13. Eftersom vi tar ett seriöst kliv här måste man ta hänsyn till ett mycket mindre varmt mottagande. Du kommer förmodligen att bli ombedd att köra utan direkt skrivåtkomst till kodförrådet för första gången. Men det tidigare underjordiska projektet borde ha lärt dig mycket -- så efter några månader av att vara produktiv kan du göra anspråk på de rättigheter du tycker att du borde ha.
    Bild med titeln Bli en fri programvara hackare Steg 14
    14. Ta dig an en seriös uppgift och lös den. Det är dags. Var inte rädd. Fortsätt även om du tycker att uppgiften är mycket svårare än du först trodde - i det här steget är det viktigt att inte ge upp.
    Bild med titeln Bli en fri programvara hackare Steg 15
    15. Om du kan, ansök till Googles "Kodens sommar" för att spara lite pengar på detta äventyr. Men oroa dig inte om ansökan inte accepteras eftersom de har mycket mindre finansierade tjänster än det finns riktigt bra programmerare.
    Bild med titeln Bli en fri programvara hackare Steg 16
    16. Hitta en lämplig konferens som pågår i närheten ("Linux-dagar" eller något liknande) och försök presentera ditt projekt där (hela projektet, och inte bara den del du programmerar). När du har berättat för dem att du representerar ett seriöst projekt med gratis/öppen källkod, kommer arrangörerna ofta att befria dig från konferensavgiften (om inte kommer konferensen troligen att vara olämplig ändå). Ta med din bärbara Linux-dator (om du har en) och visa några demos. Fråga projektledaren om det material du kan använda för att förbereda din presentation eller affisch.
    Bild med titeln Bli en fri programvara hackare Steg 17
    17. Sök på Internet efter meddelanden om en installationshändelse i närheten och försök att delta som användare först (notera alla problem som uppstår och hur hackare löser dem) och nästa gång erbjud dig att installera program.
    Bild med titeln Bli en fri programvara hackare Steg 18
    18. Slutför uppgiften, kontrollera ditt arbete med automatiska tester och bidra till projektet. Du är färdig! Bara för att vara säker, försök att träffa några av programmerarna på projektet personligen och ta en öl till resultatet tillsammans.
    Bild med titeln Bli en fri programvara hackare Steg 19
    19. För en bättre förståelse, titta på ett verkligt exempel på utvecklingshistoriken för ett öppet programvaruprojekt (ovan). Varje stigande kurva representerar ett bidrag (kodrader) från en enda utvecklare. Utvecklare tenderar att bli mindre aktiva med åldern, men projektet går ofta snabbare även när nya människor ansluter sig. Så om du anländer med några användbara färdigheter i fickan, finns det ingen anledning att laget inte ska bjuda in dig.

    Tips

  • Innan du ställer en fråga om det praktiska i projektet bör du leta efter svaret i projektdokumentationen och e-postlistarkivet.
  • Fortsätt alltid att försöka avsluta programmeringen som du påbörjat. Kan inte bygga, kan inte köra, systemet kraschar? eh är orsaker till allt, och om du har källkoden betyder det vanligtvis att du har systemet väl tvinga dig att göra vad du vill, särskilt med hjälp av lite forskning online. Den här regeln har naturligtvis gränser, men det är verkligen viktigt att aldrig ge upp för lätt.
  • Kalla dig själv bara programmerare (eller hackare) efter att ha blivit erkänd som sådan av några av den riktiga hackergemenskapen.
  • Välj i början en klass, modul eller annan enhet som ingen för närvarande arbetar särskilt aktivt med. Att arbeta tillsammans i samma klass eller till och med en position kräver mer skicklighet och omsorg från alla håll.
  • Arbetsgivare för vissa hackare/programmerare verkar motiverade nog att tillåta bidrag under arbetstid (vanligtvis eftersom institutionen använder gratis/öppen källkod som programmeraren utvecklar). Tänk, kanske du kan få åtminstone en del av den tid som behövs på detta sätt.
  • Om du fortfarande inte känner dig tillräckligt säker på dig själv, utgå från någon del av koden du tror saknas och kan skrivas från början. Ändringar av befintlig kod kommer att kritiseras mycket snabbare.
  • Varningar

    • Din hackerstatus inom communityprojektet speglar din nutid mer än ditt förflutna. Om du vill ha en rekommendation eller liknande från projektledaren, fråga om du fortfarande bidrar aktivt.
    • Gå inte in på mindre kodoptimeringar, extra kommentarer, förbättringar av kodningsstil och andra liknande "småskaliga" saker. Detta kan möta mycket mer kritik än ett seriöst bidrag. Istället kan du inkludera dessa förändringar i ett enda "cleanup"-plåster.
    • Om du planerar att träffa de öppna programhackarna personligen, lämna din bärbara Windows-dator hemma. Mac OS är lite mer tolererad, men inte riktigt välkommen heller. Om du tar med din bärbara dator måste den köra Linux eller något annat operativsystem som de anser vara "öppen programvara".
    • Om din e-postklient stöder HTML-meddelanden är det bättre att inaktivera den här funktionen. Bifoga aldrig dokument som endast kommersiell programvara (som Microsoft Word) kan öppna ordentligt. Hackare anser att detta är stötande.
    • Var inte volontär för några företagsprojekt vars kod inte omfattas av en godkänd öppen källkodslicens faller. I sådana fall kommer de riktigt viktiga delarna av projektet sannolikt att förbli bakom stängda dörrar från ägaren, vilket hindrar dig från att lära dig något användbart.
    • Undvik alla frågor om grundläggande programmering eller programmeringsverktyg. Tiden för en öppen mjukvaruprogrammerare är värdefull. Diskutera istället grunderna i programmering i grupper för amatörer eller nybörjarprogrammerare.
    • Etablerade och mycket framgångsrika projekt kan ha skriftliga eller oskrivna policyer om att aldrig betala för ditt arbete (inga pengar, ingen förmåga att marknadsföra dig själv, ingen förhöjd status oavsett ditt bidrag, etc. -- ser : Do_not_expect_reward Wikipedia). Om du inte kan hålla med om detta, håll dig till mer vanliga projekt som inte har råd med en sådan attityd.
    • Ge dig inte in på ett eget projekt om du inte alltid vill spendera stolt ensamhet. Av samma anledning bör du inte ge dig ut på ett försök att återuppliva ett redan övergivet projekt som dess tidigare team redan har förlorat.
    • Vid ett informellt möte om projektet där du aldrig har bidragit med någon kod kommer du att få den obehagliga känslan av att bli helt ignorerad. Oroa dig inte, vissa hackare kan bli goda vänner senare, efter att du förtjänat deras respekt med din egen kod.
    • Stora öppna programvaruprojekt, särskilt de runt GNU-domänen, behandlar inte ditt jobb som ditt personliga företag. Efter att du fått jobbet inom ett mjukvarurelaterat företag ber de din arbetsgivare om vissa avtal [1] att underteckna, vilket företaget kommer eller inte kommer att skriva under. Detta kan tvinga dig att välja ett projekt med mindre stränga krav.

    Förnödenheter

    • Linux. Många öppna programvaruprojekt är mer komplicerade att bygga under Windows, eller är inte byggda korrekt alls. Detta gäller särskilt för avancerade projekt, dedikerade till programmering av mobiltelefoner, USB-nycklar och andra enheter.
    • En dator med relativt bra internetuppkoppling. Om du vill dubbelstarta med Windows kan en andra hårddisk eller partition för Linux vara en bra lösning.
    • Grundläggande kunskaper i minst ett programmeringsspråk och en stark vilja att lära sig mer. De mest populära språken verkar för närvarande C och vara Java.
    • En betydande mängd tid, minst fem timmar i veckan (en typisk hardcore-programmerare bidrar med så många som 14 timmar).
    • Även om formell IT-utbildning kommer att göra din väg mycket enklare, detta inte ett obligatoriskt krav och ingen riktig hackergemenskap kommer någonsin att fråga dig om det. Programmerare/hackers bedömer varandra efter någons programmering, inte falska kriterier som betyg, ålder, ras eller position. Kom ihåg att minst 60 % av hackarna med öppen källkod som granskar dina patchar har "korrekt" högskoleexamen och kommer inte att tillåta din skit att bidra till projektet.
    • Under de sista stegen (konferens och `installationsfest`) kan du dra fördel av din egen bärbara dator. Men det är inte bra att jobba på det hemma, så köp bara en om du har råd med den andra maskinen.
    • Den beskrivna vägen till att bli en "hacker" av programvara med öppen källkod tar minst två år att slutföra.

    Оцените, пожалуйста статью