This is the companion blog post of the hard fork governance agreement.
Preview: https://forgejo.codeberg.page/@pull_413/2024-01-gitea-drop-in/
earl-warren/website:wip-blog-drop-in into main
This is the companion blog post of the hard fork governance agreement.
Preview: https://forgejo.codeberg.page/@pull_413/2024-01-gitea-drop-in/
Preview ready: https://forgejo.codeberg.page/@pull_413/
https://forgejo.codeberg.page/@pull_413/docs/v1.21/admin/command-line/
https://forgejo.codeberg.page/@pull_413/docs/next/admin/command-line/
https://forgejo.codeberg.page/@pull_413/docs/latest/admin/command-line/
https://forgejo.codeberg.page/@pull_413/docs/v1.22/admin/config-cheat-sheet/
https://forgejo.codeberg.page/@pull_413/docs/v1.22/admin/command-line/
06af0971fd
bf6bd62cc3
bf6bd62cc3
53755283af
53755283af
44211e7d1d
@ -0,0 +16,4 @@
Being a drop-in replacement depends on Gitea being Free Software, which is no longer the case for admins trapped in Gitea Cloud which [runs a version of Gitea that is not publicly available](https://codeberg.org/forgejo/discussions/issues/92).
CommitGo and Gitea Ltd, the two parent company behind the Gitea project are now firmly [engaged in the Open Core road](https://codeberg.org/forgejo/discussions/issues/102). This is the [same business model](https://en.wikipedia.org/wiki/Open-core_model) as GitLab Inc. which relies on developing proprietary products alongside Free Software. Both GitLab Inc. and CommitGo co-sponsored the Open Core Summit late 2023 which further confirms it is an established strategy.
s/two parent company/two parent companies/
@ -0,0 +37,4 @@
It is too early to tell what 2024 will bring to Gitea but it seems likely that:
- There will be more non-Free Software in play, not less
- The impact it will have on Gitea admins is going to be carefully concealed to lure users in
There are periods after the sentences in the list above, but not after these. Probably a tiny thing, but I think these should end in a period too.
Thank you for writing this post!
I think the title is a bit too negative.
I would be more comfortable with something like:
This way the post does not have to talk too much about Gitea (my hope is that Forgejo can have a life on its own, not only live as "Gitea, but not commercial", just like Gitea is not only seen as a fork of gogs)
Upon re-reading the post, I'm with @oliverpool, it has a too negative tone, and too much focus on Gitea and its problems (not wrong, but also not setting a good tone, either). Focusing on the positive aspects, away from stopping being a drop-in replacement (which is a side effect which we do not know how soon or how late will happen) would send a very different message.
It can still highlight that being a drop-in replacement will no longer be guaranteed. But "no longer guaranteed" has a very different feel to it.
I apologize for the verbosity, but I think this is important.
@ -0,0 +5,4 @@
excerpt: Upgrading from Gitea to Forgejo is as simple as changing the URL from which the release is downloaded. It is a drop in replacement. However this started to change end of 2023 when Gitea turned Open Core and users trapped in Gitea Cloud were no longer able upgrade to Forgejo. In addition, early 2024, Forgejo became a hard fork of Gitea to address endemic regressions introduced in the codebase. If you intend to upgrade from Gitea to Forgejo, now is the time.
---
Upgrading from Gitea to Forgejo is as simple as [changing the URL from which the release is downloaded](https://forgejo.org/download/). The [comparison page](https://forgejo.org/compare/) explains the benefits, the most significant one being better security.
I think some sort of an acknowledgment that "explains why we believe that there are increasingly clear indications as to why a switch would be beneficial for you, the user" would be better here. We're basically divorcees and the breakup was awful. It's normal to come across as an authority in the context of an announcement, but this post is also serving the role of trying to convince someone of something and it could spread in various corners of the Internet that do not have the context that we do.
I understand that we don't say "we" normally, but positioning ourselves immediately as an authority right off the bat and then urging someone to do something, in this situation, can come across as bossy and entitled and as if Forgejo is trying to sell something.
It's a framing that other participants of the free software culture have employed, and I see it as a mistake that we explicitly have to learn from.
@ -0,0 +9,4 @@
Gitea admins are encouraged to **proceed with the upgrade as soon as possible because it will become more difficult in the near future**, for two reasons:
- Gitea [turned Open Core](https://codeberg.org/forgejo/discussions/issues/102) late 2023.
I think that the separation of Gitea, the open-source project on github.com, and Gitea, the governance project and trademark owner, should be made clearly. Your perception of the current power dynamic should be explained.
Something like co-developed with community members but, ultimately, exclusively controlled by Gitea Ltd. (and with all the consequences and irreparable systemic failures that this dynamic currently entails)
@ -0,0 +14,4 @@
## Gitea turning Open Core
Being a drop-in replacement depends on Gitea being Free Software, which is no longer the case for admins trapped in Gitea Cloud which [runs a version of Gitea that is not publicly available](https://codeberg.org/forgejo/discussions/issues/92).
I think the "you have no control over" part should be made more explicitly - this statement is in itself true, but the cause and effect relationship is not clear.
This is explained later to some degree, but I think the explanation talking about how Gitea Cloud is the same thing as Gitea instead of calling Gitea Cloud a proprietary extension of Gitea provided by the two-person company owned by Gitea, which it is not obliged to publish in any capacity or "publish" at a later stage, is confusing and not a good idea. We've heard the "Gitea is still open-source" line, the "Gitea is open core" line has to be clarified - maybe we don't have to explain it to death, but a small reference as to why before redirecting someone to an external URL (people don't read links) would be good here..
@ -0,0 +31,4 @@
The evolution of Gitea in the past three years follows that pattern:
- In 2021 Gitea was a community driven Free Software project with democratically elected leaders.
- In 2022 a for-profit company took over Gitea and promised it will stay Free Software.
Attaching a source with an explicit quote would be optimal, otherwise it gives off "just trust me bro" vibes that, given with how charged the term "Free Software" is, could mean anything from "we won't build proprietary extensions" to more radical positions that do not represent us.
After reflecting on it, I agree it needs an entirely different approach. No surprise there: it is a difficult one to get right. I'll think about it but please don't hold back if you would like to propose an alternative blog post: I'll make sure to check before starting a rewrite.
I think I have something, but will sleep on it first. Will post it in the morning (~10 hours from now or so).
Here's a draft of my proposal:
---
title: Forgejo forks its own path forward
publishDate: 2024年02月15日
tags: ['news']
excerpt: Forgejo started as a soft-fork of Gitea, in reaction to governance changes within the project. 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. In early 2024, a decision was made to become a hard fork, and for Forgejo to forge its own path going forward. This post explains the consequences this decision will have.
---
Since its [inception](https://forgejo.org/2022-12-15-hello-forgejo/), Forgejo has been a soft-fork of Gitea, upgrading to it was - and for the time being, remains to be - as simple as [changing the URL from which the release is downloaded](https://forgejo.org/download/). The [comparison page](https://forgejo.org/compare/) explains the benefits in more detail. Over time, the way Forgejo is governed and developed evolved. To be able to provide stable, secure, reliable releases, Forgejo requires a [reasonable effort made at writing tests](https://codeberg.org/forgejo/governance/src/branch/main/PullRequestsAgreement.md) for each change that goes into the code. This has worked out remarkably well, as it caught both regressions in imported code, and mistakes in proposed changes. Furthermore, Forgejo has accepted features and other changes that are not available in Gitea.
Today, Forgejo has a healthy number of contributors - both volunteers and paid -, an ever growing test suite, plenty of fixes and features over its upstream codebase, while maintaining its main mission:
> 1. The community is in control, and ensures we develop to address community needs.
> 2. We will help liberate software development from the shackles of proprietary tools.
To continue living by that statement, a [decision was made](https://codeberg.org/forgejo/governance/issues/58) in early 2024 to become a hard fork. By doing so, Forgejo is no longer bound to Gitea, and can forge its own path going forward, allowing maintainers and contributors to reduce tech debt at a much higher pace, and implement changes - whether they're new features or bug fixes - that would otherwise have a high risk of conflicting with changes made in Gitea. Simply put, the governance and development models of Gitea and Forgejo diverged over time, and so did their goals. Becoming a hard fork is the culmination of that divergence.
## Consequences of becoming a hard fork
Forgejo has been, since its inception late 2022, a "soft-fork" of Gitea which means it contains all of Gitea, both good and bad, with Forgejo having little control over what it is built on. Containing all of Gitea had the benefit of allowing Forgejo to be a drop-in replacement. With the decision to become a hard fork, this will no longer be guaranteed. It will remain possible to upgrade from the latest [Gitea version released](https://github.com/go-gitea/gitea/releases/tag/v1.21.5) at the time of the hard fork, but versions past that will not have such a guarantee.
As such, if you were considering upgrading to Forgejo, we encourage you to do that sooner rather than later, because as the projects naturally diverge further, doing so will become ever harder. It will not happen overnight, it may not even happen soon, but eventually, Forgejo will stop being a drop-in replacement.
However, to ensure interoperability with existing third party tools, libraries and SDK, every effort will however be made by Forgejo contributors to maintain a compatibility with the Gitea API. This commitment does not however extend to Gitea features that are not available as Free Software, nor to features and functionality that Forgejo explicitly decided not to incorporate.
There are a few things I want to change, or improve here, some of the comments by @n0toose I still need to incorporate, but I wanted to get this out ASAP. I tried to focus on Forgejo, and intentionally did not link to a lot of stuff the original post does, because I believe the focus should be on the future, not on the past. The thing I wanted to capture - and I need to work on that, I'm not there yet - is to show how the hard fork benefits Forgejo, and Forgejo users, without the negativity towards Gitea. Focus on the good, not the bad.
This is much better ❤️ I'll close this one so you can open another. 🎉
fwiw, the update will take a little longer, but I'll post my PR later today, with further tweaking.
No due date set.
No dependencies set.
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?