godotengine / godot-proposals

Godot Improvement Proposals (GIPs)
MIT License
1.08k stars 69 forks source link

Allow to discuss and present ideas freely for core and/or plugin development #47

Closed Xrayez closed 4 years ago

Xrayez commented 4 years ago

The bar is too high just to spark ideas here

Continuing an off-topic discussion from https://github.com/godotengine/godot-proposals/issues/39#issuecomment-529095104.

Note: I'm personally against segregation but there seems to be no consensus with maintainers so I'm just seeking alternatives.

Example repository

godot-ideas

It mimics the process of godot-proposals without too much restrictions, and users are pointed to this repository if they feel like they could get approval from core developers, else it would be a nice place to discuss stuff without imposing too much rules.

Problem

We've established previously that proposals could be classified as:

The "Nice-to-have" type of proposals, based on the official guide and feedback, are going to be closed eventually without them being considered for review, because allegedly they don't fulfill the actual needs and fix problems that users are dealing with on day-to-day basis.

While I completely understand the amount of "low-quality" proposals that are going to spawn if we waive the restriction of having to fill out every single question, the need to express ideas and be heard still exists, and we'd rather avoid dealing with frustrated users.

The listed community channels aren't as functional or reliable as they could be, see https://github.com/godotengine/godot-proposals/issues/47#issuecomment-529203868.

Human factor 🙂

  1. I guess people wouldn't like their proposals to be "closed" even if they can be reopened by maintainers if deemed satisfactory or needed, there's enough of examples how this makes people discouraged and rather frustrated.

  2. The feeling of guilt that people feel starting random and general-purpose discussions by having to type "wall of text" godotengine/godot#19486. This can be avoided with dedicated place for that.

Proposal

There should be an official repository for people to allow to discuss their ideas there. Maintainers are free to "ignore" these ideas so they don't really have to put much effort by having to read and understand them. Don't feel like users are demanding you to make it happen. Moreover, such repository would be a place for people to ask the questions like:

Controversial topics would be a perfect fit for this.

Such repository wouldn't necessary be targeted for Godot core, but a place for people to kind of request independent developers to write modules/plugins for them, but it needs to be centralized. An author is free to open and close an issue on his own.

Also see alternative approach/reasoning in https://github.com/godotengine/godot-proposals/issues/47#issuecomment-529388737.

A list of proposals with mentioned issues or criteria (if not relevant, see first edits in mentioned issues) * #58 - plugin-candidate. * #55 - just an idea, proposal template disregarded. * #63 - the author is not sure whether it could be made as plugin or could be part of the core, avoiding presenting more ideas + template ignored. * #65 - nice-to-have, possibly plugin-candidate, met with disapproval which could otherwise be welcomed.
Calinou commented 4 years ago

Having a third repository makes it even more difficult to manage labels and permissions consistently, so I'm not sure about it. We'd also run into the issue of having people submit proposals and ideas to the wrong repositories.

golddotasksquestions commented 4 years ago

Having a third repository makes it even more difficult to manage labels and permissions consistently

I don't think there is a need to label ideas at all.

We'd also run into the issue of having people submit proposals and ideas to the wrong repositories.

This is an issue present in all repositories. We will never be able to fully avoid it.

On the contrary, if we had an official godot-ideas, we could have a place to send people to, if their proposals don't meet the quality requirements of godot-proposals. godot-ideas then would be a place to flesh those ideas out, to have a place of discussion and maybe, eventually as a platform to get them ready to formalize a GIP. in godot-ideas, issues can be left open infinitely, until issue owner closes them. Maintenance would be much lower, because there are less criteria to meet in order to submit an idea. If it is a shit idea, people will ignore it. If it is a worthwhile idea, it might spark a discussion. The likelihood of participation or interaction with other users would be the same as they have been until now when submitting proposals: very low. The tools to increase the likelihood for interaction on that idea are the same as they have been as well: Ride the wave of current needs or trends, tell your friends about it if you have any, post the issue on Reddit, Twitter, Discord ect ... Even if users don't post anywhere, they have documented their need and secured a place for discussion. They can refer people to that place. Contributers and devs on the otherhand would have their mind and hands free to focus on bug and proposal repositories.

Everyone who submits an idea has to have a Github account and come to https://github.com/godotengine: One click away from submitting a bug report or contributing to discussions. That's a low barrier of entry (unlike godot-proposals) possible and eventually can lead to more meaningful contributions. The fact that it would be the Official Godot Github, would already be more of an incentive to get involved compared to any other place that has no official affiliation. Getting people involved is what we want.

Regular users, less experienced users would have an official place to share and discuss ideas, small improvements of existing features, or missing features that are the reason they have not started a project in Godot yet. Contributers who want to do actual work can stick to bugsor godot-proposals. If contributers or other people who want to be inspired are looking for brain farts, maybe good ideas by users who have not fully understood the system yet, discussions on ideas not ready for GIPs, small life improvements that don't justify writing up a full GIP, random expression of needs from the general userbase, they can go to godot-ideas.

Advantages compared to a platform like Reddit:

Xrayez commented 4 years ago

I don't think there is a need to label ideas at all.

I was thinking of having core/module/plugin labels to potentially filter those that could pass godot-proposals requirements, but then again it doesn't have to be like you have to put these lables on each of the created issues unless someone from core contributors express interest/stumble upon.

willnationsdev commented 4 years ago

I too believe that this would be a good idea. The balance we need is a low-maintenance, official (and therefore, ideally GitHub-hosted) space in which to spark discussions on potential module/plugin/asset features.

If, for example, someone opens a Proposal and they think it will be something that is needed to do in-engine, and then a contributor tells them that an EditorPlugin can do what they are requesting, then the Issue gets closed (potentially) and the case is closed. But the OP is still going to want a space in which to track the idea and discuss design/implementation with the community.

The OP may not even be capable of implementing the idea they have, so they can't just keep it offline to themselves and just one day hope to find fellow interested users who DO have the ability to make it. I mean, they could do so on other websites, but GitHub IS "the social media" for tracking programming ideas amongst other programmers/designers. Reddit, Facebook, Discord, IRC, Pinterest, Instagram, Twitch, YouTube, and who-knows-what-else are not appropriate/effective platforms for having and maintaining such discussions (for several years potentially).

If the Godot core contributors don't announce an official space for it, then the community will likely rally behind an unofficial one, still on GitHub, but it won't be as effective as if it were officially endorsed by the GitHub godotengine organization where the godot-proposals Issue template could directly refer people to it.

@Calinou

Having a third repository makes it even more difficult to manage labels and permissions consistently, so I'm not sure about it.

I agree with the others that we probably don't need to be as strict about managing labels on something like this. The point is having a space for non-contributors to have a more accessible place to share and discuss Godot ideas related to the engine at all (and maybe promote people within that group to be triagers if anyone expresses interest).

The goal would be to remove all work from the main contributors team and give users a place to redirect their ideas to. So, something that is deemed suitable for a plugin may just have their Proposal moved to Ideas rather than closed outright, and people who already know an idea isn't suitable for the engine can just start there right off the bat.

We'd also run into the issue of having people submit proposals and ideas to the wrong repositories.

If it is an official repository, then even the Proposal Issue template can be updated to recommend that ideas not matching the criteria go there instead. So if someone has the sense that they're suggestion is too lightweight, they can know where they should go.

willnationsdev commented 4 years ago

I've actually discussed this as an Issue before since there is no official place to discuss plans or designs around creating plugins for Godot (like blurrymind's Dragonbones integration or event stack visual scripting language concept).

Previously, when someone opened an Issue in godotengine/godot with an idea for something, and that idea wasn't suitable for the engine, they would be met with tons of negative feedback about why they were even posting the idea, that it doesn't belong, etc. And the contributors are right in the sense that godotengine/godot really shouldn't be the place for that, but these kinds of things just don't have a space right now.

Until there is one, you'll likely have a lot of frustrated content creators/users out there. That's where a lot of the negative feedback about the new GIP system is coming from, afaict.

Xrayez commented 4 years ago

they would be met with tons of negative feedback about why they were even posting the idea

This actually explains why people tend to bypass discussing ideas in the first place and go straight towards implementation/PR so they can't be as easily rejected. Having a more welcoming place to discuss stuff would save a lot of unnecessary work in case the implementation is a plugin candidate.

slapin commented 4 years ago

I think we also need repos where ideas will be buried and ignored by everyone.

Jokes aside, currently almost all of contribution ideas go to "make gdnative" which is equivalent to "get lost". Because gdnative is bastard child and is quite unusable. It is much better to use your custom engine fork than gdnative, because at least your engine change will likely work on all platforms as long as you can compile the engine. Also it is much easier to use, no platform-specific files hanging around, no trouble building, everything was done for you and tested. As developers don't care much about gdnative, I consider the direction as "we don't want anything not made by us, do your own fork" motto.

Xrayez commented 4 years ago

Perhaps the repository shouldn't be named as godot-ideas, but actually godot-discussions which would serve a different purpose from actual proposals or a random collection of ideas (though nobody prevents you from presenting an idea in a proposal form rather than discussion).

You might say that forums could be used for discussions. But as stated by @golddotasksquestions, GitHub has a lot more benefits for this, being able to cross-reference issues is my personal favorite 😛.

godotengine/godot#19486:

Sorry for the very long post. I'm not mad if you don't want to read the whole thing, so here's a short version of it.

People tend to be guilty starting discussions, and no wonder.

Trackers or TODO lists could also be created to gather related ideas and discussions together (notice these kind of issues would be forbidden with the current GIP process).

There are more than 1650 open and closed issues labeled as discussion. Far less with PRs: more than 160.

Sslaxx commented 4 years ago

Jokes aside, currently almost all of contribution ideas go to "make gdnative" which is equivalent to "get lost". Because gdnative is bastard child and is quite unusable. It is much better to use your custom engine fork than gdnative, because at least your engine change will likely work on all platforms as long as you can compile the engine. Also it is much easier to use, no platform-specific files hanging around, no trouble building, everything was done for you and tested. As developers don't care much about gdnative, I consider the direction as "we don't want anything not made by us, do your own fork" motto.

If GDNative is a "bastard child" and "quite unusable", then it's better to file bug reports about it than to complain. Tell the devs why and how. At the moment the problem with GDNative is its main developer has gone on to other things, so it needs someone who can take it over and work on it. I'm not sure it's fair to say that "developers don't care much about gdnative", though.

golddotasksquestions commented 4 years ago

Perhaps the repository shouldn't be named as godot-ideas, but actually godot-discussions which would serve a different purpose from actual proposals or a random collection of ideas (though nobody prevents you from presenting an idea in a proposal form rather than discussion).

I would feel less inclined to post under godot-discussions. This sounds like work. And honestly a little discouraging if 90% of all issues in godot-discussions don't actually have a discussion.

Posing an idea on godot-ideas is just that. You post it and you are done. There may evolve a discussion around it naturally, maybe people rally around it and want it to be a GIP, but an idea is still a documented idea even if no one reacts to it.

If someone else later posts a very similar concept or idea the original poster can refer them to your issue (duplicate). Correlations and differences can be discussed. By placing an idea on the official Godot Github which contains THE SOURCE, it creates a minuscule sense of ownership. I'd already feel like as I am part of the project. We want more people to feel like they are part of the project, so they stick around, get more involved, and by doing so becoming an even wider and better platform for new arrivals looking at it.

The studios I work in had roughly 50 to 60 % of their employers working on smaller personal game projects - besides their full time employment. Producers, Artists, Coders, Designers, Audio, QA even people in HR. Industry wide, that's a huge number of potential Godot users who bring a lot of creativity and experience, even though their input might not meet the GIP standard yet. And that's just people who already work in the games industry.

Xrayez commented 4 years ago

I made this "meme" and posted on Reddit, it might not be appreciated there as much, so just posting here as well, a picture is worth thousand of words (please don't feel offended) :)

The process ![godot-bug-or-feature](https://user-images.githubusercontent.com/17108460/64538331-1de04b00-d325-11e9-966a-ec4f26d512ee.png)
Xrayez commented 4 years ago

I've updated/restructured/added some of the ideas in OP, so you know [edited]. 🙂 Especially the human factor part.

lawnjelly commented 4 years ago

While I really like the idea of the proposals system and see it as a big improvement, I think there is a second great opportunity here. As mentioned earlier in this thread I think there is currently a big void between features being developed for core, and those being made as addons / gdnative / modules etc.

The whole philosophy of Godot as far as I can see is to keep the core 'lean and mean' (if you'll excuse the windows analogy), and move as much of the functionality as possible into optional components (interpolated camera, cough). If that is the aim then we should surely try and move a little more towards treating the development of non-core features as first class citizens. I.e. if you make a proposal and it is deemed that it is better to be non-core, this should not be seen as a negative. After all, it should be seen as a success, that the core has been built in such a way as to make this possible.

What would be great (although I don't know if possible) would be to have a parallel system for core proposals and non-core, and if something is deemed non-core, then the topic can be moved between the two (or vice versa), so that any discussion etc is not lost.

Along with that I think there is potential for the more techy guys to streamline the solution for the rest of us for building GDnative and perhaps modules for different platforms. It should ideally be as easy to get something available via non-core as it is through core (or, even easier because the review process can be less stringent).

Speaking as a developer, just as there is continuous integration scheme for the master branch, it would be nice to have an official CI for gdnative and perhaps modules too. So developers would periodically upload their latest stable version, and the official CI would churn out binaries, that any user could then download (from the IDE) and add to their local godot installation. Essentially most developers are more interested in programming than in running a bunch of builds for different platforms and faffing with distribution logistics. Well I know I am! :smile:

slapin commented 4 years ago

Can't disagree, but moving features out of core is not architectural decision, it is just resource management. So it is signal to "move out of our sandbox" and go elsewhere do your thing. So no, currently getting into core feature-wise is very unlikely, so you have every opportunity do do everything on your own, which is out of sight, out of mind business. As everything which can't be done out of core is "not needed in all games" too. So currently for any contributor the best advice is not waste time but do your own engine fork. You can be kind and make others easy to pool from you and make feature branches. All bug fixes are generally upstreamed though. So all features we can get currently are either made ourselves or by core developers, we can't contribute features.

On Tue, Sep 10, 2019 at 4:27 PM lawnjelly notifications@github.com wrote:

While I really like the idea of the proposals system and see it as a big improvement, I think there is a second great opportunity here. As mentioned earlier in this thread I think there is currently a big void between features being developed for core, and those being made as addons / gdnative / modules etc.

The whole philosophy of Godot as far as I can see is to keep the core 'lean and mean' (if you'll excuse the windows analogy), and move as much of the functionality as possible into optional components (interpolated camera, cough). If that is the aim then we should surely try and move a little more towards treating the development of non-core features as first class citizens. I.e. if you make a proposal and it is deemed that it is better to be non-core, this should not be seen as a negative. After all, it should be seen as a success, that the core has been built in such a way as to make this possible.

What would be great (although I don't know if possible) would be to have a parallel system for core proposals and non-core, and if something is deemed non-core, then the topic can be moved between the two (or vice versa), so that any discussion etc is not lost.

Along with that I think there is potential for the more techy guys to streamline the solution for the rest of us for building GDnative and perhaps modules for different platforms. It should ideally be as easy to get something available via non-core as it is through core (or, even easier because the review process can be less stringent).

Speaking as a developer, just as there is continuous integration scheme for the master branch, it would be nice to have an official CI for gdnative and perhaps modules too. So developers would periodically upload their latest stable version, and the official CI would churn out binaries, that any user could then download (from the IDE) and add to their local godot installation. Essentially most developers are more interested in programming than in running a bunch of builds for different platforms and faffing with distribution logistics. Well I know I am! 😄

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/godotengine/godot-proposals/issues/47?email_source=notifications&email_token=AAABPU6I33JN3DV2VEI2C23QI6OEDA5CNFSM4IUTFK6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6LCPBI#issuecomment-529934213, or mute the thread https://github.com/notifications/unsubscribe-auth/AAABPU3T2LEZNU7ZFPXVLOTQI6OEDANCNFSM4IUTFK6A .

willnationsdev commented 4 years ago

@slapin I'm not really sure what you mean by your comments? People can contribute features. They do it to the engine's core (/core), the core engine (/core, /main, /scene, /server), as well as the main engine repository (versus external repos like addons, plugins, and modules).

Yes, I would agree that the fastest way for someone to do whatever they want with their code is to add it to their own fork of the engine (there's no approval process that way), but this Issue isn't targeted at the audience of people who only care about making their own stuff. It's about people who want to contribute features to the publicly accessible engine either by 1) adding a feature to the main engine repo or by 2) creating their own public repository with an addon/plugin/module. And the problem is that there is no official Godot tracker (like a GitHub repo with Issues) for keeping track of the second set of proposed changes (for people who make addon/plugin/module proposals but don't have the time/knowledge/experience/motivation to work on them - yet).

This Issue is about establishing an official one, so, unless I'm mistaken in understanding what you said, I don't think you're comments were quite on topic.

golddotasksquestions commented 4 years ago

but this Issue isn't targeted at the audience of people who only care about making their own stuff.

Or can make their own stuff. Many incredibly valuable improvement ideas, especially in the UI/UX department come from people who use the engine, but don't necessarily know how it works behind the curtains. Often these people even have a better idea what the software should do, because their perception is not tainted at all by the reasons why things are done one way or another.

girng commented 4 years ago

This is why I've always advocated for at least one centralized location. For example, the forum in 2014 or so (can't remember the exact date), but you'd instantly check it in the morning, or if you just randomly think about Godot / game dev stuff. It was the go-to place. Your topic could be seen not only by core developers, but contributors, fellow game devs, etc. It had a lot of different sections (scripts, tutorials, plugins). No upvote/downvote system, just a community where your Godot related ideas/topics could be seen and have an opportunity to flourish.

That was really cool because it was like the hub for Godot. People can still do this now through the community channels (discord, godot dev forum, irc, etc, etc, etc). However, IMHO having that one "central hub" forum was ideal.

I honestly believe more separating at this point is just not a good idea, we need more centralization! (if that's a word). That's why I was super excited to hear about the godot-proposals repo, and happy to see reduz posting about it on twitter / news announcement.

willnationsdev commented 4 years ago

@girng except that godot-proposals is specifically designed to filter out many of the ideas that would have been permitted to exist in something like Godot forums. That's kinda the point of this proposal.

girng commented 4 years ago

@willnationsdev Yeah, you are correct I misspoke at the end. I mean as an alternative to godot-ideas/godot-discussions

And also

is no official place to discuss plans or designs around creating plugins for Godot

Xrayez commented 4 years ago

I honestly believe more separating at this point is just not a good idea

I don't want that either tbh, but seeing how restrictive the current process is now and my failed attempts to waive some of the restrictions in #39 I hardly see a better alternative (this proposal is made in a way to let you accept the other alternative in fact).

So for now the only type of proposals I'd make are in fact those which would allow to introduce independent changes to Godot more easily (better module linking support, seamless GDNative infrastructure without having to write Sconstruct on your own etc).

I learned that my needs are too specific to be even discussed.

At the very least, these plugin-candidate proposals should not be bashed (or not as hard).

is no official place to discuss plans or designs around creating plugins for Godot

So yeah, I'd change the title to this quote, but there are still ideas which are impossible to implement via plugin system and which could still be controversial.

golddotasksquestions commented 4 years ago

@girng : Totally agree one place for everything would be ideal. However we have a vastly bigger and probably also more diverse userbase now compared to 2014. Since Github is also the place to report bugs, and submit proposals, I think it also should be the place to have serious discussions and flesh out ideas.

I learned that my needs are too specific to be even discussed.

You are not the only one and I think that's a very problematic situation for the development of any editor, especially if it is open source.

  1. because it's impossible to tell if your needs are in fact too specific before you put them out in the public and they had enough time and occasion to resonate with other users
  2. because others might think the same about their issue, not daring to speak up with the result that everyone thinks it's just their specific problem
  3. because the fewer people participate in total, the less accurate will be the assessment of any need in the community of users even if you have a fair bit of participation on some issues.
  4. because there is actually a good portion of luck involved to have people with the same issue meet at a common place. I online search for issues all the time and still stumble across really old ones from years ago after months of having the issue just because someone just posted a direct link somewhere.

So my point is we should encourage people to come out of their holes and communicate more, share their issues more. For this to happen we have to make sure every issue a user has, every concern is treated as relevant and important. The challenge should not be to prohibit the motivation to participate, but rather to channel the motivation users have to the right places.

amisner2k commented 4 years ago

So are we doing this? What's the holdup. Who's the person who decides that this repo gets created or not or does somebody just have to do it? Who has the keys to this? Let's make it happen.

willnationsdev commented 4 years ago

@amisner2k it would have to be the godotengine organization admins who would have the GitHub authority to create new repositories affiliated with the organization (to get, say, a godotengine/godot-ideas URL). And it will probably have to wait for Akien and/or reduz to make a final call on it, perhaps after discussing on IRC with the other core devs (my guess).

amisner2k commented 4 years ago

Cool cool......well if anything. Shouldn't hurt to create it and see how it goes. If for some reason it doesn't pan out it can always be deleted in the future. I just hate to see things die slow deaths with endless discussion. But yea, hopefully they see this and make it happen. I'm rootin' for ya, Will. :)

clayjohn commented 4 years ago

Keep in mind, before further steps are taken, there would have to be consensus on the issue.

Additionally, for this issue - in my opinion - there also needs to be more concrete decisions on how the alternative repo gets managed and moderated. Currently a handful of people put in an incredible amount of work to barely manage the current issues (Keep in mind we are currently failing). So any new system on top of the current one needs to reduce the workload of contributors not add to it. In my opinion that hurdle needs to be solved before creating a new repo. Not after.

amisner2k commented 4 years ago

Everything I've heard so far about this is that it wouldn't require much if any workload of contributors to "manage". It also seems to be designed to reduce the number of issues in the main repo so that they can instead be dumped in this "ideas" repo. That's my understanding anyway, feel free to correct me if I'm wrong.

clayjohn commented 4 years ago

@amisner2k We can't just invite the public onto a platform hosted by us and then just throw up our hands and avoid it. First of all, the content has to be moderated for spam, hate content, etc. Second, in order to be used, someone has to determine which issues are worth opening a proposal over. Third, very quickly we will reach thousands of suggestions, at that point it will be nearly impossible for users to find duplicates, accordingly many more duplicates arise which will inhibit productive discussion. This third problem will continue growing indefinitely (as it is now in the main repo).

Just asserting that something won't add to the workload of contributors doesn't make it so. Many users also think that maintaining the current issue list is low-effort when in fact many people spend many hours a day just to keep it at its current level of organization.

Lastly, and I know this doesn't go to your point. But I still don't understand the benefit of having this in a repository. Godot isn't suffering from a lack of half-baked ideas right now, in fact, we are drowning in them. We have no clear way of distinguishing good from bad ideas right now. Godot-proposals solves that problem, it cuts off half-baked ideas at the source. This proposal seeks to bring back all the low-quality proposals for same ill-defined gain.

amisner2k commented 4 years ago

Why do we have to monitor everything for spam and hate content. Who says? This is an open-source, open community. I see your point though.

It's better to have thousands of suggestions in a "ideas" repo then in the "core" repo...because that will happen in the future if Godot's popularity continues to grow.

Just asserting that something will add to the workload doesn't make it so. I don't mean to be confrontational or anything just saying.

Let's just go for it. There's no need for all this bureaucracy. All I'm saying is that others here have brought up some pretty valid concerns and I feel like it's worth trying.

clayjohn commented 4 years ago

It's better to have thousands of suggestions in a "ideas" repo then in the "core" repo...because that will happen in the future if Godot's popularity continues to grow.

I agree that would be better. However, having no ideas in the "core" repo and a smaller set of manageable and well thought ideas in Godot-Proposals is even better than both.

Just asserting that something will add to the workload doesn't make it so. I don't mean to be confrontational or anything just saying.

Good thing I'm not just saying then. :) I'm speaking from experience.

Let's just go for it. There's no need for all this bureaucracy.

Very easy to say when the work doesn't fall on your lap. Much harder to agree with when your the one that will have to deal with it.

To clarify, I am not against this suggestion. golddotasksquestions and I had a long conversation about it when it was first opened and he made some very convincing points. I just think before we take the next step we need to address how it will be implemented in a way that minimizes the work required from contributors. Keep in mind, we contribute because we enjoy working on the engine. We moderate the github repo because someone has to. The more work it is to moderate, the less we get to work on the engine, the less reason we have to stick around. It isn't fun to moderate the github repo its work that we don't get paid for and we get nothing out of trying to appease the 1000s of people who have half-baked ideas.

amisner2k commented 4 years ago

Edit: Second thoughts -- See post after this. I'm leaving this original message for posterity sake.

manageable and well thought ideas in Godot-Proposals is even better

Completely agree. If I understand what others here have suggested, we can think of the "ideas" repo as a sort of "proving ground" and a way to hash out ideas that can then be promoted and cherry picked to get made into proper full-on proposals which can then go into the Godot-Proposals repo.

Very easy to say when the work doesn't fall on your lap. Much harder to agree with when your the one that will have to deal with it.

I hear ya, but I mean...how much work would it really be? You're making it sound like people will have to dedicate just as much resources and time to it like the other two Core and Proposals repos, but others here seem to be trying to convey that it would not necessitate much management or effort to maintain.

We moderate the github repo because someone has to.

Since I'm clearly new here (as you can well and surely tell), what exactly happens if you don't moderate a github repo here? Just curious. Because in my utmost ignorance, my understanding would be that the work would largely entail occasionally seeing if anything interesting was added that warranted attention.

The biggest hurdle that seems to be brought up here is that people want to feel like they can bring up a suggestion without worrying about how it's received or fearing that they didn't type up a proposal right. There's an intimidation factor at work. I think if it's made as abundantly clear as possible that the ideas repo is not a guarantee of anything and that its sole purpose is to gather feedback and hash things out before maybe making it into a proposal...that will help to alleviate your concerns for maintenance and moderation.

Hope that makes sense.

Either way.....I will be ok with whatever happens.....it seems like what's at the root here is breaking down barriers to entry and making it easier for newcomers to feel like they're contributing in at least some small way. I feel like the proposals repo will just end up getting cluttered with an elevated level of submittals in the future. The "Proposals" Repo is strict (for good reason), the "Ideas" Repo is posited as being free and no-holds barred...precisely the right environment for ideas to spawn and take shape.

There will be a lot of bad ideas...no way around that unfortunately. :P

amisner2k commented 4 years ago

Hmm...you know the more I think about it...the more I realize that a new repo would add more maintenance burden for contributors without enough benefit to new users. I suppose if we're to do this at all we ought to do it right. We need to keep in mind that as Godot grows, there will be more and more users coming in whom have little to no intention on contributing code and instead just want to voice some feedback and therefore, perhaps GitHub is not the place they should go to provide feedback.

Now that (https://godotforums.org/) is back and officially a thing (and actually looks quite inviting), perhaps this "Ideas" thing should live there?

Thank you @clayjohn for being very patient with me and helping me understand the issues at hand here.

Edit: Also wanted to throw in that Unity, Unreal...all the other major engines use forums as their go-to for their users to provide feedback. I see no reason why Godot can't do the same.

girng commented 4 years ago

I think we all just want to be connected in some form or another (in the context of Godot :P). And most importantly, have our thoughts and ideas be heard. IMO, communication is key, and it will make the community flourish not only as individuals, but in the creation of suggestions that further improve Godot. That's powerful and I hope we never lose sight of this!

golddotasksquestions commented 4 years ago

@clayohn

First of all, the content has to be moderated for spam, hate content

Yes. As much as any content on the internet. It's the inevitable downside of being open and accessible. Do you have any data on how much spam and outright hate you guys have to sort out regulary?

Second, in order to be used, someone has to determine which issues are worth opening a proposal over.

I get the impression we are not talking about the same thing here. This is not a place where I would expect to see Core contributors to hang around. "Ideas" are not something that is a blueprint for a design, a design someone just has to sign off and then it gets made. If an idea is that far along, they can post in "Proposals" as the outline guidelines states when you want to submit an issue and on the Repository home page as well. No one has to come to a person and tell them, "This is a good, solid fleshed out idea, I think you should submit this as proposal!". If someone really thinks so and wants to, they can, just like it already happens on Discord and Reddit. There is no need for core contributors to be involved in this process. The problem with those discussions on Discord and Reddit is that they are fleeting. There is no record of it, no meaningful documentation or ongoing exchange over a long timespan. The fact that we need to have a place for these discussions is already abundantly proven by countless "ideas" and "proposals" which are already discussed since 2016 or even longer in the main repo.

Third, very quickly we will reach thousands of suggestions, at that point it will be nearly impossible for users to find duplicates, accordingly many more duplicates arise which will inhibit productive discussion.

Why would you want to find all duplicates in "Ideas"? If someone there engages in a discussion and does, I'm sure it's welcomed. But compared to "Proposals" or "Bugs", there is not really that much benefit to find duplicates of ideas. Besides, people who submit in "Ideas" on Github can use the the excellent auto and manual search, if they do want to find duplicates.

Godot isn't suffering from a lack of half-baked ideas right now, in fact, we are drowning in them.

That's why we would would like to tunnel those half-baked ideas to Godot-ideas along with other stuff. Simply outlawing bad ideas is like trying to disinfect dirty drinking water with radioactive waste. Sure it works (for a while), but it's probably not the healthiest of all options.

Many users also think that maintaining the current issue list is low-effort when in fact many people spend many hours a day just to keep it at its current level of organization.

Anyone who sticks around for a while can see the work that goes into. If a user just pops in and out once to drop their demands and want's it done immediately, without actually caring about the requirements or process for a PR or GIP, we can gently and friendly escort them to Godot ideas, where they can do their unruly business. If their concerns is not just shut down, chances are higher they come back to report a bug, or get their marbles together to actually and properly express their proposal.

I still don't understand the benefit of having this in a repository.

The benefit, the purpose would be

clayjohn commented 4 years ago

Do you have any data on how much spam and outright hate you guys have to sort out regulary?

Fortunately not a lot. While we regularly deal with this sort of thing it isn't frequent. But we aren't currently hosting a place on the internet where we say "come say whatever you want without moderation"

I get the impression we are not talking about the same thing here. This is not a place where I would expect to see Core contributors to hang around...

I understand that. But I am certain that if we create a space for people to discuss idea, their expectations will be that they will be heard. Currently, we make no such warranty and yet we have people asking questions in the bug report template demanding that they be addressed by the core devs directly. If we create a space and attach the Godot name to it, some amount of people will expect that the core devs interact with them there. By connecting it to the main Github repo, we will be creating an expectation in the minds of users.

I know that many of you will be able to use it without asking anything of the core devs. But I am also certain that many people won't see if the same way and we will get comments about them being ignored and also "why would you open this repo at all if your just going to ignore all my great ideas?"

If a user just pops in and out once to drop their demands and want's it done immediately, without actually caring about the requirements or process for a PR or GIP, we can gently and friendly escort them to Godot ideas, where they can do their unruly business.

My point is exactly that someone needs to do this gentle escorting and it is going to fall on contributors, as we are doing now.

The benefit, the purpose would be ...

I mostly agree. :) Again, I am not against this proposal. I just think we need to figure out how we are going to implement it without increasing the moderation burden on contributors.

willnationsdev commented 4 years ago

@clayjohn

By connecting it to the main Github repo, we will be creating an expectation in the minds of users.

I can see the dilemma there. On the one hand, we want it to be recognizable as the "main" channel for people to go to for discussing ideas related to Godot, a place to point people to, but keeping it in the godotengine organization would also invite expectations of involvement from the core contributors.

Perhaps the better solution then is to, through mass participation, create an unofficial ideas repo that is still located on GitHub (making it easier to reference Issues and PRs in other repositories), but that specifically ISN'T in the godotengine organization and therefore ISN'T invited to be a place that core contributors are expected to participate in or moderate. That would answer a lot of your concerns in regards to preventing the growth of contributors' burden. The biggest point against doing so it that it makes it harder to point to it as the go-to place for ideas, but I think that could in large part be solved by updating Issue templates to refer people to "unofficial channels" for discussion, linking the ideas repo.

I am imagining something that would function more along the lines of GitHub's isaacs/github repository. It is an unofficial place to submit issues for GitHub, and has no expectation that GitHub team members will participate, but you can bet your butt that it's the prime location for the community to submit ideas for improving the software.

My point is exactly that someone needs to do this gentle escorting and it is going to fall on contributors, as we are doing now.

If we took this approach, it would be those who are running the unofficial repo (and the volunteers who moderate it) who handle this, not people associated with the engine directly. It would function more like a forum and be more easily accessible since you don't have to be a member of the godotengine organization to be involved as a moderator.

golddotasksquestions commented 4 years ago

But we aren't currently hosting a place on the internet where we say "come say whatever you want without moderation"

Well as amisner2k said, we can try and in the unlikely event it gets completely overrun by trolls, readjust or close.

"why would you open this repo at all if your just going to ignore all my great ideas?"

Because this community does not only consist of core devs. Ideas would be a place with far less participation of core devs, but also less requirements to post. Proposals and Issues are repos with more participation of core devs, but also have higher requirements for a post. I think it's really simple and very fair principle. Also simple to communicate. It is important to manage expectation.

Currently, we make no such warranty and yet we have people asking questions in the bug report template demanding that they be addressed by the core devs directly

You cannot take people who seriously think they can make demands in an open source project seriously. For your own sanity, I really hope you don't. I'm not a contributing core dev, but if I were, this this person and their issue would be immediately on my ignore-list. Providing them a link that explains FOSS is almost too generous. Maybe if I had a good day.

If we create a space and attach the Godot name to it, some amount of people will expect that the core devs interact with them there.

Just spell it out that that won't happen then. The purpose and pro and con for posting in either Repo has to be obvious and crystal clear: In "Proposals" the user has a better change to get a core-devs attention, but also has to submit to stricter and more specific formalization criteria and submission rules, aka more effort. In "Ideas" there is less formality, but probably also a different, less experienced crowd.

By connecting it to the main Github repo, we will be creating an expectation in the minds of users.

For those who participate, being a ever so tiny but still relevant part of something huge and amazing, I would hope. Any other expectation can be managed by clearly outlining the purpose and use of the repo. Nutters who think they can make demands -> ignore.

My point is exactly that someone needs to do this gentle escorting and it is going to fall on contributors, as we are doing now.

I was drawing a mental image. What I meant was to just remove the issue from the repo and attach it to another. (Not sure how this process works on Github, but it seems to work because it was mentioned about the all the valuable enhancement proposals of the 5000 open issues in main) So yes, someone has to do that. But how is that different from closing an issue (which usually involves a lengths discussion?) "Reparenting" the issue from "Proposals" or "Bugs" to "Ideas" would not close it, it just says you are having this talk at the wrong place, not that is not welcome.

Again, I am not against this proposal. I just think we need to figure out how we are going to implement it without increasing the moderation burden on contributors.

Totally agree!

amisner2k commented 4 years ago

@golddotasksquestions What do you see as the biggest reason not to have this sort of thing on (https://godotforums.org/) ?

Calinou commented 4 years ago

I'm still not sure about the idea of having an ideas repository. Many proprietary software developers have set up idea trackers, which often end up turning into a /dev/null equivalent. If core contributors aren't going to engage in it (it's harder than it sounds like), it'll likely end up being a waste of time for everyone involved.

Funnily enough, while looking for examples of idea trackers used by proprietary software developers, many have been deprecated recently or replaced by a "second class" version like feedback.discordapp.com which now just redirects to a forum section.

amisner2k commented 4 years ago

@Calinou does bring up a very fair point. Still...I'm interested to hear someone chime in on putting this sort of thing as one of the sections on (https://godotforums.org/)

willnationsdev commented 4 years ago

@amisner2k I think the biggest perceived obstacle for using the forums is that, if it isn't on GitHub, then you don't have built-in reference tracking between Issues in different repositories. On the other hand though, if the intent is to not distract devs as much as possible while discussing these ideas, then backward references that pop up in actual GitHub issues may be something you wouldn't want anyway. In which case, the forums would be a good place to discuss things that doesn't bother people on GitHub at all, but still gives people a place to discuss things. The forums have their own moderators after all, right?

Edit: Looks like Calinou and vnen are still admins on the forums, so I guess it's partly up to you guys.

golddotasksquestions commented 4 years ago

@amisner2k

What do you see as the biggest reason not to have this sort of thing on (https://godotforums.org/) ?

I would want more people from a wider group of Godot users (not just coders) to have GitHub account, so they can submit bug in their specialty field and together build a better representation of Godot total user when it comes to feature discussion, usability, whether or not something is needed. Different minds offer more perspectives. It's going to be hard to bring artists and musicians to a platform like GitHub as is. But Github is the place were these decisions are discussed and made.

willnationsdev commented 4 years ago

@golddotasksquestions

I would want more people from a wider group of Godot users (not just coders) to have GitHub account

But if users don't need to have a GitHub account (a programmer-favored platform) and instead only need a Godot forums account (an open platform for all Godot users), it would be easier for ideas to be discussed by exactly those people. If our equally primary goal is to make sure the space doesn't negatively impact the existing GitHub users, then the forum would really be the most optimal place to put it. It's still a Godot-flavored space, but it has a separate team moderating it (presumably could be delegated further?) and doesn't have the same focus from the core team as GitHub Issues do.

I can see the desire for people to create GitHub accounts for the sake of reporting bugs, but I don't think we should hamstring the ideas discussion space (or hamstring the core team) by forcing it onto the GitHub platform just for that sake.

amisner2k commented 4 years ago

Yeah I'm thinking that if someone really wants to get involved contributing code to one of the repos or submitting actual bug reports, they will take the necessary next step to create a GitHub account and go from there. That would be my hope anyway. :P

golddotasksquestions commented 4 years ago

@willnationsdev You are right that it would be a good place if we somehow could convince people that Forums are back en vogue. But even if we did (which I find unlikely), the Forum is still not the place to report bugs, it's still not the place where PRs are discussed before they are merged, or feature proposals are submitted.

What some of you seem to forget is that more people on the Godot Github also means more Core devs in the long run. Channeling them is the issue, not that people want to participate.

@amisner2K

Yeah I'm thinking that if someone really wants to get involved contributing code to one of the repos or submitting actual bug reports, they will take the necessary next step to create a GitHub account and go from there. That would be my hope anyway

Someone who works with code has a lot of other benefits having a Github account. For artists, musicians, sound designers, animators, level designers, game designers and the like there is a much higher barrier of entry. Submitting an "idea" for improvement, what ever it may be, can be the entry drug those people need.

amisner2k commented 4 years ago

What some of you seem to forget is that more people on the Godot Github also means more Core devs in the long run.

Well...I'm not entirely convinced that more people on GitHub necessarily translates to more Core devs in the long run. It may just be the case that it's just a lot more people with GitHub accounts not really doing anything productive, lol. But I would certainly hope for the former. ;)

Xrayez commented 4 years ago

If core contributors aren't going to engage in it (it's harder than it sounds like), it'll likely end up being a waste of time for everyone involved.

Not everything pertains to core development. Having such a repo would mean that godot-proposals would become "more clean" from plugin-candidate proposals. Seeing how Godot is quite modular gives more hope that such a repo won't be abandoned, so there's a win-win situation here.

Perhaps the better solution then is to, through mass participation, create an unofficial ideas repo that is still located on GitHub (making it easier to reference Issues and PRs in other repositories), but that specifically ISN'T in the godotengine organization and therefore ISN'T invited to be a place that core contributors are expected to participate in or moderate.

I was thinking of creating godotengine-community organization on GitHub for that matter, but I don't really want to hi-jack it that way. But then again, the official godot-proposals would ideally need to point to unofficial godot-ideas in some way, but then you're concerned that these ideas/proposals will end up in wrong place, while in fact this would signify that there's something wrong with the current GIP process if people start to ignore godot-proposals.

Regarding forums, I don't visit them much (if at all) and I've hardly stumbled upon forums via search engines, most search results lead me to QA and GitHub.

amisner2k commented 4 years ago

Regarding forums, I don't visit them much (if at all) and I've hardly stumbled upon forums via search engines, most search results lead me to QA and GitHub.

You should visit them more :) Improving its ranking in search results could be done with various SEO optimizations. I'm new to this Godot community and my first impressions of that site are positive. I think it would be an ideal home for people to get official support and feedback for ideas and issues where they can then be turned in to real proposals here in GitHub...but that's just me (insert kermit sipping tea meme here)

clayjohn commented 4 years ago

I was thinking of creating godotengine-community organization on GitHub for that matter, but I don't really want to hi-jack it that way.

@Xrayez This is actually a really good idea and I would encourage you to pursue it. The forums are another example of a Godot resource maintained by the community. Additionally, the idea when forming godot-proposals was that the community might rise up to meet the demand for a place to discuss preliminary issues (I thought this would take place on reddit/discord, however, this sounds better). Part of the beauty of open-source projects is that the community can meet the community's needs without the core developers having to get involved.

Zireael07 commented 4 years ago

Godotengine-community organization is a great thing either way. I imagine in addition to the ideas repo that is being floated around, it could also host Godot-next?

willnationsdev commented 4 years ago

@Zireael07 I had initially created the Godot Extended Libraries organization targeted at that purpose, but I think repurposing that concept to a more generic organization, not targeted at just plugins, is a good idea. I have yet to move godot-next to GEL yet even though there is a discord for GEL. We should definitely create that organization. We can then start inviting people to the organization and large-scale migrating plugins to that organization.

Edit: should I just rename the GEL organization and start inviting folks to it?