Comment by goku12
21 days ago
That is entirely wrong and is a widespread misconception. The difference between free software and open source software is at the core of this 'android verified developer controversy' we are discussing here in a humongous thread. Stallman was warning us about exactly this sort of unethical arm twisting when he was policing the meaning of the word free software. (Somebody taught me this when I held this same misconception. But I was expecting moves like this ever since I understood the distinction.)
As you may be aware, the open source initiative started much after free software movement by people who disagreed with Stallman and the free software philosophy. The core idea of OSI is that by keeping the source code open, more people from a wider background can work on it to improve its quality in terms of features, design, correctness, bug reporting and fixing, security, documentation, etc. The idea is to make software more of a shared resource, thus achieving what is difficult for a single company to achieve. With that in mind, OSI borrows one more requirement from the FSF - there can't be any limitation on the user as to how they use it.
Now coming to the Free Software philosophy as defined by FSF, opening the source is just a secondary concern - a means to an end. That end, the primary concern, being computing freedom. What it means is that any computing device must do only and exactly what its owner wishes it to do. This means that the device owner must be able to verify the functionality of the software and modify it to suit them, if necessary (with 3rd party help, if needed). This is possible only if the device owner also has the source code of the software. But that's where the requirement for open source code ends for free software. If the author of the software and the device owner wishes, they can keep the source all to themselves. There are plenty of cases where this actually makes sense. Anyway, the people who possess the software are also allowed to distribute the software as they see fit.
As you can see, the computing freedom part is the centerpiece of the free software philosophy. But it isn't a concern at all for open source. I will explain why later. In practice, most licenses that satisfy one philosophy automatically meets the requirements of the other. Thus free software license list and open source license list overlap for the most part (with a few exceptions). But the philosophical differences extend well beyond the licenses and deep into the software design itself. If the device owner/software user is supposed to have any freedom, the software must be small, easy to read and understand, easily hackable and modifiable, well documented, highly modular with very good glue layer and highly configurable. This concept pervades the GNU software design. Emacs is the best example of this. Others include GNU Shepherd, Guile, Guix, Poke, GDB and a lot of others.
Now coming to open source, we have this notion that if the source code is open, it is pro-user and pro-freedom. This is true for most FOSS code, because their authors have more or less the same idea. But it's entirely possible to create an open source project that actively denies or even degrades the control of the device owner over their device, and thus their freedom. Take these examples - Android, Chrome browser (and its derivatives), SystemD and VSCode. How many of these projects listen to the public about their design choices? Which among them can you realistically fork and maintain as an individual or even as a company? (Not even MNCs try that with Chrome). How deeply and freely configurable are any of them? Are you able to remove or disable their user-hostile features? Are you able to use their submodules? Have your ever seen their code while troubleshooting or debugging? Have you been able to stop them from corrupting open standards and ecosystems? These are the open source non-free software .
Now, how did open source become popular in place of free software? Its proponents would have you believe that FSF is heavy on 'ideology'. Except, those ideologies were actually very stark warnings about the future. Open source became popular because the corporations used their enormous wealth to downplay, malign and suppress the idea of computing freedom. This is just like how they made permissive licenses popular over copyleft licenses. Both were driven by greed. If the suppression of copyleft licenses was about obtaining unpaid labor, suppression of computing freedom was about usurping the device owners' control over their own devices.
Now that we have problems like Google mandating developer verification on Android, or unilaterally deprecating XSLT from the web standards, know that they are all the result of everyone contemptuously dismissing Stallman as an attention seeking lone rebel when he was trying to draw attention to the oppression that he clearly foresaw. Heck! Even I could see this from a mile away! But this world is driven by hype and ill advised blind faith.
Your explanation of the differences is excellent and eye-opening. It should be posted on the FSF/GNU website.
I imagine a future where users will be able to tell a local AI to modify their software or make the comptuer do what they want. At first it seems like the final conclusion of extending device freedom to all users, but I suppose even LLMs would count as non-free software since they're basically blobs of unintelligible parameters...
Anyway, thanks for writing this.
> Your explanation of the differences is excellent and eye-opening.
Thank you! I'm glad you liked it.
> I imagine a future where users will be able to tell a local AI to modify their software or make the comptuer do what they want. ..., but I suppose even LLMs would count as non-free software since they're basically blobs of unintelligible parameters...
Hmm! That's something I haven't considered before. A very good point!