Che tu sia un programmatore esperto o soltanto uno studente alle prime armi avrai sicuramente sentito parlare di uno di questi tre servizi di hosting per progetti software, se non tutti e tre!
Github, Bitbucket e Gitlab sono dei servizi in cui è possibile caricare il codice sorgente dei propri lavori realizzati con il controllo di versione Git, sono quindi uno strumento pensato per il mondo informatico.
I file caricati in questo modo possono essere scaricati dagli utenti in modo poi da interagire con lo sviluppatore attraverso commenti e pull request. Spesso attorno a particolari progetti di natura open source si formano community di informatici che collaborano per migliorare sempre di più il risultato, un esempio significativo di queste collaborazioni è Atom, un editor di testo in ambito programmazione utilizzato su larga scala.
Github
Github è sicuramente il più famoso ed utilizzato tra i tre. Il sopra citato Atom è nato tramite questo servizio di hosting e molti progetti, come Linux, e importanti aziende, Microsoft, Apple e Google lo utilizzano attivamente insieme a numerose community.
I vantaggi di questo servizio di hosting sono legati alla sua semplicità d’uso che sommata alle numerose funzionalità presenti offre una combinazione eccezionale. In particolare la gestione delle pull request, ossia di tutte le richieste fatte da coloro che vorrebbero aggiungere al software una miglioria da loro realizzata, permette di organizzare e dividere il lavoro di revisione e aggiunta in modo molto dettagliato.
Bitbucket
Bitbucket si presenta come alternativa a Github, di fatto molto simile a quest’ultimo, predilige però il controllo di versione Mercurial con il quale è nato per quanto anche Git sia perfettamente integrato e funzionante dal 2011. Bitbucket è un servizio web based scritto in Python con il framework per applicazioni web Django.
Anche qui viene data molta rilevanza alla gestione delle pull, strumento centrale di tutti e tre questi servizi di hosting, e per quanto esso disponga di meno features rispetto a Github, offre tutto il necessario per organizzare il proprio lavoro. Alcuni utenti ritengono questa minore offerta di funzionalità di gestione delle pull migliore, più semplice ed efficace.
Gitlab
Per quanto tutti e tre i servizi si occupino di gestire anche servizi open source Gitlab è l’unico di essi ad essere veramente open source. Gitlab come Bitbucket è un servizio web based ma a differenza del secondo è sviluppato con una metodologia DevOps, metodologia complementare a quella dello sviluppo agile del software, che gli permette di essere aggiornato facilmente e velocemente.
In Gitlab troviamo un servizio molto simile a quello delle pull request citate precedentemente per quanto in questo contesto vengano chiamate Merge request. Le funzionalità di base di quest’ultime sono pressoché identiche a quelle delle pull request precedenti.
Integrazione con tool di terze parti
Questi servizi di hosting non differiscono unicamente per funzionalità ma anche per il modo in cui si rapportano con servizi di terze parti. Questa categoria è molto importante perché per quanto questi servizi di hosting incoraggino lo sviluppo e l’aggiornamento dei software le effettive modifiche effettuate dal team e l'organizzazione dello sviluppo avvengono su altre piattaforme.
Github in particolare si occupa dell’integrazione con tool di terze parti grazie a github marketplace e works with github. Il servizio marketplace risulta essere più piccolo ma permette la vendita di servizi, works with github si occupa invece di integrare servizi già esistenti e risulta essere molto più grande e completo.
Bitbucket è un servizio di proprietà di Atlassian quindi utilizzando Jiran o Bamboo non ci saranno problemi di integrazione. Offre inoltre un marketplace di app e così come Github e Gitlab mette a disposizione un API per la realizzazione di app personalizzate.
Gitlab ha poche integrazioni presenti e ciò è dovuto alla sua natura open source per cui ogni parte del codice può essere customizzata. Interventi sul codice dovuti a possibili integrazioni sono comunque rari grazie ai numerosi plug-in forniti.
Visibilità di Github, Bitbucket e Gitlab
Github, come detto all’inizio, è la piattaforma più conosciuta e utilizzata, di conseguenza il bacino di utenza è sicuramente più ampio. Andando però oltre la semplice casualità che un utente si imbatta nel tuo progetto github offre un motore di ricerca dei progetti e i più interessanti vengono condivisi nella newsletter settimanale.
Bitbucket non offre alcuna possibilità di ricerca ma, come gli altri due, offre un servizio gratuito di hosting per siti statici anche se, a differenza dei concorrenti, non permette di customizzare il nome del dominio.
Gitlab riprende molto le orme di Github, sia per la presenza del motore di ricerca sia per il servizio di hosting dei siti statici anche se a differenza di Github non permette di seguire gli sviluppatori che ti interessano come su Github.
Prezzi di Github, Bitbucket e Gitlab
Le differenze tra i vari servizi non si misurano solo in termini di funzionalità ma anche in termini di costo, per quanto si possa notare un certa correlazione tra prezzo e funzionalità.
Github nelle condizioni di Cloud Hosting è gratuito per tutti i progetti open source in tutte le condizioni, subentrano dei costi in caso di progetti privati, 25 dollari al mese per la condivisione con 5 utenti altrimenti in caso di maggiori utenti la tariffa è di 9 dollari per utente ogni mese. Per quanto riguarda il Self Hosting tutti i tipi di progetto costano 21 dollari per utente al mese.
Bitbucket in Cloud Hosting offre una tariffa gratuita per i progetti che coinvolgono un massimo di 5 utenti, altrimenti la tariffa è di 2 dollari per utente al mese. Non viene fatta alcuna distinzione tra progetto privato e open source. Nel Self Hosting i prezzi sono diversi, 10 dollari una sola volta per progetti fino a 10 utenti, altrimenti 2000 dollari una sola volta o, in caso si volesse avere il supporto della piattaforma, 1800 dollari all’anno.
Gitlab rimane gratuito in tutte le situazioni di Cloud Hosting. Essendo un servizio open source i suoi prezzi in caso di Self Hosting rimangono gratuiti tranne una tariffa di 19 dollari per utente al mese solo per progetti che superano i 10 utenti e che richiedono l’assistenza della piattaforma.