4 ms·
A (software) dictator is not necessarily good. But let me double down and say that a community cannot create a product as good as a single head at the top can d
by 1_player 6y ago
A (software) dictator is not necessarily good. But let me double down and say that a community cannot create a product as good as a single head at the top can do, for the single reason that people care only about their own garden, and integration needs someone to oversee and be responsible for all parts.
There is no Steve Jobs in a democratic committee.
- mook 6y agoCannot seems rather strong. I haven't been paying very much attention, but I was under the impression that Postgres doesn't have a dictator?
- tragic 6y agoOr Rust, which - whatever you might think of it - does not feel very designed-by-committee.
- sitkack 6y agoRust governance is more amazing than Rust the language and that is saying something.
- crad 6y agoIt's evolved. There was a point that Tom Lane was the last line of defense against anything that strayed too far. Heck at one of Postgres conferences there was a shirt that said something like "Tom Lane reviewed my patch and all I got was this stupid shirt." While he was not a BDFL style person, in the past, if he didn't like a change, it didn't make it in.
- moomin 6y agoHere’s the thing: you need both. You need breadth AND focus. Breadth tends to come from the community and focus from a small number of individuals. But both are important. Keeping both of those balls in the air at once is why being a software coordinator like this is such an exhausting job.
- abraae 6y agoAs usual, Fred Brook's Mythical Man-Month had some valuable insights on this back in 1975: > To make a user-friendly system, the system must have conceptual integrity, which can only be achieved by separating architecture from implementation. A single chief architect (or a small number of architects), acting on the user's behalf, decides what goes in the system and what stays out. The architect or team of architects should develop an idea of what the system should do and make sure that this vision is understood by the rest of the team. A novel idea by someone may not be included if it does not fit seamlessly with the overall system design. In fact, to ensure a user-friendly system, a system may deliberately provide fewer features than it is capable of. The point being, if a system is too complicated to use, many features will go unused because no one has time to learn them. * (This is quoted from the Wikipedia page as I don't have an online copy of MMM to hand).