Changes

Jump to navigation Jump to search
Updating to match new version of source page
Line 14: Line 14:  
== Free software ==
 
== Free software ==
 
   
 
   
Software is considered free if it gives you [https://gnu.org/philosophy/free-sw.html 4 basic freedoms]:
+
Software is considered free if it gives you [https://gnu.org/philosophy/free-sw.html#four-freedoms four basic freedoms]:
* run the program as you wish, for any purpose;
+
# run the program as you wish, for any purpose;
* study how the program works, and change it so it does your computing as you wish;
+
# study how the program works, and change it so it does your computing as you wish;
* redistribute copies so you can help others;
+
# redistribute copies so you can help others;
* distribute copies of your modified versions to others.
+
# distribute copies of your modified versions to others.
    
[[File:Richard-stallman.jpg|thumb|Richard Stallman]]
 
[[File:Richard-stallman.jpg|thumb|Richard Stallman]]
These 4 basic freedoms were formulated by the hacker Richard Stallman back in 1986. Stallman began his career as a programmer at the Artificial Intelligence Laboratory of the Massachusetts Institute of Technology (MIT). In his line of work, he repeatedly encountered the fact that the lack of the ability to fix errors in someone else's software, which you have to use for one reason or another, greatly slows you down in solving your issues. One such episode was well described in the book "[https://static.fsf.org/nosvn/faif-2.0.pdf Free as in Freedom (2.0): Richard Stallman's Crusade for Free Software]". The very first chapter of this book tells about the Xerox printer – an unearthly piece of tech that was donated to the laboratory. This printer surpassed its predecessor in both speed and print quality, but after a while, it became known to jam paper. Stallman wanted to fix a printer flaw at the level of the firmware that controlled the device but failed to find its source code. When he asked for the source code, he was simply turned down. It may seem okay now, but at that time software was just beginning to be elevated by corporations to the status of intellectual property which wasn’t handed out to everyone.
+
These four basic freedoms were formulated by the hacker Richard Stallman back in 1986. Stallman began his career as a programmer at the Artificial Intelligence Laboratory of the Massachusetts Institute of Technology (MIT). In his line of work, he repeatedly encountered the fact that the lack of the ability to fix errors in someone else's software, which you have to use for one reason or another, greatly slows you down in solving your issues. One such episode was well described in the book "[https://static.fsf.org/nosvn/faif-2.0.pdf Free as in Freedom (2.0): Richard Stallman's Crusade for Free Software]". The very first chapter of this book tells about the Xerox printer – an unearthly piece of tech that was donated to the laboratory. This printer surpassed its predecessor in both speed and print quality, but after a while, it became known to jam paper. Stallman wanted to fix a printer flaw at the level of the firmware that controlled the device but failed to find its source code. When he asked for the source code, he was simply turned down. It may seem okay now, but at that time software was just beginning to be elevated by corporations to the status of intellectual property which wasn’t handed out to everyone.
 
[[File:Eben-moglen.jpg|thumb|Eben Moglen]]
 
[[File:Eben-moglen.jpg|thumb|Eben Moglen]]
 
Stallman later recalled a conversation with a person who refused him the source code: "''If he had refused me his cooperation for personal reasons, it would not have raised any larger issue. I might have considered him a jerk, but no more. The fact that his refusal was impersonal, that he had promised in advance to be uncooperative, not just to me but to anyone whatsoever, made this a larger issue.''" So, at one point, Stallman became obsessed with software freedom, gave up everything, and even began work on creating a free operating system. The project was named GNU. He started his operating system with a technology basis – development tools such as a code editor, compiler, and debugger – without which building a free operating system would have been unthinkable. But when Stallman met Eben Moglen, a law professor at Columbia University, he managed to create a legal basis for his brainchild. Moglen helped Stallman reflect his software ideals in the treaty that still exists between software developers and users. This agreement is called the GNU General Public License, or GPL for short.
 
Stallman later recalled a conversation with a person who refused him the source code: "''If he had refused me his cooperation for personal reasons, it would not have raised any larger issue. I might have considered him a jerk, but no more. The fact that his refusal was impersonal, that he had promised in advance to be uncooperative, not just to me but to anyone whatsoever, made this a larger issue.''" So, at one point, Stallman became obsessed with software freedom, gave up everything, and even began work on creating a free operating system. The project was named GNU. He started his operating system with a technology basis – development tools such as a code editor, compiler, and debugger – without which building a free operating system would have been unthinkable. But when Stallman met Eben Moglen, a law professor at Columbia University, he managed to create a legal basis for his brainchild. Moglen helped Stallman reflect his software ideals in the treaty that still exists between software developers and users. This agreement is called the GNU General Public License, or GPL for short.
Line 41: Line 41:  
== Tivoization ==
 
== Tivoization ==
 
   
 
   
The essence of tivoization is that a device whose firmware is based on components covered by GPLv2 or another copyleft license does not allow its owner to run modified or alternative firmware (i.e. re-flashing the device). The term was coined by Stallman himself and came from the name of the TiVo company, which was one of the first to impose this restriction on its products. It is worth noting that GPLv2 never forbade tivoization since Stallman and Moglen could not have predicted such a move by the companies when they were developing the license text. Even though companies that forbade to re-flash their devices could not violate the terms of the license, Stallman still considered their actions to be blameworthy, since they threatened the freedom of device owners to do whatever they wanted with them. After much discussion on this topic, he released the 3rd version of the GPL (also known as GPLv3), which aimed to combat tivoization. The license turned out to be more than effective in this fight – it is enough to have only one component in the system, which is distributed under the terms of GPLv3 so that the manufacturer does not have the right to prohibit to re-flash the device. But Stallman didn't stop there and re-licensed all the software developed under his GNU project. Thus, new versions of the GCC compiler suite, the GDB debugger, and others were released under GPLv3. In the mid-2000s, GCC and GDB had no free counterparts that could match them in stability and functionality. I have already mentioned that creating a free operating system is unthinkable without a free compiler and debugger, which is why Stallman developed them among the earliest towards the creation of his own operating system. For example, GCC was used in FreeBSD to build most of the operating system code and was fairly part of its base system. But when the compiler suite became an anti-tivoization tool, the BSD community was in danger of being dragged into someone else's war. New versions of the software that had always been part of the base system were distributed overnight on terms that contradicted the goals of the system.  In the end, it was decided to stay on the sidelines, but the price of this solution was too high – FreeBSD had to abandon the GCC and GDB updates and use those versions that were distributed under the GPLv2. The terms of GPLv3 contradicted not only the goals of FreeBSD but also the goals of most companies, which were mainly engaged in the development of proprietary software. This led to the creation of alternatives for GCC and GDB by the free software development community, funded by corporations. So, within the framework of the LLVM project, the development of alternatives under a permissive license began. At the end of 2012, FreeBSD was completely switched to build with the Clang compiler from LLVM. Now the operating system no longer depends on GCC and GDB, and they have been permanently removed from the base system as unnecessary. Other software distributed under the GPL is removed apparently on mere inertia, as well as because of unwillingness to repeat the bitter experience.
+
The essence of tivoization is that a device whose firmware is based on components covered by GPLv2 or another copyleft license does not allow its owner to run modified or alternative firmware (i.e. re-flashing the device). The term was coined by Stallman himself and came from the name of the TiVo company, which was one of the first to impose this restriction on its products. It is worth noting that GPLv2 never forbade tivoization since Stallman and Moglen could not have predicted such a move by the companies when they were developing the license text. Even though companies that forbade to re-flash their devices could not violate the terms of the license, Stallman still considered their actions to be blameworthy, since they threatened the freedom of device owners to do whatever they wanted with them. After much discussion on this topic, he released the 3rd version of the GPL (also known as GPLv3), which aimed to combat tivoization. The license turned out to be more than effective in this fight – it is enough to have only one component in the system, which is distributed under the terms of GPLv3 so that the manufacturer does not have the right to prohibit to re-flash the device. But Stallman didn't stop there and re-licensed all the software developed under his GNU project. Thus, new versions of the GCC compiler suite, the GDB debugger, and others were released under GPLv3. In the mid-2000s, GCC and GDB had no free counterparts that could match them in stability and functionality. I have already mentioned that creating a free operating system is unthinkable without a free compiler and debugger, which is why Stallman developed them among the earliest towards the creation of his own operating system. For example, GCC was used in FreeBSD to build most of the operating system code and was fairly part of its base system. But when the compiler suite became an anti-tivoization tool, the BSD community was in danger of being dragged into someone else's war. New versions of the software that had always been part of the base system were distributed overnight on terms that contradicted the goals of the system.  In the end, it was decided to stay on the sidelines, but the price of this solution was too high – FreeBSD had to abandon the GCC and GDB updates and use those versions that were distributed under the GPLv2. The terms of GPLv3 contradicted not only the goals of FreeBSD but also the goals of most companies, which were mainly engaged in the development of proprietary software. This led to the creation of alternatives for GCC and GDB by the free software development community, funded by corporations. So, within the framework of the LLVM project, the development of alternatives under a permissive license began. At the end of 2012, FreeBSD was completely switched to build with the Clang compiler from LLVM<ref>https://lists.freebsd.org/pipermail/freebsd-current/2012-November/037458.html</ref>. Now the operating system no longer depends on GCC and GDB, and they have been permanently removed from the base system as unnecessary. Other software distributed under the GPL is removed apparently on mere inertia, as well as because of unwillingness to repeat the bitter experience.
    
== Conclusion ==
 
== Conclusion ==
 
   
 
   
 
I tried to explain why GPL-licensed components are removed from the FreeBSD base system. Interestingly, the inspiration came from the FreeBSD Quarterly Development Report and a simple question I asked myself as I studied it. The story turned out to be long enough because I was approaching the answer to my question gradually. Within my modest means, I did my best to disclose the very topics that, in my opinion, help to better understand the answer to it. I urge you to study the quarterly reports of free software nonprofits, use free software and participate in its development and ask yourself simple questions.
 
I tried to explain why GPL-licensed components are removed from the FreeBSD base system. Interestingly, the inspiration came from the FreeBSD Quarterly Development Report and a simple question I asked myself as I studied it. The story turned out to be long enough because I was approaching the answer to my question gradually. Within my modest means, I did my best to disclose the very topics that, in my opinion, help to better understand the answer to it. I urge you to study the quarterly reports of free software nonprofits, use free software and participate in its development and ask yourself simple questions.
 +
 +
== References ==
 +
 +
<references />
959

edits

Navigation menu