I progetti open source sono ovunque, sul web, sul tuo computer e sul tuo cellulare. In questo articolo, daremo un'occhiata a:
Il software open source (OSS) è un tipo di software per computer in cui il codice sorgente è reso pubblicamente disponibile e concesso in licenza in modo tale che chiunque possa apportare modifiche e ridistribuire il codice o l'eseguibile.
Anche se il software open source è per lo più sviluppato e gestito da un gruppo di persone, chiunque può accedere al codice e giocare con esso se lo desidera.
Ho contribuito a diversi progetti open source e contribuire a un progetto open source è un ottimo modo per diventare uno sviluppatore migliore e restituire alla comunità. Impari dal codice di altre persone e impari a scrivere codice migliore da solo. Vedere un progetto open source su cui hai lavorato insieme ad altri sviluppatori è uno dei sentimenti più gratificanti che ho provato come sviluppatore.
Iniziamo dando un'occhiata ad alcuni famosi esempi di software open source. Potresti essere sorpreso dal volume di progetti open source e anche da alcune delle aziende dietro questi progetti, come Google e Automattic.
Sono disponibili milioni di progetti open source. Di seguito è riportato un elenco di alcuni esempi molto popolari e notevoli.
Un progetto open source prevede in genere tre fasi. Diamo una rapida occhiata a ogni fase.
Se vuoi essere coinvolto in un progetto open source, puoi iniziare contattando l'organizzazione dietro il software stesso e chiedendo quali opportunità hanno in corso. Questo metodo funzionerà bene per progetti di dimensioni minori o per le startup, tuttavia, dovresti sapere che la maggior parte dei progetti open source non pagherà per il tuo lavoro e che è fatta su base volontaria.
In passato, quando ho lavorato a progetti open source, ho dovuto aspettare settimane (e in un caso, due mesi) prima di ricevere una risposta, ma dovresti sederti lì e aspettare che tutte le email di conferma importanti e poi sei a posto.
In alternativa, per progetti su larga scala, puoi semplicemente iniziare a programmare e forgiare la tua versione del software. Dovresti essere cauto, tuttavia, se molte persone stanno lavorando allo stesso progetto come te, che il tuo duro lavoro potrebbe non essere incluso nella versione finale del prodotto, quindi preparati per il rifiuto.
Se stai cercando ispirazione per un progetto su cui iniziare a lavorare, ci sono sempre molti progetti interessanti su cui lavorare, specialmente se cerchi siti come GitHub, SourceForge e Google Code.
Prima di iniziare a lavorare sul progetto, dovresti familiarizzare con il modo in cui viene eseguito il progetto e come è strutturata la sua gestione in modo da sapere a chi rivolgersi se hai bisogno di assistenza con qualcosa. Inoltre, è una buona idea controllare che tu sappia esattamente cosa stai facendo prima di iniziare, perché non vuoi rovinare le cose o sprecare tempo a lavorare su una funzione su cui qualcun altro sta già lavorando, per esempio.
Quando hai apportato le modifiche desiderate o implementato la funzione che avevi in mente, impegni le modifiche al progetto principale e le invii ai manutentori del progetto per la revisione.
Questo può essere fatto usando GitHub o su una piattaforma come SourceForge. Le tue modifiche di solito riceveranno a sì o a no dall'organizzazione o dal team responsabile del progetto, indicando se le modifiche verranno incluse nel progetto. Se lo sono, allora è il momento per la fase di distribuzione. In caso contrario, si torna alla fase di contribuzione.
Forse la fase più complessa di tutte è la distribuzione di un progetto open source. Qui, la versione finale è impegnata nel repository in cui è stato ospitato il progetto e sono state aggiornate le versioni live per i non sviluppatori. A questo punto, l'organizzazione e gli sviluppatori salutano il loro duro lavoro e lo consegnano al pubblico per uso generale e, naturalmente, la critica.
Spero che ora tu abbia più fiducia nello sviluppo dell'open source e in che modo puoi essere coinvolto in un progetto tu stesso. L'open source può essere davvero interessante, ma anche molto frustrante a volte. La cosa fondamentale da tenere a mente, però, è andare avanti e non mollare quando si colpisce un ostacolo.
Nella parte successiva di questa serie, daremo un'occhiata alle licenze per i progetti open source e quali sono alcune delle opzioni disponibili per gli sviluppatori. Se avete domande, saremo lieti di risponderle per voi nei commenti qui sotto.