Common Knowledge: Free Software and Copyleft

 

Copyleft symbol
Copyleft symbol, as opposed to Copyright. (Credit: wikimedia)

Joseph Thayer

In 1976, Bill Gates published “An Open Letter to Hobbyists,” claiming that much of the software being used on personal computers was stolen, and those who used the software were thieves. These thieves, he claimed, and all who benefited from them, were preventing good software from being introduced into the world by limiting the ability of the software companies to pay programmers to write software (Gates).

Much of the “thievery” described by Gates in 1976 might have simply been piracy, but soon people started writing their own code and publishing it under generous licenses that allowed for free modification and distribution. Under the banner of Free/Open Source Software (FOSS), independent programmers and software users contributing to and freely distributing operating systems and other programs posed a significant threat to Microsoft monopolies, and Companies facing out-competition by Microsoft threw their code onto the Open Source pyre to be resurrected as ghosts that haunt proprietary software to this day.

Ideology

Mascots of FSF Projects and "Messengers of Free Software"
Mascots of FSF Projects and “Messengers of Free Software” (Credit: GNU)

There are two organizations representing different philosophies behind FOSS, or sometimes FLOSS (Free/Libre/Open Source Software). In fact, the acronym, F/OSS, is a representation of the converging ideologies. Free Software is not necessarily the same as Open Source software.

Both factions believe that the “Source Code” should be freely accessible for those who might want to learn from it, and open to modification and distribution with minimal legal entanglements. Proponents of Free or Libre software believe that software should never be proprietary, that once written, software should be as freely accessible as technically possible and always put the liberty of the user ahead of the wishes of the developer. Open Source software enthusiasts put no restrictions on what developers can do with software, only that it be open to study and modification.

This is an example of Source Code, this can be easily read and modified with relatively little experience. Original image
This is an example of Source Code, this can be easily read and modified with relatively little experience

Source code is code written directly by human programmers in a text editor, as seen to the left. The Source code is then put into a compiler which translates the source code into machine code that can be read by computers. Source code, while technical, is fairly readable by human beings, and generally has comments that explain parts of the code which might not make immediate sense. Machine code is not readable by human beings, and for this reason cannot be practically understood. Proprietary software generally is distributed only in machine code to protect the technology from being copied or emulated in a way that would break the copyright.

This is hexadecimal machine code, it is not practical for humans to read
This is hexadecimal machine code, it is not practical for humans to read. Credit Wikimedia

In the 1970s and ’80s, Richard Stallman, founder of the Free Software Foundation (FSF), performed massive feats of mostly independent programming in order to develop pieces of software that were powerful software tools and free for people to use, modify to fit their needs, and to freely distribute modified or original versions. Especially important was freedom from proprietary licensing that restricted the use and modification of software. Ideological determination along with free distribution and modification led to the development of the GNU (GNU’s Not Unix) software system, a base and inspiration for much of the world’s current FOSS. Intense belief in the social good that Free Software could bring led to Stallman’s creation of the Free Software Foundation. The FSF’s work is guided by four principles, the “Four Freedoms”:

  • The freedom to run the program as you wish, for any purpose (freedom 0)
  • The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.

  • The freedom to redistribute copies so you can help your neighbor (freedom 2).

  • The freedom to distribute copies of your modified versions to others (freedom 3). 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. (Stallman)

The Free Software Foundation is the more ideological factional power within the FOSS movement. Eventually it was found that the freedom to view the source code, modify the software and distribute without fear of violating intellectual property rights law, as well as the openness to comment that this openness promoted, led to development of high-quality programs through mass and largely decentralized participation in the creation of software.

Upon realizing the potential effectiveness of this process of decentralized development, the Open Source Initiative (OSI) was founded to promote the use of open source as a development tool. While essentially sharing the same goals as the FSF, the OSI tends to be more ideologically based on individual liberties than freedom and mutual aid, and promotes Open Source as a valuable development tool. In the mission statement on the OSI website, the OSI claims that Open Source is a powerful development tool that harnesses the power of “distributed peer review and transparency of process.” The OSI promises to help companies use Open Source Philosophy to create higher quality code with fewer bugs, more applications, and lower cost (Open Source Initiative).

Eric Raymond, the founder of the OSI, and Richard Stallman try to make clear the differences between the two organizations, their ultimate goals, and strategies in numerous encounters and essays published in the Internet.

Essentially, Open Source is software whose source code is freely available and is modified by users as they see fit. It can be developed into a product and, depending on the license, sold or freely distributed.

Free Software is described by Stallman as “free as in free speech” as opposed to “free as in beer” (Stallman). The FSF has a stricter interpretation of FOSS, asserting that “hackers,” as enthusiastic programmers are called in the FOSS community, must be able to use software to “help their neighbors,” and thus that all software must be freely accessible. Stallman also asserts that even free proprietary software, or “gratis” software, allows software companies too much control over user by allowing the creator of the software to collect data or perform actions without the consent of the user, as happens frequently with proprietary software (Stallman b).

Licensing

Licensing is an important tool in conflicts between proprietary, Free, and Open Source software. The more ideological FSF generally uses aggressive licenses that conform to their Four Freedoms to fight proprietary software while the more pragmatic individualist OSI monitors software licensing against the Open Source Definition.

The Free Software Foundation’s license that is most commonly used is the General Public License (GPL). The GPL generally protects the Four Freedoms and includes a clause that requires that any software modification must come under the GPL. This allows the GPL to essentially reproduce “virally,” as it is transferred to any software that is derivative of another GPL-licensed program (Feller & Fitzgerald).

The OSI’s Open Source Definition, which the OSI checks software licenses against before approving software as Open Source, consists of 10 criteria that the OSI believes are central to a programs freedom. The OSI demands that licenses on Open Source code not restrict distribution in any way; code must be able to be sold, given freely, or distributed as part of a package. Source code must be provided freely or at production cost. Modifications and derived works must be allowed to be distributed under the license of the original work. Modification of source code can only be allowed if separate programs are allowed to run as “patch files”, attached to the original program and changing function but not original content. Licenses cannot discriminate against any groups, people, fields endeavors, or technologies; the software can be used by anyone and on any technologies that will support the software (OSI b). The rights of a license must apply to all who use the software without need for requesting permission of the developer (OSI 2017b).

There are currently 79 licenses approved by the OSI. Some, such as the BSD (Berkeley Software distribution) are very permissive, only requiring that the copyright be passed on with unaltered copies of software (OSI 2017c).

Direction

Increasingly software companies such as Microsoft and Alphabet are moving towards cloud-based computing and subscription services, areas requiring massive infrastructure that a decentralized community cannot build as easily, and which put the user at greater risk of abuse from the service provider.

However, Open Source development is also being seen as increasingly essential to modern software development. Proprietary software companies are afraid of Open Source Software, not because they are in danger of being displaced, but because it is so essential to use in development and potentially legally dangerous if programmers do not pay close attention to the licenses on the software they borrow from (Luszcz). The Linux foundation offers discussions with field specialists in order to calm fears in the business tech community that open software can be safe if used properly (Ankerholz). Despite the obvious potential issues with security and copyright law entanglements, Software developers are moving towards Open Source, if not Free Software. Even the U.S. Department of Defense, in an interesting move, announced recently that it would experiment with opening its software to open-source development (U.S. Dept. of Defense).

An excerpt from the Dept. of Defense page of Github, a popular code sharing website
An excerpt from the Dept. of Defense page of Github, a popular code sharing website.

Issues with the Digital World as a Commons

Much of the FOSS philosophy assumes that free technology is a “commons” that must be defended or reclaimed. There are some issues to be raised with this concept of a digital commons. One can argue that there can be no digital commons, that there is always a cost barrier keeping people without money, out. People must pay to acquire technology that can run software and be in an area that can access the Internet. To obtain technology to run software and access the Internet, there must be extractive industries and heavy refinement and manufacturing according to the capitalist linear production system. Perhaps a person has to pay somehow for the Internet to be accessible to their devices. To run the software and access the parts of the Internet that a person might want to access, one might need to buy the software or pay a fee or a subscription or subject themselves to data collection for targeted marketing.

While not a perfect commons, many of the access issues of computer technology can be addressed and mitigated, if not largely removed. Many of these issues are directly addressed by the FSF, which sees unnecessary price barriers keeping people from accessing computing technologies and lack of personal freedom within those environments as an evil to be fought.

Free software is free to access through an Internet connection or very cheap to obtain on a disk, reducing or eliminating the price of software. Free software is much easier to run on older or less powerful computers than most accessible proprietary programs, removing a layer of obsolescence by allowing older computers to be used longer. A good large-scale demonstration of the effect of this reduced obsolescence can be found in recent debates on the city of Munich’s transition to Windows 10 on municipal computers from the current Linux-based LiMux systems. The Green Party of Munich, in opposition to the move, has reported that It will cost 15 million euros ($15.8 million) simply to replace the computers currently being used that will not be able to support the larger Windows 10 operating system (Vaughan-Nichols).

LiMux, Munich's municipal operating system
LiMux, Munich’s municipal operating system https://joinup.ec.europa.eu/elibrary/case/declaration-independence-limux-project-munich-0

It is important to acknowledge that creation of the technologies and infrastructure for FOSS, or any computing, to be possible requires extensive resource extraction and heavy industrial production. It is important to remember that digital technology is not a global commons, and requires certain privileges to access. However, FLOSS removes a layer of obsolescence, reduces waste, and makes hardware more accessible to more people. While the system is available, and while the fears of those behind much of FOSS are not fully realized, those who are able to use the digital space and have the freedom to do as they chose, have the ability to work against the repressive entities of the system.

Sources

Akeo (2017). Rufus. Akeo

Ankerholz, A. (2017, February 7). How to Manage the Security Vulnerabilities of Your Open Source Product. Linux Foundation.

Feller, J. & Fitzgerald, B. (2002). Understanding open source software development. Pearson Education Limited.

Gates, W. (1976, February 3). Open Letter to Hobbyists. Microsoft Archives.

Luszcz, J. (2017). Think open software is free? think again… Jaxenter.
OSI (2017a). About the open source initiative Open Source Initiative.

OSI (2017b). The Open Source DefinitionOpen Source Initiative.

OSI (2017c). The 3-clause BSD license Open Source Initiative.

Stallman, R. (2016a). What is free software?GNU Operating System.

Stallman, R. (2017b). Free software is even more important now GNU Operating System

U.S. Dept. of Defense (2017). Welcome to code.mil – an experiment in open source at the department of defense!. Github

Vaughan-Nichols, S. (2017, February 14). Why Munich should stick with linux. ZDNet.