So there are two core issues here:
- Open source users being averse to any sort of money.
- Users unhappy with features or the direction or lack of control.
So my point is that any sort of project needs to be sustainable in order to survive and grow. You can't expect talented developers to work full-time on a project with no compensation. Yes, individual developers can work on specific features they need (for their own game) and merge it, but sustaining a large project requires staff, and it's not reasonable to expect to survive with random people donating a weekend here and there to help. Yes, there will be lots of little improvements, and this is the nature of open source, but to have a solid direction and leadership, you really need people getting paid somehow.
Most successful FOSS projects are like this, for example Canonical, Red Hat, Wordpress, Mozilla, etc. Do you think Firefox would still be around, in any popular sense, if Mozilla said, for ethical reasons, they would never make any money? Probably not. It would just be some code on Github that no one uses, like a million other abandoned FOSS projects. Even Linux itself has survived because of corporate interest and commercial use, as well as contributions from Intel, Google, Samsung, IBM, etc. If we said no one could ever make any money from Linux, then it would be dead in the water and no one would have even heard of it, besides computer science historians. It's just really a misguided viewpoint.
The other thing is users being unhappy with the features or direction or lack of control. Well, I submitted a proposal to add my render scaler to Godot 3.x. I think the technology worked, and did improve performance quite a lot. The proposal got hundreds of votes, and we had a long discussion with the maintainers involved, and ultimately decided it wasn't worth it. Mainly due to the fact that this is already resolved in Godot 4.0 (with better quality and performance) and the maintainers did not want to add code or be forced to support it, when a better solution was already in the works. And I agreed with this, I was not upset or butthurt, they were kind and explained the situation and it made sense. I wasn't going to press the issue or start some beef.
In terms of the features, yes Godot is missing a lot. No terrain, for one thing. Poor asset pipeline and animation support. Still lots of issues with the shadows, etc. But no one is forcing you to use Godot. If the features don't work for your project, then you can use Unity or any number of other open source engines. There are actually a lot of engines that are better than Godot, in terms of graphics and features, but they don't have a large community and can be difficult to use. So you weigh your options. Do you want to pay for an engine? Then use Unity or Unreal. Do you want a free engine, or need the source code to modify, well there are other projects to choose from, like Stride or O3DE. Or, if you're really hardcore, then just code the thing in OpenGL or Vulkan yourself. There is really no reason to be unhappy, there is more technology now than ever and most are cheap or free.
Granted, I think Godot is the most promising engine right now, due to the ease of use and productivity. So if you want to stick with it, then contribute. I'm still finishing school, and I have some other personal stuff going on, but I plan to work on the GL support and some of the rendering things that are not working. There is really no use in complaining. It's a FOSS project, so you can either fix it yourself, or use a different software. It's as simple as that, no one owes you anything. Not sure why people are so entitled these days. When I started coding, there weren't even such things as "game engines", you just wrote everything yourself by hand in C++. So I guess I have a different perspective.