Please consider subscribing to LWN Subscriptions are the lifeblood of LWN.net. If you appreciate this content and would like to see more of it, your subscription will help to ensure that LWN continues to thrive. Please visit this page to join up and keep LWN on the net. |
Once upon a time, Unix was the up-and-coming operating system that was the future of computing. But something happened on the way to world domination, and, while Unix was certainly a commercial success for many years, it has mostly been supplanted by other things - including Linux. It has often been said that Linux cannot suffer the same fate that brought down Unix, but it is worth thinking about whether that is really true.
Unix had been growing in popularity for many years before its commercial explosion, but the key to its commercial success was a new wave of low-cost workstations that quickly pushed aside centralized minicomputers. These workstations ran an operating system that was, in many cases, nearly identical to the one found on the larger systems, but they were smaller and cheaper, to the point that they could be deployed on the desktops of individual employees. Several vendors jumped into that market and the related market for storage and compute servers.
The problem is that each of those vendors had its own variety of Unix. All of the Unix variants may have had some sort of common heritage, but, by the time they showed up on deployed systems, they were quite different. Heterogeneous networks of Unix-like systems posed challenges for system administrators, developers, and users alike; each new system type brought its own set of quirks, bugs, and misfeatures to deal with. As the various Unix implementations diverged, they became increasingly obnoxious to deal with. As a result, many groups tried to standardize on a single vendor, hoping that they had chosen the right one.
Either that, or they moved to those cheap new PC systems which, at that time, did not run Unix in any convincing way. But they did run DOS (and, eventually, Windows), and, once you got them running, they were all the same. Packaged software became readily available, and, by the mid 1990's, it became increasingly clear that the desktop systems of the future were not going to run Unix. Discouragingly, almost all of the Unix workstation vendors were making deals with Microsoft and announcing that future workstations (and servers) would run NT instead. It was a dark time.
It is fair to say that Linux saved the world from an all-Windows future that was rapidly approaching. Almost since the beginning, though, critics started to say that Linux would fragment just as badly as Unix did; indeed, they predicted that the situation would be even worse. How could things stay coherent, after all, without a benevolent corporate overlord to keep fragmentation from happening?
But that fragmentation did not happen. Lots of distributions exist, but they have all followed roughly the same course and, for the most part, do not differ by all that much. Efforts like the Linux Standard Base and Filesystem Hierarchy Standard have helped in this area. Arguably, a strong focus on avoiding proprietary drivers and basing every distribution on something close to a mainline kernel has helped even more. Moving from one Linux distribution to another can be mildly disorienting for a brief period, but the administration skills are mostly the same, the software still mostly works, and one comes up to speed relatively quickly. Linux has not suffered the fate of proprietary Unix, or even the fragmentation seen in the current free Unix distributions.
But that situation may be changing. An obvious example is Android which, while being based on a Linux kernel, is hardly recognizable as Linux otherwise. Other mobile distributions—MeeGo, Tizen, webOS, etc.—may differ less from "standard" Linux, but they still don't look much like the desktop on which this article is being written. Enterprise distributions increasingly emphasize their own special features - see Oracle's addition of features like Ksplice and Dtrace, for example.
Most recently, we have seen Ubuntu seemingly determined to diverge from other Linux distributions. In particular, the recent announcement that Ubuntu would not move to systemd has led to some charges that they are fragmenting the Linux ecosystem. Such charges do not ring fully true: remember that upstart was there first and was in use by a number of distributions before those distributions (not Ubuntu) switched to something newer and shinier. But, with developments like Unity, Ubuntu does show signs of wanting to be its own world, increasingly removed from the rest of Linux. It is becoming harder for a user of another distribution to sit down at a Ubuntu system and quickly feel at home.
So one could argue that we are heading into a repeat of the Unix wars. It is noteworthy that the word "Linux" does not appear on the ubuntu.com front page; its absence from android.com, instead, has lost its ability to surprise. Distributions were once promoted as a superior form of Linux; now they are given an identity as a separate operating system altogether. Linux, one could say, is just a set of components that a company grabs to build its own special operating system.
That said, there are a couple of things to keep in mind, starting with the fact that the amount of shared code is still high and likely to remain that way. The notable exception, of course, is Android, but that may well be the exception that proves the rule: only a company with the financial resources of Google can hope to take on responsibility for that much code and hope to maintain it over the long term. For most other companies, the cost of going it alone will simply be too high; economics will tend to place an upper limit on how much divergence we will see. That divergence may grow as projects try to do things that Unix-like systems have never done before, but it can also be expected to shrink as the best solutions win and are adopted by others.
The other relevant point is that the computing environment as a whole is becoming far more diverse. A world that was once made up of "desktops" and "servers" now has a far wider variety of computers, most of which are not marketed as such. It seems natural that the Linux that runs on a traditional desktop will be quite different from the Linux that lives on a phone handset, a television, or a logic analyzer. We are not necessarily seeing destructive fragmentation; instead, we're seeing the flexibility of Linux as it easily adapts to a wide range of uses.
In summary: it is probably too soon to declare that the Unix wars have come to Linux. Every Unix was different because vendors felt the need to differentiate their offerings and lock the customer in. Linux vendors, too, are trying to differentiate, but they are doing so (mostly) with free software, which limits how effective such a strategy can be. If Unity truly ends up taking the world by storm, other distributions can ship it overnight. As long as the software remains free, Linux, as a whole, will be as unified as it needs to be.
The return of the Unix wars?
Posted Apr 26, 2012 4:27 UTC (Thu) by neilbrown (subscriber, #359) [Link]
The return of the Unix wars?
Posted Apr 26, 2012 15:45 UTC (Thu) by joey (subscriber, #328) [Link]
Is systemd unix?
Posted Apr 26, 2012 5:07 UTC (Thu) by ebiederm (subscriber, #35028) [Link]
We have had a lot of strange developments over the years. Udev has gone from being the great tool of userspace device name policy to the daemon that oly changes the permissions on devfs device nodes. What???? That isn't what we agreed to.
When looked at from a certain light the choices of the systemd developers are not at all in the unix tradition, and there seems to be disdain for the unix tradition of doing one thing and doing it well. Furthermore systemd seems to be rewritting so many things so fast that we are losing hard won lessons from our history.
Will RHEL7 based on systemd and gnome3.x and Wayland be unix? Will it run my old unix applications? We have seen enough disdain for backwards compatibility that I am in serious doubt.
On the flip side there are a lot of stories of running a normal arm distribution in a chroot on arm phones that it seems clear there is still one kernel pulling these things together.
Every distribution has a libc.
So I expect we will continue to have the ability to run each others binaries if we care and open source is still an ideal so the differences do not look like the propritary lock in of the unix wars but more like the divrsity that leads to new and better solutions that we can still pick a best of breed out of. So I don't see this as a return to the unix wars but as something new and different in this world.
I do worry about the scrapping of evolutionary change, and instead this great jump
into revolutionary change that has left me unable to find a non-buggy desktop except debian stable. Last I looked our latest and greatest things suck. Perhaps somewhere in this grat diversity someone will get it right.
Is systemd unix?
Posted Apr 26, 2012 7:27 UTC (Thu) by drago01 (subscriber, #50715) [Link]
Actually you got this one backwards ... a rewrite does not lose you any "hard won lessons from history" but it allows you to not repeat mistakes made in the past (i.e the opposite).
Is systemd unix?
Posted Apr 26, 2012 7:41 UTC (Thu) by ersi (subscriber, #64521) [Link]
It's all about the frame of mind when rewriting whatever code we're referencing to.
If you're rewriting to just throw out the past, you're in my opinion likely to not care what the current code does in detail. Which likely ends up with "new" history lessons coming - when you need to iterate over this rewrite and fix stuff you didn't think about.
If you're rewriting a section/whole program to merge/extend it, I think you're more likely to try to get a good grasp of what it does to a larger extent and keep bug fixes and quirks while baking new code and refactoring some old code.
Is systemd unix?
Posted Apr 27, 2012 22:24 UTC (Fri) by yoe (subscriber, #25743) [Link]
Is systemd unix?
Posted Apr 26, 2012 8:22 UTC (Thu) by ebirdie (subscriber, #512) [Link]
The above comments are excellent additions (in lack of a better word to addition) forcing me to comment.
tajyrink brings me to a question in the importance of brands, why there isn't yet a brand for Linux/FOSS technologies to apply for by manufacturers? The brand could use the ideas and message, what Microsoft has used for ages: "based on NT technology", "based on Microsoft technologies". I don't remember exact wordings from Microsoft and can't go after them right now, but similar approach/message with an example like "build on tried and true FOSS tech with Open Source ideals" could be useful.
ebiederm expands the view excellently above. There must be hundreds examples fitting to conversation and I'd like to bring my latest concerns from Open Source/Linux storage technologies. About five years ago I was wondering and asking the same questions, what Russell Coker asked in his blog this year: Reliability of RAID. Russell has concluded that ZFS and BTRFS are the way of future in storage. I agree on his concerns, how to be sure that data sitting on platter stays valid and how to detect, when the underlaying piece of technology starts to melt down. But I don't agree on his conclusions that stuffing everything to file systems is the right thing to do. I like the Unix tool approach here as well and that is what I see in current crop of storage technologies in device monitoring with technologies like smartmon / LVM / MD software RAID / file systems / some application level data integrity tools for data integrity / object storage solutions / network storage solutions. That is quite a bunch of technologies to play with and they don't play THAT well together eg., what I can tell from experience, slicing and dicing file systems ie. resizing them with LVM tools has not worked for me out of the box. I think it is not to blame LVM developers, but a sign of problem in Open Source technology community working as a whole producing a coherent working storage stack by the Unix tool approach. In sense of unix tool concept I find the storage stack lacking pipe, stdin/-out, regular expressions and argument syntax/semantics enabling the stack glued together by seemingly independent projects like LVM or MD. In this respect I see ZFS and BTRFS very appealing practical solutions. I hope my readers can see my point in looking at the whole and not derail from details.
In my wondering about RAID and its purpose I concluded that it is not RAID's job to care about data integrity but to provide continuance and uninterruptibility in case of maintenance or disaster. Some other tools must do the job detecting signs of rising problems, identifying the problem to a disk or a controller and either issuing hot-replace event to RAID subsystem or a warning to system logs for admin to spot for action.
In the above I must place my thanks to Neil Brown's articles both here at LWN.net and in his blog.
Is systemd unix?
Posted Apr 26, 2012 14:52 UTC (Thu) by drag (subscriber, #31333) [Link]
In what way does Wayland or SystemD break legacy applications?
I see a lot of people throwing around terms like 'Unix way' and things like that, but I don't see it. I don't see it at all. Same thing people talk about the portability of using init scripts and such. I don't see that at all either.
The scripts and commands that I use to managing the start up of processes is different from Redhat to Debian. They are also different from what FreeBSD and OpenBSD use and they are different then what I see in Solaris. All of it it is very different.
SystemD still supports legacy scripts just as well as anything else ever did. Wayland will happily run all your X applications. etc etc.
I mean when Perl came out did people complain that it wasn't 'Unix'. That it wasn't 'do one thing and do it well' and that it was a conglomeration of different approaches in a generic multipurpose language and abandoned much of the pipe-passing and shell utilities and all that?
Is systemd unix?
Posted Apr 26, 2012 18:03 UTC (Thu) by rfunk (subscriber, #4054) [Link]
The complaint is that systemd doesn't just take over for the old init system. It's also taking over for the old inetd, udev, syslog, and probably others. The "Unix" way is not to try to do too much in one subsystem or process, so this consolidation makes people nervous.
"The scripts and commands that I use to managing the start up of processes is different from Redhat to Debian. They are also different from what FreeBSD and OpenBSD use and they are different then what I see in Solaris. All of it it is very different."
I've run all of those systems, plus Ubuntu and some others (both Linux and commercial Unix) better forgotten, in the last 15+ years, and all but the BSDs have let me do "/etc/init.d/foo start" and "/etc/init.d/foo stop" to control daemons. (Since the advent of upstart, Ubuntu complains about it, but still does it.) And all but the BSDs have allowed basically the same procedure for making a daemon start on bootup (which minor variations in directory structure and runlevel definitions). All of it is very similar.
"I mean when Perl came out did people complain that it wasn't 'Unix'."
Actually people did, a bit. Ever heard the term "Swiss army chainsaw"? But they still used it. Eventually Perl embraced modularity, however, as have its many successors.
From my perspective, it seems like systemd is being pushed before it's widely considered ready to take over such fundamental tasks. Wayland is not yet being pushed, and seems to be trying to address the concerns first. Of course, Wayland has an advantage of trying to replace something that was already trying to do too much, and possibly even reducing the scope slightly.
Is systemd unix?
Posted Apr 26, 2012 18:25 UTC (Thu) by dlang (✭ supporter ✭, #313) [Link]
sometimes they are 'considerate' enough to allow us to continue to run the old software, but only as a second class citizen doing whatever the new software allows it to do.
Is systemd unix?
Posted Apr 26, 2012 18:45 UTC (Thu) by jspaleta (subscriber, #50639) [Link]
Oh and...get off my lawn.
-jef
Is systemd unix?
Posted Apr 26, 2012 23:41 UTC (Thu) by trulyexcitingnickname-dontuthink (guest, #84181) [Link]
udev launches gpsd, it is also used to tag devices for systemd's new automatic multiseat features
I think you are mistaken
Linux vendors have learned marketing
Posted Apr 26, 2012 6:18 UTC (Thu) by tajyrink (subscriber, #2750) [Link]
My take on this differentiation and branding was roughly that Linux vendors are finally learning ways to do marketing to consumers:
The return of the Unix wars?
Posted Apr 26, 2012 8:31 UTC (Thu) by Seegras (subscriber, #20463) [Link]
I consider this rather troubling. (Hear me, Ubuntu Linux? Because if you're insisting in not being associated with Linux, we'll be dropping you for a Linux. Debian GNU[1]/Linux to be precise).
[1] GNU mentioned here because Debian does it itself, not because RMS insists.
The return of the Unix wars?
Posted Apr 27, 2012 4:32 UTC (Fri) by tajyrink (subscriber, #2750) [Link]
The return of the Unix wars?
Posted Apr 29, 2012 19:22 UTC (Sun) by blitzkrieg3 (subscriber, #57873) [Link]
The return of the Unix wars?
Posted Apr 27, 2012 17:41 UTC (Fri) by cjwatson (subscriber, #7322) [Link]
The return of the Unix wars?
Posted Apr 27, 2012 20:00 UTC (Fri) by jspaleta (subscriber, #50639) [Link]
As the world's leading critic of all things Canonical...
I really don't understand why Canonical gets picked on for this particular issue of high level branding. I've probably engaged in it as well at some point in the past. And to the extent that I've done it or encouraged other people to do it, I apologize. On examination, it's a highly irrational and subjective criticism which has been shown cannot be fairly applied.
For example Debian currently doesn't list "linux" on its top level homepage and bills itself as the universal operating system. I don't see the hand wringing over that choice of branding. Not everyone is thrilled with the complexity of Debian offering bsd and linux kernels, but noone is really making it a point to beat them up about choosing to downplay their important role as a "linux" distribution ecosystem.
So with that said, what I believe is happening is that such criticism is generally misdirected frustration over other aspects of the Ubuntu/Canonical/community relationship that a person is having trouble identifying and communicating.
-jef
The return of the Unix wars?
Posted Apr 28, 2012 11:29 UTC (Sat) by juliank (subscriber, #45896) [Link]
'Updated Debian GNU/Linux: 5.0.8 released'
'Debian 6.0 "Squeeze" frozen'
'Updated Debian 6.0: 6.0.1 released'
This started shortly (Aug 6) after I more or less started a discussion on the German IRC channel (Aug 3). This was then also retrofitted on 5.0 update announcements:
"Updated Debian 5.0: 5.0.9 released"
I think it is important for a project that runs on multiple kernels to not mention one kernel on the homepage and not the others. The removal of Linux from various places is correct in the Debian case.
The return of the Unix wars?
Posted Apr 28, 2012 0:26 UTC (Sat) by paravoid (subscriber, #32869) [Link]
Take for example this (random, not representing Canonical nor Ubuntu afaik) guy:
http://randall.executiv.es/know_your_names
"Ignore for a minute that Ubuntu is not "linux", any more than your friend's Toyota Camry is a 2AZ-FE."
The return of the Unix wars?
Posted Apr 28, 2012 0:34 UTC (Sat) by dlang (✭ supporter ✭, #313) [Link]
The return of the Unix wars?
Posted Apr 26, 2012 10:14 UTC (Thu) by nhippi (subscriber, #34640) [Link]
The return of the Unix wars?
Posted Apr 26, 2012 10:30 UTC (Thu) by faassen (guest, #1676) [Link]
All of these have neat ideas in them; for instance yum on Fedora has an extension that allows one to download diffs instead of full binaries, something I didn't see in Ubuntu.
So I figure this fragmentation is both a strength and a weakness. I do think that it's worrisome that Ubuntu seems to be pulling away from the rest, but perhaps that's mostly perception and not technical reality; Fedora has introduce lots of new stuff too, for instance. I hope and expect that in a few years we'll see some more coming together of solutions again. Let's hope pride and stubbornness and NIH doesn't get in the way then; people do tend to dig themselves into defensive positions.
The return of the Unix wars?
Posted Apr 26, 2012 21:34 UTC (Thu) by marcH (subscriber, #57642) [Link]
The return of the Unix wars?
Posted May 3, 2012 15:04 UTC (Thu) by bronson (subscriber, #4806) [Link]
The return of the Unix wars?
Posted May 3, 2012 17:48 UTC (Thu) by marcH (subscriber, #57642) [Link]
IMHO this is the key argument. Yet it's just the last sentence.
> When talking about free software is there always a need to call out the GPL individually, even in short articles?
Only when talking about fragmentation, which is one of the thing the GPL effectively prevents. There was a lot of open-source code involved in the Unix wars - none GPL.
PS: I did not write "barely" either.
The return of the Unix wars?
Posted May 3, 2012 19:57 UTC (Thu) by bronson (subscriber, #4806) [Link]
The GPL effectively prevents fragmentation? Are you sure? The gcc and glibc projects provide evidence to the contrary. And I notice quite a number of GPL-licensed OSes out there; not everybody is contributing to the Hurd or even contributing back to Linux. Free software tends to make fragmentation easier to solve, definitely, but why does the GPL stand out above any others?
PS. barely is the second-to-last word you wrote. ?
The return of the Unix wars?
Posted May 4, 2012 22:02 UTC (Fri) by clump (subscriber, #27801) [Link]
There are plenty of examples where software under non-reciprocal licenses like BSD has been incorporated into proprietary software. GPL violations certainly occur, but the nature of the license ensures your fork can't eclipse the original simply by hiding your changes.
The return of the Unix wars?
Posted May 5, 2012 1:21 UTC (Sat) by bronson (subscriber, #4806) [Link]
Whether some licenses are better than others at solving fragmentation is a complex question. How many projects have been started simply to avoid the more onerous restrictions of the GPL? LLVM, Android, etc... would all this fragmentation had happened if these projects were under a more liberal license? Seems unlikely.
So, in the real world, I don't think that it can just be taken for granted that the GPL is the best license for avoiding fragmentation. It's a seriously complex question.
The return of the Unix wars?
Posted May 5, 2012 11:59 UTC (Sat) by marcH (subscriber, #57642) [Link]
I don't think "fragmentation" is the right term when referring to LLVM vs gcc, this is just competition. I agree that fear of the GPL encourages competing against it.
Compared to the Unix wars: - LLVM is not a fork from gcc's codebase; - they do not actively try to be incompatible with each other and achieve vendor lock-in; - the C standard is not under any risk because they compete with each other.
In respect of this discussion "Android" should not be considered as just one project but, as the GPL Android Linux kernel on the one hand and the non-GPL rest on the other hand(s).
The return of the Unix wars?
Posted May 8, 2012 16:13 UTC (Tue) by bronson (subscriber, #4806) [Link]
The return of the Unix wars?
Posted May 8, 2012 16:26 UTC (Tue) by marcH (subscriber, #57642) [Link]
I listed a few factual criteria, what are yours?
> ... on a higher pedestal...
OK you are just trolling. Your question has been answered above.
The return of the Unix wars?
Posted May 9, 2012 18:58 UTC (Wed) by bronson (subscriber, #4806) [Link]
> Your question has been answered above.
Where? Why should Jon have called out the GPL specifically? A little quick to whip out the troll pejorative aren't we?
The return of the Unix wars?
Posted May 9, 2012 19:32 UTC (Wed) by marcH (subscriber, #57642) [Link]
Try harder?
> But, I gotta say, dividing forks into competition and fragmentation groups doesn't seem like a real useful endeavor to me.
It's actually even more than useless: it's off-topic since LLVM is simply not a gcc fork. Another troll attempt?
> Why should Jon have called out the GPL specifically?
Crystal-clear explanation just a few posts above http://lwn.net/Articles/495998/
This is the post which you do not seem to have understood, either because of "mere semantics" problems or, maybe because of some emotional problems with the GPL? ("pedestal...")
> A little quick to whip out the troll pejorative aren't we?
No, not really... You actually sound too smart not to have understood the above explanation. Which means you are only pretending you did not. Bye.
The return of the Unix wars?
Posted May 11, 2012 14:50 UTC (Fri) by bronson (subscriber, #4806) [Link]
The return of the Unix wars? No, API fragmentation was always here...
Posted Apr 27, 2012 9:31 UTC (Fri) by fb (guest, #53265) [Link]
Perhaps it is because I stopped doing sys-admin jobs a long time ago. Sys-admins care about SystemV, SystemD and Upstart. Most Linux users are /not/ sys-admins in the traditional sense (something that I think that is often overlooked at LWN).
The "fragmentation" I've seen in Linux that has been problematic (to me) and that caused me enough frustration to consider migrating to (less fragmented) alternatives are:
* ABI fragmentation across distributions and across releases of the same distribution.
* desktop use pattern and UI fragmentation across releases of the 2 major Linux desktops.
I believe that these two last issues are far more problematic to normal Linux users. The enterprise Linux users AFAIK all use (i) RHEL, (ii) something based of RHEL, or (iii) `roll-your-own-support` Debian. I don't think these folks are seeing any increased "fragmentation".
Does anyone expects (non-geeky) Android users to care about the Kernel it runs on top of more than (non-geeky) wifi-router or Kindle users care about it? People have better things to do with their time. Linux wifi routers, Android phones and Kindles are a success IMO because of their reduced complexity. (Some people do care and they run CyanogenMod or OpenWrt but you can almost call them hobbyists).
The return of the Unix wars? No, API fragmentation was always here...
Posted May 8, 2012 12:58 UTC (Tue) by marcH (subscriber, #57642) [Link]
I can see myself using Cyanogen in the same mode to recover some features disabled by my provider and to get rid of the bloatware they've hardwired into the phone.
I doubt every person jail breaking his or her iPhone is a geek.
Whenever vendors go to far the number of "hobbyists" tend to grow significantly.
"It is fair to say that Linux saved the world from an all-Windows future that was rapidly approaching."
Posted Apr 30, 2012 1:13 UTC (Mon) by mlinksva (subscriber, #38268) [Link]
It seems to me the Unix wars were characterized by companies selling hardware with semi-compatible, proprietary operating systems. Apple is the current avatar of the Unix wars. :-)
(But they may be useful metaphors and lessons for current GNU/Linux to be found in the Unix wars; entertaining thought at least.)
Copyright © 2012, Eklektix, Inc.
This article may be redistributed under the terms of the
Creative
Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds