Preface
This book, along with our community buFOSS, was born out of frustration with the status quo in free software circles — specifically how hard it is to bring the principles of freedom into our non-technical circles and inspire real adoption among them.
We believe the concepts of free software should not be trapped in a self-proclaimed elite circle, but should reach the masses instead. As such, this book aims to explain the free software and open knowledge movements in a clear and accessible manner for everyone, while making opinionated yet grounded suggestions to make diving into free software more approachable and enjoyable for the uninitiated.
You don’t need a background in computer science, system administration, linguistics, or philosophy to read this book. If you are curious about digital rights, tired of proprietary and restrictive practices, or simply looking for an alternative approach to the digital world, this guide was written for you.
This work is the collective product of our community’s shared efforts, discussions, and feedback. We owe immense gratitude to every contributor, reader and friend who made this book what it is now, as well as those who keep it alive and evolving. But most importantly, thank you to the friends and newcomers whose questions and genuine interest inspired us to write this in the first place.
— buFOSS, 2026
Free Software and Open Knowledge
In the late 1970s, MIT Artificial Intelligence Laboratory had a problem. Their only printer suffered from frequent paper jams! As a solution, a scientist in the group named Richard M. Stallman made a modification to the code of the printer, so that it sent a notification to users whenever their print failed. This solution remained in usage until 1980.
In 1980, the laboratory acquired a brand new Xerox laser printer. However, when Stallman asked Xerox for the source code so he could implement his fix again, Xerox refused and told him their software was proprietary. Moreover, when Stallman asked the source code from a fellow researcher in Carnegie Mellon University who had previously acquired it for research, his friend refused him as well because of legal necessities, citing a non-disclosure agreement he made with Xerox. Stallman recalls:
Now, this was my first, direct encounter with a non-disclosure agreement, and it taught me an important lesson — a lesson that’s important because most programmers never learn it. You see, this was my first encounter with a non-disclosure agreement, and I was the victim. I, and my whole lab, were the victims. And the lesson it taught me was that non-disclosure agreements have victims. They’re not innocent. They’re not harmless. 1
This experience and others like it prompted Stallman to launch the GNU Project in 1983 and found the Free Software Foundation in 1985.
As the name implies, our community buFOSS was born out of similar concerns as Stallman’s and also believes in free software and open knowledge. This section of the guidebook details what free software and open knowledge are, why they are important, and how they’re exercised.
-
Stallman’s speech on 29 May 2001 at New York University. https://www.gnu.org/philosophy/rms-nyu-2001-transcript.txt ↩
What is FOSS?
Free software is any software that is free as in freedom (libre). The Free Software Foundation (FSF) considers a piece of software free if it gives these 4 crucial freedoms to its users, following their official definition:
- 1 The freedom to run the program as you wish, for any purpose.
- The freedom to study how the program works, and change it so it does your computing as you wish. Access to the source code is a precondition for this.
- The freedom to redistribute copies so you can help others.
- The freedom to distribute copies of your modified versions to others. By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
As evident, the free software movement is a social movement rather than a set of basic guidelines for software development. It treats all software not as property that can be hoarded, but as shared human knowledge for everyone to enjoy.
Open Source Software
The overwhelmingly popular term free and open source software (FOSS) merges two similar yet different terms into one, causing confusion and ambiguities on the freedoms of the user.
“Open source software” is another term for a similar movement started in 1998, defined in a document called “The Open Source Definition”. However, contrary to the free software movement, open source software is not a social and ethical movement, and is instead a development methodology focused on public collaboration. As such, it has fewer restrictions on what constitutes it and is a superset of free software.
In their essay “Why Open Source Misses the Point of Free Software,” the Free Software Foundation identifies three core differences:
- Some open source licenses are too restrictive to be considered free. For example, Open Watcom prohibits making private modifications.
- Trademarks may make the programs impossible to distribute. For example, you technically cannot distribute modified versions of the Rust compiler under that name due to trademark laws.
- Criteria for open source are concerned solely with the source code.
The third point in this list is where the main problem in open source software stems from, which the FSF calls tivoization. A device running open source software can be made in a way that it verifies the signature of the software to block different executables from running, violating the freedoms 1 and 3. For more information on tivoization and DRM, see the FSF’s Defective by Design campaign.
-
The reason they are numbered 0, 1, 2 and 3 is historical. Around 1990 there were three freedoms, numbered 1, 2 and 3. Then the FSF realized that the freedom to run the program needed to be mentioned explicitly. It was clearly more basic than the other three, so it properly should precede them. Rather than renumbering the others, they made it freedom 0 (https://www.gnu.org/philosophy/free-sw.html#f1). ↩