I'm a big fan of Matt Asay's writings about free software. He combines a keen analytical intelligence with that rare thing: long-term hands-on experience in the world of open source business. But even though I generally look forward to reading his posts, I have been rather dreading the appearance of one that I knew, one day, he would write...because it would be wrong. And now he has written it, with the self-explanatory headline: “Free software is dead. Long live open source.”
Matt states in his first paragraph what the key issue is:
One of the most inspiring things I've witnessed in my 10-plus years in open source is its gradual embrace of pragmatism. By "pragmatism" I don't mean "capitulation," whereby open source comes to look more like the proprietary world it has sought to displace. Rather, I would suggest that the more open source has gone mainstream the more it has learned to make compromises, compromises that make it stronger, not weaker.
When I interviewed Richard Stallman in 1999 this is what he had to say on this subject:
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.
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.
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.
For example, current compromises that include working with Microsoft-developed technologies for which it may hold software patents in some jurisdictions mean that ultimately open source developers are giving hostages to fortune and undermining their power of self-determination in the future.
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 (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). Users will similarly discover that some of these new-style “blurred” open source applications fail to deliver the promised benefits of control, customisation and cost-savings.
But, of course, the point is not “to go mainstream”: as Stallman said, it's about having “freedom as a principle.” Spreading free software is about spreading *free* software, not free *software*: software is simply the means, not the end. This is what Stallman said a decade ago:
there are more important issues of freedom – the issues of freedom that everybody's heard of are much more important than this: freedom of speech, freedom of the press, free assembly.
So why does Stallman even bother with free software?
I don't see how I could do something more important in some other area.
Stallman doggedly continues his crusade for freedom through free software because he recognises that that is where he can make the greatest contribution.
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.
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. 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.
But equally, without their obduracy, their constant striving and their eventual victories we would all lose those freedoms, because they are only temporary, and must be constantly reconquered. Specifically, without the fixed point of uncompromising free software, open source would soon mainstream itself into meaninglessness.
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
|Non-Linux FOSS: Seashore||May 10, 2013|
- Dynamic DNS—an Object Lesson in Problem Solving
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- New Products
- A Topic for Discussion - Open Source Feature-Richness?
- RSS Feeds
- Drupal Is a Framework: Why Everyone Needs to Understand This
- Validate an E-Mail Address with PHP, the Right Way
- Readers' Choice Awards
- Tech Tip: Really Simple HTTP Server with Python
- Reply to comment | Linux Journal
23 min 24 sec ago
- All the articles you talked
2 hours 47 min ago
- All the articles you talked
2 hours 50 min ago
- All the articles you talked
2 hours 51 min ago
7 hours 16 min ago
- Keeping track of IP address
9 hours 7 min ago
- Roll your own dynamic dns
14 hours 20 min ago
- Please correct the URL for Salt Stack's web site
17 hours 32 min ago
- Android is Linux -- why no better inter-operation
19 hours 47 min ago
- Connecting Android device to desktop Linux via USB
20 hours 15 min ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?