How to Contribute to Open Source Project

Non è mai stato facile imparare a programmare. Ma nonostante le tonnellate di modi per imparare a programmare, crediamo che il modo migliore per migliorare le tue abilità sia contribuire a progetti open source.

La comunità open source fornisce una grande opportunità agli aspiranti programmatori di distinguersi; e contribuendo a vari progetti, gli sviluppatori possono migliorare le loro abilità e ottenere ispirazione e supporto da persone che la pensano come loro. Ma soprattutto, possono dimostrare che possono costruire esperienze fantastiche che la gente ama.

In precedenza, abbiamo discusso cosa sono i progetti open source e perché l’open source è buono per il tuo business. In questo articolo, spiegheremo perché dovreste contribuire a tali progetti, come contribuire e quali progetti scegliere. Questo articolo è orientato agli sviluppatori che hanno appena iniziato la loro carriera e vorrebbero essere coinvolti nella comunità (e magari diventare un genio della codifica).

Perché contribuire a progetti open source?

Ci sono diverse ragioni per contribuire a OSS (software open-source). Vediamo cosa spinge gli sviluppatori a contribuire.

In primo luogo, ci sono molti appassionati che semplicemente credono che il codice dovrebbe essere aperto. Sono idealisti che vogliono rendere il mondo un posto migliore, e questo li spinge a contribuire al codice. Il desiderio di condividere può essere un potente motivatore.

In secondo luogo, OSS ti dà un grande inizio. I principianti potrebbero iniziare sistemando cose minori, come un bug in una libreria, inviando una richiesta di pull, o anche scrivendo un pezzo di documentazione. Tuttavia, gli sviluppatori principianti possono anche imparare a scrivere il cosiddetto “codice pulito” – codice che è leggibile e mantenibile – mentre contribuiscono a progetti open source. Quando gli sviluppatori si rendono conto che il loro codice è esposto al mondo, li fa concentrare sul rendere quel codice facile da capire e da mantenere. I programmatori si attengono a regole generalmente accettate all’interno di un team, che includono norme per i rientri, descrizioni di metodi e classi, nomi di variabili, e seguire la regola del non ripetere se stessi. In poche parole, quando si contribuisce a progetti liberi si è obbligati a conformarsi alle norme di un progetto.

In terzo luogo, si ha la possibilità di essere parte di una comunità open source attiva dove si possono incontrare persone che la pensano come te e sostenitori. Inoltre, se sei un libero professionista e contribuisci attivamente ai progetti open source, aumenti le tue possibilità di essere notato da potenziali datori di lavoro.

Le ragioni principali per cui gli sviluppatori vanno per progetti free-for-modification sono per essere riconosciuti, per affinare le loro capacità di programmazione, e per diventare parte della vivace comunità. Ora diamo un’occhiata a ciò che dovresti considerare prima di iniziare a contribuire.

Cosa considerare prima di passare all’open source

Ok, quindi non vedi l’ora di iniziare il tuo primo progetto OSS. Vediamo alcuni consigli che potrebbero aiutarti a scegliere su cosa lavorare.

Linguaggio di programmazione

La tecnologia più fondamentale dietro qualsiasi applicazione è un linguaggio di programmazione. I linguaggi più popolari su GitHub (una piattaforma collaborativa di hosting del codice) sono JavaScript, Python, Java, Ruby e PHP. Ci sono una moltitudine di progetti che potrebbero soddisfare le tue abilità e i tuoi gusti.

Siccome noi di RubyGarage amiamo Ruby e il suo ecosistema, vorremmo condividere diversi codebase OSS dal vivo per i principianti:

  • Sinatra, una libreria basata su Ruby che aiuta a creare applicazioni senza Rails;
  • Hanami, un moderno framework web costruito con Ruby;
  • Chef, un framework basato su Ruby usato per automatizzare il tuo lavoro con il server;
  • Goby, un framework che ti permette di costruire giochi di ruolo testuali;
  • JRuby, un interprete Ruby di secondo livello.

Anche se abbiamo menzionato solo cinque progetti open source attivi che hanno bisogno di aiuto, puoi iniziare il tuo lavoro come collaboratore Ruby con loro.

Tipo di progetto

Dopo aver scelto la lingua in cui vuoi lavorare, devi scegliere il tipo di progetto che preferisci. I progetti di GitHub sono categorizzati in cartelle chiamate Showcases. Ecco alcuni esempi di Showcases: “sicurezza”, “realtà virtuale”, “editor di testo” e “preprocessori CSS”. Scegliete semplicemente un argomento che vi interessa.

Tuttavia, vi raccomandiamo di prestare maggiore attenzione a quei progetti che saranno usati da un ampio spettro di persone, così avrete la possibilità di testare il vostro codice su un vasto pubblico del mondo reale. Per esempio, la vetrina “Emoji” contiene 25 repository che rappresentano la sua popolarità. Un altro consiglio su come scegliere un progetto OSS è quello di iniziare a lavorare su software che già usate o su software che siete interessati ad usare. Questo ti terrà motivato a continuare a lavorare.

Volume del progetto

Grandi progetti software come VLC Media Player o Spree – con migliaia di righe di codice – non sono la scelta migliore per un principiante. Quando si contribuisce a progetti enormi, ci si aspetta che si soddisfino i requisiti stabiliti all’interno di quel team. Ecco un altro piccolo consiglio: fai attenzione alle etichette dei problemi. Alcuni problemi sono etichettati come “first-timers-only”, “beginner”, “easy”, e così via. Puoi anche trovare una lista su Github con raccolte di progetti adatti ai principianti.

Considera questi consigli quando scegli un progetto a cui contribuire. E ricordati sempre di scegliere il software che ti interessa e di assegnare del tempo in anticipo.

Come contribuire ai progetti open source

Quando si parla di software libero, non possiamo evitare di parlare di GitHub e degli strumenti correlati. Vediamo cos’è GitHub e come ti aiuta a partecipare ai progetti open source.

Conosci GitHub

GitHub è la piattaforma più popolare per la collaborazione open source, quindi probabilmente la userai quando esplorerai il mondo di OSS. Per prima cosa, devi creare un account GitHub e leggere la guida che ti aiuta ad iniziare. Su GitHub, puoi contribuire ai progetti inviando problemi e contribuendo al codice. Presentare problemi significa inviare messaggi su errori nelle applicazioni e suggerire modi per risolverli. Contribuire al codice significa inviare richieste di pull con le tue correzioni e miglioramenti.

Impara le basi

Quando lavori con GitHub, dovresti sapere come usare Git – uno dei più popolari strumenti di controllo della versione (conosciuto anche come strumento di controllo della revisione). Poiché gli sviluppatori apportano costantemente modifiche al loro codice, hanno bisogno di un sistema che possa gestire queste modifiche in un repository centrale. In questo modo, chiunque sia coinvolto nel processo di sviluppo può scaricare un dato pezzo di software, apportare modifiche e inviare aggiornamenti.

Oltre ad essere a proprio agio con gli strumenti di controllo di revisione, le abilità essenziali includono la capacità di clonare un repository e inviare richieste di pull. Le richieste di pull informano i manutentori del codice sulle modifiche apportate al codice; essi possono quindi rivedere queste modifiche, iniziare una discussione su di esse, o assegnarle ad un ulteriore commit.

Entrare nella comunità

Puoi facilmente unirti ad un progetto open source iscrivendoti alla mailing list di quel progetto. Puoi trovare le mailing list sui siti ufficiali o sulle pagine di GitHub. Dopo essere stato accettato nella lista, puoi comunicare con i membri del team e ottenere supporto se necessario. Grazie alle vivaci comunità presenti in quasi tutti i progetti OSS, è probabile che tu riceva risposte veloci alle tue domande.

Tutte le competenze sono benvenute

Anche i non programmatori possono contribuire ai progetti open source! La documentazione è necessaria per tutti i progetti, e a volte questa è scritta e mantenuta male. Quindi, puoi aiutare scrivendo, aggiornando o anche traducendo la documentazione. Inoltre, le tue capacità di progettazione potrebbero essere utili: ogni applicazione ha bisogno di un’interfaccia, dopo tutto. Infine, puoi contribuire gestendo una comunità rispondendo alle domande e guidando i nuovi arrivati.

Modi per contribuire ai progetti open source

Mettiamo in evidenza i modi più comuni per contribuire ai progetti OSS.

Crea il tuo progetto open source

Ogni progetto dovrebbe iniziare con un bisogno identificato. Se senti che i progetti esistenti su GitHub o Bitbucket non offrono la funzionalità che vorresti costruire, allora crea la tua soluzione open source. Oltre ad una bozza iniziale del progetto, dovresti considerare la seguente serie di domande:

  1. Di quali competenze hai bisogno per il tuo progetto?
  2. Quanto tempo sei disposto a dedicare al tuo progetto?
  3. Quali problemi risolve il tuo software?
  4. Quanti potenziali utenti ci sono per il tuo prodotto?

Crea alternative open source al software commerciale

I progetti commerciali di oggi coinvolgono attivamente soluzioni open source. Molte aziende basano i loro progetti su strumenti gratuiti. Quando c’è un’enorme selezione di software, non è necessario reinventare la ruota. Questo è il motivo per cui è utile giocare con il software libero che può sostituire un software proprietario simile, o che risolve un problema che hai affrontato di recente.

Un’altra ragione per sostituire le soluzioni commerciali con il software open source è il desiderio di vera innovazione e crescita. Il software commerciale sostiene di essere innovativo, ma il suo obiettivo finale è la realizzazione di un profitto. Il software open source unisce le migliori pratiche, la grande qualità del codice e gli sviluppatori appassionati che vogliono scrivere codice solo perché gli piace.

Contribuire ai progetti open source esistenti

Puoi trovare molti progetti a cui sei libero di partecipare su GitHub – una piattaforma orientata agli sviluppatori con una serie di funzionalità semplici ma essenziali. GitHub attrae gli sviluppatori con API pubbliche, un’interfaccia utente elegante e frequentemente aggiornata, gist (repository Git) che permettono di condividere pezzi di codice o anche intere applicazioni, e molto altro. Si può contribuire al software libero in molti modi. Gli sviluppatori possono biforcare i progetti, apportare modifiche al codice e inviare richieste di pull. E il controllo della qualità è sempre apprezzato. A volte gli sviluppatori sono troppo occupati o troppo pigri per controllare la qualità del loro codice. Quindi vai avanti e segnala un bug o prova a risolverlo – il tuo aiuto è apprezzato.

Puoi raggiungere i progetti GitHub più caldi seguendo il link “Trending”. E per rendere la tua ricerca più pertinente, usa la ricerca avanzata: seleziona la lingua in cui vorresti codificare e scegli il criterio “best match”. Best match classifica i progetti in base alla rilevanza, tenendo conto del numero di fork (che rappresenta quanto attivamente il progetto viene aggiornato) e delle stelle (“mi piace”, nel linguaggio di Facebook). La maggior parte dei progetti ha problemi noti (tuttavia, alcuni non lo fanno) con etichette come “bug”, “discussione”, “sicurezza”, o “refactor”, o altre etichette secondo il livello di difficoltà: “

Conclusione

I progetti open source portano molti benefici a chi vi partecipa, e tale esperienza è ottima per il tuo CV. Unendoti ad una comunità di persone che la pensano come te e perfezionando le tue abilità, puoi fare un passo avanti come aspirante sviluppatore. Abbiamo elencato i motivi comuni per cui le persone contribuiscono ai progetti OSS e descritto vari modi per iniziare. Se vuoi leggere di più su come contribuire ai progetti OSS, dai un’occhiata ai nostri articoli precedenti su come i progetti open source penetrano il mercato IT e sulla sicurezza del software libero.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.