Two days ago, Bjarni had a “minor epiphany” as he puts it. If I can summarize it briefly, he realized while looking at hadoop that although some software projects are technically, or legally speaking, Free Software; their goals, or the intent of the projects’ community seem far behind the goal of freedom of the users. Hence, he proposes two definitions:
The Free Software Community writes and shares software with an explicit intent to safeguard the rights and freedoms of its users by eliminating antifeatures and natural monopolies.
The Open Source Community writes and shares software with an explicit intent to advance the state of the art of computing through open collaboration and publication.
and goes along with examples:
Free Software: GNU, Firefox, LibreOffice, VLC, PageKite
Open Source: Apache, Android, Hadoop, Varnish, Linux
There is some truth in it, but I am afraid I strongly disagree with this assessment because I think it is false and also because I think it weakens the goal of Free Software. (On the other hand, I have to say that Bjarni’s project is really awesome. By the way, they now offer free accounts for Free Software web projects!)
Not distinctive communities
My first comment when you look closely at Bjarni’s proposed definitions is about the word “safeguard.” I think it is no accident that this word is here. In a way, this word conveys the idea that copyleft and Free Software are strongly linked together. This is true: the most important Free Software license today is the GNU GPLv2, a copyleft license. On the other hand, the GPL is the license of the GNU project, but also of the Linux kernel. And if you look at examples given above you’ll find that GNU is in the Free Software category, while Linux in the Open Source category. So why would the Linux hackers choose a Free Software license (per the definition given that Free Software means safeguarding rights and freedoms) if they are an “Open Source” project?
People in communities have things in common, they share values, practices, culture. If you look at both self-proclaimed Free Software and Open Source projects, they undeniably share something in common: software projects. And nearly all software projects technically under a Free Software license, are under an Open Source license. And that’s not an accident: after all, the Open Source Definition comes from the Debian Free Software Guidelines.
And because we all share the same software; it’s possible for the Debian community, undeniably a Free Software community, to integrate a lot of other projects which are proclaimed “Open Source.”
So, I think trying to identify two different communities: one Free Software, one Open Source; is identifying important parameters: which values are put forth, which license, which contribution model, and how they work with other projects or businesses. But none of these parameters, IMHO, are fundamentally inclusive or exclusive of one of the Free Software community, or of the Open Source community.
There are various smaller communities and varying degrees: it’s a complex community; but that’s one community.
I’ll take one other hypothesis that, I think, supports this assertion. Bjarni writes about removing antifeatures and monopolies for Free Software, while Open Source is about state-of-the-art coding and openness. But, these are two sides of the same coin. The art of coding, or hacking, is strongly against antifeatures, incompatible both in practice and in spirit. So, ultimately, whether the emphasized goal is state of the art or openness, it often leads to the same result: a Free Software license is chosen.
In the case of hadoop: while it’s true that in most cases, the companies that use hadoop are not Free Software companies because they clearly work against the freedom of the users; they are part of the Free Software community nevertheless, because they use and contribute to Free Software (whether we like it or not, they are free to do it). Of course, there are distinctions to be made: I’m not saying Facebook or Google, are part of the Free Software movement! But they are players and actors in the Free Software community (even if not exclusively). On the other hand, that’s the power of Free Software: I am quite sure that hadoop can be used for good or bad. Bjarni writes:
[Hadoop] is a cluster computing system which companies and scientists love, but individuals and consumers couldn’t care less about. It is based on ideas made popular (invented?) by Google, but Google kept their code to themselves, so the Hadoop project was created to advance the state of the art and bring MapReduce to the rest of the industry.
That would be like saying that MapReduce is a kind of technology fundamentally incompatible with freedom. I don’t think that’s true. The problem is when a company uses it to become the central point of control of the worlds’ data. The only difference is that MapReduce can be a more effective way of doing that; but that’s not relevant. What is relevant is that Hadoop is Free Software, so anyone has the freedom to use it and modify it for positive change in the world.¹
Advancing the goal of freedom
The final point is that from a purely technical or legal point of view, Free Software and Open Source designate the same category of software. Trying to make two distinctive categories weakens our position when we talk to corporations or public administrations because it’s divisive, or confusing at best (i.e. some people think that non-copyleft software is not Free Software²).
That doesn’t mean however that terms like Free Software or Open Source should be used interchangeably. I think this is a mistake, because it is true that there are differences. When I say Free Software, I want to emphasis the freedom. Exactly like when I say GNU/Linux instead of “Linux” to name my operating system, I want to emphasis the role of the GNU project: although there was free software before GNU, the GNU project was really what started the Free Software movement. But I’ll also call the Linux kernel Free Software: because I want to thank them for developing it and giving me the ability to be in control of my computer!
Some people won’t agree with that, and they want to emphasis “openness” or whatever, because they are not interested in freedom, or they believe in another way to convince consumers or people to use their software, etc. After all, it is their choice and although I disagree with it, to me it does not mean they should feel excluded from the Free Software community.
What we should do is convince them that saying Freedom is important, it matters for everyone; we shouldn’t exclude them and create barriers to collaboration.
On this issue, you can read Georg Greve’s advice: It’s time for the community to take charge of its brand.
- For instance, hadoop could quite well play an important part in our goal for distributed systems in Free Software. [↩]
- This diagram can help you get a good grasp at different licensing models and how they relate to what’s Free Software or not, technically/legally speaking. One thing: you’ll notice that the Open Source category there is almost completely the same as Free Software. The differences are very minor: a few licenses are accepted by the FSF while they are refused by the OSI, and vice versa. But that’s just a minor annoying detail of license proliferation and amateurism. [↩]