Opening GitHub Discussions for enhancement ideas and suggestions

By: Yuri Sizov 18 February 2022

For almost three years we've been using the Godot Improvement Proposals (GIP) repository to help track feature suggestions and enhancement ideas for the engine from its users. Over time, the project has accumulated over two thousand open proposal issues. Navigating this sea of ideas is a very hard task for both Godot users and engine maintainers.

If you're unfamiliar with it, the proposal process consists of three steps. Whenever you encounter a limitation of the engine and there is no practical workaround, you are encouranged to visit the GIP repository and showcase your problem and suggest a resolution. You can either open a new issue, or look through existing ones to support them. The proposal issue is then held for deliberation until a consensus is reached, or it is determined that no consensus can be found. After there is a consensus between participants and agreement among engine developers, the feature can be implemented.

What's changing

While we initially envisioned rather strict rules for new feature proposals, we ended up allowing users to start more open-ended conversations about existing woes and problems. This approach lacked separation between general ideas and features that are ready to be implemented. In an effort to help organize and streamline the proposal process we are opening the Discussions section in the GIP repository. Discussions, unlike proposal issues, won't be a subject to strict requirements and rules (but Code of Conduct still applies, of course). Instead, they would provide a space to hold free-form conversations and let ideas blossom before they can be turned into ready-to-implement enhancement proposals.

At the same time, the Issues section of the GIP repository is going to be trimmed. We will go through all the existing proposals to try and determine whether they fit the requirements. If a proposal describes in enough technical detail an existing problem and a good potential solution, and there is a person ready to implement it, it will remain open. Issues that don't fit proposal requirements will be either moved to the Discussions section, or closed with a suggestion to open a new discussion around that topic. In the end, issues would be a great way to keep track of features that are actually worked on, while discussions would be a platform to form a demand for an improvement or find workarounds for problems users experience in their projects.

In summary, if you have ideas that you're eager to discuss with the community but which didn't fit our strict proposal template, feel free to start new discussions! As always, leave your comments and thoughts on either proposal issues or discussions, and vote for ideas you support. This is the main driving force to define the future of the engine, and we couldn't do it without you!