This post was originally published here.
Let’s begin with the obvious: open source has revolutionized computing. There are no two ways about it. Seasoned tech heads and rookies alike can now develop and play with code in a way that wasn’t possible back in the day. With the help of this innovative approach, computers and software can now be easily adapted to suit individuals, encouraging a collaborative community of creative people helping and developing one another’s work.
Do you know where the whole movement started? Well, buckle up as I take you on a brief, yet informative journey through the history of open source. We’ll start in 1969, with the rise of Linux and its creation. From Linux, we branch into Apache, the wealth of open source projects that are available, and the impact both of these elements have had on software development. We’ll touch on the growing array of open source tools now available, including Git, and what code repositories help IT teams achieve. And we’ll finish off with a look at how the open source business model has been a game changer.
In the beginning, there was UNIX — developed at AT&T Bell Labs in the 70s by researchers who had been working on the operating system Multics alongside the Massachusetts Institute of Technology and General Electric. However, frustration around the Multics project grew, and the AT&T Bell Labs group departed the joint project to pursue their own design. UNIX, the blueprint of modern-day open source, was born. The UNIX project bore its own problems, though; after the source code was published for free, many people began to work on their own versions. But, importantly, the seed of collaborative software had been planted.
At this point, it’s important to note that you can’t write a history of open source without a nod to Richard Stallman. Back in the’80s, Stallman had the idea to create free software that users could adapt when needed. This was reported to be in response to access denial for a laser printer code he requested, which he wanted to modify to make life easier for himself and co-workers. This was Stallman’s catalyst for developing a new concept for coding, which he established as the Free Software Foundation. This milestone also marked the beginning of the GNU project. Stallman quit his job and told the world that software should be free to all. Stallman’s vision was, and still is, intimately linked with the political and social values of the open source philosophy.
However, even with all the work Stallman put into rewriting UNIX, GNU was missing something vital. Thankfully, deep in the heart of Finland, a student was working on the missing link.
Let’s skip to the 1990s. While everyone was walking around with a Sony Discman and playing Tamagotchi, Linus Torvalds was writing an online post about an ongoing hobby he had. Torvalds was responsible for the “Linux” kernel, the much-needed missing piece for Stallman’s work, as it effectively allowed hardware to speak to software. When combined, the GNU/Linux distribution permitted others to begin creating their own operating systems. And now the real fun could begin.
Linux grew stronger and stronger and nowadays, it’s hard to find technology that doesn’t incorporate it. But open source doesn’t stop there.
Enter Apache, a small-time web server created by developers in the early ’90s. Continuing the same accessible ethos of Linux, despite Apache’s simple start, it is now a significant part of the web. A play on words, “A Patchy Server,” it’s one of the front-running web servers available, used by 46% of websites. Currently, there are over 350 open source initiatives on the Apache Software Foundation alone. The ASF also has numerous tools available for content, databases, libraries, and network servers.
Add high security, continuous editing, and innovative upgrades to the collaborative nature of open source, and you have a recipe for success. While some people may argue that the nature of its openness means it is impossible to keep secure, many consider the opposite to be true. Bugs are identified and dealt with quickly and efficiently by an army of global programmers.
One of the issues that arose with editing other people’s code happened when changes caused problems to the original software, negatively impacting its function. It became evident that there needed to be a system in place whereby users could take code, alter and test it out offline to ensure it worked correctly, and then merge it once all the bugs had been fixed.
Once again, Torvalds stepped up to deliver a solution. The very nature of open source necessitates a place for easy code access and storage. There were a couple of tools attempting something similar, such as BitKeeper. However, after copyright holder Larry McVoy withdrew free usage rights, many users stopped using BitKeeper, including Torvalds himself. Seeing a gap in the market, Torvalds created Git. Widely considered to be one of the most popular, if not the most popular, version control system available today, Git is used across the world. The repository framework enables users to access, edit, and distribute code safely. Git provides somewhere that everyone can find and develop existing code, as well as add their own. Code repositories address this need and you’ll be hard-pressed to find a developer in today’s industry who doesn’t use Git.
All these developments along the open source timeline lead to a growing community of enthusiasts who have created numerous innovations together in software development. Container orchestration is one such example of how open source software development has made it easier for programmers to access new ideas and collaborate with others to continuously improve their work and productivity.
Consider Docker, a more recent addition to the open source landscape and a hugely successful container deployment program. This technology allows self-contained packages of software to be moved across different environments to help avoid computing conflicts and hasten deployment. Docker is also one of the most successful open source tools; its adoption rate at the time of its launch was more significant than Git and cloud technologies. However, some might argue it is currently having difficulty stabilizing its business and revenue stream due to competition from other open source tools like Kubernetes. Today, container orchestration is developing at a fast pace as many platforms, such as AWS, are rapidly providing offerings of their own to compete in the market.
The open source movement has continually become stronger throughout history, having a significant effect on technology. But with this knowledge being “freely” available, how has it changed business?
The basic framework of a revenue-generating business model is to innovate, create, and market a product. Competition is derived from having a secret ingredient that makes a product special. Successful brands charge for exclusivity and the edge their products have over their rivals. Apple, with its unique product range and OS, is the perfect example of how “rarity” can drive profit. Apple’s antithesis is Android. Unlike Apple, Android is an open playing field for all, making great use of the open source business model. It offers free open source tools that its community can have a direct input on. So, how does anything open source make money? Open source projects typically make a profit from upgrade packages that include support, private features, and usage on a larger scale such as “enterprise” packages for companies or large IT teams.
Both models work successfully in tandem because they reach and deliver to very different demographics. Many people wish to pay for the latest exclusive product upgrade, but there are just as many out there who will support the wealth of open source projects now available on the market. So, why should you consider open source tools?
- Security: Open source revolves around transparency and inspection by a wide community invested in project success.
- Quality code: Due to the nature of its collaborative approach— and lack of boundaries — open sources projects inherently generate high-quality work.
- Freedom: The freedom to adapt, collaborate, and develop with like-minded people. Open source is a step towards the future of free software for all. Get involved.
Caylent offers DevOps-as-a-Service to high growth companies looking for help with microservices, containers, cloud infrastructure, and CI/CD deployments. Our managed and consulting services are a more cost-effective option than hiring in-house and we scale as your team and company grow. Check out some of the use cases and learn how we work with clients by visiting our DevOps-as-a-Service offering.