TL;DR: I’m leaving my position as Gitea maintainer due to the issues I’ve encountered during my time. The recent announcement about Gitea Ltd. was the final straw. I will keep contributing to libre code hosting software.1
I’ve been a happy user of Gitea and, in turn, have been a Gitea maintainer since last year to help Gitea succeed as a good FOSS alternative to Github and Gitlab and to make sure it won’t break my Raspberry Pi, which is running Gitea.
I’ve had a fun journey while being around the Gitea (and Codeberg) community. I’ve met new people, made new friends and increased my knowledge. However, this has come to an abrupt end.
I want to give my thoughts regarding Gitea in light of leaving the Gitea maintainer position and why I am taking a step back.
Governance
The act or process of governing or overseeing the control and direction of something.
There is a lack of governance in the Gitea project, which has resulted in many stale PRs, unanswered discussions, and no clear future for Gitea.
When there is a disagreement among Gitea maintainers, there is a good chance that the issue or PR will stall because no one will provide a definitive answer. This resulted in unanswered discussions, which sustained bad habits, and PRs that were left to be updated and merged because there is simply no one who will tell you what is acceptable and can be merged.
As a non-Gitea maintainer, you’ll have to be lucky and sometimes even ask for a review; it’s a risk that you need to take, as there are many stale PRs and your PR has a fair chance—as any other PR—to become stalled.
There is a contributor-driven roadmap that outlines what you expect to work on in that release cycle. However, what is Gitea’s true future? Nobody will tell you which features should be in Gitea and which should be left to external parties. It is unclear, and it has caused me to consider if I should reject certain pull requests simply because I believe they do not belong in the Gitea project. This has certainly contributed to the feature creep; there are features being merged that rationally shouldn’t belong in a forge’s code base.
It’s a shame to see this happening, but there was never a strong enough movement to address these issues (if they are even recognized at all).
Lack of transparency
Well, that’s not wrong per se. The way it was done in secret is what’s wrong.
— Anonymous friend
This has taken many hours to realize and comprehend, but it has finally sunk in after the recent announcement. Behind closed doors, significant events are taking place that have an impact on the Gitea project and myself.
I have been in this position a few times before2 where a repetitive lack of transparency has hurt me. After being woken up to this major decision by Gitea, it was painstakingly clear to me that this would likely be similar, and I had to defend myself from being hurt again.
This has prompted me to assume good faith3 and try to gather as much information as possible. Later on, I co-drafted an open letter to make it clear that this was unacceptable and offered a suggestion on how to move forward. After a follow-up blog post, it was clear that they didn’t recognize the issues mentioned.
Even as a Gitea maintainer, I have not learned much more about the company than what has been made public or found. There is a discussion in the private maintainers’ chatroom about how elections should be handled in the future, as it is desirable to have someone from Gitea Ltd on the Gitea owners team. I feel like I have been left in the dark aside from this conversation, after privately and publicly voicing my concern.
In hindsight, I should have been suspicious when Blender announced a deal with “Gitea”, which now turned out to be the announced Gitea Ltd. The emphasis is mine:
And, quite significantly, we’re in the finishing stages of having a support agreement with the Gitea project to have them support us in our migration by funding work on missing features, code and bugfixes that will be available 100% to Gitea users under Gitea’s MIT license.
— Blender Blog @ July 12th, 2022
Why I left
I do not see any changes in the near future regarding the issues I have encountered, and I do not want to be exposed to the listed issues any longer. As a Gitea maintainer, I had a reasonable expectation of being aware of major Gitea events and having an impact on the Gitea project as a whole, not just the code.
By resigning, I separate myself from that expectation and put myself in the proper role, which appears to be a contributor to Gitea based on the acts that have already occurred.
For the time being, I will continue to contribute code to Gitea. I will no longer help resolve issues (on the project or in chatrooms) or review other PRs, as I have in the past. I will no longer put on my hat that concerns the community, but rather put on the hat that concerns me1.
In the long term, there is a pretty good chance that I’ll be shifting my work and effort to a soft fork, further reducing my exposure to the Gitea community. As of right now, I don’t see any reason to stop contributing code to the Gitea codebase, even after switching to a fork. However, this could change as more information becomes available, as well as how Gitea Ltd. interacts with the Gitea codebase.
Reflection
Life can only be understood backwards; but it must be lived forwards.
— Søren Kierkegaard
While moving forward in life, I have to be more cautious for signals and realize that this is the real world, where not everything is pink. I will hopefully be moving forward with the awesome people of Codeberg and continuing my journey from there onward.
I should not have hesitated to bring attention to those issues. I should not have waited until they accumulated over time. I understand that these issues are caused by people who don’t speak up, and I had my small share of that problem. I learned my lesson. For the benefit of the remaining Gitea maintainers and contributors, I hope that these issues can be solved.
If the Gitea project heals, It’s super unlikely that I will return as a Gitea maintainer. I gave this decision some serious consideration and talked it over with close friends. I reached the conclusion that I should not go back to a situation that stirs up bad memories and that leaving my position as Gitea maintainer is the right choice.