Last updated: 31 January 2026
Scope: This document explains why Lighthouse operates its own Git service using Forgejo and what that decision does and does not mean.
Modern software development depends on Git hosting. For most teams, that effectively means choosing one of a small number of very large platforms.
Those platforms are convenient, well resourced, and familiar. They also operate within specific legal jurisdictions, evolve quickly, and increasingly blend code hosting with analytics, automation, and AI-assisted features.
For many people, the default choice is sensible and practical. For Lighthouse, it was worth pausing and asking a few extra questions.
We were not trying to make a statement, and we were not looking to escape anything.
We were trying to answer some basic, reasonable questions:
As platforms consolidate and broaden their feature sets, the answers to those questions become harder to pin down. In particular:
Legal jurisdiction is treated as a first-class design consideration, not an abstract legal footnote.
None of this is inherently bad. It is, however, relevant.
Running our own Git service is not the easy option.
It brings real responsibilities with it:
At the same time, it removes a different set of concerns:
In short, we traded convenience for clarity. We prefer tooling where secondary use of repository content is explicit and opt-in, not implicit or assumed.
That trade only makes sense if you are willing to operate infrastructure properly. We are.
Forgejo is a community-governed, open-source Git service, developed with an emphasis on transparency, sustainability, and boring reliability.
We chose Forgejo because:
Just as importantly, it does not try to be everything.
That restraint is part of its strength.
Running Forgejo does not mean:
It simply means that for our own work, and for projects trusted to us, we prefer arrangements where responsibility and accountability are clear and local.
In practical terms, running our own Git service gives us:
This clarity allows us to explain our stack to clients in concrete terms, rather than abstractions.
It also means that if our requirements change, we can move without asking permission.
That freedom is easy to underestimate until you need it.
This document is not an argument, and it is not a recommendation.
It exists to explain a decision we have made, the thinking behind it, and the trade-offs involved.
For Lighthouse, running Forgejo is not about ideology.
It is about governance, clarity, and long-term maintainability.
Those are qualities we value in software, and in the systems that support it.