"I disagree. The point of being in a community is to... be a part of a community. As you describe it, there is no community, there are just two groups of people. Developers and users. If the users don't like what the developers are doing, the developers are free to leave. They will be replaced by people who respect others in the community."
Are you really so naive or just trolling? Because what you are saying is the exact opposite to reality.
And not because a matter of moral judgement, what's right and what's wrong, but a matter of making things happen.
A user doesn't make things happen, a developer does.
So it is not "If the users don't like what the developers are doing, the developers are free to leave" but "If the users don't like what the developers are doing, the *users* are free to leave" because what power has a user to make a developer do what he doesn't want to do? And what power has a user to make a developer resign while he's still doing what he likes to? Moreso on a purely community-driven project where the user doesn't even have the proxy of a corporation that pays the developer's wages.
"More users means more promoters, more promoters means more potential developers. Those developers will replace the "my way or the highway" devs that are currently taking charge"
No. Even if it happens the way you say, the new developers will be another generation of "my way or the highway" because the user still won't have any ability to make developers do what they don't feel inclined to do.
In other words: the only way for a user to make things happen is to stop being just a user and become a developer and once that happens, it will also be "his way or the highway".