De release van het Forgejo 9.0 samenwerkingsplatform is gepubliceerd, waarmee je een systeem kunt opzetten voor samenwerking met Git-repositories op je eigen servers, vergelijkbaar met GitHub, Bitbucket en Gitlab. Forgejo is een fork van het Gitea-project, dat op zijn beurt is voortgekomen uit het Gogs-platform. De afsplitsing van Forgejo vond plaats in 2022 na pogingen tot commercialisatie van Gitea en de overdracht van het beheer aan een commercieel bedrijf. Het Forgejo-project houdt vast aan de principes van onafhankelijk bestuur en gemeenschapsondersteuning. De Git-hosting Codeberg.org heeft overgeschakeld naar Forgejo. De code van het project is geschreven in de programmeertaal Go en wordt verspreid onder de MIT-licentie.
De belangrijkste kenmerken van het platform zijn een laag verbruik van middelen (kan worden gebruikt op een Raspberry Pi of op goedkope VPS) en een eenvoudig installatieproces. Standaard functionaliteiten voor projectbeheer worden geboden, zoals taakbeheer, probleemtracking (issues), pull-verzoeken, wiki, hulpmiddelen voor het coƶrdineren van ontwikkelteams, het voorbereiden van releases, automatisering van het plaatsen van pakketten in repositories, toegangbeheer, integratie met continue integratieplatforms, codezoekfunctie, authenticatie via LDAP en OAuth, toegang tot de repository via SSH en HTTP/HTTPS, integratie van webhooks met Slack, Discord en andere diensten, ondersteuning voor Git-webhooks en Git LFS, en hulpmiddelen voor migratie en het spiegel van repositories. Een speciale vermelding is de mogelijkheid om het ActivityPub-protocol te gebruiken voor de federatieve netwerken van afzonderlijke servers ontwikkelaars.
Belangrijkste wijzigingen:
- Er heeft een overgang plaatsgevonden van de permissieve MIT-licentie naar de copyleft GPLv3+ licentie voor nieuwe code. De wijziging van de licentie zal het eenvoudiger maken om code die onder copyleft-licenties valt, niet compatibel met MIT, te gebruiken in het project, en zal bovendien het risico op oneerlijke zakelijke praktijken, zoals het binden van gebruikers aan een specifieke leverancier en het creƫren van aangepaste versies van Forgejo met extra beperkingen, verlagen.
- Er is een initiƫle implementatie van een systeem voor configureerbare quota toegevoegd, waarmee de omvang van gebruikersdata op de server kan worden beperkt. De implementatie is gebaseerd op het instellen van zachte quota (soft quota), waarvan de overschrijding alleen wordt gecontroleerd voordat bewerkingen worden uitgevoerd, maar die niet wordt beperkt in geval van overschrijding tijdens het uitvoeren van bewerkingen.
- Het is toegestaan om SSH-sleutels te gebruiken in plaats van wachtwoorden voor de authenticatie van mirror-bbewerkingen.
- Voor Git is alleen de backend op basis van de standaard Git-toolset behouden. De go-git backend, die Git in de programmeertaal Go implementeert, is verwijderd, wat het onderhoud vergemakkelijkt, de ontwikkeling van Forgejo zonder afhankelijkheid van de functionaliteit van go-git mogelijk maakt en problemen met beschadigde repositories, die zich in go-git voordeden, uitsluit.
- De sessieleverancier op basis van de Couchbase-database is verwijderd, omdat deze afhankelijk is van niet-vrije software, waarvan de testmogelijkheden beperkt zijn.
Bron: opennet.ru
