-
-
Notifications
You must be signed in to change notification settings - Fork 98
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
Enable GitHub Discussions in GIP as an alternative to making a formal proposal #2069
Comments
I digged through some old GIP discussions and stumbled upon this point by karroffel:
So yeah, I think GitHub Discussions would be definitely the place to discuss things without them being approved, or requiring core developers to evaluate those. It's just that the GitHub's feature appeared only recently, otherwise I think GIP would go this route in the first place. |
I'd say that #2230 is a very nice example of discussion-demanding, idea-gathering type of issue. It is non-technical by nature, and as you see, half of the questions are omitted from the RFP in #2230 (which, by the way, violates the first rule for making a proposal in GIP: #1650), which signifies that those kind of proposals should have a different format, and treated accordingly. Otherwise, #2230 does not create a good example of how the proposal should be filled for the community as of now. Or, if we return back to the discussion in #39 I raised over a year ago, either allow to:
But again, this type of thing demands a quite different format in the first place, so that's why I'm suggesting to enable GitHub Discussions. Again, linking https://github.com/goostengine/goost/discussions so you can see how it works: This way, we can have:
I hope you agree with this rationale (which is based on both actions and inactions of the maintainers), as it's pretty sound. P.S. bureaucracy is inevitable (#10), do not resist it, but accept the fact that Godot grows as a project, because it's no longer feasible to rely on Twitter to have discussions about Godot development. I'd rather rely on bureaucratic system than no system at all. 🙂 Just look at https://github.com/rust-lang/rfcs and you'll understand why. |
I'd love to see this happen, I've found the discussions sections of other repos very helpful so this would be a nice addition for the Godot repo 👍 |
I forgot to mention that GitHub Discussions allows you to discuss things in threads, something which Issues suffer from when things go off-topic, or you'd like to comment on something specific to clarify things (see proposals like #100). |
Great, looks like GitHub added ability to assign labels (alongside categories which can be chosen by users when they create a discussion, contrast to labels): Here's an example: goostengine/goost#82 So, I think migrating some proposals like #2333 or #2738 to discussions while preserving labels would be possible. |
There was an excellent discussion about how this could be implemented on April 23, 2021. It appears a consensus was reached on what we should do. In this comment I hope to set out actionable steps we can take towards moving proposals into Github Discussions. Much of what I write here is also in the original proposal from Xrayez OverviewFrom a high level, the idea is to separate the current proposal process into 2 categories:
DiscussionsDiscussions are the best place to determine if a feature is desired or can work with the engine. Xrayez highlights above how many features Github Discussions exposes to make discussion easier. Importantly Discussions allow voting which makes more popular proposals naturally rise to the top. Discussions will not be heavily moderated. They, of, course will be monitored to ensure that people are following the community code of conduct (avoiding abusive behaviour etc.), but there will be no expectation that "core developers" will engage with your feature proposals. This format will hopefully encourage free and open discussion while minimizing the perceived obligation on "core contributors" to actively engage with every proposal. Discussions will be the go to place for:
ProposalsProposals will be reserved for features that a writer is interested in adding and of which the writer is looking to discuss the technical implementation. They will be more closely scrutinized by other developers and may be closed if they are low quality. The expectation for proposals is that:
The guidelines will be similar to the current proposal guidelines, but they will actually be enforced. Ideally, this will result in a much smaller number of proposals which means that developers will engage more actively in proposals. Proposals will be the go to place for:
What is nextIf others agree on this 2-step process, then we need to:
Future goals:
|
Yes. Existing proposals that don't match the criteria of "technical discussions" and "low-effort" proposals can be easily converted into a discussion: Existing labels will also be preserved. |
What's going on with this? As Discussions it will be much more open and friendly towards the community, which is important in of itself. But also, with over two thousand proposal-issues here now we clearly need more open space for feature-requests and discussions as well as clear ways of conveying/surveying what the community wants, which the more easily accessible upvote-function Discussions provides, as well as the Poll-function which should supposedly be released soon. |
We are mostly positive with doing this, but we would need to organize a move to them, which takes effort that we haven't been able to make time for. Basically, instead of just opening them, it would make sense to move some proposals there, and to decide how we are going to promote the new system so people know where to post. And ultimately, if we do this, proposals would be moderated much stricter, closer to their original idea, and we need to decide on rules for that. We also discuss different labels to give the proposal process more direction. Like distinct statuses indicating steps and approval state. Overall, we have grander plans and this seems like a part of them, but only a part nonetheless, thus requiring more work on everything else before we commit. Opening discussions on their own without a plan will lead to a situation where we won't be able to organize it after the fact (see what happened with proposals themselves, compared to how they were envisioned). |
Discussions are now open: https://github.com/godotengine/godot-proposals/discussions The readme of this repository has been updated to explain everything a bit. |
Describe the project you are working on
Goost Godot Engine extension.
Discussing new features for Godot development.
Describe the problem or limitation you are having in your project
See proposed changes such as #1476. The problem is that there might be a lot of ideas which might not be good fit for Godot development specifically, and makes it problematic and creates unnecessary maintenance burden for the core developers. I believe a lot of proposals in GIP won't be implemented in core, but this doesn't mean that features cannot be implemented via modules and plugins by the rest of the community members.
Most people do not even properly answer the "Describe the project you are working on" question, and even the core developers choose to omit it just by typing: "Godot Engine"... Despite the fact that the development philosophy behind Godot is "extremely pragmatic, with focus solely on solving problems": #575 (comment).
See proposals such as #2333 which are examples of open-ended discussions.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
GitHub has recently implemented Discussions feature which can be enabled for GIP repository. Enabling this feature allows to better focus on proposals which truly matter for Godot, because:
And yes, there's still maintenance involved with moderating discussions, but I believe it's just a matter of properly organizing the existing workflow (which is messy currently, if you ask me).
It's also going to be different from Godot Forums because the platform shouldn't be used to ask for programming help, but to figure out whether it's possible to do something in the first place (due to limitation of the existing feature or the absence of a feature). If not, that's where a proposal can be created which would be already based on a use case, the very thing which "Describe the project you are working on" question was written for.
In fact, there are many similar proposals which keep popping up if you look at godot-extended-libraries/godot-ideas#45. So before making such proposals, it would be better to discuss those use cases first. If people come up with enough of concrete use cases, that's where a potential contributor can write a proposal to fulfil those use cases directly in core, or allow people to overcome limitations via script.
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
Go to Settings in this repository and enable "Discussions":
If you'd like to see how it looks in action, I've enabled Discussions in Goost for the same reason.
If this enhancement will not be used often, can it be worked around with a few lines of script?
Consider merging #1476, to have discussions maintained "unofficially".
Is there a reason why this should be core and not an add-on in the asset library?
There's no need to wait for Godot!
The text was updated successfully, but these errors were encountered: