Open-source software (OSS) rules the world. Virtually any product, service, or platform is powered by or built with OSS. We carry OSS around in our pockets as Android or iPhones devices. Whenever we feel like it, we download OSS of the Internet to solve our every day tasks like writing documents, listening to music, or accessing our email. It is fair to say that OSS conquered the world, but does that mean it always has?
Source vs binary
The term “open-source” refers to code for software being published in the open, as opposed to only having a “binary” which contains the compiled source code and may have an explicit owner (“proprietary”). Binaries contain opaque information which only computers understand. Source code, on the other hand, is the human-understandable format of the logic contained in computer programs. Computers run binaries, humans can only really reason about binaries by reading their source code.
Clearly, there is more to open-source than just the code being open. It is a mindset and a way to collaborate in the open. But where does the term open-source come from? Surprisingly, “open-source” was and to some degree still is a controversial term.
Starting out in the 50s, software was only developed at universities and corporate research centers. Software was not ubiquitous like in today’s world. Only top-notch experts knew how to develop and use software.
It may come as a surprise that in those days the source code was often the only artifact distributed. Nowadays software comes pre-compiled for the most popular computer architectures, but back then there was no standard computer architecture. If you wanted to use a program, you had to compile it first (i.e. build the source code), or even adjust the source code to be able to run it on your computer or mainframe.
During those times, companies like IBM even asked their users to send in source code suggestions.
In the 60s, most software came bundled together with hardware - a trend that we are seeing again today (hello Apple), though for different reasons.
Software was entirely supported through a one-time payment for the hardware. There was also no Internet, so any updates (“patches”) had to be distributed via hole punch cards early on, later via floppy discs.
At the end of the 60s, with the invention of operating systems, databases, and high-level programming languages, software became increasingly more complex. The development costs for software increased so much, it became hard to justify giving software away for free with the hardware. Eventually, companies started charging money for their software.
In 1974, software became copyrightable (source), but that didn’t have a big impact because many companies had already stopped to distribute source code to prevent copying their software.
Companies like Microsoft and Apple were founded in the 70s. Clearly, those were for-profit companies which saw open or free software as a threat. Bill Gates famously wrote an “Open Letter to Hobbyists”, asking them to stop copying his company’s software.
It was only much later companies would realize the potential of OSS.
The 80s saw OSS on the rise.
In 1983, Richard Stallman created the GNU project, because he was frustrated with the proprietary nature of computer systems he worked on (particularly Unix). The GNU project contained open-source rewrites of closed-source software Stallman used.
In 1985 Stallman founded the Free Software Foundation (FSF), a foundation to support the free software movement. Despite the problematic statements Stallman has made from time to time, he is a true visionary and pioneer of open-source software. The FSF takes a radical stance as it demands total control over software and its code.
The term “open source” was first coined at the Foresight Institute (source). Computer security researchers wanted to promote the idea of “free software” but they were worried about people thinking it was merely software for free. In an act to promote free software to improve security they looked for term that would reflect the collaborative nature of OSS.
The term open-source was readily adopted at the end of the 90s by the Linux, Perl, and Python community, but also by companies like, Netscape and Red Hat.
The FSF does not like the term open-source because they think it undermines the freedom associated with open software: “Open source is a development methodology; free software is a social movement.” (source)
The Internet and the increasing presence of software in the world led to more developers sharing their code openly. Although the movement started from a non-commercial, idealistic movement, very soon companies adopted open source as a new way to promote their products or subscriptions, and to cut development costs by using existing open-source software.
In 1998, the non-profit Open Source Initiative was founded, inspired by Netscape which had just open-sourced their web browser Netscape Communicator (which later became Firefox).
In 1999, a group of developers of the Apache web server realized their methodology could be applied to other open-source projects as well. They proceeded to found the non-profit Apache Software Foundation.
In 1999, Sourceforge.com was launched which allowed developers to easily share and develop source code.
In 2000, the Linux Foundation was founded. It became on of the biggest and most influential open-source software foundations with a $100 million in revenue (2018, source).
In 2001, the Python Software Foundation was founded. To this date, the foundation remains committed to developing Python in the open.
In 2005, Linus Torvalds created the initial version of Git, an open-source version control system to speed up the distributed development of the Linux kernel.
In 2008, GitHub.com was launched - a central platform for source code development based on Git.
Also in 2008, Google released the first version of Android, today’s most used mobile operating system.
Over the years, more and more companies started to embrace open-source development as they realized the benefits of developing in the open. Expertise in open-source has become a competitive advantage.
Since 2017, Microsoft is one of the biggest open-source contributors in the world (source). In 2018, Microsoft acquired GitHub, the largest open-source development platform to this date.
We’ve really come a long way.
The Future of Open-Source
Open-source software has seen tremendous change:
In its early days it was a scientific practice to share code among other researchers. Source code used to be given away for free with computer hardware, but when companies realized they could make more money with software than hardware, they began to license their source code. The Free Software Foundation (FSF), the Apache Software Foundation (ASF), and the Linux Foundation became the largest foundations for open-source software. Even companies which fought open-source for decades started embracing open-source.
Open-Source Software clearly has conquered the world. Yet, there remain challenges around creating and maintaining open-source software, for example:
Open-source projects continue to see legal threats from companies who claim their intellectual property violated. Without strong legal support, open-source can be a costly endeavour. Fortunately, open-source foundations can provide a legal umbrella against these threats.
Licenses for OSS are fragmented.
On the one hand, there are Copyleft licenses which are more restrictive when it comes to using OSS commercially. For example, by requiring to contribute back changes which are distributed elsewhere. Yet, in the age of Software as a Service (SaaS) this can often be circumvented.
On the other hand, Liberal licenses (e.g. Apache license) which do not have aforementioned restrictions, do not always promote the best behavior when it comes to contributing back to OSS.
Often open-source projects uses trademarked brands. This puts the project under the risk of losing their name if the company or person owning the trademark does not want the project to use their brand anymore.
Writing good software takes time and money. Many open-source projects continue to be underfunded.