- cross-posted to:
- opensource@lemmy.ml
- everything_git@lemmy.ml
- cross-posted to:
- opensource@lemmy.ml
- everything_git@lemmy.ml
Forgejo is a self-hosted lightweight software forge. Easy to install and low maintenance, it just does the job.
Forgejo v9.0 is the first version to be released under a copyleft license, after a year of discussions. Among the motivations for this change is the realization that a pattern emerged over the years, exemplified by Redis, CockroachDB, Terraform and many others. They turned proprietary because people chose their own financial gain over the interest of the general public. Forgejo admins no longer have to worry about this sword of Damocles: relicensing it as a proprietary software is not allowed.
The removal of the go-git backend is part of a larger effort to make Forgejo easier to maintain, more robust and even smaller than it already is (~100MB). When presented with go-git as an alternative to Git, a Forgejo admin may overlook that it has less features and a history of corrupting repositories. It would have been possible to work on documentation and new tests to ensure administrators do not run into these pitfalls, but the effort would have been out of proportion compared to the benefits it provides.
The Forgejo localization community was created early 2024 with the ambitious goal of gaining enough momentum to sustain a long term effort. A daunting task considering there are over 5,000 strings to translate, verify and improve. There has been many calls for help in the past and the community keeps growing steadily. Fortunately, the translation hackathon (translathon) organized by Codeberg in October was exceptional. It attracted an unprecedented number of participants who improved or created thousands of translations.
To be fair, they supported two different git backends, one of them being go-git which was the one corrupting repositories. However, it was never enabled by default, you specifically had to build Forgejo with a specific tag to instead use that as the backend. If you just built normally or pulled ready-made containers or bins then it was always the default git backend.