Open source software has come a long way over the years
With the rise of the IBM PC and the belief that Microsoft would take over the server room just as it had the desktop, it was assumed that proprietary software would be the unmovable standard. Outside of the desktop, however, open source software is dominant in today’s landscape, and even Microsoft, once the most fervent organization fighting against open source software, is now embracing it. A few recent developments in open source software are illustrating just how bright its future appears.
What is Open Source Software?
Programs are written in some sort of programming language, and most languages are compiled into a machine-readable format for distribution. For proprietary software, users typically lack the ability to see the source code, much less make changes to it. Open source software, on the other hand, makes the source code available. Open source software is also typically licensed in a manner that allows users to modify the software and even sell it to others. So-called copyleft licenses, including the GPL used by the Linux kernel, require those who distribute software to make these changes available to the public. Permissive licenses, on the other hand, have no such requirement, and users are free to roll the software into their own programs without sharing any changes made. Despite this major difference, both types of licenses have proven successful.
Open Source Running the World
Linux-based operating systems run every one of the world’s fastest 500 supercomputers. Linux powers the Android operating system, making open source software the heart of to the world’s leading smartphone platform. Furthermore, the World Wide Web is mostly run on Linux hosts, especially for the largest websites. FreeBSD, an open source, permissively licensed descendant of BSD UNIX from the 1980s, is run on countless network and data storage devices, and bits of its kernel and userland utilities are present on every Apple device. Although most people use a proprietary operating system on their desktop, open source software, with Linux operating systems leading the way, is the dominant force behind computing today, and this trend shows no signs of slowing.
Big Blue’s Big Buy
In the 1990s, many would assume that IBM would be among the most resistant to open source software considering the company’s reputation for being slow to adapt and fiercely protective of its intellectual property. In the early 2000s, however, IBM began supporting Linux in a major way, even running television commercials touting the rise of Linux and IBM’s ability to provide support. IBM has long been a major contributor to the Linux kernel, and it’s moved away from its proprietary AIX UNIX operating system to Linux. IBM is currently closing in to buy Red Hat, creator of the enterprise’s most popular distribution, Red Hat Enterprise Linux.
Despite its goal to target enterprise customers, Red Hat has long been a pillar of the open source community and has frequently acquired closed source software to convert to open source licenses. IBM states that Red Hat will operate as a independent group under the IBM umbrella, and IBM’s history of supporting and fostering open source software has encouraged users of Red Hat (and the community-supported CentOS based on RHEL) that the purchase is a long-term investment, not a short-term money grab. Furthermore, IBM believes the purchase will place them at the forefront of hybrid cloud solutions, and the relationship may prove to be a stiff challenge to proprietary hybrid cloud providers.
Microsoft Steps In
To say Microsoft has an antagonistic history with open source software would be a massive understatement, with Steve Ballmer, in particular, being among the open source movement’s most notorious critics. Relations have thawed over the years, and Microsoft now even provides a Linux subsystem within Windows, a move that’s making Windows into somewhat of a hybrid operating system. Microsoft’s big move, however, was its purchase of GitHub in June of 2018. The Git tool was written by Linux’s creator, Linus Torvalds, while he was taking a break from Linux development. Git has become all but standard for modern software development, and GitHub is now, essentially, the internet’s repository for open source software.
Linux operating systems replaced proprietary UNIX operating systems. Likewise, while open source version control systems existed, Git also replaced proprietary version control systems. This pattern is common, and some have claimed that open source software doesn’t innovate and instead replaces proprietary solutions developed elsewhere. This narrative, however, falls flat when it comes to containers. A lightweight virtualization solution, containers are revolutionizing how software is deployed, and they’re a critical component of the ongoing DevOps transformation.
Jails, the earliest container solution, began as open source software in FreeBSD in 2000. Sun Microsystems expanded on the concept with Solaris Zones, which would be released as open source software in 2008 in OpenSolaris. However, the container revolution really took off with the release of Docker in 2013. Docker uses an abstracted container solution to allow developers to write software in a virtual environment that will match the virtualized deployment environment. Perhaps the most clear example of open source software’s ability to create and grow, however, is Kubernetes, created by Google and released in 2014. Kubernetes is a container orchestration solution; users can automatically create, monitor, and destroy containers to scale solutions, and support for Docker and other container formats makes Kubernetes a popular option on private, hybrid, and public clouds, including Amazon Web Services, Microsoft Azure, and Google Cloud Platform. From the beginning of containers in FreeBSD to the Kubernetes, containers show just how effective open source software can be at creating and developing revolutionary solutions.
Hadoop and the Distributed Future
The cloud and containers have become firmly established. Two other fields, distributed computing and Big Data, are still in early development. Again, open source software is flexing its power, and the Apache Foundation’s Hadoop is leading the way. Hadoop is a collection of tools that create a framework for distributed computing, and, since its genesis in 2006, the framework has evolved thanks in large part to contributions from Google, Yahoo, Facebook, eBay, and IBM, among others. Available on all major cloud providers, Hadoop is designed to account for hardware failure and recover seamlessly, making it easy to scale across in-house hardware and cloud providers. Hadoop demonstrates another advantage of open source software. When, for example, Facebook submits code to Hadoop, the project as a whole takes responsibility for maintaining it, and the code Facebook relies on will be tested by other members of the project at no cost. Facebook wants to succeed by encouraging user engagement on its platform, not by creating backend software. Likewise, Google wants to compete by providing the best search results and other information, not by creating its own proprietary data processing tools. Open source software lets companies focus on their goals and spend less time developing their own internal software. A rising tide lifts all boats, and today’s computing giants are viewing open source software as a shared foundation worth investing in and supporting.
A Powerful Paradigm
Open source projects vary by license, by governance model, and by goals. However, they all share a desire to create excellent software that fills needs better than any proprietary solution can offer. Linux and FreeBSD give would-be hardware developers full-fledged operating systems to build new systems on; TiVo, for example, could use the Linux kernel to create their famous DVR system instead of having to craft their own operating system or license a proprietary one. IBM, HPE, and other enterprise companies can sell support for their open source solutions, and companies of all sizes can experiment with virtualization and other modern solutions without having to deal with complex licensing agreements. Economic models are based on scarcity, but software is effectively free to copy. Perhaps its no surprise that the open source development model, which takes advantage of this, is dominant today and appears to be poised for even more growth.