Partecipare a un progetto Open Source [chiuso]


19

Sto andando al mio ultimo anno in ingegneria informatica e ho ottenuto uno stage per questa estate e autunno. Dal momento che non farò i compiti, mi piacerebbe cogliere l'occasione per essere coinvolto in un progetto open source di qualche tipo. Sono competente con C, C ++, Java e Python. Ho anche ragionevolmente familiarità con Linux, al momento lo sto usando sul mio laptop e tutte le mie lezioni questo semestre si sono concentrate su di esso.

Stavo pensando di dare un'occhiata ad Android o Ubuntu ma in passato mi sono sentito un po 'sopraffatto. Qualcuno ha qualche consiglio? Interessato a quale sarebbe un buon progetto su cui lavorare, da dove iniziare e se potrò davvero contribuire molto.

E alla fine con quale frequenza vengono effettivamente accettati i cambiamenti delle persone? Con quale frequenza scriverei il codice solo per rifiutarlo?

tl: dr Alla ricerca di più esperienza di programmazione contribuendo a un progetto open source. I nuovi arrivati ​​sulla scena hanno bisogno di consigli.


Direi che atterrare qui è sicuramente utile!
Squillman,

6
Sembra una buona idea, ma controlla le regole di "moonlighting" presso l'azienda in cui stai facendo il tuo internato. Alcuni luoghi, soprattutto se si tratta di negozi di software, saranno molto restrittivi su ciò che puoi fare, anche nel tuo tempo e sul tuo PC.
Steve,

1
forse prendere in considerazione l'apprendimento di un nuovo linguaggio di programmazione che è più dichiarativo di quelli che menzioni. Come haskell o scala. Quindi lavorare su un progetto open source.
mrsteve,

Risposte:


15

+1 a Steve Haigh per aver menzionato il chiaro di luna.

Se lavori per un negozio di software, potresti trovarti in una situazione in cui il tuo datore di lavoro rivendica la proprietà del software su cui hai lavorato nel tuo tempo libero. Prima di iniziare, consulta il tuo datore di lavoro per chiarire la politica sulla luce della luna nella tua azienda.

Un buon punto di partenza potrebbe essere OpenHatch . Sono un sito Web dedicato ad aiutare le persone a partecipare ai progetti Open Source. Saranno in grado di darti un elenco di bug "di dimensioni ridotte" per iniziare uno qualsiasi dei progetti che hanno aderito a loro e possono aiutarti a metterti in contatto con altri collaboratori che sono disposti a farti da mentore su progetto e / o lingua di tua scelta.

L'accettazione a monte delle vostre patch dipenderà e quasi sempre dipenderà dalla qualità della patch, e se ha dei casi di test di accompagnamento. Molti progetti infatti non accetteranno le patch a meno che non includano un test per verificare la patch.
Poiché la qualità del tuo codice è soggetta a una valutazione soggettiva, preparati a lavorare con critiche costruttive da parte dei manutentori a monte per migliorare il tuo codice.


1
La loro politica sulla luce della luna è qualcosa che non avevo nemmeno preso in considerazione. Anche OpenHatch.org sembra piuttosto bello. Iscriviti adesso per verificarlo.
Tarmon,

2
Un'altra nota su lavoro nero, se do chiedete al vostro datore di lavoro, si consiglia di farlo via e-mail per la traccia cartacea. Altrimenti, cosa impedisce loro di cambiare idea in seguito e dire che non hanno mai rinunciato alla loro richiesta al tuo progetto? Solo un pensiero.
Jeff Welling,

Non riesco a credere che questa domanda sia stata chiusa, soprattutto perché ha così tante "risposte" fantastiche basate sull'opinione o no!
Dave Kanter,

7

Come gestore di un progetto open source (FireBreath) ti suggerirei semplicemente di trovare un progetto che usi o che ti interessa e cercare modi per aiutarti. Ci sono molte cose che puoi fare senza nemmeno scrivere alcun codice. Nel nostro progetto, abbiamo bisogno che le persone aiutino:

  • Testare e segnalare bug
  • Aggiorna la documentazione sul sito Web
  • Aiuta a scrivere strumenti secondari
  • Passa il tempo nella stanza IRC e aiuta i nuovi utenti
  • Crea plug-in di esempio usando FireBreath per farli guardare ai nuovi utenti

Questi sono specifici per il mio progetto, ovviamente (e sei il benvenuto per aiutarti! ;-) ma tutti i progetti hanno cose del genere che i nuovi utenti possono contribuire. Il mio contributo più recente a un altro progetto è stato l'aggiunta di uno strumento per una migliore gestione delle autorizzazioni del repository di caratteri jolly su gitolite. Segui i progetti che ritieni interessanti o che puoi utilizzare!

In bocca al lupo!


Non ho nemmeno pensato a cose del genere. Grazie per i suggerimenti Vado a cercare un nuovo progetto che ha bisogno di quel tipo di cose.
Andrew

+1 per la documentazione. Come coordinatore di SharePoint SUSHI, una delle cose più noiose e difficili da scrivere sono i documenti, ma sono anche i più importanti per i nuovi utenti. Aiutare lì ti farà anche conoscere le caratteristiche del progetto e come funziona.
Ryan Hayes,

3

Non posso dirti quale progetto dovresti scegliere: dipende da te. Tuttavia, posso dirti come essere coinvolto: se senti la passione per qualche progetto, ovvero uso dell'applicazione da un po 'di tempo (per il sistema operativo potrebbe non essere così facile), puoi sempre inviare patch con modifiche suggerite (miglioramenti, correzioni di errori) e chiedere ai proprietari del progetto di esaminarli / integrarli.
È abbastanza facile con i progetti su GitHub: basta creare la patch e inviare la richiesta pull.
Ad ogni modo, più patch preziose invii, più è probabile che ti darebbero il benvenuto nel team principale.


2

Se non sei esperto in una determinata lingua, ci sono ancora molte attività che sono molto apprezzate. Includono test, stesura di tutorial, stesura di documentazione API, realizzazione del sito Web per i progetti, ecc. Se hai un interesse speciale, trova un progetto in quella zona e contribuisci con la conoscenza del dominio. (Ad esempio abbiamo una comunità attiva di progetti di sistemi operativi chimici).


2

Per entrare nei progetti Open Source, date un'occhiata a OpenHatch - questa è la loro intera missione:

un progetto open source con l'obiettivo di ridurre le barriere all'ingresso nel contributo open source e aumentare la diversità. Raggiungiamo questi obiettivi attraverso una serie di iniziative ...


2
ti dispiacerebbe spiegare di più su ciò che fa e perché lo consigli come rispondere alla domanda posta? Le "risposte solo link" non sono del tutto benvenute allo Stack Exchange
moscerino del

1

Ad esempio, Mozilla è sempre alla ricerca di programmatori C ++ per sviluppare e testare i propri progetti. È travolgente per un nuovo arrivato scaricare l'enorme base di codice e trascorrere ore a costruirlo. Quindi ci vogliono circa sei mesi in cui trascorri in media più di 10 ore settimanali per conoscerlo e capire un bug o un difetto o una cosa del genere. Quindi, presto dovresti essere in grado di capire come guardare riprodurre, isolare, correggere, testare, test di regressione, applicare la patch. Mentre lo fai di più, puoi ottenere l'accesso diretto in scrittura alla base di codice, supervisionare una funzione o giù di lì. Credo che questo sia vero per ogni progetto che è maturo con molte persone che ci lavorano.

Dall'altro lato, ci sono molti progetti che muoiono perché non c'è nessuno che li sviluppi. Potrebbe essere difficile trovare persone che possano aiutarti o documentarti in questo tipo di persone.

Per trovare un equilibrio tra questi estremi, puoi trovare un programma che devi usare spesso o ogni giorno. Continua a usarlo abbastanza da massimizzare presto il suo set di funzionalità. Forse sviluppare un qualche tipo di affinità per usarlo su altre opzioni. Quindi, puoi inviare una richiesta di funzionalità o prenderla su di te in quanto è probabile che tu sia quello con la maggior comprensione della funzionalità che proponi. In apparenza, questa opzione ti fa sentire come se non avessi mai massimizzato le funzionalità di un programma. Se rimani abbastanza a lungo, avrai bisogno che il programma faccia più di quello che può effettivamente fare. Potrebbe essere una correzione di sicurezza / privacy o una cosa sottile o un miglioramento dell'usabilità.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.