For Better or For Worse, Richard Stallman Does Not View Growing Software Complexity as an Impediment to Freedom
LAST night we republished this recent discussion with Richard Stallman, having published a talk he had given in the same place. This was only weeks ago.
When it comes to highly complex software like a "modern" (proprietary-leaning) Web browser or systemd, Dr. Stallman does not view the problem as new or particularly troublesome. Many browsers are based on Firefox or Chromium, but systemd is a vertical integration issue and many urge the FSF to speak out against it. But since it mostly came from IBM (Red Hat) and FSF refuses to even issue a statement about RHEL bypassing the GPL, we have to wonder if the FSF has the guts to say anything at all that might "upset" IBM. Two years ago Elana Hamasman from IBM (now at Apple) ran a defamatory petition against Dr. Stallman, alleging all sorts of false things about him.
Towards the very end of the video (the one which we republished last night) there was a question that sort of alludes to systemd (and the likes of it) without mentioning it specifically. Here is how Dr. Stallman (RMS) responded:
Moderator: Let me explain. So there's another thing that hampers that and that and that's accidental complexity. So basically, so if I have a regular personal computer with a GNU/Linux system installed on it, it's so huge and complex[01:09:00] that even though all of the source code is available it's just so tremendously complex there is necessarily going to be a bug by which I mean that it doesn't do exactly what its users and creators expect it to.
RMS: Yeah. That's normal.
M: Yeah. That's normal. Exactly. But what I would like to hear your opinion about is whether there is some way
[01:09:30] to encourage a kind of going back to the original GNU and UNIX philosophy of small modules that provably do one thing and do it well. Because I think that we are moving away from it even in the Free Software community.
RMS: I think you're mistaken. I think we never started from there. I never endorsed that UNIX philosophy. I was not interested in proving anything about what the programs did.
[01:10:00] I wanted to make them work in practice. And then work in practice means we fixed bugs. Of course there were always bugs. There were lots of features and there were lots of features because we wanted lots of features. So basically, I just never agreed with that because the goal I had was different. You want an entire system which is so simple
[01:10:30] that people can prove it will do some particular thing correctly, and I can see how for some purposes that might be useful. But my purposes weren't in that direction. I wanted a system that would do all the things I wanted it to do which meant it would be big and complicated and we would fix the bugs until it worked. And so I'm happy with that. I never wanted to
[01:11:00] go in the UNIX philosophy direction. And that's why I didn't.
The question to RMS was framed incorrectly in several ways, according to an associate; "one is that it was pointed to the past decisions and not about goals going forward. The other is that it is about proving software works rather than focusing simplicity and clarity as facilitators of both access to the source code and prerequisites for modification."
"The freedom to study the source code and make changes is a corollary of being able to understand the code which derives from it being neither obfuscated nor overly complex," the associate continued. "I'm sure the above phrasing can be refined, but it gets at the point made above that simplicity and clarity are desirable and maybe even necessary traits. Because otherwise, looking forward, large companies could make their code violate the spirit of the GPL (and I'd say the letter, too) by writing code that is obfuscated enough through complexity and size that no normal programmers would have any chance of exercising their software freedom." █