EOF - What Does Linux Want?
Linux is a family of operating systems, all based on the Linux kernel. Each Linux OS is called a distribution, or a distro. There are a plethora of these. DistroWatch lists just the top 100 of a number so large that it invites satire:
Somewhere in California—At 8:30 PDT with the release of Snoopy Linux 2.1 and Goober Linux 1.0, the number of Linux distributions finally surpassed the number of actual Linux users.
“We've been expecting it for some time”, Merrill Lynch technology analyst Tom Shayes said, “but this is a little sooner than most expected. We've seen explosive growth in the number of Linux distributions; in fact, my nephew just put out LittleLinux Chart Tommy Linux 1.1 last week.”
Except, that's not a goof on DistroWatch. It's a goof that ran on April 3, 2000—almost 11 years ago—in BBspot (www.bbspot.com/News/2000/4/linux_distros.html).
So Plethorization (www.linuxjournal.com/content/linux-and-plethorization) has been around for a long time. It is also a virtue of Linux, and of open-source code in general. It reproduces easily by copying (literally), and by adaptation. Distributions that evolve do so by adapting to purposes and improving. Those that don't die off. Thus, Darwin's The Origin of Species is as relevant to code as it is to life.
Species and code are both experimental. Both have genetics. Both differentiate by forking. Both are generative. Both are brutal meritocracies. Improvements that work are what survive and thrive. As Eric S. Raymond explains in The Magic Cauldron, the Linux marketplace is not about what gets sold, but about what gets used.
Linux is a family of code genera and species that grows and differentiates as hackers create and improve code for many different purposes. The result is lots of leaders but no winners, because neither evolution nor plethorization are zero-sum games. The number of Linux distros did not go down when Red Hat was the top distro at the turn of the millennium, nor when Ubuntu moved to the front of the pack during the next decade. Instead, variants emerged.
The Wikipedia entry for Fedora currently lists 19 variants of that distro alone. The Fedora Wiki says, “There are roughly over a hundred distributions based on Fedora.” A DistroWatch search (in October 2010) brings up 38. Ubuntu itself is a child of Debian. Other Debian children include BackTrack, Knoppix, Linspire, MEPIS and Xandros. Grandchildren through Ubuntu and Knoppix alone run into many dozens.
Perhaps the only popular open-source codebase to “win” the market-share battle is the Apache HTTP server. According to Netcraft (news.netcraft.com/archives/2009/08/31/august_2009_web_server_survey.html), Apache has been the top Web server since May 1996 and has hosted the majority of the world's Web sites for most of the duration. But, while Apache still hosts more than two-thirds of the busiest domains, its share of the Web server market has declined since peaking several years ago (as did its main competitor, Microsoft's IIS). Since then, other Web servers also have became popular, even though Apache still leads the pack. But, that sports talk is zero-sum stuff. The fact is, the HTTP server market is a growing pile, not a sliced-up pie. So, although Apache still leads in percentage share, everybody whose numbers grow gets to keep playing. No winners required.
We do, however, see converging as well as diverging development vectors. Although divergence seeks out many problems to solve, convergence zeros in on a single problem. Lately, we have been learning that convergence needs more than a distro, just as an architect needs more than a sturdy set of building materials. This is why we now have Android and MeeGo, two Linux-based operating systems for mobile phones. Neither is listed among Linux distros by Wikipedia or by DistroWatch—because they're not distros. They're a layer up from that.
With Android, Google wanted to provide a complete platform for makers of mobile hardware and software. With MeeGo, Nokia and Intel wanted to do the same. All three know Linux well. It's under most of Google's infrastructure and on top of Intel's hardware. Nokia's early Linux experience was with Maemo, which didn't get much traction, but which also taught a lesson: you need more. We already see where Android is going. In the next year, we'll see if MeeGo does the same. In both, we'll get to see what Linux wants them to do.
That last sentence was informed by Kevin Kelly's brilliant new book, What Technology Wants. The evolution of technology, Kevin says, resembles that of biology by combining three forces. The first two are structural and historical. The third in biology is functional. In technology, however, the third is intentional. In biology, the functional is adaptive: “the relentless engine of optimization and creative innovation that continually solves the problems of survival”. But technology is interested in more than survival. The intentional is open. That is, it is about “human free will and choice”. Thus, “It is the third leg, the collective choice of free-willed individuals, that provides the character of the technium” (Kelly's term for the sum of technology).
As “the collective choice of free-willed individuals”, it's hard to find a better example than Linux. What Linux wants, as a collective choice, is made clear by the distinction in kernel development between “kernel space” and “user space”, and how the former exists and improves to support the latter. The kernel's purpose is not to make anybody rich, or to make and break companies. (Although it runs in the credits of many who have done those things.) The purpose of Linux is to be useful. That's what Linux wants. That's what everybody who uses it gets. And, that's why the population of Linux uses and users only goes up.
Doc Searls is Senior Editor of Linux Journal. He is also a fellow with the Berkman Center for Internet and Society at Harvard University and the Center for Information Technology and Society at UC Santa Barbara.
Doc Searls is Senior Editor of Linux Journal
|Non-Linux FOSS: libnotify, OS X Style||Jun 18, 2013|
|Containers—Not Virtual Machines—Are the Future Cloud||Jun 17, 2013|
|Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer||Jun 12, 2013|
|Weechat, Irssi's Little Brother||Jun 11, 2013|
|One Tail Just Isn't Enough||Jun 07, 2013|
|Introduction to MapReduce with Hadoop on Linux||Jun 05, 2013|
- Containers—Not Virtual Machines—Are the Future Cloud
- Non-Linux FOSS: libnotify, OS X Style
- Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer
- Linux Systems Administrator
- Introduction to MapReduce with Hadoop on Linux
- RSS Feeds
- Weechat, Irssi's Little Brother
- Tech Tip: Really Simple HTTP Server with Python
- Validate an E-Mail Address with PHP, the Right Way
- Android's Limits
- Reply to comment | Linux Journal
38 min 32 sec ago
- Welcome to 1998
1 hour 27 min ago
- notifier shortcomings
1 hour 50 min ago
3 hours 27 min ago
- Android User
3 hours 29 min ago
- Reply to comment | Linux Journal
5 hours 22 min ago
8 hours 11 min ago
- This is a good post. This
13 hours 24 min ago
- Great, This is really amazing
13 hours 26 min ago
- These posts are really good
13 hours 28 min ago
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?