Gitea Governance Post/Quarterly Report 23Q1 #232

Merged
jolheiser merged 19 commits from jolheiser/blog:governance into main 2023-02-03 15:06:47 +00:00
3 changed files with 114 additions and 0 deletions

View File

@ -0,0 +1,114 @@
---
date: "2023-02-03T09:06:54+07:00"
author: "Gitea"
title: "Gitea Quarterly Report 23Q1"
tags: ["quarterly"]
draft: false
---
Happy new year! As is tradition, the Gitea project conducted its yearly election at the end of December to decide the ownership team for 2023.
To ensure no one felt pressured to vote a certain way, this year's election utilized the [votesup.eu](https://votesup.eu/info) platform to conduct the voting.
Thanks to votesUP, which allows for election observers, we were able to have enhanced oversight and verification of the vote.
## Election Results
The results of the ownership election yielded the same ownership team of the past year, where [@techknowlogick](https://gitea.com/techknowlogick), [@lunny](https://gitea.com/lunny), and [@zeripath](https://gitea.com/zeripath) were elected.
As a followup from a [previous post](https://blog.gitea.io/2022/10/a-message-from-lunny-on-gitea-ltd.-and-the-gitea-project/), the maintainership team of the Gitea project has been in discussion over the past couple of months around what the future governance of the project looks like. These discussions resulted in the proposal of a governance charter for the project which was also voted on, and was passed with overwhelming support.
strk marked this conversation as resolved
Review

I think "with overwhelming support" should be a link to vote results

I think "with overwhelming support" should be a link to vote results
Review

Hmm, I don't disagree, but I also don't know a good way to link that information. I'm unsure if votesup has an option to share results.

With the first vote, since we had some latecomers/issues, the final vote was updated by an election observer and the final tally was in a spreadsheet.

Unless images would be good enough here? I suppose if I link images and they are approved by multiple people, it should be fine?

@techknowlogick feel free to correct me if votesup does have a way to share that information.

Hmm, I don't disagree, but I also don't know a good way to link that information. I'm unsure if votesup has an option to share results. With the first vote, since we had some latecomers/issues, the final vote was updated by an election observer and the final tally was in a spreadsheet. Unless images would be good enough here? I suppose if I link images and they are approved by multiple people, it should be fine? @techknowlogick feel free to correct me if votesup does have a way to share that information.
Review

@strk I've added some images for the voting results. As I explained in the commit as well, votesUP doesn't (seem to) have a way to share the results publicly, so I've opted for images in this case.

I made them links rather than inline so they don't take up too much space in the post.

Does that suffice for your original comment?

@strk I've added some images for the voting results. As I explained in the commit as well, votesUP doesn't (seem to) have a way to share the results publicly, so I've opted for images in this case. I made them links rather than inline so they don't take up too much space in the post. Does that suffice for your original comment?
We'd like to send a sincere thank you to everyone who reached out and provided assistance and their experience with this process.
The governance charter proposed a technical oversight comittee (TOC) which expands the ownership team of the Gitea project from the current three elected positions to six positions, where three would be elected as it happened over past years, and the other three would consist of appointed members from the company.
With this new TOC in place, both [@lunny](https://gitea.com/lunny) and [@techknowlogick](https://gitea.com/techknowlogick) have transitioned from their elected positions to become company appointed members, with [@wolfogre](https://gitea.com/wolfogre) joining them.
[@6543](https://gitea.com/6543) joined [@zeripath](https://gitea.com/zeripath) to fill one of the remaining elected seats, being the next highest voted candidate.
For the final remaining elected seat, [@jolheiser](https://gitea.com/jolheiser) and [@delvh](https://gitea.com/delvh) tied for votes. In a subsequent runoff vote, [@jolheiser](https://gitea.com/jolheiser) was elected to fill the seat.
votesUP doesn't have a way to publicly share concluded vote results at the time of this post, so we have included images for them instead.
Note that the first vote had some late voters and votesUP doesn't allow for that during an active vote, so the first set of results were updated by an election observer to ensure that everyone who wanted to vote was able to.
[Primary Vote](/quarterly/23q1/first-vote.png) (The proposal mentioned in the screenshot is reflected in the contents of this post)
[Runoff Vote](/quarterly/23q1/second-vote.png)
TOC members, information about the TOC, and how it relates to the project will also be added to the `CONTRIBUTING.md` of the main repository.
👇 Read the full post for further details.
<!--more-->
## Governance Compensation
Considering the substantial effort that goes into releasing software, we want to fund the people who pour so much of their time and energy into an open-source project like Gitea.
Each member of the community elected TOC will be granted $500 each month as compensation for their work.
Furthermore, any community release manager for a specific release or LTS will be compensated $500 for the delivery of said release.
These funds will come from community sources like the OpenCollective rather than directly from the company.
Only non-company members are eligible for this compensation, and if a member of the community TOC takes the responsibility of release manager, they would only be compensated for their TOC duties.
Gitea Ltd employees are not eligible to receive any funds from the OpenCollective unless it is reimbursement for a purchase made for the Gitea project itself.
Gitea Ltd will be contributing to the OpenCollective and through other methods to help fund not only the above, but also so the project can sponsor bounties as well. The company is committed to backing the project and the community surrounding it.
## Mission Statement
jolheiser marked this conversation as resolved
Review

Gitea will strive to keep small and focus on low resource usage and high performance.

Gitea will strive to keep small **and focus on low resource usage and high performance.**
Review

I think the intention for this line was not to keep Gitea itself "small" necessarily (which may be subjective). I've adjusted from small, low to just low to remove redundancy, though.

Is that okay?

I think the intention for this line was not to keep Gitea itself "small" necessarily (which may be subjective). I've adjusted from `small, low` to just `low` to remove redundancy, though. Is that okay?
Review

I think my point was more on the sentence construction: "Gitea will strive to keep small (somehow a connector word here) [...]". Just using commas here, the sentence reads somehow strange to me (but I am also not an English native).

And I would split all of this in two sentences (which is usually better for English writing) - after "in the world. Gitea will [...]".

I think my point was more on the sentence construction: "Gitea will strive to keep small (somehow a connector word here) [...]". Just using commas here, the sentence reads somehow strange to me (but I am also not an English native). And I would split all of this in two sentences (which is usually better for English writing) - after "in the world. Gitea will [...]".
Review

What about reversing the construction to

Gitea will strive to keep low resource usage and high performance to help those who have less machine resources to work together and to help reduce carbon emissions because of these actions in the world.

What about reversing the construction to > Gitea will strive to keep low resource usage and high performance to help those who have less machine resources to work together and to help reduce carbon emissions because of these actions in the world.
Review

The first part sounds good to me, the last part with the emissions and "these actions" sounds a bit off. I don't think that Gitea plays a substantial role in carbon emissions just because it saves a bit of memory compared to other Git hosters (even though this would be great) :) And I'd also leave out the topics addressed in "these actions in the world".

If this part is important, I think it should be a separate sentence and get a bit more "beef" than it currently has, including some rephrasing.
Yet this would probably take some time and this should not block the progress here. Feel free to discard my thoughts if no motivation/time :)

The first part sounds good to me, the last part with the emissions and "these actions" sounds a bit off. I don't think that Gitea plays a substantial role in carbon emissions just because it saves a bit of memory compared to other Git hosters (even though this would be great) :) And I'd also leave out the topics addressed in "these actions in the world". If this part is important, I think it should be a separate sentence and get a bit more "beef" than it currently has, including some rephrasing. Yet this would probably take some time and this should not block the progress here. Feel free to discard my thoughts if no motivation/time :)
As Gitea grew up, features were added as contributors suggested them. There wasn't much direction, which sometimes led to features that were only used by a small number of users, yet impacted the rest of the user base. Going forward, Gitea needs to have a consistent and cohesive vision.
Gitea shall help all the programmers, desktop developers, web developers, operators, AI/ML developers, LowCode developers, programming learners, etc. to help them quickly, efficiently, and easily complete their work.
Gitea will develop features and integrate with external tools, but keep the principle of less is more.
Gitea will strive to keep low resource usage and high performance to help those who have less machine resources to work together.
## Roadmap
To support this vision we need a short-term roadmap, something new to the project as we have never previously had a formal roadmap.
This roadmap will record which features Gitea should develop in the near future, it will be discussed with the entire Gitea maintainers team, and feedback will be solicited from various stakeholders. TOC members need to review the roadmap every year and work together on the direction of the project.
When voting, the vote of community elected TOC members count slightly more than the vote of company elected TOC members. With this approach, we both avoid ties and ensure that changes align with the mission statement and community opinion.
The TOC and other maintainers are currently discussing the roadmap, but here is a non-exhaustive list of some of the possible things to be included:
### Draft roadmap for 2023:
#### Buildability
* Reduce CI build times
* Allow for auto-updating/auto-merging PRs when they are ready
* Provide an LTS where security patches and some bug-fixes may be backported on a longer schedule than before
* A more consistent release cadence to allow users to more effectively manage their updates and upgrades
#### Readability
jolheiser marked this conversation as resolved
Review

Continue to work on performance improvements to allow Gitea to run on very low-powered hardware

Continue to work on performance improvements **to allow Gitea to run** on very low-powered hardware
Review

to allow Gitea to run on sounds like Gitea can't already do that.

`to allow Gitea to run on` sounds like Gitea can't already do that.
Review

Hm, the old phrasing sounds the same to me WRT to the topic mentioned.

The comment was more about grammar and style, as the ", which allows Gitea" read a bit strange to me. But again, feel free to decide what you think is best.

Hm, the old phrasing sounds the same to me WRT to the topic mentioned. The comment was more about grammar and style, as the ", which allows Gitea" read a bit strange to me. But again, feel free to decide what you think is best.
Review

Continue to work on performance improvements to ensure Gitea continues to run on very low-powered hardware?
I don't love the duplicate "continue", just want to make sure it reads as "it can already do this, but we want to make sure it will continue to do this"

`Continue to work on performance improvements to ensure Gitea continues to run on very low-powered hardware`? I don't love the duplicate "continue", just want to make sure it reads as "it can already do this, but we want to make sure it will continue to do this"
Review

How about

"Continue to work on performance improvements to ensure Gitea performs even better on low-powered hardware"

How about "Continue to work on performance improvements to ensure Gitea performs even better on low-powered hardware"
* Introduce an RFC process to be discussed with appropriate working groups and the TOC for large features
jolheiser marked this conversation as resolved
Review
  • Add a robust high-availability concept
- **Add a robust high-availability concept**
Review

L75 mentions high-availability, is this a different statement?

I did make a small tweak to this line to allow for scaling up for high-availability, is that better?

L75 mentions high-availability, is this a different statement? I did make a small tweak to this line to `allow for scaling up for high-availability`, is that better?
Review

No, just a rephrasing suggestion.

I just removed the connector part to the first bullet point which seemed a bit unusual for me.

Also WRT to HA, "allow for scaling up" is an uncommon wording in this case, as it reads a bit like "approval is needed" for this. Yet what is meant here is that the software needs adjustments so it can be "easily" used in HA concepts/configurations (like on k8s with the helm chart).

Also in my view one does not really "use" high-availability (in a wording context) but would rather say "go for high-availability" or "configure high-availability".

But again, mainly subjective wording. Feel free to discard if you disagree.

No, just a rephrasing suggestion. I just removed the connector part to the first bullet point which seemed a bit unusual for me. Also WRT to HA, "allow for scaling up" is an uncommon wording in this case, as it reads a bit like "approval is needed" for this. Yet what is meant here is that the software needs adjustments so it can be "easily" used in HA concepts/configurations (like on k8s with the helm chart). Also in my view one does not really "use" high-availability (in a wording context) but would rather say "go for high-availability" or "configure high-availability". But again, mainly subjective wording. Feel free to discard if you disagree.
Review

Ah, I understand now.

Does Add robust high-availability concepts work?
Or Integrate more high-availability concepts?

Not sure if it makes sense to be plural vs singular, as I'd imagine there would be multiple improvements possible here.

Ah, I understand now. Does `Add robust high-availability concepts` work? Or `Integrate more high-availability concepts`? Not sure if it makes sense to be plural vs singular, as I'd imagine there would be multiple improvements possible here.
Review

Plural is probalby wrong in this concept, I'd rather say say it like "implement a HA concept" (but would even leave "robust" out) and "Gitea is working on improving HA support"

HA is mainly a k8s thing, everything else is just pain (imo). AFAIK there is currently no HA concept/option (?) (correct me if I am wrong :) )

Plural is probalby wrong in this concept, I'd rather say say it like "implement a HA concept" (but would even leave "robust" out) and "Gitea is working on improving HA support" HA is mainly a k8s thing, everything else is just pain (imo). AFAIK there is currently no HA concept/option (?) (correct me if I am wrong :) )
* Refactor UI to allow for improved accessiblity and usability
* Provide versioned documentation
jolheiser marked this conversation as resolved
Review

Here, a link to the "Actions" mentioned could help for uninformed readers

Here, a link to the "Actions" mentioned could help for uninformed readers
#### Scalability
* Continue to work on performance improvements to ensure Gitea performs even better on low-powered hardware
* Implement a high-availability concept
#### CI/CD
* Polish and introduce/promote [Actions](https://blog.gitea.io/2022/12/feature-preview-gitea-actions/) to help ease migrations to Gitea and provide a small (but powerful!) optional CI
* Work on a better UX for third-party CI to be able to upload and view build logs in a unified interface
## TOC & Working groups
With Gitea covering many projects outside of the main repository, several groups will be created to help focus on specific areas instead of requiring maintainers to be a jack-of-all-trades. Maintainers are of course more than welcome to be part of multiple groups should they wish to contribute in multiple places.
The currently proposed groups are:
* Core Group: maintain the primary Gitea repository
* Integration Group: maintain the Gitea ecosystem's related tools, including go-sdk/tea/changelog/bots etc.
* Documentation Group: maintain related documents and repositories
* Translation Group: coordinate with translators and maintain translations
* Security Group: managed by TOC directly, members are decided by TOC, maintains security patches/responsible for security items
Each group can have a few of their own managers with merging rights for their area, as well as the members of the TOC. This should result in ~8 people with merge rights for a given repository. Some areas may require more or less as needed.
Besides these new groups, Gitea always welcomes any form of contributions from all of you - the community.
jolheiser marked this conversation as resolved
Review

Gitea could think of partnering with companies which already use Gitea internally to fund such audit research, making the overall software more secure for everyone in the longrun.

Gitea could think of partnering with companies which already use Gitea internally to fund such audit research, making the overall software more secure for everyone in the longrun.
Review

I am not sure about this one, "could think" sort of sounds undecided.

I am not sure about this one, "could think" sort of sounds undecided.
Review

I phrased it that way as the original text ("we can") also sounded "undecided" for me. Another part was not using "we" so often but rather "Gitea" and passive construction. But that's a general style question and would need to be reviewed throughout the text to be fully consistent.

More decided would be probably something like "will partner" or "plan to partner".

I phrased it that way as the original text ("we can") also sounded "undecided" for me. Another part was not using "we" so often but rather "Gitea" and passive construction. But that's a general style question and would need to be reviewed throughout the text to be fully consistent. More decided would be probably something like "will partner" or "plan to partner".
Review

We plan to reach out and partner with companies... maybe?
Just because I don't think it's been done yet, but I agree making it more decisive is better.

wrt "Gitea" vs "we", I think the idea for "we" is to mean "not just the company" where Gitea <-> Gitea Ltd can be confusing.

`We plan to reach out and partner with companies...` maybe? Just because I don't think it's been done _yet_, but I agree making it more decisive is better. wrt "Gitea" vs "we", I think the idea for "we" is to mean "not just the company" where Gitea <-> Gitea Ltd can be confusing.
Review

Sounds good!

Sounds good!
## Community scholarship and support
The project is looking at starting a community scholarship to be able to fund a person from an underrepresented community who may be prevented from contributing to open source as they need to focus on paid work or other commitments. This would allow them to be paid for their work, and build up their connections within open source.
Also, enrolling the project in Google's Summer of Code and similar programs would allow us to mentor those new to the industry.
## Investing in the security and usability of Gitea
jolheiser marked this conversation as resolved
Review

free to drop by in our chat rooms: [...]

**free to drop by in our chat rooms:** [...]
As Gitea is a large project, we need to seriously start thinking about audits, both security and accessibility. We plan to reach out and partner with companies also using Gitea to be able to fund this research to ensure that Gitea is secure and usable by everyone.
If you are part of or know someone from these areas, please feel free to reach out to us.
## Closing Remarks
If you have any questions that haven't been answered, or would just like to chat with any of the people working on the project, please feel free to drop by in our chat spaces: [Discord](https://discord.gg/Gitea), [Matrix](https://matrix.to/#/#gitea-space:matrix.org), or [Discourse](https://discourse.gitea.io/)!
We're looking forward to the coming year and the continued growth of Gitea. We hope you'll join us in this journey. 🍵

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB