La scelta di un servizio di repository hosting è una decisione importante. Il modo in cui ospitate il vostro codice è una parte importante del vostro lavoro e influisce sulla vostra produttività. Quindi dovreste assicurarvi di scegliere la piattaforma più adatta ai vostri (e a quelli del vostro team) obiettivi ed esigenze specifiche.

Se siete come la maggior parte degli sviluppatori, probabilmente utilizzate Git come Version Control System (VCS). Tuttavia, decidere dove ospitare il codice sorgente può essere difficile. Due delle soluzioni più popolari sono Bitbucket e GitHub, ma come si fa a decidere quale sia quello giusto per voi?

In questo post parleremo dell’importanza di scegliere il giusto repository del codice. Poi metteremo a confronto Bitbucket e GitHub per vedere come i due si comportano l’uno rispetto all’altro.

Cominciamo!

Perché Scegliere il Giusto Sistema Code Repository È Importante per gli Sviluppatori?

Un servizio di repository hosting è l’applicazione di terze parti che migliora il vostro VCS (che nella maggior parte dei casi è Git). La repository di codice che utilizzate può giocare un ruolo fondamentale nel vostro flusso di lavoro di sviluppo.

Ad esempio, influenza la vostra capacità di collaborare con altri membri del vostro team e l’efficienza del processo. Influenza anche il modo in cui misurate, monitorate e gestite i vostri progetti. Ogni sistema di repository del codice ha i suoi pro e contro. Ci sono diverse considerazioni importanti da tenere in mente quando li si mette a confronto, tra cui:

  • Supporto VCS
  • Accesso dei collaboratori
  • Interfaccia e usabilità
  • Estensioni e integrazioni di terze parti
  • Piani tariffari

Un altro fattore importante su cui riflettere è se si sta cercando una repository pubblica o privata. Alcune piattaforme sono più adatte per un caso d’uso o per l’altro, quindi è importante sapere in anticipo di cosa avrete bisogno.

Tra le due scelte più popolari per le repository di codice sorgente ci sono Bitbucket e GitHub. Sebbene siano simili sotto molti aspetti, ci sono alcune differenze determinanti che vale la pena considerare prima di decidere quale soluzione sia la migliore per le esigenze del proprio progetto di sviluppo.

Un’Introduzione a Bitbucket e GitHub

Bitbucket e GitHub sono piattaforme di hosting che forniscono repository sia pubbliche che privathe per gli sviluppatori. In termini di funzionalità, Bitbucket e GitHub operano in modo molto simile. Con entrambi, è possibile eseguire comandi di base come:

Tuttavia, per comprendere davvero entrambe le piattaforme, è necessario esaminare più da vicino ciò che ciascuna di esse porta sul tavolo.

Che cos’è Bitbucket?

Bitbucket è un servizio di hosting di repository di controllo versioni, creato nel 2008 e di proprietà di Atlassian. Questa soluzione di gestione di repository Git è scritta in Python, e sviluppata utilizzando il framework web Django.

La home page del sito web di Bitbucket
La home page del sito web di Bitbucket

Una delle principali attrattive di Bitbucket è che offre una flessibilità nativa in termini di supporto VCS. Fornisce anche un numero illimitato di repository di codice privato per Git.

Tra le altre caratteristiche di Bitbucket ricordiamo:

  • Integrazione diretta con Jira, Bamboo, Crucible e Jenkins
  • Possibilità di importare repo da Git, Codeplex, GoogleCode e SVN
  • Supporto dell’autenticazione esterna per GitHub, Google, Facebook e Twitter
  • Forte integrazione con Trello
  • Un client Mac e Windows (Sourcetree) e un’applicazione Android (Bitbeaker)

Anche se è possibile utilizzare Bitbucket per ospitare repository open source, è principalmente rivolto alle imprese e alle aziende che stanno sviluppando codice privato e proprietario. Un altro vantaggio unico di Bitbucket è che offre una piattaforma sicura per il vostro codice con certificazione Soc 2 Type 2.

Che cos’è GitHub?

GitHub è probabilmente la piattaforma di sviluppo più popolare, disponendo di una delle più grandi comunità di sviluppatori esistente. Con più di 40 milioni di utenti e 100 milioni di repository in tutto il mondo, è ampiamente considerato l‘hub per il controllo delle versioni di Git, ed è il più grande host di codice sorgente del pianeta.

La home page del sito web di GitHub
La home page del sito web di GitHub

GitHub è un servizio di hosting di repository open source, avviato nel 2004 e acquisito da Microsoft nel 2018. È scritto in Ruby e Erlang, e il suo focus principale è sul codice pubblico. È possibile utilizzarlo per ospitare e rivedere il codice, sviluppare software e gestire i propri progetti di sviluppo.

Tra le caratteristiche di GitHub ricordiamo:

Potete utilizzare GitHub sia per i vostri progetti di sviluppo personale che per quelli di business. Una delle maggiori attrattive di GitHub è che è gratuito per illimitati repository pubblici.

Ci sono anche alcune differenze secondarie che vale la pena di notare. Ad esempio, GitHub offre un client desktop e il supporto SVN, mentre Bitbucket non lo offre.

Vediamo come le due piattaforme si confrontano su alcuni altri fattori importanti.

 

1. Estensioni e Integrazioni di Terze Parti

Dal tracciamento delle anomalie agli strumenti di project management, ci sono svariate estensioni e applicazioni che possono aiutarvi ad estendere le funzionalità e l’utilità della vostra piattaforma di repository hosting. Sia Bitbucket che GitHub sono dotati di una pletora di estensioni e integrazioni di terze parti tra cui potete scegliere.

Da un punto di vista quantitativo, Bitbucket ha un vantaggio rispetto a GitHub in termini di integrazioni di terze parti. Questo è dovuto al Marketplace di Atlassian, che ha circa 2.300 applicazioni che possono essere utilizzate sia per Bitbucket che per i prodotti di Atlassian fratelli. C’è anche una compatibilità cross-product, che può essere particolarmente utile per gli sviluppatori enterprise:

Il sito web del Marketplace di Atlassian
Il sito web del Marketplace di Atlassian

Ma anche il Marketplace di GitHub offre molte applicazioni e ‘GitHub Actions’ che aiutano ad estendere le funzionalità e l’automazione del workflow di sviluppo:

Il GitHub Marketplace
Il GitHub Marketplace

Questi strumenti possono aiutare nel project management, nel monitoraggio, nella qualità del codice e in molte altre cose. La maggior parte delle oltre 92 integrazioni disponibili con GitHub sono esclusive di GitHub.

2. Interfaccia Utente

Nella decisione tra Bitbucket e GitHub, un altro fattore che potrebbe essere importante è la User Interface (UI). Dopo tutto, bisogna essere sicuri che la piattaforma scelta per la gestione dei propri progetti sia facile da usare e da navigare.

Bitbucket ha un’interfaccia incredibilmente pulita e organizzata:

Il cruscotto di Bitbucket
Il cruscotto di Bitbucket

È semplice spostarsi sul cruscotto e trovare quello che si sta cercando. Inoltre, la chiara navigazione dalla barra laterale rende molto semplice trovare ciò che serve.

Per quanto riguarda GitHub, questo non ha un’interfaccia troppo complessa. Tuttavia, tende ad essere un po’ più disordinata e confusa dell’interfaccia utente di Bitbucket:

Il cruscotto di GitHub
Il cruscotto di GitHub

Può essere un po’ più impegnativo navigare e utilizzare questo cruscotto, soprattutto se non se ne ha familiarità. Tuttavia, anche se potrebbe non essere l’interfaccia utente più elegante, non manca di funzionalità e utilità.

3. Wiki e Bacheche

Un’altra differenza che vale la pena tener presente quando si confronta Bitbucket con GitHub riguarda le funzionalità del wiki. Avere un wiki è incredibilmente utile quando si tratta di collaborare e comunicare con gli altri membri del team e con gli sviluppatori sui vostri progetti.

Con Bitbucket, potete abilitare un wiki per ognuno dei vostri repository e scegliere se renderli pubblici o privati:

La pagina delle impostazioni wiki in Bitbucket
La pagina delle impostazioni wiki in Bitbucket

Purtroppo, a differenza di Bitbucket, i repository privati gratuiti su GitHub non possono avere i loro wiki. Solo i repository pubblici gratuiti hanno questa funzionalità.

Al contrario, GitHub dispone di default di una scheda Progetti, mentre Bitbucket no. Tuttavia, è possibile collegare i repository di Bitbucket direttamente a Trello, che svolge una funzione simile.

In GitHub, la scheda Progetti include una soluzione Kanban integrata:

La scheda 'Progetti' di GitHub
La scheda ‘Progetti’ di GitHub

Ciò significa che ogni progetto ha la sua bacheca. Anche se queste schede non hanno tante funzionalità quanto Trello, sono sufficienti per molti scopi di pianificazione e documentazione.

4. Autorizzazioni sui Branch

Sia Bitbucket che GitHub consentono di concedere agli utenti l’accesso a specifici branch.

Supponiamo che non volete che un membro del team o un collaboratore abbia pieno accesso al vostro archivio. Potrete configurare i permessi per limitare il loro accesso solo ad un singolo branch.

Uno dei vantaggi dell’utilizzo di Bitbucket rispetto a GitHub è che Bitbucket include questa funzionalità gratuitamente in ogni piano. Con GitHub, anche se è possibile abilitare gratuitamente le restrizioni sui branch sui repository pubblici, è possibile farle valere solo sui repository privati con un piano a pagamento.

5. Supporto e Community

Bitbucket si rivolge in gran parte alle aziende e alle attività economiche. Come tale, la maggior parte dei suoi utenti vi si affida per i repository privati. D’altra parte, GitHub è il più grande host per il codice pubblico e, a sua volta, ha un’enorme comunità open source.

Da un punto di vista puramente numerico, c’è un maggiore coinvolgimento della community su cui poter contare con GitHub rispetto a Bitbucket. Se il vostro obiettivo è quello di raggiungere il maggior numero possibile di sviluppatori, GitHub è probabilmente la scelta migliore.

Ma questo non vuol dire che non ci sia un supporto o una base comunitaria per Bitbucket. Oltre ad un’ampia base di utenti, Bitbucket offre anche supporto online, inclusi webinar, tutorial e una vasta raccolta di documentazione.

6. Struttura dei Prezzi

Dal momento che sia Bitbucket che GitHub offrono repository privati e pubblici, la vostra decisione può essere chiaramente determinata dai prezzi e più specificamente da ciò che otterrete per il costo che sosterrete. Naturalmente, le vostre esigenze e le vostre risorse saranno diverse a seconda che siate un’impresa, un freelance o un piccolo team.

Cominciamo con i prezzi di Bitbucket. Sul piano di cloud hosting gratuito, è possibile creare un numero illimitato di repository privati e pubblici, con un massimo di cinque utenti. Questo include 1 GB di Git large file storage (LFS) per l’archiviazione di file non di testo di grandi dimensioni. Successivamente, le tariffe aumentano di 3 dollari al mese per utente:

I piani tariffari di Bitbucket
I piani tariffari di Bitbucket

Per il suo hosting autogestito, Bitbucket offre una struttura dei prezzi a più livelli in base al numero di utenti, prevedendo alcuni sconti. Se state cercando un hosting a livello aziendale presso un data center di Bitbucket, i prezzi partono da 1.980 dollari per 25 utenti.

GitHub è gratuito per la creazione di repository pubblici e privati illimitati, senza alcun limite al numero di utenti che potete avere. Il piano gratuito include anche 500 MB di storage.

I piani a pagamento partono da 4 dollari al mese. Questo include collaboratori illimitati, repository pubblici e privati illimitati, più spazio di archiviazione, promemoria, wiki e pagine per repository privati, solo per citarne alcuni. Se desiderate un piano Enterprise, questi partono da 21 dollari al mese per utente:

I piani tariffari di GitHub
I piani tariffari di GitHub

Il prezzo a livello enterprise di GitHub – chiamato GitHub One – non è disponibile e richiede di entrare in contatto con il servizio vendite. Inoltre, GitHub non offre la soluzione di hosting autogestito come fa Bitbucket attraverso i suoi data center.

Riepilogo

Scegliere la piattaforma giusta per l’hosting del codice sorgente tra Bitbucket e GitHub può essere difficile. Tuttavia, dare un’occhiata da vicino a questi popolari e consolidati repository host è un ottimo punto di partenza.

Come abbiamo visto, sia Bitbucket che GitHub offrono vantaggi unici che li rendono adatti ad alcuni tipi di team di sviluppo:

  1. GitHub è una potente piattaforma open source ben attrezzata per gestire progetti personali o di piccoli team che si possono condividere in pubblico.
  2. Bitbucket è una soluzione economica se siete un professionista o un’azienda alla ricerca di un servizio di hosting sicuro per il vostro codice privato e proprietario.

Ora tocca a voi: chi vince, secondo voi, nella sfida tra Bitbucket e GitHub? Fatecelo sapere nella sezione commenti qui sotto!

Brian Li

Brian has been a WordPress user for over 10 years, and enjoys sharing his knowledge with the community. In his free time, Brian enjoys playing the piano and exploring Tokyo with his camera. Connect with Brian on his website at brianli.com.