Bästa svaret
Jag tar det här.
Först av allt är jag helt oense med ett svar (med 1K + uppröstningar) i den här tråden tillsammans med raderna, ” Om du är nybörjare, bidrar inte till ett open source-projekt på GitHub! Det är en återvändsgränd som leder till frustration och ilska !”
Om något orsakade frustration och ilska hos någon, betyder det inte att samma sak skulle orsaka liknande reaktioner hos dig. Jag är ledsen, men det var negativt.
Att bidra till öppen källkod är faktiskt något som skiljer dig från nybörjare och mellanliggande eller erfarna. Det ger dig lyft för att gå vidare i din tekniska eller kodande resa. Naturligtvis vill du inte vara nybörjare för alltid, eller hur?
Jag uppmuntrar nybörjare att bidra till öppen källkod på GitHub och jag Jag kommer att visa exakt hur du kan göra det direkt efter att ha läst det här svaret.
Många tror att bidrag till GitHub-projekt med öppen källkod nödvändigtvis kommer att kräva att de skriver någon sorts kod.
De får den här konstgjorda bilden i åtanke att någon offentlig förvaring av något JavaScript-bibliotek eller ramverk med öppen källkod skulle ha någon form av problem eller fel och de måste fixa det felet om de bestämmer sig för att bidra.
Det är inte sant (hela tiden) .
Jag fick en liknande bild i mitt sinne när jag började med att bidra till öppen källkod på GitHub.
Att bidra till öppen källkod betyder inte nödvändigtvis att skriva kod.
- Att ge människor riktlinjer för att lära sig lite programmeringsspråk kan också betraktas som öppen källkodsbidrag
- Att visa vägen för människor att bli front-end-utvecklare kan också betraktas som öppen källkodsbidrag.
- Det faktum att jag skriver det här svaret för att lära mig vad är icke-traditionellt sätt att bidra till öppen källkodsaktiviteter på GitHub kan också betraktas som mitt bidrag till öppen källkod.
Nog att prata. Låt mig ge dig en uppfattning om hur du kan bidra till öppen källkod just nu.
Jag börjar med att utarbeta min personliga erfarenhet av att bidra till ett offentligt GitHub-arkiv.
Jag är del av vissa forum relaterade till utvecklare. Många av dem. En dag var det den här killen som skapade en tråd som nämnde:
”Jag skapade GitHub-arkiv med ett mål att tillhandahålla 999 C-program för nybörjare. Jag skapade sju av dem. 992 fler att gå. ”
Detta lät väldigt intressant för mig. Jag klickade snabbt på hans repolänk och utforskade 7 program han skapade. De var verkligen nybörjarvänliga och anpassade sig perfekt efter hans mål, att hjälpa människor som börjar med C-programmering.
Jag gafflade snabbt hans GitHub-arkiv. Klonade den repo i min lokala maskin. Och skapade ett nybörjarvänligt C-program med lösning efter formatet och strukturen som killen följde för andra 7 program. Pressade ändringarna till den gaffelförvaret. Gjorde en pull-begäran (PR) till den killens ursprungliga förvar med ett meddelande ”lagt till ett nytt nybörjarvänligt C-program med lösning”. Den killen godkände min PR-begäran och slog samman ändringar till sin mästare. Nästa dag gjorde jag detsamma med ytterligare ett program.
Där går det. Mitt bidrag från öppen källkod. Ja. Jag behövde skriva kod för detta bidrag. Det var dock helt annat än vad jag föreställde mig tidigare. Jag löste inte något avancerat nivåfel eller problem i något känt bibliotek eller ramverk. Jag tänkte bara på ett nybörjarvänligt program som vi lärde oss på universitetet, gav lösningen för det och det är det.
Du kan skapa GitHub-arkiv på din egen profil baserat på dessa idéer:
- bästa resurser för att lära sig utvecklingen av front-end (nämna artikellänkar, böcker, videoresurser, gratiskurser etc.)
- bästa uppgiftsautomatiseringsskript i python (källskript online och samla dem på ett ställe , ge kredit till originalförfattare)
- översikt över olika databaser (utbilda människor i kända databaser som MySQL, MongoDB, SQL Server, Oracle etc. Berätta för dem varför de ska välja varandra.)
- eller något annat som du tror skulle vara lärorikt för hela internet
Om du gillar ReactJS kan du gärna bidra till mitt GitHub-arkiv: UnnitMetaliya / 99-reactjs-projekt-idéer
Jag arbetar med att tillhandahålla 99 enkla projektidéer som människor kan utveckla med hjälp av ReactJS-biblioteket. Har du en idé? Bra. Gaffel mitt förvar. Skapa mapp för din idé enligt samma struktur som mapp # 001. Tryck det till förvaret du gafflade. Skicka en begäran om att dra till min mästare. Och det är det.
tl; dr >> Att bidra till öppen källkod på GitHub behöver inte nödvändigtvis skriva kod. Det finns hundratals olika sätt att bidra till öppen källkod än att skriva kod.
Svar
För det första är programvara med öppen källkod en programvara som kan användas fritt, ändras och delas (i en modifierad eller omodifierad form) av någon.
Att det är den teoretiska innebörden av vad öppen källkod är, den djupare innebörden stämmer med visionen att hålla sakerna transparenta för användaren så att användaren förstår helt vad som händer och har därför en chans att göra skillnad genom att lägga till den funktion han / hon vill ha mer av den specifika programvaran / hårdvaran.
Det första steget i öppen källkod är att identifiera organisationen som du gillar eller vars vision stämmer överens med vad du verkligen vill ge tillbaka till världen. Var och en av dessa organisationer har sin egen vision och sitt uppdrag att ge tillbaka något till människor, jag bidrar till Mozilla på grund av deras vision och deras uppdrag som jag verkligen tror på, att ge människor ett internet utan gränser och att hålla internet gratis. / p>
Vårt uppdrag är att främja öppenhet, innovation och möjligheter på nätet.
Hos Mozilla är vi ett globalt samhälle av teknologer, tänkare och byggare som arbetar tillsammans för att hålla Internet vid liv och tillgängligt så att människor världen över kan informeras bidragsgivare och skapare av webben. Vi tror att denna handling av mänskligt samarbete över en öppen plattform är avgörande för individuell tillväxt och vår kollektiva framtid.
Det finns också många andra organisationer, som Fedora, Ubuntu, GCC, Python, OpenCV, KDE. Många människor som är i dessa organisationer arbetar enbart för att uppdraget / visionen överensstämmer med deras tänkande eller hur de tror skulle vara bäst att ge tillbaka till samhället i stort.
Efter att ha valt organisationen kommer det att finnas flera projekt som är tillgängliga för dig att välja mellan eller bidra till, Firefox är ett av Mozillas stora projekt, det finns också många andra projekt som MDN (Mozilla Developer Network), Firefox OS, Persona etc .., Organisationen av ditt val kan ha en webbsida / wiki-sida tillägnad hur du kommer igång med att bidra, På Mozilla har vi något som heter Vad kan jag göra för Mozilla [1]. Det hjälper till att tydligt ta människor till deras intressen baserat på det programmeringsspråk de väljer etc .., så leta efter något liknande som kan komma igång, nästa steg är att leta efter några buggar, ta erforderlig källkod och bygga systemet på just din utvecklingsmaskin och slutligen skicka en patch.
Huvudskillnaden Mellan att arbeta med kodbasen för en öppen källkodsorganisation och kodbasen som används under universitetet är datastrukturer eller liknande kurser storleken på kodbasen. Att ta reda på vilket innehåll som finns och vilket kodsegment gör vad som är den största utmaningen. Ursprungligen kan det också vara utmanande att förstå kodbasen även om du kanske känner till programmeringsspråket men smärtan som tas är värt det. Du kommer att ha fantastiska människor som kan hjälpa dig under processen som kan ta lite ledig tid för att hjälpa dig om du går i rätt riktning och vet vad du exakt gör.
Ja, att bidra till open source-projekt kräver att du har goda kunskaper i minst ett programmeringsspråk om du är villig att hoppa för att bidra till dess kodbas. Annat än detta, ganska bra läsförmåga och tålamod att läsa igenom dokumentationen för varje projekt, förstå ett av de många versionskontrollsystemen, vare sig det är git eller mercurial eller svn
Så vitt jag vet finns det ” s ingenting som kallas en ”korrekt” metod, ibland kommer öppen källkodsbidrag från en individ in eftersom de använder den specifika programvaran och deras liv blir lättare genom att integrera en specifik funktion i denna programvara, så de integrerar den och bidrar tillbaka till den ursprungliga koden bas, olika människor har olika krav och anpassar programvaran efter deras behov, vissa bidrar med sina förändringar tillbaka i hopp om att det kommer att hjälpa någon annan, vissa föredrar att ta upp det som ett fristående separat projekt. Det bästa sättet att komma igång är att välja projektet och vara passionerad för det.
t.ex.Tor-webbläsaren är ett projekt som härrör från Firefox, det har anpassats för att tillhandahålla anonymitet och konverterats till ett fristående projekt.
Oavsett vad du väljer måste det vara något du använder på något sätt, på det sättet vet du vad du gör och du vet också hur programvaran fungerar, så det blir lättare att korrelera koden och dess faktiska funktion.
Några förslag från min sida när du går in i öppen källkodsbidrag världen skulle vara
- Börja använda Linux / Unix-baserade system.
- Håll dig till terminalen och njut av att arbeta därifrån.
- Vet grundläggande kommandorads saker som man, grep och för alla andra kommandon har du en manfil. (man fil = manuell, om du vill veta hur man använder ett specifikt kommando säg grep, gör bara `man grep )
- En bra redaktör; vim v / s emacs krig finns alltid mellan utvecklare, men du kan också gå med Sublime Text / Notepad ++
Att bidra till öppen källkod är en fantastisk känsla som utvecklare eftersom du vet att de små kodrader som du har skrivit är där ute och påverkar livet för miljontals människor som använder programvaran.
En annan sak som kommer att dyka upp i dessa tider är fanboys, jag berättar om en upplevelse med dig eftersom vi är en bidragsgivare till Mozilla är frågan som vi som evangelister [2] möter envisa människor som säger ”Jag använder Chrome! Jag gillar inte Firefox”
Cool, vi har absolut inga problem med det. Vi bygger bara Firefox för att vi älskar att och huvudmålet här handlar inte om vilken webbläsare du verkligen använder, vi skulle älska det om du använde Firefox men huvudmålet är att ha en öppen web.
En web som är gratis, öppen, säker, privat och mest av allt, en web som är vår.
Ser fram emot att träffa dig med Mozilla Community.
[1] Vad kan jag göra för Mozilla [2] Task force / Evangelism