Open-source software (OSS) is a program whose source code is publicly accessible for studying, modification and distribution without restrictions from the copyright holder.
All computer programs and pieces of software have a fundamental component known as source code. Source code- sometimes known as source program, source file or just source- is a human-readable set of instructions and statements written by programmers in plain text.
Source code is the foundation of all programs and software and dictates how they behave. For instance, web page source code guides a browser on how to display images, text, font, links, colors and more.
While most computer users may never utilize the source file, programmers can make changes to it, thereby modifying that particular program. But this depends on whether the code is proprietary or open.
With proprietary or closed software, the source code is an exclusive copyright closely guarded code by the firm or the individual who developed it. That’s to say that no one else outside the organization can use, copy, modify or distribute it.
On the other hand, as the name suggests, open source is in the public domain. The owners of the program or software voluntarily share the source code allowing skilled programmers to study and modify it to suit any purpose they want. In other words, anyone outside the community of original developers can download the source code, suggest changes, report bugs and even use it as a building block for a new program.
Open Source Software History: When, Where and Why?
Back in the 50s, software was not as sophisticated as we know it today. Around this time, top-notch developers developed software in corporate research centers and sold it together with the hardware as a package.
But as software became more complex and the development costs rose beginning in the 60s, developers saw the need to start selling it separately.
This step attracted for-profit software companies, including Microsoft and Apple, in the 70s. These companies thrived in selling software licenses, and this involved signing NDAs.
The idea of the Open Source Software paradigm was almost non-existent then. When this concept finally arose in the late 70s, corporations, such as Microsoft, opposed it so much so that they even regarded it as un-American and a threat to intellectual property rights.
A Faulty Printer Solves the ‘Injustice’ of Proprietary Firmware
The origin of open source software can be traced back to Richard Matthew Stallman (RMS)- the computer expert known for popularizing the concept of CopyLeft License. Back in the late 70s, RMS worked as a programmer at the Massachusetts Institute of Technology (MIT) Artificial Intelligence Laboratory.
All the departments at the university shared a single, old printer. Unfortunately, the printer suffered regular paper jams, which regularly caused unnecessary traffic until someone fixed it. This was a huge inconvenience, considering that the printer served several users. Stallman adds that the printer worked remotely on a separate floor to make matters worse.
To solve this problem, RMS had developed a piece of software that alerted everyone waiting to use the printer when there was a paper jam.
In 1980, MIT received a new Xerox 9700 as a donation from the Xerox Corporation. The new printer was fast and reduced time by an impressive 90%. However, when Stallman attempted to add the social hack feature to notify its users of a jam, Xerox informed him that the source code was proprietary.
Later on, he heard that Carnegie Mellon University had a copy of the Xerox driver. But when he tried borrowing it, the lab said they had signed an NDA with Xerox not to share the code with anyone.
Offended by this ‘blatant selfishness,’ Stallman envisioned a world without the limitations and inconveniences caused by proprietary software.
In his speech- Free Software: Freedom and Cooperation, Stallman says that a computer program is like a recipe. Just like it’s natural to alter the ingredients in a recipe, so should it be when programmers want to tweak the software to meet their exact needs.
That’s how the concept of the Free Software Foundation was birthed. However, Stallman knew that he had to develop an operating system that would work entirely with free software to achieve this goal. Most importantly, the operating system had to be compatible with Unix, which was popular then so that users would transition easily.
In 1983, the GNU operating system made its debut. GNU is an acronym for GNU is Not Unix, meaning that it’s like Unix, but it’s not Unix. Stallman explained that the new operating system brought freedom to the community of developers.
In the following years, Stallman created a compiler system (GCC) and then published the GNU Manifesto in 1985. The latter was a call-to-action encouraging other developers to join the free software campaign. Later the same year, on October 4th, Stallman and others launched the Free Software Foundation- a non-profit corporation that encouraged free software.
Free Software or Open Source
Since its conception in 1985, not all supporters of the Free Software campaign agreed with the term “Free.” Part of the argument was that the word ‘free’ was confusing to potential supporters and business executives new to the concept.
Thus, in the late 90s, some prominent individuals in the free software movement held meetings in Palo Alto to develop a new term. In addition to solving the source code issue, the new term also had to be less ambiguous. In one of the weekly meetings on February 3rd, 1998, Christine Peterson coined the term “Open Source,” It was swiftly adopted.
However, to date, Richard Stallman points out that Free software and Open Source software are two different movements. While both view Proprietary software as a common enemy and refer to similar software and licenses, Stallman says that FSF and OSI have varying objectives and philosophies.
For instance, Stallman’s Free Software Foundation emphasizes computing freedom. But, on the other hand, the OSI explains that the term Open Source was coined as a “valuable way to engage with potential software users and developers, and convince them to create and improve source code by participating in an engaged community.”
Secondly, while the FSF views freedom as more valuable than an economic advantage, the OSI argues that freedom in the world of software is not absolute. The latter argues that freedom should be allowed to software users and developers, not imposed.
To recap, open-source software is a category of free software that’s free for users to utilize as they want. However, it’s important to note that while free software is open source, whether open source is “free” depends on how you look at it.
If your definition of free is not paying anything upfront, then, yes, open-source software is free. But keep in mind that some open source applications can be challenging to set up, use and maintain. Now, this is where you pay for the software, albeit indirectly.
Because open-source software does not come with technical support like proprietary software, you’ll still end up paying for setup and maintenance services.