Apollo 11 was the spacecraft that landed the first men on the Moon. Did you know that some of the developers of the codebase which landed the spacecraft on the Moon were huge Shakespeare aficionados? They have even mentioned the following line from Shakespeare's "Henry V" in the codebase "It Will Be Proved To Thy Face That Thou Hast Men About Thee That Usually Talk Of A Noun And A Verb, And Such Abominable Words As No Christian Ear Can Endure To Hear".
Or that the New York based disc jockey extraordinaire and radio shack owner Magnificent Montague was forever immortalised in the codebase by renaming the master ignition routine of the Apollo 11 as “Burn Baby Burn”, after his catchphrase before playing the hottest new records?
No, we don’t have friends back in NASA sending us these cool trivia and awesome tidbits from history. We got to know these from the now open sourced codebase behind the Apollo 11 spacecraft.
Wait, what’s open source?
Well, let's take you all on a ride to the world of open source software, its history, some thoughts on the future of open source software, what it means for you and your business and a few more trivia along the way. 😄
What is Open Source Software?
Open-source software (OSS) is a type of computer software in which source code is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software to anyone and for any purpose. This is in sharp contrast with proprietary software in which the software is under restrictive copyright licenses and the source is not available to the users for modifications. Here source code refers to the human readable version of the software which can be easily studied, understood and modified by the end users.
The bigger goal of open source software and free software, an ideology closely similar to OSS, is to propagate the idea of liberty, not price, so that every user is legally free to do what they want with their copies of OSS, while encouraging them to voluntarily participate in the improvement of the design of the software.
- Richard Stallman, the founder of the Free Software Foundation
The story behind Open Source Software
Henry Ford of Ford Automobiles won a challenge against a patent which tried to monopolize the automobile industry and ushered the era of open collaboration in automobile industry.
Sharing of human readable source code was widespread during these times. Most of the software was produced by academics and research labs which held long standing tradition of open sharing and collaboration.
A-2 system, considered as the first example of free Open Source Software, was developed at the UNIVAC division of Remington Rand.
ARPANET, a precursor to the Internet was released, leading to easier exchange of software code. During this time, US wins antitrust lawsuit against IBM, forcing them to sell hardware and software separately.
UNIX V4 was released by AT&T, as open source to public. This was the first version of the compiler to be written in C, a high level language which helped development of software decoupled from hardware.
The US Commission on the New Technological Uses of Copyrighted Works (CONTU) decided that coputer programs are proper subject matter of copyright if they incorporate the original creation of the author.
Richard Stallman started the GNU Project during this time in response to the growing need of the ability of users to be able to modify source code of the software they use, something which got stifled by the big commercial software makers.
The Free Software Foundation (FSF) was started by Richard Stallman to formally allow more participation in the free software movement, evangelize the principles of FSF and help with creating new forms of licenses to protect the IP of free software.
Linus Tolvards built and released the Linux kernel, which was the bit of puzzle which fulfilled Richard Stallman's goal of a fully modifiable code ecosystem started by him when he created the GNU Project.
PHP, MySQL and Apache Web Server were released during this time, which became a cornerstone to the upcoming dotcom era and catapulted open source to prominence.
Eric S. Raymond's seminal essay 'The Cathedral and The Bazaar' was released, which eventually led to the coining of the word 'open source'.
Git was released by Linus Tolvards to the public as a simple version control management tool for software projects.
This was a major year for open source projects, with the release of a distributed version control system Github, and the release of Chromium and Android by Google, which today are the leaders in the internet browser and mobile OS industry
This was again a major year for open source companies, with Microsoft acquiring Github for over $7 Billion and IBM acquiring Red Hat for over $34 Billion.
Linux market share in the desktop operating system space breaks the 3% barrier for the first time.
The concept of free information sharing in the technological ecosystem existed long before computers. Here’s an instance from the automobile industry.
During the early days of automobile development, the Association of Licensed Automobile Makers (ALAM) in the US owned the rights to a 2-stroke gasoline engine patent originally developed by George Selden. Through the ownership of this patent, the ALAM was able to monopolize the automobile industry and force carmakers to adhere to their demands or face lawsuits.
In 1911, Henry Ford of Ford Automobiles fame won a challenge to the Selden patent and ushered the era of open collaboration in the automobile industry.
He set up the Motor Vehicle Manufacturer Association and allowed cross-sharing of patents without exchange of money, leading to the huge proliferation of innovation and acceleration of the industry.
Origin of Free Software
During the early days of computing, it was the norm rather than exception to share human readable source code. The 1950s and 60s saw almost all software produced by academics and corporate research labs like AT&T’s Bell Labs working in collaboration. They all had long standing traditions of openness and collaboration, atypical of the field of academia, and hence even if the software wasn’t formally available to the public, their source code was widely shared.
Computer companies also distributed the source code of the software they shipped along with the hardware, due to two reasons. First, they didn’t see software as a commodity to be sold through licensing. Second, users frequently modified the software themselves because it would not run on different hardware or OS without modification, and also to fix bugs or add new functions.
Having the source code available was a necessity for the computer makers as making different binaries (or compiled code) for different hardware wasn’t practical at all.
Some universities even had a policy requiring that all softwares installed on the computers in their labs had to come with published source codes.
In 1953, Remington Rand's UNIVAC division developed the first instance of free open source software called the A-2 (Arithmetic Language v2 system), which they released to their customers along with the source code. They were also invited to send back their improvements. Later IBM’s first operating system IBM 704’s code was distributed with all of their mainframe computers. Organizations like IBM, DEC and General Motors set up user groups to allow easier facilitation of sharing code among the users, academics and other industry players alike.
Before the internet arrived, the “hackers” or the “hobbyists”, as the programmers fondly liked themselves to be called then (probably even now 😉) used alternatives like listings in computer magazines, computer books and local hobby clubs to share and distribute their codes. The Advanced Research Projects Agency Network (ARPANET), a transcontinental, high-speed computer network was constructed in the year 1969. The network (precursor to the Internet) simplified the exchange of software code.
Decline of Free Software
A few legal and technological developments happened between the late 1960s and early 1980s that changed the laid-back attitude of free software sharing and brought in commercialization of software.
With further development of operating systems and programming languages, companies realised that the costs of producing good software was becoming comparable if not higher than the hardware costs.
A growing standalone software industry was directly competing with the computer maker’s bundled software products (where the cost of software was added to the final computer’s cost), and some customers did not want the added price of the software that came bundled with the computer itself as they could run their own openly available code for free. This led to the iconic United States vs IBM antitrust suit in 1969, in which IBM was forced to break hardware and software apart and sell them separately.
The second big development was the version 4 release of Unix code in 1973, which was rewritten in C, a high level programming language newly developed by Dennis Ritchie at Bell Labs. Now what’s a high level language? It’s a programming language that is closer to the human language than machine readable code (which well is 0s and 1s). Earlier the trend was to develop hardware specific software, each in their own hardware specific language. But now, using a common high level language like C made development of software products decoupled from hardware, and hence truly “portable”. In the initial days, AT&T still distributed the above Unix code for free among users, but slowly they moved to charging for new patches to the Unix older versions and finally to a commercial license by early 1980s.
The final big development was the institutionalization of the 1974 US Commission on the New Technological Uses of Copyrighted Works (CONTU) which decided that “computer programs, to the extent that they embody an author’s original creation, are proper subject matter of copyright”. So, software companies had the protection of copyrights and trademarks to protect their intellectual properties and charge a fee for selling the software as products to end users.
So these three major developments led to more and more companies selling software as products and hardware manufacturers dropping their policies of not distributing source code with the hardware themselves.
These developments however did not deter the growing community of hobbyists and hackers from developing and distributing freely available software to the users. Some notable products of this era are the Berkeley Software Distribution (BSD) fork of the Unix code which led to future versions of open source operating systems like FreeBSD and OpenBSD, the development of TeX by Donald Knuth, which is widely used today in LaTeX, a digital typesetting software (you might have used it for creating your resume) and SPICE program, an analog electronics circuit simulator.
Eventual Rise of Open Source Software
The above developments did hurt the feelings of our hobbyist and hacker friends of the 1980s, who were strong advocates of the liberty to allow users to study, modify and distribute software code among their fellow users. One person especially distressed by the new practice was Richard Stallman, who viewed the practice of closed source software development to be ethically wrong.
One incident that left a huge impact on Stallman was during his stint at the MIT Artificial Intelligence Lab where he and some other hackers were refused access to the source code for the driver software of a new Xerox printer. Stallman used to modify the code for the Lab’s previous printer which allowed it to electronically message a user when his printing job was done, or message all logged-in users if the printer got jammed.
Not being able to add these features to the new printer was a major inconvenience for all the users, and this experience convinced Stallman of the need to be able to freely modify the source code of the software one uses.
This led to Stallman founding the GNU Project in 1983, where he worked on building a completely Unix-system compatible software system called GNU and giving it to everyone for free. He established the non-profit organization, the Free Software Foundation in 1985, to more formally allow more participation in the free software movement, evangelize the principles of free distribution of source code and creation of licenses to protect this new breed of software.
However it took until 1991 to complete the loop started by Richard Stallman on the quest to provide the world with a freely modifiable code ecosystem. The kernel (the software used to communicate between the software and hardware) was still proprietary, owned by the computer manufacturers and not compatible across platforms. In 1991, Linus Tolvards built the Linux kernel and hence solved the puzzle of a freely available kernel. Soon, more versions of operating systems on the Linux kernel like FreeBSD, OpenBSD and Ubuntu came to the market, bringing more and more developers across the world to jump into the free software bandwagon. In 1990s, when many new companies and startups were coming up with a web presence, free software became an obvious choice for hosting their websites. One of the more popular ones was called the "LAMP" stack which consisted of a Linux operating system as a base, Apache for serving webpages, MySQL for storing data and PHP programming language to render dynamic content on the websites.
In 1997, Eric S. Raymond released a seminal essay in open source history, “The Cathedral and The Bazaar”, which discussed the two forms of software development predominant in the industry as:
- The Cathedral model, in which source code is available with each software release, but code developed between releases is restricted to an exclusive group of software developers.
- The Bazaar model, in which the code is developed over the Internet in view of the public.
- Eric S. Raymond
The essay's core thesis is Raymond's hypothesis that the more widely available the source code is for public testing, scrutiny, and experimentation, the more rapidly all forms of bugs will be discovered. In contrast, Raymond claims that a huge amount of time and energy must be spent hunting and fixing bugs in the Cathedral model, since the source code is only available to a few developers.
This essay led to Netscape releasing Netscape Navigator, a browser precursor to the now popular Mozilla Firefox and Thunderbird, as free software to the public. However this move was seen by the free software industry veterans Eric Raymond, Linus Tolvards and others as unappealing to the commercial software industry. They wanted to rebrand the free software movement, which often confused users and companies alike due to the “free” word, while also emphasizing the business potential of sharing source code. This led to the coining of the term “open source” which got widely adopted by the industry, got a huge traction due to the dot-com bubble and eventually its widespread adoption due to open source software driven Web 2.0 in the turn of the century.
Current State of Open Source Software
With the advent of Git (a version control tool used to track code changes) in 2005 and Github (a distributed version control hosting site) in 2008, the barriers to enter into the open source development realm has drastically gone down. Today many of the billion dollar startups and companies are powered by open source technologies collaboratively developed by unpaid volunteers, students across universities and even highly paid employees at competing tech companies.
Over 99% of Fortune 500 companies use open source.
Anyone can download Facebook’s user interface library React, Google’s Android operating system powering billions of smartphones and even Goldman Sachs’ data modelling program and use it as a building block for a totally new project. Microsoft, which once considered open source and free software to be “un-American”, has since then changed their stance on open source, becoming a platinum sponsor for the Linux Foundation in the process and boasting the highest number of open source developers among their employees.
Today open source has indeed taken over the world. When you take out your phone and pull up a webpage, the machine that sent you that webpage is probably running Linux. Of the 500 fastest supercomputers in the world, 497 of them run Linux. And Linux is in over a billion phones, at the heart of Android, which Google open sourced in 2008. Chrome and Firefox lead their way in the world of browsers, while being open source.
- Rusty Russell, prominent OSS advocate
The Future of Open Source Software
With Microsoft acquiring Github, the world’s largest community of open source developers for over $7 Billion and IBM acquiring RedHat, one of the world’s largest open source company, for over $34 Billion, it's imperative to think if open source principles will be compromised by the involvement of commercial software companies.
However, experts say that the commercialization of open source software companies haven’t actually impacted the daily business, as users still have free access to the software source codes. Rather such acquisitions can solve the monetisation problems often faced by open source companies while bringing in collaborative innovation in the big commercial companies.
So with the above developments, it seems open source is only going to get bigger. International organizations like Unicef and the United Nations are also looking to work with open source communities in the future to solve the Sustainable Development Goals, while ensuring the software developed is secure, affordable and transparent. Organizations around the world are picking up learnings from the open source world and bringing them into other domains like open hardware, open data and open maps. In future, more and more domains will see freely available resources for users to study, learn and modify collaboratively around the world.
Once considered the cheaper version of closed source software, open source software is now viewed as the superior alternative offering higher quality, better support, and more flexibility.
What's in it for you?
As a company, you might think why you might want to get into open source. Here are some of the reasons we feel open source can be a huge cornerstone for your business:
- Today, there are more lines of code in a luxury automobile than in a F-15 fighter jet, which is simply too much software to be written by a single organization, making it pertinent to take help from the open source software community. The open source software community provides a buffet of tools that one can combine and modify to fit one's requirements.
- Any big firm or business can have 10s or 100s of thousands of employees but it still is a small figure as compared to around 40 million open source developers. Hence open sourcing internal projects can help harness the collective intelligence and knowledge of the open source community to build more secure, affordable, interoperable and flexible software that can be battle-tested by other companies themselves.
- Finally, a new trend that has become prominent in the recent years is the use of open source projects by software companies to attract new talented developers who can help the companies build ambitious products. Companies like Google, Baidu, Netflix and even financial organizations like Capital One and retail companies like Walmart promote their open source culture and projects in a bid to get more developers join their firms.
As a developer, if you have any question regarding why you should get into open source development, this line from RedHat CTO Chris Wright best summarizes our feelings
“As my voice mattered, I was immediately hooked into the world of open source software.”
Some Fun Trivia about Open Source Software
- Linus Torvalds, who we mentioned earlier, was named after Linus Pauling, the Nobel Prize-winning American chemist, although in the book Rebel Code: Linux and the Open Source Revolution, Torvalds is quoted as saying, "I think I was named equally for Linus the Peanuts cartoon character", noting that this makes him half "Nobel Prize-winning chemist" and half "blanket-carrying cartoon character".
- In 2018, Github crossed over 100 million repositories up from 33000 repositories in 2008. To preserve the hidden cornerstone, that is open source software, of modern civilization and the shared heritage of all humanity, Github has taken a snapshot of all active public repositories as on 2nd February 2020 and placed the archives of these repositories across Bodleian Library, Bibliotheca Alexandrina, Stanford Libraries and in the Arctic Code Vault in Svalbard Norway, which is a decommissioned coal mine close to the North Pole.
- Over 50 million data scientists, machine learning developers and data analysts around the world depend on the famous numerical and graphing Python libraries NumPy, Pandas and Matplotlib, which are maintained by just 15 developers. The libraries are fully open source, are continuously modified by an army of over 1000 strangers across the world and contain over 780,000 lines of code.
Looking to try open-source software? Check out this list of 200+ B2B open source alternatives to popular software.