7 dei Migliori Alternativi Autogestiti a Github

Dopo che Microsoft ha acquisito Github, molti sviluppatori hanno cercato alternative per ospitare il proprio codice. Microsoft (e molte altre grandi aziende) ha l’abitudine di acquistare tecnologie, siti web e prodotti collaudati per espandere la propria portata. Skype è un esempio, e ora anche Github.
Fortunatamente, ci sono molti altri sistemi di controllo versione tra cui scegliere. Non tutti hanno tutte le funzionalità di Github, ma a seconda di ciò di cui hai bisogno, le scelte sono abbastanza buone. Questo articolo esaminerà alcune delle migliori alternative autogestite a Github che puoi installare sulla tua macchina oggi.
Indice
- GitLab
- Gogs
- Trac
- GitBucket
- Gitea
- Mercurial
- Fossil
1. GitLab
Anche prima che Microsoft acquisisse Github, GitLab era già una popolare piattaforma alternativa per la gestione del codice. È uno strumento open-source per il ciclo di vita DevOps con funzionalità di pianificazione, test, imballaggio e rilascio. Include anche funzionalità di wiki e tracciamento dei problemi, che lo rendono estremamente attraente per gli utenti che desiderano avere un’esperienza “simile a Github” autogestita.

Mentre puoi utilizzare GitLab come piattaforma autogestita per la gestione del codice, i suoi sviluppatori offrono anche una versione premium a pagamento. Questa versione include funzionalità aggiuntive come la possibilità di sincronizzarsi con un server LDAP e pipeline CI/CD avanzate.
Detto ciò, puoi installare GitLab sulla tua macchina così come sulla loro piattaforma ospitata gratuitamente. L’edizione Premium, d’altra parte, attualmente parte da $29 per utente al mese.
Suggerimento: scopri cosa rende GitLab diverso da Github e determina quale è il migliore per te.
2. Gogs
Gogs è una piattaforma di hosting Git leggera che puoi installare su quasi qualsiasi hardware. Scritta in Go, i suoi sviluppatori hanno progettato il programma per essere il più veloce possibile, facendo affidamento su poche o nessuna dipendenza esterna. Ad esempio, è possibile far funzionare Gogs su un sistema con soli 512 MB di RAM.

Uno dei principali punti di vendita di Gogs è che è incredibilmente facile da eseguire anche su server virtuali. Per impostazione predefinita, Gogs include anche tutti gli strumenti necessari per gestire il tuo codice, tracciare problemi e documentare le modifiche. Pertanto, Gogs è una grande opzione se stai cercando un’alternativa a Github “senza fronzoli” con il miglior rapporto “potenza-peso”.
Buono a sapersi: scopri le basi della gestione di un repository Git.
3. Trac
Trac è una piattaforma di gestione del codice semplice e altamente flessibile per Linux. A differenza di GitLab e Gogs, Trac può lavorare sia con Subversion che con Git come sistema di controllo versione di backend. Questo lo rende utile se hai già un progetto che lavora su uno di quei sistemi.

Oltre ad essere uno strumento flessibile, Trac è anche un wiki potenziato e un sistema di tracciamento dei problemi per il tuo progetto. Può gestire vari ticket, assegnare ruoli diversi e creare livelli di priorità per ogni problema nel tuo repository.
Inoltre, Trac fornisce anche numerosi plugin che possono cambiare il comportamento della tua istanza per impostazione predefinita. Ad esempio, ha un plugin che ti consente di integrare Trac in un progetto Github esistente. Di conseguenza, Trac è una buona scelta se devi monitorare regolarmente e da vicino i progressi dei progetti.
Suggerimento: Se hai solo bisogno di una semplice soluzione pastebin usando Git, dai un’occhiata a Opengist.
4. GitBucket
GitBucket è un clone di GitHub basato su JVM scritto in Scala. Non ha tante funzionalità quanto le altre applicazioni nella lista. Infatti, il suo principale vantaggio è la sua somiglianza con GitHub. In altre parole, se inizi a sentire la mancanza di GitHub, puoi sempre ricorrere a GitBucket.

Detto ciò, GitBucket offre un visualizzatore di repository decente, un tracker di problemi, la possibilità di rivedere e accettare pull request, oltre a un wiki semplice. Oltre a ciò, puoi anche estendere la funzionalità di GitBucket grazie ai plugin. Questi sono piccoli pezzi di codice che possono introdurre nuove funzionalità o cambiare quelle esistenti per il tuo repository. Ad esempio, puoi installare un plugin GitHub Gist nel tuo GitBucket e anche siti web personalizzati simili a GitHub Pages.
Suggerimento: dai un’occhiata ad alcuni dei migliori hook Git usati per ottimizzare il tuo repository.
5. Gitea
Gitea è una piattaforma di gestione del codice leggera e focalizzata sulla sicurezza per Linux. Basata su Gogs, mira a fornire un’alternativa completa autogestita a GitHub consumando poche o nessuna risorsa di sistema.

Alcune delle caratteristiche principali di Gitea rispetto a Gogs sono i suoi feed RSS integrati, il supporto per flussi di lavoro CI/CD, così come ruoli utente multipli per il tuo repository. Inoltre, include anche il proprio framework di estensioni che ti consente di aggiungere funzionalità come siti web personalizzati simili a GitHub pages. Gitea è una grande alternativa se stai cercando un GitHub autogestito leggero che sia anche altamente estensibile.
FYI: sei un utente Emacs? Scopri come puoi integrare Git in Emacs usando Magit.
6. Mercurial
A differenza delle voci precedenti in questa lista, Mercurial è una piattaforma di gestione del codice completamente diversa rispetto a Github. Fornisce un modo più chiaro e concreto di gestire il codice, più facile da imparare per i nuovi sviluppatori software. Simile a Subversion, Mercurial mira a semplificare le cose fornendoti comandi già simili al tuo sistema Linux.

Uno dei punti di vendita di Mercurial è che è multipiattaforma e altamente modulare. Di conseguenza, la piattaforma viene fornita con un sacco di estensioni che puoi usare per personalizzare il tuo flusso di lavoro Mercurial. Ad esempio, l’estensione hgnested ti consente di creare repository secondari più piccoli all’interno del tuo principale.
7. Fossil
Fossil è un sistema di gestione del codice sorgente non-Git per Linux che si concentra sulla semplicità e sull’affidabilità. A differenza di Git e Mercurial, Fossil fornisce una piattaforma completa “tutto in uno” per sviluppare e condividere codice con altre persone. Fin da subito, ogni installazione di Fossil include un forum, un tracker di problemi e persino una semplice chat IRC.

Un punto di vendita unico di Fossil è che è facile da distribuire e flessibile alle esigenze della tua macchina. È possibile creare il tuo repository Fossil da un unico binario senza alcun permesso sudo e farlo funzionare come un container usando Docker e Docker Compose. Questo lo rende attraente per gli utenti che hanno già un server e necessitano di una piattaforma di gestione del codice adattabile che sia facile da distribuire in quasi qualsiasi ambiente.
Imparare alcune delle migliori alternative a GitHub che puoi installare sulla tua macchina è solo il primo passo per riconquistare la tua privacy digitale online. Esplora questo meraviglioso mondo dell’autohosting creando la tua alternativa bit.ly usando Shlink.
Immagine di credito: Yancy Min via Unsplash. Tutte le modifiche e gli screenshot di Ramces Red.