To add on to your point, this is called the 'paradox of freedom' -- that you cannot have both unlimited freedom and ensure freedom for the future. At the end of WWII, Karl Popper defended state interventionism with an argument citing the paradox of tolerance [1], and claimed ensuring a tolerant society in the name of tolerance, even when paradoxically intolerant. A parallel argument can be made in Stallman's case for copyleft to be claimed in the name of freedom.
It's also worth noting that it is not only Stallman's FSF that uses this definition w.r.t intellectual property nowadays. Lessig's CC adopted the same terminology for their share-alike license (-SA), which has the goal of preserving freedom, while -NC or -ND are considered non-free because they contain restrictions not related to this purpose. The same is true in the greater free-culture community and academic contexts from my experience.
That's a general point, but I think it missed the criticism that the FSF's definition of software freedom fails on its own terms.
In practice the "freedom" is exclusive to a highly educated and exclusive technocracy. The same freedoms are not available to the general public.
This may seem pedantic, but IMO it undermines the argument about software freedom, because Stallman has never shown the slightest interest in making software that the general public can modify, or in designing, promoting, or doing anything at all to encourage the existence of such software.
The idea that if you want to promote software freedom you need to make tools and systems that ordinary people can modify - preferably without learning Emacs - doesn't seem to have occurred to him. It seems that in Stallman's world the public are supposed to become MIT-grade hackers before they can earn their freedom.
You could argue that software is hard, and that's just how it is. But I'm not so sure that's true. It's not obvious that the hardness of software isn't a side effect of the culture around it, and not something unavoidable in the process of development.
The reality is that there has been almost no serious CS research into making accessible user-modifiable systems. FSF would be more convincing if there had been at least some token effort in that direction. But instead FSF has always promoted a rather old-fashioned and nostalgic view of computing, where everything happens on the command line, and development means hand-editing source code and running a build system to create a local binary.
That was more or less the only model around in the 1960s and 70s, but things have moved on since then. Unfortunately the FSF mostly hasn't.
Given that, the question is - what does software freedom mean to users now? If source code doesn't actually equal freedom - what does?
"Stallman has never shown the slightest interest in making software that the general public can modify, or in designing, promoting, or doing anything at all to encourage the existence of such software."
That's unfair.
Let's say we're talking about vehicles rather than software.
The liberty to share information, to modify one's own vehicles, and so on is valuable even without a research program to educate every commuter about engineering or make motors modifiable by someone with no special knowledge.
The benefits of software (or vehicle) freedom extend to every user even if they aren't directly involved with software engineering. As a non-programming user, you can find someone who can help you modify programs. You can also begin to learn yourself, as I and many others have done.
Free software is itself an enormous library of learning resources simply because you can study its source code and reuse its components.
To talk about a "highly educated and exclusive technocracy" in this context seems pretty overblown to me. Yes, efforts to make programming more accessible are very cool. But any motivated kid with a computer can get into coding right now. With the availability of free software, they can study working software packages written by experts, for free.
The GNU project was a pragmatic initiative to ensure the existence of a free operating system mostly conforming to the typical Unix-like environment. Call it old-fashioned, but even iOS is built on such a foundation.
I agree that eliminating barriers to entry for newbies is important, but basically I think it's long-term future work and that the FSF is right to focus on the fundamental freedoms for hackers.
> It seems that in Stallman's world the public are supposed to become MIT-grade hackers before they can earn their freedom.
This is not true. In his Emacs paper he specifically mentioned that people who were told that they could not possibly be programmers were in fact programming by modifying Emacs. He also pushed for Emacs to gain word processing features and was ridiculed for that.
I agree that freedom and practicality are related, but disagree that it undermines the argument. If they were completely unrelated, source code availability would not be an issue; however the legal and practical freedom to do something is often not zero effort or little work.
I'm wondering what you have in mind by user-modifiable systems. For example, KDE and Firefox are free and allow for quite a bit of user-customization without any programming knowledge. At some level you would naturally have to write code.
>The idea that if you want to promote software freedom you need to make tools and systems that ordinary people can modify - preferably without learning Emacs - doesn't seem to have occurred to him. It seems that in Stallman's world the public are supposed to become MIT-grade hackers before they can earn their freedom.
No, because freedom of modification and the guarantee that such modifications must also be released with a similar licence means everybody, programmers and non-programmers, benefit from that freedom, directly because they modified the source code, or indirectly because they can freely use that modified software, respectively.
>Stallman has never shown the slightest interest in making software that the general public can modify, or in designing, promoting, or doing anything at all to encourage the existence of such software.
Define "general public". As far as I remember, Stallman was a MIT hacker working on stuff like compilers. It is not exactly the kind of thing the "general public" want to know about.
He did some significant parts of Emacs. 30 years after it's creation, this piece of software still exists, has been modified by thousand of people, including non-programmers.
Stallman is not only a software hacker. He is a "hacker", and hacked a piece of law that is a serious little trick that actually created a revolution. Torvalds hacked on the hardware/kernel part under the basic law hack and things started. That's a real success!
The arguments about terminology "GNU/" VS "Linux" are fun but I think we underestimate the law hack.
It's also worth noting that it is not only Stallman's FSF that uses this definition w.r.t intellectual property nowadays. Lessig's CC adopted the same terminology for their share-alike license (-SA), which has the goal of preserving freedom, while -NC or -ND are considered non-free because they contain restrictions not related to this purpose. The same is true in the greater free-culture community and academic contexts from my experience.
[1] http://www.goodreads.com/quotes/25998