NOTE: The italicized text contain quotes from Richard Stallman.
The only reason we have a wholly free operating system is because of the movement that said we want an operating system that's wholly free, not 90 percent free.
Open source exists because of a refusal to compromise by the creators of free software programs. The “pragmatism” that Matt lauds is only an option for open source because the people who did all the hard work in creating free software refused to compromise initially.
Bullshit! The first GNU project was not an operating system kernel. It was a compiler! (Although one can make the case that it was a text editor.) Subsequent projects included shells and various Unix utilities, but they all ran atop proprietary (or BSD/MIT) operating systems. While the overcomplex HURD project was faltering, a truly 'free' operating system emerged from the Linux project, which was originally only free for noncommercial use! Talk about no compromises!
Ten years ago, Stallman pointed out the dangers of compromise:
If you don't have freedom as a principle, you can never see a reason not to make an exception. There are constantly going to be times for one reason or another there's some practical convenience in making an exception.
What, you mean like the exception you made to working on top of proprietary operating systems while developing your visionary vaporware microkernel?
Compromise is a slippery slope: once you start down it, there are no obvious places to stop. This plays right into Microsoft's hands: its current strategy is to dilute the meaning of “open source” - classic “embrace, extend, extinguish” - until it becomes just another marketing buzzword, applied routinely, and ultimately with no real value.
So what? You may ask. If, as Matt writes, the whole point is “to go mainstream”, then such blurring of the line separating free software from non-free software is surely a small price to pay to achieve that wider use of open source. It might seem so in the short term, but I don't believe it's a wise strategy in the long term, even from a purely pragmatic viewpoint.
Ahh, the classic slippery slope fallacy rears its ugly head again! The obvious place to stop is when the community decides the perceived drawbacks to further cooperation outweigh the perceived benefits.
Moreover, if the term “open source” becomes devalued, coders and users will become disillusioned, and start to desert it. The former will find the sharing increasingly asymmetric, as their contributions are taken with little given in return
If the coders do not see the value of contributing to a specific project, then they will either find a new project or take the existing code (one of the fundamental definitions of open source is the right to fork) and start a new project. This is what happens right now!
(something that may well happen even to open source companies using the GNU GPL if they demand that contributors cede their copyright, as most currently do).
This problem already happens, and it is dealt with. Even the GNU project insists on copyright, and even they have changed the terms on licenses occasionally. I do remember that there were a lot of complaints about GPLv3.
But, of course, the point is not “to go mainstream”: as Stallman said, it's about having “freedom as a principle.”
If the point is not to go mainstream, then how do you think freedom will be spread?
And because this is how he fights for freedom, without compromise, he is prepared to do and say things that people in the pragmatic world of open source find regrettable – shocking, even. That's partly because it inconveniently makes their job of “going mainstream” harder, and partly because of a genuine distaste for some of Stallman's actions. But what they overlook is that freedom fighters – for that is how Stallman regards himself – have always been so focussed on their larger goals that mundane matters like convenience and good manners tend to fall by the wayside.
Wow! Even Linux Journal admits that RMS is a terrorist!
Ultimately, the reason that free software cannot compromise is because we compromise over any freedom at our peril: there is no such thing as 50% free.
There is also no such thing as 100% free (at least not in the realm of "Free" Software). Even "Free" Software places limits on what someone is free to do with it.
As history teaches us, freedom is not won by “going mainstream”, but by small numbers of stubborn and often annoying monomaniacs that refuse to compromise until they get what they want. The wonderful thing is that we can all share the freedoms they win, whether or not we helped win them, and whether or not we can live up to their high standards of rigour.
The monomaniacs may lead the way to freedom, but they always do so with the masses right behind them. Yes, even the hardline groups have to make SOME compromises. If Free Software evangelists cannot win over the masses, then Free Software is doomed to shrivel-up just as hundreds of other ideologies have done.
Hey! You don't have to take my advice. You go right ahead with your Free Software Foco Theory. I will just sit back and laugh all the way to the release party for Windows 8.