The Story of Open Source

It all started with a laser printer The Xerox 9700.

Amogh Talpallikar
Curious Burrows

--

The birth of a philosophy

In 1980, Richard Matthew Stallman, (popularly known as rms in the hacker community) was a programmer at MIT Artificial Intelligence Laboratory.

He was denied access to the source code for the software of a newly installed laser printer, the Xerox 9700. (A source code for a software is essentially some text written by programmers to write a program which then gets translated into a set of instructions that only machines can comprehend; reverse-engineering which is generally a herculean task.)

This printer was huge and had its own floor compared to where rest of the users were. RMS had successfully modified the software for the previous printer so it could send message to a user when the person’s job was printed, and would message all users waiting if the printer was jammed. Not being able to add these features to the new printer was a major inconvenience.

This experience convinced Stallman of people’s need to be able to freely modify the software they use. He felt that intellectual property rights that companies were applying to software was harming the society and slowing down innovation. There was a dire need of a suite of software that was “free” of all the intellectual property entanglements.

The GNU Project

In the September of 1983, RMS announced that he would start working on an operating system compatible to the popular but proprietary Unix operating system. So that Unix users could easily make the switch.

It was called the GNU operating system. GNU is a recursive acronym. It simply stands for — GNU is Not Unix. Which meant it is like Unix but it is not Unix. Unlike Unix, it was suppose to come with complete freedom.

Free Software Foundation

By 1985, RMS started FSF to employ programmers and provide a legal infrastructure for the free software movement.

There was constant emphasis made on the correct understanding of the term “free

Free as in free speech and not free beer.

GNU General Public License and Copyleft

RMS drafted the first version of a license that could be used with free software in 1989. Since then there have been few altercations in it but its the term copyleft that he introduced still holds true.

Copyleft which is a play on the word copyright, essentially means — That if I give you a piece of software with full freedom to modify, share and redistribute, you will not deprive recipients of your modified version, of the same privilege.

GNU Hurd — The kernel that was always in the making

Here is this thing about operating systems. Nobody uses an operating system. What we use are applications. These applications need resources like memory, disk, processing etc. There is an entity known as the kernel that sits in the core of the system and allocates these resources to applications.

The kernel is essentially the true operating system. However for the whole package to be usable, you need few essential applications that should come bundled along with the package like a compiler that programmers can use to translate their code to the binary 1s and 0s that the machine understands. You need basic text editor to write and save text. Some basic commands to do daily tasks are also needed.

When the team FSF set out on a mission to make a Unix-like system, they started out with replacing all its utilities, commands and basic applications with their free counterparts. It took them almost a decade to do that. Most of the applications were done by the late 1980s.

However the development of GNU Hurd, the kernel with a highly ambitious design — the microkernel architecture started late and it was full of bugs. The design was radical. They wanted kernel to be a set of micro-entities responsible for different resources which would send asynchronous messages to each other and get the work done. Otherwise the more conventional choice of architecture was the monolithic kernel architecture — which treats kernel to be one large single central entity responsible for all resource allocation and other operating system duties.

Hurd was buggy. The asynchronous messaging was becoming very difficult to get right as per expectations.

Linus Torvalds to the rescue

While FSF and the GNU team were working their ass off trying to get the kernel working, somewhere in Finland, a student at University of Helsinki, Linus Torvalds was playing around with the idea of creating a small portable operating system for his thesis. He was inspired by how Unix worked. He bought a copy of the book Operating Systems: Design and Implementation — by Prof Andrew Tanenbaum. There was description of MINIX in it. It was an educational stripped-down version of Unix.

Linus wanted to call his version freax (Free and Unix) but his friend who hosted the FTP server for downloading it, named the directory after him as linux.

He once attended a conference where Richard Stallman was giving a talk. He was so inspired by his talk that he released the Linux Kernel under the GNU GPL license.

The Linux Kernel and the GNU project

Even in its infancy, Linux Kernel was way more stable than lot of other operating systems out in production. Even though it was not what Stallman envisioned, he accepted that it was better than what he was trying to do with Hurd.

People all over the world started coming together for development of these applications. A lot of them started bundling these applications along with the Linux Kernel.

It was a match made in heaven.

The Commercialisation of the Free Software

With the model of free software, came the opportunity for multiple companies to provide support for free software. No customer or enterprise was locked with one vendor that provided them with support. They had choice. They could choose whom to buy the product from. Whom to go for services. Whom to ask for support.

They could choose the best among many choices available.

Soon, companies like Redhat and VA Linux systems had successful IPOs. These companies gifted some of their shares to Linus Torvalds which made him a millionaire and brought him on the cover of Forbes.

The observation that changed the software industry

Eric S. Raymond, an early contributor to the GNU project, was astonished by what was going on with the community. Thousands and thousands of contributors all over the world were collaborating over the internet to create a piece of software.

This was absolute chaos. This was like bazaar. This was suppose to fail. Traditional software development practices demanded small teams. managed by a strong hierarchy. Yet the passionate bunch of enthusiastic programmers all over the world were churning out quality software at rapid pace.

Bug detection and resolution was so fast that it was almost unbelievable. He wrote down his observation of the system in a paper titled — The Cathedral and the Bazaar.

Open Source — A new terminology

As the commercialisation of the free software was on the rise, there were areas where convincing businesses and customers that “free” software could be worth it and not something which is a cheap alternative to the “enterprise-y” software that big-shots were recommending.

It was becoming hard for businesses dealing with free software to explain that the whole aspect of the term “free” was about the freedom that they will be getting.

So as a good selling point, Open Source turned out to be a better term for such companies. Open Source sounded nice and it signified something which is transparent.

A community — Open Source Initiative was founded by Bruce Perens who served there till 1999. They established a 9-point agenda under the title Open Source Definition.

To make the adoption of open source software in the industry, more permissive licenses were added to the list. A lot of these licenses allowed people to avail the benefits that came with Free software but did not force the modified software to be bounded by the same license. MIT and BSD licenses that were around for much longer were identified as compatible permissive licenses by OSI body.

Rapid Adoption with the rise of the Internet

As the internet businesses started booming, web hosting companies started using Free/Open Source Software. Linux along with the Apache web server which was letting companies host multiple websites on the same machine — A feature that became its USP. The server was being developed at an unparalleled pace by a dedicated community.

Linux adoption started gaining ground.

Mozilla for the love of an open web

In the late 90s Microsoft — the kingpin of PC business, started bundling Internet Explorer along with their operating system. It almost killed the business of their primary competitor — Netscape.

The company started losing market share to IE as people preferred something that came pre-installed and was free of cost.

One of the chief engineers attended a session by Eric S Raymond on Cathedral and the Bazaar and then convinced the top management have a look at it.

Soon Netscape’s source code was open sourced under a new project — Mozilla.

With some good deals with companies like Google, Mozilla made decent money to thrive and also made sure that web remains an open competitive space and Microsoft doesn’t get to dominate it with a monopoly.

How far we have come since then ?

Way beyond. There are tonnes of open source projects cropping up every day. There is rapid innovation going on in this space. There are CMSes, Blog Engines, NLP toolkits, AI engines from big commercial entities like Oracle, Google, Facebook and even ..… Microsoft.

Rise of Github and other source control platforms that let you host open source software free of cost, has encouraged creation of lots of open source projects.

Although Microsoft won the PC business but the relevant spaces these days — the mobile and the cloud — all have been conquered by open source software.

Open Source is now not only used along with software but there have been open source hardware projects too.

--

--