You nailed it with the last line: people. Everyone wants to rule the world. This fundamentally doesn't work, but that fact doesn't stop everyone from irrationally trying anyway.
The problem you are getting at is entirely sociopolitical, and is, sadly, effectively unsolveable. I spent a decade and a half figuring this out (started circa 2003, gave up roughly last year). It was a good journey.
If I was going to pick a starting point to springboard off of, it would be that humans are embarassingly easy to social-engineer. With developers, you just stroke their egos a bit, make them feel validated and secure, and they'll build pretty much whatever you want. Managers have the opportunity to exert power and control over entire teams of people!!1 and this is so fun to play with sometimes the end goal (the enabler of the control, aka the responsibility) nearly (or actually :/) goes out the window.
It only takes a little bit of study to reverse-engineer the brain and almost immediately you'll get actionable insights on how to make people feel like they're getting what they really want when you're actually making them achieve your agenda instead. Fill people's heads/lives with movement they have to keep up with, make it so they can ride it like a fun wave if they do it right, and bam, you can control lots of people.
Crowd dynamics is so fascinating.
I'm not even touching on office politics, cults, etc.
Sadly open source has its own toxicities. Linux is in many ways the PHP of operating systems; some really amazing bits hiding away in invisible corners, but no good oversight due to its bazaar-based design, and thus no cohesiveness. You will never get very far trying to push balanced views within Linux; the community has become too much of a reactive-yet-immobilized culture. The Lennart Poettering debacle is one recent example.
Moving away from open source specifically, software design itself is also fundamentally broken because it tries to abstract out the people - what put the intelligence into "artificial intelligence"! - as perfect infallible beings that sometimes make mistakes. (For example, why on earth do programming languages describe errors as "exceptions"?!)
Programming is full of leaky abstractions that have never been properly followed up on and properly ironed out of the woodwork.
What we're currently stuck with is are systems that are intrinsically tied to individuals' mindset and skills, and
as a result no two codebases are really the same.
So, it's generally really impressive if you can take Random Component A and expect it to work properly with Random Component B. One example I can pull of the top of my head right now: https://github.com/taviso/loadlibrary
Another way to describe this would be to say that "taking anything and making it work with anything else" is Very™ Very® ʎɹǝΛ NP-Hard™©®, if not categorically impossible. (This is what took me 15+ years to accept.)
In terms of perfect governance, I definitely take a cyberpunk stance. https://news.ycombinator.com/item?id=17320295 https://news.ycombinator.com/item?id=17083221
I also just found this and am adding it in: https://news.ycombinator.com/item?id=17322457
Related thoughts/continuation: https://news.ycombinator.com/item?id=17299517 (if you're truly interested, you might follow all the continuation links)
TL;DR study people, bureaucracy and sociopolitical crowd dynamics