Prefer European forges for hosting my new projects#
What this is, concretely#
This commitment consists of choosing, for your new personal and professional projects, source code forges whose governance is European or neutral — typically Codeberg (a German association running Forgejo), self-hosted European instances of GitLab CE or Gitea/Forgejo, or institutional public forges such as those of INRIA or Framagit (Framasoft).
The commitment does not ask you to migrate your existing projects — that is a separate question, which can be the subject of a complementary commitment. It bears on the new projects you start from the declaration onwards. The phrase “at functional parity” preserves your freedom: if a project requires a specific GitHub integration for non-substitutable functional reasons (for example, a project that needs to be visible in the GitHub Marketplace), you keep the ability to make that choice with full awareness.
The commitment stands as an individual declaration. If you work in a team, your colleagues are not bound by it — unless the organisation publishes its own equivalent organisational commitment.
Why this commitment matters#
European forges exist — Codeberg in particular is technically credible, based on Forgejo, the project to which Fedora announced its migration in December 2024 — but they suffer from a massive scale asymmetry against GitHub. Codeberg hosts around 117,000 projects, GitHub more than 100 million. This asymmetry is not a technical fatality: it is the result of individual and collective choices that prefer GitHub out of habit, network effect, or default.
Each new project hosted on a European forge feeds the ecosystem. The bigger the ecosystem grows, the more credible it becomes for collective choices (companies, administrations, communities). The more credible it is for collective choices, the more funding and maintainers it attracts. This positive reinforcement dynamic is exactly what thesis 12 of the manifesto describes in negative mirror: “as long as European providers position themselves as distributors of bricks under foreign governance, they deprive sovereign alternatives of the clients, the capital, and the critical mass that would let them exist.”
The individual commitment has a particular force because it depends on no one but you. You do not need authorisation, validation, or a decision cycle. You decide now for your future projects.
A concrete example#
A freelance developer working mainly in Python takes this commitment in April 2026. For the personal project he starts the following week (a log analysis tool), he creates the repository on Codeberg rather than on GitHub. He configures his editor to point to the Codeberg forge, takes the time to discover the Forgejo interface and workflow, and finds the experience very close to GitHub with a few minor differences.
For his next client project, started in May 2026, the client has a GitHub preference out of habit. The developer explains his approach, proposes Codeberg with sovereignty arguments, but the client wants to keep GitHub for reasons of integration with their existing CI. The developer respects this choice but documents in the project README that the code is under a free licence and that moving to a European forge is technically possible at any time.
Six months after the commitment, the developer has started four new projects, three on Codeberg and one on GitHub. He publishes an update to his commitments declaration marking this commitment as “in_progress” with a comment that honestly explains the ratio.
Anti-pattern to avoid#
A commitment made without having checked which European forges are available. If you take the commitment without having tried Codeberg or a Forgejo instance, you risk discovering technical constraints that will make you abandon the commitment. Better to spend 30 minutes exploring a European forge before declaring the commitment, or to take the commitment with a horizon that explicitly includes the learning time.
A “100% Codeberg” commitment that does not account for real constraints is as little credible as a zero commitment. The phrase “at functional parity” preserves your clear-sightedness.
Success indicators#
At your next declaration update, you can reasonably consider the commitment fulfilled if you have started at least one new project on a European forge since the initial declaration, and if you have been able to explain your choice in a professional or personal exchange.
The longer-term commitment takes shape with a growing ratio of new projects on a European forge, and with your possible contribution to the maturation of the ecosystem (opening issues, contributing code to Forgejo, recommending it to colleagues).
→ Documented in the dossier#
- Family 2 — Foundations and jurisdiction
- Family 3 — Distribution chains
- Family 5 — Positive counter-examples
JSON schema category: preference. Default horizon: no defined horizon (lasting commitment). Applicable to: individual declarations only.