Open Source 101
Open source is a collective philosophy that encourages the free distribution and public access of an end product. It is typically software, but can extend to other designs. The school of thought on open-source software centers around the free sharing of technical information, so that it can be examined, improved and updated by anyone.
While popular open-source programs, like Drupal or Nextcloud, are commonplace in the market these days, it wasn’t always so tightly embraced by the tech industry. In fact, the decades-long journey from open source being an aspirational idea to a widely-used development approach was full of challenges and corporate opposition.
A time before software licensing
In the 1950s and 1960s, software was – for the most part – inherently “free and open.” Software development was still heavily concentrated in the realm of academia, and commercial tech revenue was generated purely from hardware sales.
It wasn’t until the late 1960s that the software industry became its own business, splitting from the hardware market. Along with this new, separate business model came about another new phenomenon: the first restrictive licenses drafted up by lawyers to enable the profitable commercialization of software development.
These paid software licenses became the primary business model in the late 1970s and early 1980s. As proprietary software gradually became the status quo in the technology world, one particular developer from Massachusetts Institute of Technology (MIT) started to imagine a different future – an open community where software source code is accessible to anybody.
Where open source began
Richard Stallman began working at MIT’s Artificial Intelligence (AI) lab as a first-year Harvard University student in 1971. At the time, programming was still a collective research effort, characterized by the open sharing and collaboration among colleagues and research organizations.
Through the next decade, this free and open spirit among the software development sector increasingly declined and the propriety software standard took hold. Manufacturers were copyrighting their products more and more, withholding source code, demanding NDAs and requiring users to purchase software licenses.
The MIT AI lab shuttered its doors by the early 1980s, after collaboration deteriorated and several highly-skilled developers were poached by private companies building proprietary software.
Richard Stallman, unamused by the dramatic shift in the market-wide business model for software building, realized that open software was a matter of freedom. When programs have owners, users lose a piece of freedom to control their own lives, Stallman argued.
‘And, above all, society needs to encourage the spirit of voluntary cooperation in its citizens. When software owners tell us that helping our neighbors in a natural way is “piracy”, they pollute our society’s civic spirit.”
The free software movement
In the spirit of this open software philosophy, Stallman founded a free operating system called the GNU Project in 1984, which he believed would be a logical first step toward building a totally open software community.
- Freedom 1: The freedom to run the program as you wish, for any purpose.
- Freedom 2: 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.
- Freedom 3: The freedom to redistribute copies so you can help others.
- Freedom 4: 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. Access to the source code is a precondition for this.
Eventually, the GNU Project fused with Linux in the 1990s. Linux, sometimes referred to as “GNU/Linux,” has grown to hold the largest installed base of all general-purpose operating systems on the planet. At the time, it was the world’s first free operating system.
Early adopters of the open source movement
Heavily influenced by the Linux model, Netscape opted to open source its code for Netscape Communicator, a discontinued internet suite first released in 1997. Half a decade later, the open sourcing of this browser culminated in another, more famous internet browser that was totally open source and free: Mozilla Firefox. This new platform grew to become one of the most popular web browsers in the years that followed.
Netscape’s initial decision to go open source was first inspired by an essay called The Cathedral and The Bazaar by Eric Raymond, comparing GNU with the Linux model. After the Netscape Communicator’s source code was made public, Netscape summoned Raymond to help design their source-release strategy and license.
Driven by the success of Netscape’s endeavor, Raymond then went on to found the Open Source Initiative (OSI) – specifically meant to help boost the expansion of the open source community.
While initially in conflict with some of the FSF’s principles, the two schools of thought agree on most of the practical matters.
There was much pushback and disdain for open source at the onset, with tech corporations fearful of the threat that free software posed to their revenues. Microsoft’s Steve Ballmer, for example, referred to Linux as a “cancer” in 2001 – though he changed his mind and publicly reversed his opinion in 2016
He isn’t the only one to soften his view on the open-source approach, as the benefits of the free software philosophy have seriously started to catch on in recent years.
Open-source these days
Over the last two decades, the free software movement has transitioned from the sidelines into the mainstream, and open-source software products are universally recognized as being on-par with their proprietary counterparts.
However, even just a few years ago, open source wasn’t viewed as a viably profitable business model in the eyes of investors. Apart from perceived unicorns, like Red Hat, no other open-source company was expected to take off.
Jump into the present day, and open source programs are rapidly turning into a best practice for organizations in the technology, financial services and telecom sectors.
In fact, according to the Linux Foundation’s 2018 Open Source Program Management Survey:
- 72% of companies use open source frequently for internal or non-commercial purposes
- 55% of companies use open source for commercial offerings
- 59% of organizations consider open source programs to be very critical or extremely critical to the success of engineering and product teams.
What do companies get out of open-source technologies? According to the same study, the top three benefits include:
- Awareness of open source usage
- Higher developer agility
- Better license compliance
Moreover, large organizations are approximately two times as likely to run an open source program than smaller firms. This may explain why Microsoft recently acquired GitHub and IBM just finalized its purchase of Red Hat in July of 2019.
Types of open source licenses
It’s clear that open-source software agreements have massively grown in popularity globally, but what do they look like in practice?
Developers often want to put their work out into the world so that other designers and programmers are able to build onto it, improve it and share it even further. There are a few ways one can do this.
The first is to simply release source code into the public domain, which would leave you without any copyright protections and nobody who uses the code would ever be obligated to cite your contribution.
The second option would be to create individual licenses and issue them one-by-one to each developer who wants to collaborate on the project. This is a time-consuming and inefficient approach.
Instead of these two methods, open-source licenses are often employed, as they:
- Ensure credit is given to the original developer
- Make it easy for others to contribute
- Don’t necessitate individual special permissions
Open-source software licenses enable collaboration to flourish while preventing others from taking credit for the initial programmer’s work. Programs can reach peak potential as developers around the world use, examine, adjust and distribute the same software (mostly) freely.
There are, generally speaking, two types of open source licenses: copyleft and permissive.
With copyleft licenses, new users can copy, change and share the original source code with one important restriction. All new projects that use the software must be issued under the same license as the original work.
The widely-used GNU General Public License (GPL) is an example of a copyleft license. Any user who takes software built using GPL, must license the new, modified version under the GPL as well – including any new code utilized in the modified work.
Permissive licenses, on the other hand, are defined as simply not being copyleft licenses. In permissive license agreements, software released under the license can be used as part of programs issued via other licenses, including proprietary licenses. BSD is an example of a permissive open source license.
To be continued...