Forgejo monthly update - February 2024

The monthly report is meant to provide a high level view of what happened in Forgejo in the past month. If you would like to help, please get in touch in the chatroom or participate in the ongoing discussions.

Since its inception, Forgejo has been a soft fork of Gitea. Over time, it developed its own identity, adopted both development and governance practices - to ensure the stability, quality, and openness of the project - that made it more challenging to remain a soft fork. The decision was made to become a hard fork, and for Forgejo to forge its own path going forward. Read more in the blog post announcing the decision.

Forgejo reached 1,000 stars on Codeberg and it is heartwarming to see so much support. Each of these stars are more valuable than those loaned by proprietary forges: they really belong to Forgejo and come from developers who made an effort to register on Codeberg.

Implementation of the hard fork

The hard part was to make a decision, the implementation itself (as laid out in the decision) is comparatively simpler and is now in place.

Code

https://codeberg.org/forgejo/forgejo

Notable improvements and bug fixes:

Read more in the pull requests.

In flight pull requests

Most pull requests are opened and closed within a week. But some of them take a longer time, either because they are more complex or because they are taken care of by volunteers who can only occasionally work on them in their free time. This is a list of those that were updated since the last monthly report. If they are of interest to you, reviewing the changes or providing solutions would be appreciated.

Documentation

FOSDEM 2024

Codeberg’s stand at FOSDEM was a success and it appears to have also been a success for Forgejo. There was a notable amount of people who were still looking for a self-hosted option and were curious to learn about Forgejo instead of GitLab or Gitea. The transparent stickers did not work out very well, because the colours do not cover enough, so the result was unreadable on dark background. Still, many people were interested in Forgejo stickers: several hundred of them were distributed. The NLnet stand had a different Forgejo sticker (hex variant) and probably used up their whole budget with distributing them. Read more in the FOSDEM 2024 discussion.

Discussions

A significant number of discussions revolved around the hard fork decision and most of them are linked from the governance tracker. A few long term discussions are also worth mentioning and participation would be welcome.

Monitoring forge features and its impact on forge federation

GitLab and GitHub releases are being analysed to figure out which features are added to each release. These projects are driven by gigantic corporations and the rythm at which features are added is intimidating. The idea is not for Forjego to compete on the same ground: this is a race that is already lost. However gaining and maintaining a good understanding of their features is key to the success of the implementation of federation in Forgejo.

Gathering user feedback on accessibility

User feedback is the most valuable resource for projects. Lowering the barrier for its collection helps to get much more insights, because there are a lot of problems where users don’t bother opening an issue. Read more.

(Scope of) Moderation of Forgejo instances

A discussion started a month ago about how to develop effective moderation mechanisms within Forgejo while maintaining means of dynamically reacting to changing problems. It aims at collecting feedback. How much is in the scope for Forgejo? What kinds of moderation actions do Forgejo admins need to perform? This kind of user research is instrumental to understand existing best practices in order to figure out what problems needs to be resolved first.

Federation

The pull request to implement federated stars made progress. Discussions happened on how a federated Person should be mapped to a local FederatedUser representation. Read more in the activity summary.

The F3 Forgejo driver refactor is complete: it is back where it was about six month ago. The representation of a remote user was split out of the driver as it is generally useful for both data portability and federation.

The federation implementation task list was updated.

Localization

The Forgejo translations have been liberated and now rely on a Free Software service. A localization team was bootstraped and their work can already be seen in the experimental Forgejo instance. Transations for a few new languages began and will show when they are added to the Forgejo codebase. If you are fluent in another language and would like to help, please apply or join the localization chatroom to figure out what it entails.

References:

Helm chart

The Forgejo helm chart had three major updates. Two because of major bumps of the postgresql dependencies and one because of merging upstream changes from Gitea chart.

References:

Alpine Package Registry

The Alpine Package Registry now properly supports noarch package files, maintaining compatibility with the official Alpine Linux package repositories.

The logic for uploading a package to the Alpine Registry stored architecture independent packages (noarch) in their own architecture repository, instead of being available to all architectures available in the repository. Because of this, the Alpine Package Keeper wasn’t able to locate the packages in the repository.

The architecture independent packages are now copied to all available architectures in the repository, and a fallback to x86_64 is used if the repository is brand new and doesn’t contain any packages.

Releases

There has been one security release in February 2024. Forgejo admins are encouraged to subscribe to security announcement so they can better plan their upgrades.

Test release were once published manually on a weekly basis and used to upgrade https://next.forgejo.org upgraded. This process was automated and documented to happen daily. It runs the end to end test suite before being upgraded which helps detect regressions early.

References

Governance

Sustainability

https://prototypefund.de is open to proposal in 2024 and there were discussions about applications around Forgejo and federation.

Moderation

A moderation action was carried out to put an end to an ad-hominem attack. A few days later it turned out the person responsible was someone banned from Forgejo space in 2023. The ban was enforced and extended to help prevent future misbehavior.

References:

We Forge

Forgejo is a community of people who contribute in an inclusive environment. We forge on an equal footing, by reporting a bug, voicing an idea in the chatroom or implementing a new feature. The following list of contributors is meant to reflect this diversity and acknowledge all contributions since the last monthly report was published. If you are missing, please ask for an update.

A minority of Forgejo contributors earn a living by implementing the roadmap co-created by the Forgejo community, see the sustainability repository for the details.