Open Source, Free Software & Fanaticism

So, Eric S. Raymond posted about Richard Stallman, and my first thought was “who cares about ESR these days?”. Then I thought “oh, wow, this could become a nice flamewar”. Then I went and read the article. Yeah, I’m cynical like that.

It turns out ESR makes a few great points. Basically he states that RMS/the FSF is too fanatical, employing quasi-religious rhetoric, and thereby damaging “the cause”. I couldn’t help but agree with every point he made.

But then I was wondering, if I agree with every point, why is it that I still prefer the free software rhetoric over the open source argument1?

It turns out that ESR simply paints too simplistic a picture:

  • In the one corner, he puts RMS’ quasi-religious rantings, and rhetoric that too often employs terms such as “evil”.
  • In the other corner, he puts the purely technical argument that open source can help build better software.

It turns out, there is middle ground. You don’t need to become fanatic to understand the ethical implications of software licensing. And you don’t need to cop out of the ethical argument entirely by focussing on technical issues alone.

More specifically, it doesn’t make technical sense to cop out of the ethical argument entirely, in the same way that it doesn’t make sense for scientists to accept the erosion of some of the aspects of the scientific method. It’s tools such as open publication and peer review that make the scientific method work; eroding those would hurt all science everywhere in the long run.

In much the same way, the open source argument2, while valid, only addresses a subset of “the problem”.

So let’s take a look at what “the problem” is. Again, we have two definitions here:

  • ESR thinks that the problem is buggy or sub-standard software.
  • RMS thinks that the problem is software that doesn’t do what the users want or need.

The two couldn’t be more different. In one, the implied assumption is that the it’s well understood what any given piece of software is supposed to do, and you just need to find the best way to do it. The other assumes that it’s inherently unknowable what software is meant to do, so control over that needs to be given to the end-user.

If you translate that view from software to the internet, you get a much more interesting – and vastly more current – perspective on the issue. The translation of ESR’s view would be that everything that happens on the internet is fine in principle, it just needs to be made right. The translation of RMS’ view would be that, no, Facebook, Google and others are not just fine in principle, because they effectively control what users get to do to such a degree that it cripples the very thing that makes the internet great in the first place.

And if you look at e.g. the popularity of the pirate party in many European countries, or the proposal for HTTP status code 451, you know that many people share RMS’ view when it comes to the internet.

So how do you solve that problem?

Well, there are many aspects to it, but a strict copyleft policy such as RMS/the FSF advocate is actually going to help. Put simply, open source – that is, non-copyleft open source – cannot solve the social problem of making software integrate with the wider internet.

Take Skype for example. It’s the leading instant messenger service, and the leading VOIP software, and it is both by virtue of solving a technical problem. It is closed source, of course. And it doesn’t integrate with the rest of the ‘net at all3.

Compare that to XMPP. There are many more client applications out there that use XMPP, and they use it in ways you would find astonishing, especially since it’s basically a chat protocol, just like Skype uses. One friend used XMPP as a transport for remote controlling TV-like devices from his phone, for example.

I’m comparing closed source with open standards, which isn’t entirely fair in the discussion of open source versus free software, I’ll grant you that. But the example illustrates a point. Engineers at Skype have one thing in common with open source engineers, in that the wider social impact of their work isn’t on their mind. That is, they’re never encouraged to ask themselves “how can I build this to improve the lives of everyone?” The focus is much more narrow, on the engineer’s specific problems to solve.

Free software, by contrast, encourages that question very strongly. By introducing the copyleft notion, you understand that not only is your software to be used as you intended, but free for everyone to build upon. That freedom is not just granted, but enforced, and that in turn should serve to proliferate innovation in much the same way the scientific method does.

Free software or copyleft alone won’t achieve this, of course. There is a need for a wider social movement to accept that free software is the “right” thing to do in the grander scheme.

But that shouldn’t distract from the fact that “right” and “good” aren’t the same, just as “wrong” and “evil” aren’t. In other words, RMS’ fanaticism that employs terminology of good and evil is still painfully damaging.

ESR is right about that part, at least.

  1. And that despite the fact that I intensely dislike any (quasi-)religiousness, and have been known to fight it in other aspects of life. []
  2. More eyes see more bugs, lead to better software. []
  3. Oh, ok, there are those “user X is online/offline/whatever widgets”. That’s about as far as it goes, though. []