Well, since Richard started it 😉
First of all, I don’t think Richard is really wrong with his options -> choice -> competition -> better software argument. Being a free-market capitalist myself I can certainly appreciate that. However, I see what, to me anyway, seem like weak points in this argument.
- options -> choice – this really is only effective when the user can distinguish between options and make an informed decision. An uninformed choice becomes basically a “coin toss” or random choice. Therefor nothing was gained, and in fact much may have been lost if the random choice turns out badly. What ends up happening is what I see on IRC all the time: user says, “Should I use program X or program Y?” and then the “support” person says, “I don’t know, try them both and see which one you like better. Linux is about choice.” There is two problems with this. First, the user shouldn’t have to be installing and testing lots of software to be productive and do what they want. Second, the user often times doesn’t know what to look for when “choosing”. There may be important technical differences that the user doesn’t pick up on that might affect them later.
- choice -> competition – this is really only effective if the “competitors” know about each other and that competition actually does take place. FLOSS and Linux are in general big enough that it’s easy to not find “competitors”. I’ve repeatedly seen, and even been involved with, projects that were later found to be pretty much duplicative of what somebody else was doing. It happens quite a bit. Ideally, you combine forces and end up with more developer power, but often people don’t want to give up control or the idea they had, so you continue on with parallel projects that don’t talk to each other. This can even happen at the distro level.
- competition -> better software – this only is really effective if there really is competition based on who has the better software. I see a lot of “the project with the flashier website, wins” or social reasons why some software is “competitive”. It is also only really effective if the competing projects are close enough that an innovation or improvement on one side can reasonably be done by the other. In other words, you need to have comparable “things” for there to be competition. If two pieces of software become so different, or so complex/large to be practically incomparable, then competition does not necessarily produce better software. I find this a lot with distos. It becomes very very difficult to adequately compare distros that people resort to comparing inane or cosmetic differences.
Overall, I’d like to say that my position right now would most accurately be:
Choice and competition are a hallmark of a state of development, but are not a necessarily a hallmark of a state of maturity.
When we present new users (and experienced ones alike) with so many “choices” that they cannot in a reasonably way or time decide between them, then a choice is really no choice at all. Instead it is a burden and a confusion and makes the Linux community appear immature. So while the mantra “Linux is about choice” may be true and necessary for now, it don’t really feel like it should be our end goal.
As always, feel free to disagree, I’m always trying to gain a better understanding of the Linux community and FLOSS development.