I walked into an apartment in Boston on a sunny day in June 1995. It was small and bohemian, with the normal detritus a pair of young men would scatter here and there. On the kitchen table was a 15-inch CRT display married to a fat, coverless PC case sitting on its side, network cables streaking back to a hub in the living room. The screen displayed a mess of data, the contents of some logfile, and sitting at the bottom was a Bash root prompt decorated in red and blue, the cursor blinking lazily.
I was no stranger to Unix, having spent plenty of time on commercial Unix systems like OSF/1, HP-UX, SunOS, and the newly christened Sun Solaris. But this was different.
The system on the counter was actually a server, delivering file storage and DNS, as well as web serving to the internet through a dial-up PPP connection -- and to the half-dozen other systems scattered around the apartment. In front of most of them were kids, late teens to early 20s, caught up in a maze of activity around the operating system running on the kitchen server.
Those enterprising youths were actively developing code for the Linux kernel and the GNU userspace utilities that surrounded it. At that time, this scene could be found in cities and towns all over the world, where computer science students and those with a deep interest in computing were playing with an incredible new toy: a free “Unix” operating system. It was only a few years old and growing every day. It may not have been clear at the time, but these groups were rebuilding the world.
A kernel’s fertile ground
This was a pregnant time in the history of computing. In 1993, the lawsuit by Bell Labs’ Unix System Laboratories against BSDi over copyright infringement was settled out of court, clearing the way for open source BSD variants such as FreeBSD to emerge and inspire the tech community.
The timing of that settlement turned out to be crucial. In 1991, a Finnish university student named Linus Torvalds had begun working on his personal kernel development project. Torvalds himself has said, had BSD been freely available at the time, he would probably never have embarked on his project.
Yet when BSD found its legal footing, Linux was already on its way, embraced by the types of minds that would help turn it into the operating system that would eventually run most of the world.
The pace of development picked up quickly. Userspace utilities from the GNU operating collected around the Linux kernel, forming what most would call “Linux,” much to the chagrin of the GNU founder Richard Stallman. At first, Linux was the domain of hobbyists and idealists. Then the supercomputing community began taking it seriously and contributions ramped up further.
By 1999, this “hobby” operating system was making inroads in major corporations, including large banking institutions, and began whittling away at the entrenched players that held overwhelming sway. Large companies that paid enormous sums to major enterprise hardware and operating system vendors such as Sun Microsystems, IBM, and DEC were now hiring gifted developers, system engineers, and system architects who had spent the last several years of their lives working with freely available Linux distributions.
After major performance victories and cost savings were demonstrated to management, that whittling became a chainsaw’s cut. In a few short years, Linux was driving out commercial Unix vendors from thousands of entrenched customers. The stampede had begun -- and it’s still underway.
Adaptability at the core
A common misconception about Linux persists to this day: that Linux is a complete operating system. Linux, strictly defined, is the Linux kernel. The producer of a given Linux distribution -- be it Red Hat, Ubuntu, or another Linux vendor -- defines the remainder of the operating system around that kernel and makes it whole. Each distribution has its own idiosyncrasies, preferring certain methods over others for common tasks such as managing services, file paths, and configuration tools.
This elasticity explains why Linux has become so pervasive across so many different facets of computing: A Linux system can be as large or as small as needed. Adaptations of the Linux kernel can drive a supercomputer or a watch, a laptop or a network switch. As a result, Linux has become the de facto OS for mobile and embedded products while also underpinning the majority of internet services and platforms.
To grow in these ways, Linux needed not only to sustain the interest of the best software developers on the planet, but also to create an ecosystem that demanded reciprocal source code sharing. The Linux kernel was released under the GNU Public License, version 2 (GPLv2), which stated that the code could be used freely, but any modifications to the code (or use of the source code itself in other projects) required that the resulting source code be made publicly available. In other words, anyone was free to use the Linux kernel (and the GNU tools, also licensed under the GPL) as long as they contributed the resulting efforts back to those projects.
This created a vibrant development ecosystem that let Linux grow by leaps and bounds, as a loose network of developers began molding Linux to suit their needs and shared the fruit of their labor. If the kernel didn’t support a specific piece of hardware, a developer could write a device driver and share it with the community, allowing everyone to benefit. If another developer discovered a performance issue with a scheduler on a certain workload, they could fix it and contribute that fix back to the project. Linux was a project jointly developed by thousands of volunteers.
Changing the game
That method of development stood established practices on their ear. Commercial enterprise OS vendors dismissed Linux as a toy, a fad, a joke. After all, they had the best developers working on operating systems that were often tied to hardware, and they were raking in cash from companies that relied on the stability of their core servers. The name of the game at that time was highly reliable, stable, and expensive proprietary hardware and server software, coupled with expensive but very responsive support contracts.
To those running the commercial Unix cathedrals of Sun, DEC, IBM, and others, the notion of distributing source code to those operating systems, or that enterprise workloads could be handled on commodity hardware, was unfathomable. It simply wasn’t done -- until companies like Red Hat and Suse began to flourish. Those upstarts offered the missing ingredient that many customers and vendors required: a commercially supported Linux distribution.
The decision to embrace Linux at the corporate level was made not because it was free, but because it now had a cost and could be purchased for significantly less -- and the hardware was significantly cheaper, too. When you tell a large financial institution that it can reduce its server expenses by more than 50 percent while maintaining or exceeding current performance and reliability, you have their full attention.
Add the rampant success of Linux as a foundation for websites, and the Linux ecosystem grew even further. The past 10 years have seen heavy Linux adoption at every level of computing, and importantly, Linux has carried the open source story with it, serving as an icebreaker for thousands of other open source projects that would have failed to gain legitimacy on their own.
The tale of Linux is more than the success of an open kernel and an operating system. It’s equally as important to understand that much of the software and services we rely on directly or indirectly every day exist only due to Linux’s clear demonstration of the reliability and sustainability of open development methods.
Anyone who fought through the days when Linux was unmentionable and open source was a threat to corporate management knows how difficult that journey has been. From web servers to databases to programming languages, the turnabout in this thinking has changed the world, stem to stern.
Open source code is long past the pariah phase. It has proven crucial to the advancement of technology in every way.
The next 25 years
While the first 15 years of Linux were busy, the last 10 have been busier still. The success of the Android mobile platform brought Linux to more than a billion devices. It seems every nook and cranny of digital life runs a Linux kernel these days, from refrigerators to televisions to thermostats to the International Space Station.
That’s not to say that Linux has conquered everything … yet.
Though you’ll find Linux in nearly every organization in one form or another, Windows servers persist in most companies, and Windows still has the lion’s share of the corporate and personal desktop market.
In the short term, that’s not changing. Some thought Linux would have won the desktop by now, but it’s still a niche player, and the desktop and laptop market will continue to be dominated by the goliath of Microsoft and the elegance of Apple, modest inroads by the Linux-based Chromebook notwithstanding.
The road to mainstream Linux desktop adoption presents serious obstacles, but given Linux's remarkable resilience over the years, it would be foolish to bet against the OS over the long haul.
I say that even though various issues and schisms regularly arise in the Linux community -- and not only on the desktop. The brouhaha surrounding systemd is one example, as are the battles over the Mir, Wayland, and ancient X11 display servers. The predilection of some distributions to abstract away too much of the underlying operating system in the name of user-friendliness has rankled more than a few Linux users. Fortunately, Linux is what you make of it, and the different approaches taken by various Linux distributions tend to appeal to different user types.
That freedom is a double-edged sword. Poor technological and functional decisions have doomed more than one company in the past, as they’ve taken a popular desktop or server product in a direction that ultimately alienated users and led to the rise of competitors.
If a Linux distribution makes a few poor choices and loses ground, other distributions will take a different approach and flourish. Linux distributions are not tied directly to Linux kernel development, so they come and go without affecting the core component of a Linux operating system. The kernel itself is mostly immune to bad decisions made at the distribution level.
That has been the trend over the past 25 years -- from bare metal to virtual servers, from cloud instances to mobile devices, Linux adapts to fit the needs of them all. The success of the Linux kernel and the development model that sustains it is undeniable. It will endure through the rise and fall of empires.
The next 25 years should be every bit as interesting as the first.