-
-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clarify the governance model of community-driven development #4799
Conversation
I think this is mostly good. However, I think the discussion in godotengine/godot-proposals#2531 needs to settle a little bit before we take action. I would also offer one correction to the first line. Decisions are made by the community. The maintainers are community members just like everyone else who contributes to the engine and ecosystem. A person doesn't stop being a community member just because they are trusted by other maintainers. I'll make a suggestion directly on the text for what I think may be a bit more accurate :) |
Community-driven does not mean that decisions are made by the community as | ||
such. The Godot's governance model may be based on the feedback of the | ||
community which directly influence, lead, and guide the final decision-making | ||
of the core developers in relation to Godot's development and shape the | ||
future behind Godot as a project. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Community-driven does not mean that decisions are made by the community as | |
such. The Godot's governance model may be based on the feedback of the | |
community which directly influence, lead, and guide the final decision-making | |
of the core developers in relation to Godot's development and shape the | |
future behind Godot as a project. | |
Community-driven does not mean that all decisions are made by voting. | |
Decisions are made by trusted community members who have shown | |
dedication, skill, and leadership within the community. The feedback of | |
the community directly guides final decisions in relation to Godot's | |
development and shapes the future behind Godot as a project. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I disagree because:
- Decisions are not made by voting in either case. It's been discussed earlier by other core developers that voting only brings up necessary attention to the core dev team. But voting (or consensus) may indeed influence final decisions, which is all that matters, and that's how development is proceeded.
- The feedback of the community does not directly guides final decisions. It's the process of decision-making which may be influenced by the community. The community feedback should be the driving force for a change in a community-driven project, but it's not always the case that the fuel for change is purely community-based, there may be other motivations for a change.
I can amend my wording to be slightly more clear on semantical level, but I cannot apply these suggestions for the reasons above.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here's a slightly more concise and improved version of my own suggestion and the above, which reflects the reality:
Community-driven does not mean that decisions are made by the community as | |
such. The Godot's governance model may be based on the feedback of the | |
community which directly influence, lead, and guide the final decision-making | |
of the core developers in relation to Godot's development and shape the | |
future behind Godot as a project. | |
Community-driven does not mean that final decisions are made by the community as | |
such. Rather, Godot's development is based on community feedback which directly | |
guides the decision-making of people who earned trust of the core developers | |
that shape the future behind Godot as a project. |
Of course, maintainers are also part of community, nobody denies that.
- More emphasis on the final decision, (meaning that the opinion of majority != final decision).
- Avoid the usage of "voting" word, because it's not democracy here, and never was.
- Not being specific on how trust is earned. I think it's totally subjective. Read reduz opinion on this, for instance:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At the very least, Clay's version reads better because it doesn't try to be one sentence. The more complex you make sentences, the more dependent parts there are, the harder they are to comprehend, which is against the goal of this PR.
Clay's take has 3 sentences answering individual questions:
- What "community-driven" isn't.
- Who makes the final decision.
- How is community involved then.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree, the clarity can be improved. But simplification may lead to poor quality of the message as a whole.
If I were to suggest the edited clayjohn version, it would look something like this (the diff shows my initial version, though):
Community-driven does not mean that decisions are made by the community as | |
such. The Godot's governance model may be based on the feedback of the | |
community which directly influence, lead, and guide the final decision-making | |
of the core developers in relation to Godot's development and shape the | |
future behind Godot as a project. | |
Community-driven does not mean that final decisions are made by the community | |
at large. Decisions are made by community members who have earned trust within | |
the community. Yet community feedback directly guides this decision-making | |
process in relation to Godot's development and shapes the future behind Godot | |
as a project. |
Which I think may be a good compromise between our versions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just woke up, so I may not be at 100% brain power, but here's my suggestion. I think it reads a little better while avoiding any potentially confusing technicalities. If not, I'll probably revise it later today.
Community-driven does not mean that decisions are made by the community as | |
such. The Godot's governance model may be based on the feedback of the | |
community which directly influence, lead, and guide the final decision-making | |
of the core developers in relation to Godot's development and shape the | |
future behind Godot as a project. | |
Community-driven does not mean that final decisions are made by the community | |
at large. Rather, decisions are made by trusted community members who have | |
shown dedication, skill, and leadership within the community. However, | |
community feedback often directly guides this decision-making process, which | |
allows the shaping of Godot's future as a project. |
Note: I use "often" when saying it guides the decision-making process, as there are some rare cases where community feedback, even positive feedback, may not change the closure of a proposal.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"which allows to shape Godot's future as a truly community-driven project" may read better as well, and may be worth repeating "community-driven" at the end to emphasize on the importance of the community feedback, at least it would make it more optimistic, IMO (applies to all suggestions above) 🙂
The idea is that core developers/maintainers should be responsible for representing the community needs in the best way possible, while also trading off various technical and economical debts. Basically, the community itself delegates the realization of this vision to trusted people who have experience in a particular field, and when this happens, we get a truly community-driven development, rather than less community-driven development as someone noted in the proposal linked godotengine/godot-proposals#2531... 😉
But that's just me rambling on philosophical level.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm. How's this sound, then?
Community-driven does not mean that decisions are made by the community as | |
such. The Godot's governance model may be based on the feedback of the | |
community which directly influence, lead, and guide the final decision-making | |
of the core developers in relation to Godot's development and shape the | |
future behind Godot as a project. | |
Community-driven does not mean that final decisions are made by the community | |
at large. Rather, decisions are made by trusted community members who have | |
shown dedication, skill, and leadership within the community. However, | |
community feedback often directly guides this decision-making process, which | |
in turn allows the community to shape Godot's future as a truly | |
community-driven project. |
P.S. I use "in turn" here, but I'm actually not sure whether it would read better with or without it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is pretty much it! I can commit this, but see #4799 (comment).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I committed all of the above suggestions based on consensus (thanks to LikeLakers2 for summing it up in a final text). Up to further discussion, of course.
For reference, we've got a feedback from reduz and gdquest at Godot contributors chat: |
Okay, I'm confused. Isn't that what we're doing here? Or am I misunderstanding something here? Because that's what I thought we were doing already. |
Co-authored-by: Godot Community.
@LikeLakers2 There is an ongoing PR that adds detailed information on this matter to the website: godotengine/godot-website#215 Unlike this, which adds a note in the article about engine design philosophy. |
I do think it's important to emphasize that decisions are not made by the community, as @reduz stated. He keeps telling this to me and @aaronfranke over and over when we talk about this in chat. Merging both this PR and godotengine/godot-website#215 will suffice in my opinion. |
To comment on:
It's not democratic if it's only contributors who participate in voting. I doubt there's any voting in place. Perhaps it does exist, but only on the level of PLC and core developers. If you call this democratic, then I'm sorry but you have the same issue with understanding the "democracy" term just as much as I'm having a problem with understanding the "community-driven" term. 😛 I mean, I guess you can call the process democratic among contributors on some level, but that's just substitution of concepts, I would definitely not use the "democracy" term if we're also talk about community at large. Again, I don't have a problem with the current governance model once I know about it. But I literally used to think that community does have a final call when there's a significant support of users and other contributors, which lead to unnecessary conflicts in the past. |
That part that you've emphasized wasn't even talking about Godot. It was talking about what may exist in other OSS projects as opposed to what we have here. |
@pycbouh please read the quote more carefully, it's an analogy, not contrasting characteristic. |
@Xrayez I advise you to do the same. It's not an analogy, it's an example of what is present in the OSS realm. Reduz literally says, that no other OSS project has a more open or more community-dependent system than Godot. He says that at most other OSS projects may have a way for contributors to elect core maintainers, but that's it. He explains that you can't expect more than that in an OSS project. And most importantly, he does not talk about it being applicable to Godot, he talks about it being the most that another OSS project may do. So there is not point in speculating that "I doubt there's any voting in place. Perhaps it does exist, but only on the level of PLC and core developers." Because nobody said that there is anything like that in Godot. |
@pycbouh I disagree with you. You are wrong. |
This is something that will be properly discussed with the project leadership before we put something up, closing this PR. |
Thanks for the effort, though 👍 |
For the reference, the project governance is now documented on the Godot website: https://godotengine.org/governance Godot's governance is organic and keeps evolving, so this document will also be updated along the way as more things are formalized. |
Closes godotengine/godot-proposals#2531.