È stata rilasciata la versione della piattaforma di sviluppo collaborativo Forgejo 9.0, che consente di implementare nei propri server un sistema per la collaborazione con repository Git, simile a GitHub, Bitbucket e GitLab. Forgejo è un fork del progetto Gitea, che a sua volta si è originato dalla piattaforma Gogs. La separazione di Forgejo è avvenuta nel 2022 dopo tentativi di commercializzazione di Gitea e il passaggio della gestione a un'azienda commerciale. Il progetto Forgejo si attiene ai principi di gestione autonoma e responsabilità verso la comunità. Il servizio di hosting Git Codeberg.org ha adottato Forgejo. Il codice del progetto è scritto in linguaggio Go e distribuito sotto licenza MIT.
Le caratteristiche principali della piattaforma includono un basso consumo di risorse (può essere utilizzata su Raspberry Pi o in dispositivi a basso costo VPS) e un processo di installazione semplice. Sono disponibili funzionalità standard per la gestione dei progetti, come la gestione delle attività, il tracciamento dei problemi, le pull request, un wiki, strumenti per la coordinazione dei gruppi di sviluppo, la preparazione delle versioni, l'automazione della distribuzione dei pacchetti nei repository, la gestione dei diritti di accesso, l'integrazione con piattaforme di integrazione continua, la ricerca del codice, l'autenticazione tramite LDAP e OAuth, l'accesso al repository tramite i protocolli SSH e HTTP/HTTPS, il collegamento di webhooks per l'integrazione con Slack, Discord e altri servizi, il supporto per i Git-hooks e Git LFS, strumenti per la migrazione e il mirroring dei repository. Si sottolinea inoltre la possibilità di utilizzare il protocollo ActivityPub per unire in una rete federata diverse server sviluppatori.
Principali modifiche:
- È stata effettuata la transizione da una licenza permissiva MIT a una licenza copyleft GPLv3+ per il nuovo codice. Il cambiamento della licenza faciliterà l'integrazione di codice distribuito sotto licenze copyleft incompatibili con MIT nel progetto e ridurrà il rischio di pratiche commerciali sleali, come il legare l'utente a un fornitore specifico e la creazione di versioni modificate di Forgejo distribuite con limitazioni aggiuntive.
- È stata aggiunta una prima implementazione di un sistema di quote personalizzabili, che permette di limitare la dimensione dei dati utente sul server. L'implementazione si basa sull'impostazione di quote morbide (soft quota), il cui superamento viene verificato soltanto prima di eseguire le operazioni, ma non è limitato in caso di superamento della quota durante l'esecuzione delle operazioni.
- È consentito l'uso di chiavi SSH al posto delle password per l'autenticazione delle operazioni di mirroring.
- Per l'utilizzo di Git è stato mantenuto solo il backend basato sugli strumenti standard di Git. È stato rimosso il backend go-git con l'implementazione di Git in linguaggio Go, semplificando la manutenzione, consentendo di sviluppare Forgejo senza preoccuparsi delle funzionalità di go-git ed escludendo problemi di corruzione dei repository, che si verificavano in go-git.
- Rimosso il provider di sessioni basato sul DBMS Couchbase, poiché dipende da software non libero, le cui capacità di testare sono limitate.
Fonte: opennet.ru
