Coinvolgimento con un progetto open source [chiuso]

19

Mi sto dirigendo 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 questa opportunità per essere coinvolto in un progetto open source di qualche tipo. Sono abile con C, C ++, Java e Python. Ho anche una discreta familiarità con Linux, lo uso sul mio portatile in questo momento e tutte le mie lezioni in questo semestre si sono concentrate su di esso.

Stavo considerando 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 davvero potrò contribuire molto.

E alla fine quanto spesso vengono accettati i cambiamenti della gente? Quanto spesso dovrei scrivere codice solo per averlo rifiutato?

tl: dr Cerchi più esperienza di programmazione contribuendo a un progetto open source. Nuovo nella scena ha bisogno di consigli.

    
posta Tarmon 28.04.2011 - 00:34
fonte

6 risposte

15

+1 a Steve Haigh per aver menzionato il moonlighting.

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 del lavoro notturno 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 una lista di bug "da mordere" per iniziare su uno qualsiasi dei progetti che hanno firmato con loro, e possono aiutarti a metterti in contatto con altri contributori disposti a supportarti progetto e / o lingua di tua scelta.

L'accettazione a monte delle tue patch dipenderà quasi sempre dalla qualità della patch e se ha dei casi di test di accompagnamento. Molti progetti infatti non accetteranno patch a meno che non includano un test di verifica della patch.
Poiché la qualità del tuo codice è qualcosa che sarà soggettivamente giudicato, preparati a lavorare con critiche costruttive da parte dei manutentori a monte per migliorare il tuo codice.

    
risposta data 28.04.2011 - 22:42
fonte
7

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

  • Prova e segnala bug
  • Aggiorna la documentazione sul sito web
  • Aiuta a scrivere strumenti secondari
  • Fai un salto nella sala IRC e aiuta i nuovi utenti
  • Crea plug-in di esempio usando FireBreath per i nuovi utenti a

Questi sono specifici per il mio progetto, ovviamente (e sei pronto ad aiutarti! ;-) ma tutti i progetti hanno cose come quella 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 jolly su gitolite. Attacca con progetti che trovi interessanti o che puoi usare!

Buona fortuna!

    
risposta data 23.01.2011 - 02:20
fonte
3

Non posso dirti quale progetto dovresti scegliere - questo dipende da te in realtà. Tuttavia, posso dirvi come partecipare: se provate una passione per qualche progetto, ovvero l'utilizzo dell'applicazione da un po '(per OS potrebbe non essere così facile), potete sempre inviare patch con le modifiche suggerite (miglioramenti, correzioni di bug) e chiedere ai proprietari del progetto di rivedere / integrare.
Questo è abbastanza facile con i progetti su GitHub: basta creare la patch e inviare la richiesta pull.
Ad ogni modo, le patch più preziose che invii, più probabilmente saranno loro ad accoglierti nel core team.

    
risposta data 28.04.2011 - 07:36
fonte
2

Se non sei esperto in una particolare lingua ci sono ancora molte attività che sono molto apprezzate. Includono test, scrivendo tutorial, scrivendo documenti API, facendo il sito Web per i progetti, ecc. Se hai un interesse speciale trova un progetto in quell'area e contribuisci alla conoscenza del dominio. (Ad esempio, disponiamo di una comunità attiva di progetti OS di chimica).

    
risposta data 23.01.2011 - 02:17
fonte
2

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

an open source project with the goals of lowering the barriers to entry into open source contribution and increasing diversity. We achieve these goals through a number of initiatives...

    
risposta data 24.01.2011 - 00:55
fonte
1

Ad esempio, Mozilla è sempre alla ricerca di programmatori C ++ per sviluppare e testare i loro progetti. È travolgente per un nuovo arrivato scaricare la massiccia base di codice e passare ore a costruirlo. Poi ci vogliono circa sei mesi in cui trascorri una media di 10+ ore a settimana 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 al codice base, supervisionare una funzione o così. Credo che questo sia vero per ogni progetto maturo con molte persone che ci lavorano.

Dall'altra parte, ci sono molti progetti che muoiono perché non c'è nessuno a svilupparli. Potrebbe essere difficile trovare persone che possano aiutarti o documentazione in questi tipi.

Per trovare un equilibrio tra questi estremi, puoi trovare un programma che devi usare spesso o tutti i giorni. Continuate a utilizzarlo abbastanza da esaurire al più presto le sue funzionalità. Forse sviluppare qualche tipo di affinità verso l'utilizzo su altre opzioni. Quindi, puoi inviare una richiesta di funzionalità o prenderla su te stesso, poiché è probabile che tu sia quello con la maggior comprensione della funzione che proponi. In superficie, questa opzione ti fa sentire come se non riuscissi mai a massimizzare le funzionalità di un programma. Se rimani abbastanza a lungo, avrai bisogno che il programma faccia più di quello che può realmente fare. Potrebbe essere una soluzione di sicurezza / privacy, o una cosa sottile o un miglioramento dell'usabilità.

    
risposta data 27.09.2011 - 03:45
fonte

Leggi altre domande sui tag