The open source journey started back in the ‘50s with free software. It had many stops along the way until it became what we know today as open source.
Open source finds its roots in the U.S. academic realm. When research scientists started to build computer software, they also released the code that came with the hardware. They understood that in order to develop this new field they need to share their work and learn from each other.
By the late 60s software became commercialized and the costs involved in developing software grew exponentially. This led a growing amount of software vendors to sell their solutions under restrictive licenses and so, free software hit a road bump.
From Unix to Open Source Software
In the early 1970s AT&T distributed early versions of UNIX at no cost to government and academic researchers, but the free distribution was stopped in the early 80s as it became more widespread.
Richard Stallman started the GNU Project at ‘84 and kicked off the Free Software Movement. In three years, the GNU project had strengthened itself with the development of the GCC, along the GNU Emacs, and a host of UNIX utilities. But it was still not ‘open source’ as we know it.
In the late 1990s, things started to change when LAMP (Linux, Apache, MySQL, PHP) was release. It offered developers an open-source web development platform (Linux as the operating system, Apache as the Web server, MySQL as the RDBMS and PHP as the object-oriented scripting language). Startups quickly adopted LAMP as it dramatically cut-down their development costs.
At this time Microsoft started its war against free and open software with Steve Ballmer calling Linux a “cancer” and Bill Gates stating “Who can afford to do professional work for nothing? What hobbyist can put 3-man years into programming, finding all bugs, documenting his product and distribute for free?”
Did you know? It was this Ari Lemmke, a Helsinki University staff, who created the working name “Linux” (Linus and UNIX) while allotting directory space to Linus Torvalds on the FTP server. As the system matured in the following years and added new features, the working name became the permanent name.
The Start of the Revolution
In his book “The Cathedral and The Bazaar”, released in 1997, Eric Raymonds laid down the “Linus’ Law” which served to contrast the Cathedral and Bazaar models of free software development. He explained that in the Bazaar model, where the software is developed in full public view, it is much easier to find and fix bugs. On the contrary, in Cathedral model, where codes are made public only for major releases, the software is exposed to a restricted set of developers and therefore less issues are discovered.
The term “Open Source” was only adopted during a strategy session by Richard Stallman’s Free Software Movement, as late as the year 1997.
The following year, Netscape announced that it would release the source code of its cutting-edge web browser via Mozilla.org. Inspired by this event, Bruce Perens and Eric Raymonds founded the “Open Source Initiative” (OSI) which later went on to receive corporate sponsorships and became one of the two cornerstones of the open source movement. This year also saw the launch of first Open Source Conference by tech publisher O’Reilly. However, back then it was named quite informally as the “Freeware Summit”.
The revolution has started.
Building the Right Tool for Open Source Projects
In the early days, although many startups were using open source, it was primarily communities of developers collaborating together as individuals to build extraordinary software as a collective. And as more developers were using it, the need for better collaboration tools raised. A few engineers from VA research, a company that was building and selling personal computers with Linux operating system, realized there’s an opportunity and founded SourceForge in ‘99. SourceForge was designed as a collaboration tool and quickly became THE place for developers to work on open source projects. They were now able to host their code for free, manage their projects and track bugs together, all in one place..
By 2005, there were enough distributed version control systems in the market and BitKeeper was the most popular. But once BitKeeper decided to end their free support for Linux, citing license violations, a void was created.
Linus Torvalds intervened to save the day, by creating his own distributed version control system, named Git. It completely reimagines distributed version control. The core difference between Git and other version control systems is that instead of storing a list of file changes, Git stores a list of references to file snapshots. Any change will produce a new file, whose snapshot will be linked through the version control system.
Did you know? The name ‘Git’ is actually a British English slang which means “generally an unpleasant person”. Now, Linus Torvalds already had an OS in the market inspired by his name. So to downplay and put a spin on to it, Torvalds came up with a funny answer in a Git FAQ: “I'm an egotistical ***, and I name all my projects after myself. First 'Linux', now 'git'”.
By 2008, open source was heavily used by developers in small and large software companies. Developers spend in increasing amount of their free time working on open source project and they needed a pace to ask questions and get help. Jeff Atwood and Joel Spolsky met that need in 2008, when they founded Stack Overflow. Stack Overflow offered a Q&A platforms where all users are subject to a reputation award process. Stack Overflow was so successful that it expanded to a network of question and answer web sites on topics in varied fields, each site covering a specific topic, like Ask Ubuntu, Math Overflow and more. They called the network Stack Exchange.
Open source has changed the way software development teams build software. It is everywhere and it is leading to innovation and stepping up software development pace.
Developers have a wide range of developer tools to collaborate on open source projects and open source funding is also rising, helping the community to better maintain open source projects. But what’s next? What is the next challenge to solve in order to increase usage even further?
Personally, I believe we are now facing the question of how can we make open source more secure.
The tools used for proprietary software are not relevant for open source code, but what is? Majority of software companies do not even have the ability to track open source known security vulnerabilities. The revolution will not be complete as long as some CSOs will continue to fear that there might be an unknown ‘heartbleed’ in their products again. The next wave of innovation will need to offer developers and software companies tools to ensure the security of their open source.
Did you know? Android is perhaps the grandest success of the Open Source Movement with nearly 3 Billion devices using the mobile OS.