Open-source software is a good thing. Theoretically, it means you or I or any developer can contribute our ideas and work to that software. A very democratic idea.
Like the real world of politics, though, the ideal isn’t always practical to implement. When, in the United States, the electoral college was created, it was meant to extend the promise of representation by letting rich and powerful men decide for their mass constituents, thereby saving their little people all that trouble of having an opinion and voting and such things.
When I think about the Linux kernel (up until a couple years ago), I think about the electoral college. A small group of people had complete control of what was implemented in the Linux kernel. They decided what was good for us. Even if I could submit a pull request, it would have been ignored.
Was that bad? If my dream was to contribute to the Linux kernel it was bad, but as a consumer of the Linux kernel I got a very stable end product. Say what you will about the personalities involved, it worked. (Right, and Mussolini made the trains run on time.)
It’s called “open”, yet it is only open to a handful. An aristocracy. That’s bad, right? Not especially.
If a system is to have conceptual integrity, someone must control the concepts. That is an aristocracy that needs no apology.
– Fred Brooks, from The Mythical Man-Month
Conceptual integrity is the key. As it turns out, a fully democratic development environment makes bad software according to Brooks. The most effective development organization, as measured by the quality of the end product, is the “software tsar”, a single manager at the top who may accept and entertain suggestions, but whose judgement on what goes into the product is the final word.
As I understand it, one source of tension in the PHP community is that too much democracy has eroded the language’s conceptual integrity over the years.
I happened to be on IRC this morning when Lucee was announced. A little later, there was a tweet about how one must make a $7000 contribution to influence what goes into Lucee.
Didn’t sound very democratic. But knowing the history of CFML, I completely understand people’s frustration with a single closed-source vendor.
Having a tsar or other ultimate control of an open-source product is not necessarily meant as a barricade against the imagined anarchists in the streets and an affront to democracy. I think the people at Lucee know the lessons of PHP and the Linux kernel. There are good reasons for various degrees of openness in open-source, and conceptual integrity is foremost.