Den endelige vejledning til bidrag til open source

Jeg fortæller alt hvad jeg ved om Open Source. Lad os starte med noget simpelt. Ved du hvad et produkt er? Et produkt er noget, du nemt kan indtage, såsom en burrito på en restaurant. Men for at oprette dette produkt skal du tage nogle skridt. I restauranten har du en kok, der har en opskrift på denne burrito. De følger altid den samme opskrift og fremstiller den af ​​de samme ingredienser for at sikre passende kvalitet hver gang.

At bidrage til Open Source kan hjælpe dig med at komme ind på det tekniske felt, skifte din karriere eller forbedre din nuværende. Alt imens du hjælper samfundet!

På de fleste restauranter, hvis du gik til kokken og spurgte: ”Undskyld, jeg elsker din burrito; kunne jeg få opskriften? ” de ville nægte - dette er ikke Open Source. Open Source er, når du ud over produktet også har adgang til alle ingredienserne og opskriften, hvilket betyder, at du kan replikere hele burritoen hjemme.

Forestil dig nu, at du begynder at lave denne burrito, men du kommer til den konklusion, at du vil skære ned på kødet. Så du udskifter det med avocado. I så fald tager du opskriften, bytter kødet til avocadoen, følger resten af ​​trinene til punkt og prikke og kontrollerer, hvad der kommer ud.

Det kan vise sig, at din ret smager bedre end måltidet i restauranten. Hvis restauranten blev kørt som et Open Source-projekt, kunne du derefter gå til kokken og sige, ”Hej, din burrito er fantastisk, men jeg har tilføjet avocado, og nu er det endnu bedre! Du kan føje det til din menu. ”

Kokkens rolle er produktholderen. De accepterer muligvis ændringerne, eller de kan beslutte

at avocado er en dårlig idé og ikke passer til restaurantens koncept. Uanset hvad, ved at dele dine ændringer til projektet er du lige blevet en bidragyder.

Tillykke!

Hvad skaber et projekt?

Firefox-browseren er et eksempel på et Open Source-projekt. Den består af tusindvis af kildekodelinjer og instruktioner om, hvordan man omdanner denne kildekode til et brugbart produkt, som en webbrowser. Denne kode er tilgængelig offentligt, så alle kan hente den, læse den, revidere den eller bygge den. Hver person, der ønsker at ændre Firefox's opførsel, kan foretage ændringer i kildekoden og oprette en tilpasset version. Desuden kan alle sende disse ændringer tilbage til projektets vedligeholdere.

Men der er mere til Open Source-projekter end bare koden. Vi har også en brugergrænseflade og grafisk design. Og ja, selv terminalprogrammer som Vim editor har grafiske grænseflader.

Du behøver ikke kode for at bidrage til Open Source!

Bortset fra grænsefladen er der også brugerinteraktioner, brugervenlighed og noget, der kaldes User Experience (UX) - som alle har fået popularitet i de seneste årtier. Hvis du har en baggrund inden for design, kunst eller psykologi, kan du finde din niche med UI / UX. Den næste ting, der består af et produkt, er medierne, herunder lyde, grafik eller videoer. Ikke alle projekter har disse, men de er heller ikke så sjældne.

Dokumentation er dog en af ​​de dele, der ofte overses. En nem måde at yde et bidrag på er at forbedre dokumentationen. Tekstforfattere skal føle sig hjemme med disse emner. Tekstaktiver og oversættelser udgør også en let indtastning.

Derefter er der markedsføring, som også ofte mangler i Open Source-projekter. Hvis du kan løse dette, har hele samfundet fordel. Hjælp et projekt med markedsføring, og dette vil også lokke flere potentielle bidragydere.

Og endelig er der den juridiske del, en ret sjælden komponent, der primært vedrører store projekter. Der er advokater, der primært beskæftiger sig med Open Source-spørgsmål, og de fleste af dem frivilligt deres tid.

Hvis du kan skrive prosa, tegne, lave musik, er en god marketingmedarbejder, eller en advokat: Open Source-samfundet har brug for dig!

Hvis du føler dig ude af stand til at designe, foretage ændringer, skrive licenser, skal du ikke være bange. Du kan yde en anden form for bidrag. Du kan rapportere en fejl eller foreslå ændringer i adfærd eller udseende.

Ved du hvad der er bedst? Hvis hvert medlem af samfundet bidrager med lidt tid, lidt indsats og lidt personlig erfaring, får hele samfundet et fantastisk produkt, ofte gratis.

Føler du dig ikke som en skaber? Indsend en fejlrapport, eller udsend en funktionsanmodning!

Hvorfor er det værd at bruge min tid?

Hvorfor er det værd at bidrage til Open Source? Hvorfor skal du bruge din tid på at skrive nogle forslag eller kode eller lave oversættelser i stedet for at gå en tur? Der er flere grunde. Alle stammer fra den forudsætning, at bidrag til Open Source er offentligt synligt. Alle kan se, hvad alle andre laver. Og det er fantastisk!

Du øger dine kompetencer

Hvis du skriver et stykke kode, designer en grænseflade eller opretter grafik, lærer du. Dette er en god øvelse for dem, der leder efter en karriereændring. I Open Source er ingen interesseret i, om du arbejder som seniorudvikler eller som gartner. Det, der betyder noget, er kvaliteten af ​​det bidrag, du kan give. Og når du først har bevist dig selv i et Open Source-projekt, har du fået nogle værdifulde erfaringer. Du skal ikke længere føle dig som en bedrager, der lige er færdig med en boot camp. Du vil være et etableret medlem af et samfund med en track record, som alle kan kontrollere.

Dette fungerer, selvom du sidder fast med en teknologi, men forestil dig din fremtid med noget helt andet. Sig, at du er en COBOL-udvikler, der drømmer om at lande et UX-job? Bare start med at forbedre UX i Firefox, og send dine bidrag. Når de er accepteret, kan du tilføje en ny position til dit CV: UX-designer til Firefox-projekt. Du har lige lært noget nyttigt og forbedret dine legitimationsoplysninger.

Du forbedrer din synlighed

Når du tilmelder dig et samfund, såsom et Open Source-projekt, får du straks nye bekendte og møder andre, der også er involveret i projektet. Du kan lære af dem og udveksle ideer med dem.

Den anden fordel ved at tilslutte sig et sådant samfund er, at alle dine andre kanaler automatisk bliver mere synlige. For eksempel kan besøgende på Open Source-projektet, du bidrager til, lære om din YouTube-kanal eller finde dig på LinkedIn for at tilbyde dig et job.

Dette bringer os til det næste punkt.

Det er en almindelig praksis i dag for IT-rekrutterere at tjekke GitHub på jagt efter nyt talent. Ved at offentliggøre din kode opretter du faktisk et CV, som alle kan bekræfte. Ingen grund til at kontakte dine tidligere arbejdsgivere eller klienter. Og hvis din GitHub-profil linker til din LinkedIn-profil eller din startside, er du let tilgængelig, så chancerne for at du lander et job med dine drømme øges.

Husk, du behøver ikke engang at have kommerciel erfaring inden for det pågældende felt. For disse rekrutterere er dine Open Source bidrag lige så gyldige!

Du finder beskæftigelse eller nye kunder

Hvis du er rigtig god, kan du få et betalt tilbud om at arbejde på et Open Source-projekt. Dette er hovedsageligt forbeholdt de projekter, der har en stabil finansiel opbakning, enten fra et selskab eller en nonprofit.

Du finder nye medarbejdere

Dette fungerer også den anden vej - du kan finde potentielle medarbejdere. Hvis du gør noget, der er sejt og nyttigt for andre, skal du offentliggøre det som et Open Source-projekt! Der er en chance for, at nogen vil forbedre dit projekt eller arbejde for dig.

Du gør noget for andre

En anden fordel ved at være en del af disse projekter er muligheden for at gøre noget for andre og få deres taknemmelighed. Alle de "tak" -notater, du modtager, får din tid til at virke mere end værd - - og du har måske endda bidraget til et fantastisk projekt.

Du får adgang til Nice-statistikker

Er du fan af gamification? Så er denne noget for dig. Nogle mennesker kan virkelig godt lide statistik, og for dem tilbyder GitHub noget særligt. Hver handling, vi tager i GitHub - det største Open Source-samfund - er markeret med en grøn firkant i en enorm kalender. Jo flere ting vi gør hver dag, jo lysere er pladsen. Når vi bidrager i flere på hinanden følgende dage, tæller GitHub det som en stribe og holder din score til fremtidig reference. Dette fungerer som en motivation for at slå de bedste scores hidtil.

Hvordan finder du dit første projekt?

Der er flere måder. Først og fremmest har de store spillere som Firefox eller Android en høj brugerbase og kræver en masse ændringer og forbedringer. Når du først har ændret et sådant projekt, bliver din ændring synlig for millioner. Du kan besøge GitHub og se, hvad der er de mest populære arkiver. For eksempel i øjeblikket af denne skrivning er det nummer et mest stjernede lager freeCodeCamp.

Jeg vil ikke nødvendigvis anbefale denne første tilgang, hvis du er en nybegynder. De store projekters største fordel er også deres vigtigste forbandelse. Alle ønsker at bidrage, men der er et begrænset antal vedligeholdere, der er i stand til at svare på dine anmodninger. Hvis du virkelig vil have indflydelse, kan du i stedet prøve mindre projekter, der er stigende. GitHub Trending er et sted at finde sådanne sager.

En anden tilgang er at vælge et fantastisk projekt som første gang bidragyder. Lad os kalde dette den energieffektive tilgang. Awesome projekter er samlet og kurateret lister over links. For eksempel viser awesome-shell cool CLI-fund, mens awesome-JavaScript beskæftiger sig med alle de skinnende nye rammer, der dukker op hver dag. Der er også en fantastisk liste over Mind Expanding Books og selvfølgelig fantastiske lister.

Hvorfor er det en god tilgang? Den krævede indsats for at yde et faktisk bidrag er temmelig lav, så der er stor chance for at få et dopamin boost som følge af et godt udført arbejde. Dette dopamin boost skal udløse det næste bidrag og så videre. Når bolden begynder at rulle, er det svært at få den til at stoppe.

Den sidste tilgang, jeg anbefaler, er piggybacking på en kæmpe Open Source-begivenhed. En sådan begivenhed fejres hvert år i oktober er Hacktoberfest. Deltagerne forventes at fremsætte fem Pull-anmodninger på GitHub (dvs. give fem bidrag). Alle, der udfører denne opgave, får gode frynsegoder fra sponsorerne (som t-shirts og klistermærker). For at gøre det lettere for deltagerne er nogle eksempler på projekter opført på hjemmesiden.

En anden lignende begivenhed er Google Summer of Code. Du kan tjekke en liste over projekter fra fortiden. Måske vil man inspirere dig nok til at yde et bidrag! Åh, og så er der en Awesome First PR Opportunities-liste!

Hvis du vil bidrage bæredygtigt til Open Source, skal du finde noget, du bruger regelmæssigt. På denne måde vil dine bidrag også gavne dig selv. Dette er langt den bedste måde at sikre kvalitetsarbejde på.

Hvad gør et bidrag værdifuldt?

Vi ved nu, hvorfor vi skal bidrage, og vi ved, hvor vi skal bidrage. Lad os nu fokusere på, hvad der gør vores bidrag værdifuldt? Et værdiløst bidrag accepteres ikke, så det er bedre at forberede sig!

Vi bør respektere arbejdsforholdene

Frem for alt skal vi respektere andres arbejdsvilkår. I mange projekter kan du finde dokumenter som dem, CONTRIBUTORS.mdder præsenterer den foretrukne måde at bidrage på. Hvis det projekt, du ønsker at deltage i, ikke har et lignende dokument, skal du kontrollere andre mulige steder som f.eks. README.mdProjektets wiki-side. Bliv bekendt med reglerne, og sørg for at forstå og overholde dem.

Hvis dit arbejde ikke opfylder betingelserne i bidragydernes retningslinjer, vil det sandsynligvis blive afvist allerede før gennemgangen. Disse retningslinjer og betingelser tjener til at beskytte vedligeholdernes tid. Hvis du ikke kan følge dem, kan vedligeholdere antage, at du er lige så skødesløs med det andet arbejde, du udfører.

Overvej hvor værdifuld dit bidrag er for andre

Når vi ved, hvordan vi skal opføre os, lad os overveje, hvor værdifuldt vores bidrag er for andre. Forestil dig et øjeblik et firma, der producerer skræddersyede dragter. Du købte en jakkesæt i butikken og tog derefter en øl. Inspiration rammer, så du fastgør en flaskeåbner til dragt derhjemme. På denne måde er der ikke noget problem at åbne den hver gang du tager en øl.

På en open source-måde går du til skrædderen og præsenterer din gode idé om at fastgøre åbneren til dragt. Uanset opfindsomheden i din idé kan skrædderen, der fungerer som projektholder, muligvis ikke se din tilføjelse som passende til hans koncept. Det betyder ikke, at dit arbejde er svagt eller værdiløst; det betyder bare, at nogle funktioner kun appellerer til et lille publikum. Og da hver funktion skal vedligeholdes og sikres, hvilket øger projektets omkostninger, skal projektholderen sørge for, at hver funktion giver en god fordel.

Vær udførlig i kommunikation

Hvis det ikke er en ændring, som du bidrager med, men en rapport, skal du være ordentlig. Skriv alt hvad du kender for at forklare sammenhængen i detaljer. Dette er især vigtigt, når der rapporteres om fejl. Jo mere sammenhæng du beskriver, jo lettere bliver det for nogen at ordne det, som du vil. Husk de mulige brugssager og forventet adfærd, men udelad alle detaljer, der ikke nødvendigvis er relateret til rapporten. At sige, at du vil have et element til at være grønt, fordi det matcher andre konkurrerende produkter, er fint. At give en grundig historisk baggrund om konkurrencen er lidt for meget.

Kør, test, kontroller, og dobbelttjek derefter inden du sender

Kontroller alt og test alt, inden du indsender din ændring. Sørg for, at dine ændringer vedrører den aktuelt udviklede version, ikke en historisk. Husk, at du kun behøver at køre testene en gang. Vedligeholdere kører mange af dem dagligt, så spar dem tid ved at sørge for, at alt er i topklasse. Og alligevel viser dette bare, at du er ligeglad og ikke indsender sjusket arbejde.

Sådan undgår du at blive modløs online

Husk dette: Hver gang du sender noget online, åbner du dig selv for kritik. Uanset om det er en kommentar, et foto, en artikel eller en kode, er du nu sårbar. Du bør byde noget af kritikken velkommen, da det hjælper dig med at vokse.

Men der er også andre former for kritik: giftig og uberettiget. Det er bedst at lære at håndtere forskellige former for kritik, inden du begynder at dele dit arbejde med offentligheden. På denne måde vil du være forberedt på, hvad der venter dig og ikke tage alt personligt.

Vores bedste ideer er ikke de bedste for alle

Først og fremmest er dine bedste ideer måske ikke de bedste ideer ifølge alle. Lad os huske dette. Vær ikke fornærmet, hvis nogen fortæller dig, at flaskeåbneren, du har udtænkt, ikke er kompatibel med deres dragt. Hvis det er projektholderens vilje, skal du respektere det. Det kan tjene som en lektion, hvis du gerne vil være involveret igen i dette projekt. Eller du kan søge et andet projekt, hvor de muligvis har brug for en sådan ændring.

Vores bedste arbejde overholder muligvis ikke standarderne

Så svært som det kan være at høre, er dit bedste arbejde muligvis ikke op til et projekts standard. Jeg oplevede det selv. I et projekt, jeg bidrog til, modtog jeg en rimelig liste med retningslinjer for, hvordan man skriver god kode. Jeg besluttede at gøre det perfekt (så tænkte jeg) første gang. Når alt kommer til alt vidste jeg, hvad jeg skulle passe på. Jeg sendte mine ændringer, og efter et stykke tid modtog jeg et svar. Næsten hver linje kode blev fremhævet. Interessant nok var alle kommentarer rimelige og nøjagtige. Hvad jeg betragtede som perfekt, manglede næsten hver eneste linje.

Jeg rettede alle bemærkningerne og indsendte ændringerne igen. Denne gang modtog jeg kun fem bemærkninger. Selvom du gør noget rigtigt, kan andre mennesker skubbe dig til at arbejde endnu bedre. Det er hvad korrekturlæsere er beregnet til. De bør ikke kritiseres eller bebrejdes - de vil hjælpe dig, husk dette!

Vi kan blive afvist, selv hvis vi gjorde alt rigtigt

Nogle gange får du bare ”nej” for et svar, og der er ikke meget, du kan gøre for at ændre dette. Tror du stadig dragter med flaskeåbnere er en god idé? Så begynd at producere din egen! I Open Source kaldes handlingen om at skabe et nyt projekt baseret på et eksisterende projekt "forking".

Tilsvarende betragtes det nye projekt som en "fork" af originalen. For eksempel er Ubuntu en gaffel af Debian. Hvis projektvedligeholdere nægter at integrere dit arbejde i deres produkt, kan du overveje at gaffle projektet og selv blive vedligeholdere. Dette bør kun praktiseres i ekstreme tilfælde. Det er ikke kun en byrde for begge grupper af vedligeholdere, det er også forvirrende for samfundet. Hvis du tilfældigvis hører "nej", er det værd at lære årsagerne til dette svar.

Det kan være en værdifuld lektion for fremtiden.

Trolde er overalt

Nu, troldene.

Da Internettet tilbyder en illusion af anonymitet, er der opstået en subkultur, der glæder sig over at ødelægge andre mennesker. Denne subkultur kaldes internettrollene. Jeg har endnu ikke haft mulighed for at bekæmpe nogen som denne. Men jeg vil anbefale, at du læser "Den komplette vejledning til forståelse og håndtering af online trolde" af Ragen Chastain. Det hjælper dig med at forberede dig på et så ubehageligt møde.

Tjen penge på open source

Hvis du har læst så langt, spekulerer du sandsynligvis på, om det er muligt at tjene nogle penge, mens du arbejder på Open Source-projekter.

Selvfølgelig er det det!

Selvom selve softwaren normalt er gratis, er der andre måder at tjene til livets ophold med Open Source. I den henseende ligner det meget kunst. Og som med kunst fungerer nogle metoder muligvis for dig, mens andre måske ikke. Det er en inexakt videnskab.

Permanente metoder

Min yndlingsmetode er Donate-knappen. Du kan se det på et af mine projekter: Songcorder. Afhængig af størrelsen på de tip, du forventer, inkluderer Paypal (hvis du planlægger at modtage tip større end $ 15) og køb mig en kaffe (til tip mindre end $ 15).

A Køb mig en kaffe-knap ser sådan ud (du kan klikke på den, hvis du føler, jeg fortjener det):

Udover knapper til generelle formål er der metoder, der er dedikeret til Open Source-projekter, som Gittip / Liberapay (denne kan lide at ændre navne ganske ofte). Sjovt nok er et af de populære arkiver understøttet af Liberapay ... fantastisk.

Forudsætningen svarer til Flattrs. Du vælger det månedlige beløb, du vil bruge på kreationer, og når du godkender noget arbejde, får forfatteren af ​​værket en andel af dit budget. Sig, du besluttede at du har råd til at betale $ 5 hver måned til Open Source-projekter. Hvis du godkender fire projekter i en bestemt måned (ved at stjerne dem eller klikke på Flattr-knappen) får hver af projektforfatterne $ 1,25. Ret simpelt.

I stedet for at støtte hele projekter kan du også donere (næsten) direkte til bidragsydere. Tip4Commit fungerer på denne måde. Supportere deponerer noget beløb af Bitcoin i et projekt, og hver bidragsyder, der forpligter sig til projektet, får en andel af depositumet.

En anden mulig tilgang er Patreon. Her i stedet for et lige så delt budget giver tilhængere et fast beløb kontant til enhver skaber, de vælger. Hvis du vil lære, om dette er den rigtige tilgang for dig, forklarer Erika Sauter perfekt ”Hvorfor Patreon er Dope AF for skabere”. Sindre Sorhus med fantastisk berømmelse er en af ​​de fremtrædende Open Source-vedligeholdere der. Men større projekter som Homebrew eller Linuxbrew bruger også Patreon til finansiering.

Alle de ovennævnte metoder fungerer godt, hvis du behandler Open Source som en hobby eller en sidestreng. Hvis du er heldig, kan de endda gøre din lidenskab til et dagjob. Men i virkeligheden, hvis du vil gøre Open Source til dit daglige job, er den sædvanlige tilgang at levere konsulenttjenester. Dette kan betyde at sælge pro-funktioner til virksomhedsklienter eller hjælpe virksomhedsklienter med at implementere og tilpasse dine produkter. Mange virksomheder mangler de nødvendige færdigheder til at tilpasse et Open Source-projekt til deres interne behov. Og hvem er bedre rustet til denne opgave end det oprindelige projekts vedligeholder?

Hvis du kan hjælpe andre og få betalt for at gøre det, skal du prøve det!

Engangsmetoder

En af de populære metoder til bootstrapping af midler til et Open Source-projekt er crowdfunding. Der er mange platforme dedikeret til denne sag. Kickstarter hjalp for eksempel med at lancere Mycroft Mark II, Open Source stemmeassistent. En anden stor spiller Indiegogo var vært for en kampagne for en e-mail-klient Geary. Desværre opfyldte projektet ikke sine mål. MediaGoblin gik endda så langt som at starte deres egen kampagne uden nogen tredjepart.

Hvis du frygter, at du ikke finder de mange tilhængere, der er nødvendige for en vellykket crowdfunding, kan du prøve tilskud. Jeg er opmærksom på mindst to fonde, der yder sådanne tilskud. En af dem er Travis Foundation, bakket op af virksomheden bag den populære Travis CI. Den anden er Mozilla Foundation, skabere af Firefox Web Browser.

De fleste af de hidtil præsenterede værktøjer fokuserer på Open Source-vedligeholdere. Men bidragsydere kan lave noget dej ved også at blive Bounty Hunters. Bounties er funktioner, der anmodes om af en tredjepart bakket op af en økonomisk belønning. For at jage dem skal du opfylde funktionsanmodningen og kræve belønningen. Den mest populære platform for Bounty Hunting i øjeblikket ser ud til at være Bountysource.

Men hvis du hellere vil tage Cryptocurrency som en betaling, fungerer Gitcoin på lignende principper. Se "Alt hvad du behøver at vide om Gitcoin" af Vivek Singh for detaljer.

Den betalte praktik er en anden gyldig tilgang. To populære tilgængelige muligheder er:

  • Google Summer of Code - rettet mod studerende
  • Outreachy - rettet mod mindretal inden for teknologiområdet

Eller hvis du virkelig er lidenskabelig, hvorfor slutter du dig ikke til et firma dedikeret til at udvikle Open Source software? Der er mange at vælge imellem. Ligesom ved rådgivning får du betalt og gør noget for samfundet på samme tid.

Det er en win-win situation!

Yderligere forskning

Hvis du leder efter mere inspiration, skal du tjekke limonadestand-projektet på GitHub. Eller tilføj din egen idé der. Med Open Source er alt muligt!

Find din kin

Jeg har ikke nævnt det indtil nu, men produkter, projekter og teknologi er kun en lille brøkdel af hele Open Source-bevægelsen. Den første og fremmeste komponent er det fantastiske samfund! Når du først begynder at bidrage, får du straks masser af nye bekendtskaber, folk at lære af, mennesker som du kan vejlede og mennesker, som du kan udveksle ideer med.

Hvert projekt har sit eget samfund, men der er også steder, hvor Open Source-entusiaster hænger sammen uanset deres baggrund.

Du kan deltage i grupper på sociale medier, såsom Linux & Open Source-gruppen på LinkedIn. Der er også mange interessante Gitter-kanaler at tjekke ud. Gitter er et instant messaging-system til Open Source-samfund. Der er også postgrupper, fora eller platforme som GitHub, der tillader samarbejde og kommunikation. Men hvis du ønsker at møde ligesindede personligt, kan du overveje at besøge eller deltage i et Hackerspace.

Hackerspaces er steder, der overfører kærligheden til eksperimenter ud over softwareverdenen. Software, hardware, DIY og håndværk er lige så velkomne. Der er en Wiki-side, der viser alle Hackerspaces, så find den nærmeste og besøg dem bare. Du vil blive overrasket over, hvad der er muligt, når idéer møder udførelse!

Kunne du lide det? Har jeg hjulpet dig? I så fald er du velkommen til at deltage i mit nyhedsbrev:

Hvis du kan lide indlægget, kan du overveje at abonnere på mit nyhedsbrev. Du vil blive informeret om alt, hvad jeg skriver og anbefaler (bøger, artikler, værktøjer og sandsynligvis musik).