This is a course report for one of my university courses: Computers and Society.
I made this report with the help of ChatGPT
Good morning, ladies and gentlemen. Today, I am delighted to share with you a topic that lies at the heart of digital freedom and innovation – “Long May the Free Software.”
Chapter1: What
What is Free Software
Let’s start by understanding what we mean by “Free Software.” When we talk about free software, we’re not referring to the price; instead, we’re talking about freedom.
In another word, “free software” is a matter of liberty, not price. To understand the concept, you should think of “free” as in “free speech,” not as in “free beer.”
The four essential freedoms:
The Free Software Foundation defines freedom in terms of four essential user freedoms: the freedom to run, study, share, and modify the software.
- 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.
A program is free software if it gives users adequately all of these freedoms. Otherwise, it is nonfree. While we can distinguish various nonfree distribution schemes in terms of how far they fall short of being free, we consider them all equally unethical.
A more precise clarification
In the rest of this article we explain more precisely how far the various freedoms need to extend, on various issues, in order for a program to be free.
The freedom to run the program as you wish
In this freedom, it is the user’s purpose that matters, not the developer’s purpose; you as a user are free to run the program for your purposes, and if you distribute it to other people, they are then free to run it for their purposes, but you are not entitled to impose your purposes on them.
The freedom to run the program as you wish means that you are not forbidden or stopped from making it run. This has nothing to do with what functionality the program has, whether it is technically capable of functioning in any given environment, or whether it is useful for any particular computing activity.
The freedom to study the source code and make changes
Accessibility of source code is a necessary condition for free software. Obfuscated “source code” is not real source code and does not count as source code.
Source code is defined as the preferred form of the program for making changes in. Thus, whatever form a developer changes to develop the program is the source code of that developer’s version.
The freedom to redistribute if you wish
Freedom to distribute means you are free to redistribute copies, either with or without modifications, either gratis or charging a fee for distribution, to anyone anywhere. Being free to do these things means (among other things) that you do not have to ask or pay for permission to do so.
You should also have the freedom to make modifications and use them privately in your own work or play, without even mentioning that they exist. If you do publish your changes, you should not be required to notify anyone in particular, or in any particular way.
Chapter2 Why
Now that we have a foundational understanding of what free software entails, let’s take a journey into its historical roots. The concept of free software dates back to the early days of computing, but it gained significant momentum in the 1980s.
Introduction to the History of Free Software:
- The Birth of the Free Software Movement:
In the early 1980s, a visionary computer scientist named Richard Stallman initiated the Free Software Foundation and launched the GNU (GNU’s Not Unix) project. Stallman’s motivation was to create a free and open-source Unix-like operating system. This marked the beginning of the formal free software movement.
- The GNU General Public License (GPL):
A pivotal development during this time was the creation of the GNU General Public License, or GPL. The GPL is a license that ensures software remains free and open, allowing users to access and modify the source code. It became a cornerstone in the free software ecosystem.
- Challenges Faced by the Free Software Movement:
As the movement grew, it faced challenges from proprietary software and closed ecosystems. Corporations sought to restrict user freedoms by limiting access to source code and imposing restrictive licenses.
- Rise of Linux and Open Source:
In the early 1990s, Linus Torvalds created the Linux kernel, combining it with the GNU software to form a complete, free operating system. The collaboration between the Free Software Foundation and the open-source community gave rise to a powerful and adaptable alternative to proprietary systems.
Why Do We Need Free Software?
My personal experience
Allow me to share a personal journey that underscores the importance of embracing free software in our daily lives. In the past, I relied on platforms like Douban to manage my book, movie, and music records. Similarly, I used application “X” for social networking. However, I found myself at the mercy of closed systems that not only lacked transparency but also held my data hostage.
My personal experience:Neodb
In my quest for digital autonomy, I made a conscious shift to NeoDB for managing my book, movie, and music records. NeoDB is an open-source alternative that not only respects my data privacy but also allows me to control and manipulate my information as I see fit. This transition has empowered me to truly own my data, a freedom often compromised by closed platforms.
My personal experience:Mastodon
The same principle applies to my social networking habits. I moved away from the closed and often data-exploitative platform “X” and embraced Mastodon. Mastodon, being an open-source and decentralized social network, provides a space where my data isn’t commodified, and I have the freedom to choose where and how I interact with the platform.
The common thread in these transitions is a desire for data ownership and openness. Closed platforms often use proprietary algorithms, limiting users’ control over their own information. The decision to shift to open-source alternatives like NeoDB and Mastodon reflects not just a change in software but a commitment to reclaiming control over my digital presence.
My personal experience: AGPL-3.0 license
Both NeoDB and Mastodon is using AGPL-3.0 license. So I want to talk about a bit more about it.
Copyleft Philosophy: AGPL-3.0 is a copyleft license, which means it ensures that any modified versions of the software must also be distributed under the same terms. This provision is designed to prevent the software, or any derived works, from being made proprietary.
Source Code Accessibility: Similar to the GNU General Public License (GPL), AGPL-3.0 requires that users who interact with the software over a network are provided access to the corresponding source code. This ensures transparency and upholds the principles of open-source development.
Network Interaction Provision: A notable feature of AGPL-3.0 is the “Affero clause.” It specifically addresses the distribution of modified versions of the software over a network. If the software is used to provide services over a network and modifications are made to the source code, those modifications must be made available to users interacting with the service.
The four reasons:
- Protection of User Rights:
One of the fundamental reasons we need free software is to protect user rights. In a world dominated by proprietary software, users often surrender control of their digital lives. Free software ensures that users have the right to control and customize their computing experiences.
- Promoting Innovation and Competition:
Free software fosters innovation and healthy competition. When source code is open, developers can build upon existing projects, creating a cycle of continuous improvement. This openness minimizes monopolies, allowing for diverse solutions and ideas to flourish.
- Preserving Academic Freedom and Sharing Knowledge:
Within academic circles, the importance of free software cannot be overstated. It preserves academic freedom by allowing researchers and educators to share knowledge openly. The collaborative nature of free software aligns with the principles of academic inquiry and learning.
- Ensuring Data Privacy and Transparency:
In an era where data privacy is paramount, free software offers transparency. Users can scrutinize the code, ensuring that their personal data is handled ethically and securely. This transparency builds trust between users and software developers.
Chapter 3: How
Having explored the essence and significance of free software, let‘s delve into the practical aspect of how.
- Use Free Software:
The simplest and most immediate way to support free software is to incorporate it into our daily digital lives. Choose free and open-source alternatives for your operating system, office suite, and other software needs. By doing so, you not only experience the benefits of freedom but also contribute to the growing user base of free software.
- Advocate for Free Software:
Spread the word about the importance of free software within your social circles, workplace, and online communities. Advocate for the adoption of free software solutions and educate others on the value of digital freedom. Engage in discussions about the benefits of open-source software and dispel misconceptions that may exist.
- Contribute Code and Feedback
For those with technical skills, contributing code to free software projects is a powerful way to make a direct impact. Whether it’s fixing bugs, adding new features, or improving documentation, your contributions can enhance the functionality and resilience of free software. Additionally, providing constructive feedback on existing projects helps maintain quality standards.
- Respect and Uphold Licensing
When using or contributing to free software, respect and uphold the licensing agreements. Understand the terms of licenses such as the GNU General Public License (GPL) and ensure compliance. Respecting licensing is fundamental to maintaining the principles of free software.
Beyond Software
Software manuals must be free, for the same reasons that software must be free, and because the manuals are in effect part of the software.
The same arguments also make sense for other kinds of works of practical use—that is to say, works that embody useful knowledge, such as educational works and reference works. Wikipedia is the best-known example.
Any kind of work can be free, and the definition of free software has been extended to a definition of free cultural works applicable to any kind of works.