In 1985, Stallman built on the GNU Project by founding the Free Software Foundation (FSF), a nonprofit organization dedicated to promoting the concept of free software to the wider public.
Thus, the GNU Project can be seen as both a response to the rise of proprietary software as well as a callback to the previous era of freely shared source code and collaborative software development. This, according to Stallman, puts an unfair burden on users and developers who would otherwise be able to change the code to suit their own needs or alter it to serve a new function. In it, he states his conviction that proprietary licensing blocks community-driven software development, effectively siloing innovation and crippling the advancement of technology. Stallman articulated his motivation for the project in the GNU Manifesto. In 1983, Stallman launched the GNU Project-an effort to create a complete operating system which would provide its users with the freedom to view, change, and share its source code. Having been a member of the academic hacker community for over a decade, he had grown frustrated by the spread of proprietary software and came to see it as a violation of people’s rights to innovate and improve existing software.
Stallman began his studies in computer science in the early 1970s before the rise of proprietary software licenses, and he worked as a researcher at the MIT Artificial Intelligence Laboratory through the early 1980s. The Free Software Movement was largely the brainchild of Richard Stallman. This led many longtime computer users to vocalize their dissatisfaction, and their ethos would eventually form the foundation of the Free Software Movement. By the end of the 1970s, most software companies had stopped shipping software with the source code included. They began putting legal restrictions on their products, including copyrights and leasing contracts, and also started distributing their products under proprietary licenses. For example, UC Berkeley’s Project Genie developed the Berkeley Timesharing System-a time-sharing operating system built from scratch-by hacking the source code of the lab’s SDS 930 computer.Īs software became more complex and expensive to produce, though, software companies sought ways to halt the unbridled sharing of source code in order to protect their revenue streams and deny competitors access to their implementation. This meant that computing resources were often shared, and changing software to create more efficient workflows or more reliable solutions was widely encouraged.
Most people who interacted with computers around this time did so in a strictly academic or research setting. Prior to the 1970s, software was typically distributed along with its source code, the reason being that software was usually hardware-specific and end users would have to modify it to run on their particular machine or to add special functionalities. The idea that an individual working with a piece of software should be allowed to view, edit, and share its source code without legal consequence is nothing new. Why, though, do we have two labels for the same thing? The answer involves a bit of history, and an understanding of the nuances that form two separate but closely related movements. From the perspective of their proponents, both free and open-source software are safer, more efficient, and work more reliably than their proprietary counterparts. Software licensed in such a way is usually known by one of two names: “free software” or “open-source software.”īroadly speaking, both terms refer to the same thing: software with few restrictions on how it can be used. This stance inspired the creation of licenses which grant users the rights to study, change, and share the software’s source code to their liking. By preventing licensees from copying and changing a software’s source code, the idea holds, proprietary software publishers stifle innovation and hold back the potential growth of new technologies. However, there’s an alternative viewpoint which contends that this puts an unnecessary level of control into the hands of software publishers.
Most modern software is sold under a proprietary license which allows the publisher or creator to retain the intellectual property rights of the software.
A software license dictates how the code can be used and distributed by licensees (the end users), which can make a significant impact on how widely the technology gets adopted. One aspect of software development that many people tend to forget about is how the software should be licensed.