Slashdot Mirror


Why Was Linux the Kernel That Succeeded?

jones_supa writes: "One of the most puzzling questions about the history of free and open source software is this: Why did Linux succeed so spectacularly, whereas similar attempts to build a free or open source, Unix-like operating system kernel met with considerably less success?" Christopher Tozzi has rounded up some theories, focusing specifically on kernels, not complete operating systems. These theories take a detailed look at the decentralized development structure, pragmatic approach to things, and the rich developer community, all of which worked in favor of Linux.

15 of 469 comments (clear)

  1. The GPL by Anonymous Coward · · Score: 1, Insightful

    That and the Unix philosophy.

    1. Re:The GPL by lister+king+of+smeg · · Score: 1, Insightful

      Systemd is a collection of small executables each with a precise goal, in line with the UNIX philosophy.
      Do a "ls -alSrh /lib/systemd/systemd-* /usr/bin/systemd-*" if you want to verify this fact.

      Try running any one of them independently of the rest.
      Just because the program is broken into smaller pieces does not a make it in line with the unix philosophy.
      I can currently run swap out any of the alternate unix util's be they GNU, BSD, Solaris, whatever, Plan9 even utils even.
      I can use OpenRC for my init, dcron from DragonflyBSD for my cron, Dtrace from Solaris, pf packet filter from OpenBSD, and Plan9 user space utilities on any number of kernels including Linux.
      SystemD utils can only be used on one kernal with sytemd as the init. I can't use networkd for examplwith systemV init or openRC.
      Secondly SystemD eschews the unix philosophy that plain text is the universal interface and avoidance of binary format when possible, instead it embraces binary output for its logs for example requiring a yet another component to even be able to read your logs.

      Since you seem be mistaken in understanding what the unix philosophy is you may want to review what the jargon file say about it.
      http://www.catb.org/esr/writin...

      --
      ---Saying gnome 3 is better than windows 8 not so much a compliment as it is damning with light praise.
    2. Re:The GPL by tristes_tigres · · Score: 2, Insightful

      Aaand that is simply false. Why systemd shills won't just stop lying, I wonder?

  2. why no longer afraid of Linux? by mbkennel · · Score: 5, Insightful

    | wonder what finally made the c-levels unafraid of linux?

    time and nobody important being sued

    1. Re:why no longer afraid of Linux? by rubycodez · · Score: 4, Insightful

      HP and IBM acceptance and putting hundreds of millions into Linux R&D research so it could run on their x86-64 servers, midrange (e.g. ibm power systems and HP integrity mid range) and big iron (ibm mainframe and HP superdome)

  3. Snowball effect by steveha · · Score: 5, Insightful

    It's not a big mystery. Linus released a primitive kernel that worked, at the right time, with the right license, and then diligently kept rolling up contributions and releasing the result.

    Expanding a bit:

    While the first release of Linux was primitive, it worked. People hungry for a free *NIX were able to grab it and run it. At the same time, HURD was a big research project; if you just wanted to run *NIX on your own computer, HURD was not at all ready.

    Linus released it at the right time. It was just becoming possible for large numbers of people to get the kernel from him, and to send contributions back to him. Something like Linux might not have worked at all before the Internet and/or BBSs; it would have been too difficult to send releases out and collect contributions of code.

    Linus used the right license. He has said that the choice of releasing under GPLv2 was the best decision he ever made. Arguably a BSD license could have worked as well, but many people have a fear that if they contribute to BSD projects, that evil companies might benefit from their work; with GPL they are comfortable contributing. Also, IBM contributed some code that uses IBM patents; because of the GPL, IBM knew that commercial entities wanting to use the patents would still need to license the patents from IBM. So Linux got the largest possible pool of contributors.

    And then there is the fact that Linus worked hard managing Linux. He collected patches sent by people and rolled them in. These days he writes very little code himself; almost all he does is manage patches. I'm not sure how much code he wrote in the early days, but I think his diligent application of patches sent to him helped Linux to become stable and useful.

    Given all of the above, Linux was a success, and success bred more success (the "Snowball effect"). People who just wanted something that worked could grab Linux as it worked better and better all the time; people who wanted to join an active project joined it as it was the most active project.

    If Linus hadn't released when he did, another project might have gotten the snowball momentum thing going and become the big popular project. But he did, and he worked hard to keep it going, and the result is the kernel that changed the world.

    --
    lf(1): it's like ls(1) but sorts filenames by extension, tersely
    1. Re:Snowball effect by TopSpin · · Score: 4, Insightful

      It's not a big mystery. Linus released a primitive kernel that worked, at the right time, with the right license, and then diligently kept rolling up contributions and releasing the result.

      This is all true and important, but I think it's leaves out the really important part. Linus has good judgement in two critical areas; policy and people.

      You and many others are correct about the timing, license and Linus's willingness to accept contributions without preconditions, and that part of it accounts for the early days. But it could have gone so wrong later and it didn't.

      Had RMS been the shot caller Linux would be a curiosity today. People like him, while well intentioned, can't help but strangle babies in cradles in the name of their agenda. The kernel would be on GPL4 or 5 by now and about the only thing you might be able to use it for is a non-profit operation. The RMS mentality would have precluded set-tops, portables (binary blobs, DRM, etc.) the cloud and many other use cases. The best case would have been "for-profit" forks and then decline.

      Also, Linus doesn't suffer fools. Over the years there have been contributors that, while possessing some talent, were destructive to the process. Linus has reliably kicked them to the curb and kept them from ruining Linux development. It's a simple, unfortunate truth; some people don't play well with others and if they get a foothold in something they ruin it.

      These two aspects of Linus, good and firm judgement about policy and people, have ultimately been the most important because failure of either would have killed Linux long ago regardless of the early enthusiasm. That one person embodies the drive, talent and judgement to take Linux this far while protecting it from the bad ideas and fools that prevail is a small miracle.

      --
      Lurking at the bottom of the gravity well, getting old
  4. Re:WTF? by Anonymous Coward · · Score: 5, Insightful

    Not sure I see your point. While the phrasing is perhaps a bit uncommon, there's nothing grammatically wrong with the headline.

  5. Re:Who says it succeeded? by jones_supa · · Score: 1, Insightful

    Overallocations, OoM Killer, hangs and freezes all because the kernel can't be bothered to keep track of every last bit of it's memory make the Linux kernel a piss-poor substitute for a real UNIX kernel.

    There are other problems in the memory subsystem as well. For example, if you are not using swap and the system begins to run out of memory, it starts throwing out pages of active programs from memory. Very soon they are loaded again from disk when those parts are needed. This causes a disk-grinding circus that feels like swapping.

  6. Author makes ignorant statement by rubycodez · · Score: 2, Insightful

    BSD did not in any sense fail or fizzle, it is ubiquitous in printers, network gear and other appliances. Funny Apple could take the Mach that GNU HURD mishandled and make a working core for their BSD variant. Stallman really does suck at leadership/management/implementation, idea man only.

  7. Re:Cuz Minix Dude Was A Old Guy by ShanghaiBill · · Score: 5, Insightful

    The reason why Linux eclipsed Minix is obvious, since Minix was never more than an educational tool. But why did Linux triumph over BSD? In the early 1990s, FreeBSD was considerably better, more stable, and had a more liberal license. Here are my theories:

    1. FreeBSD required a hardware FPU, at a time when many computers didn't have them.
    2. The AT&T lawsuit put a lot of uncertainty over BSD.
    3. The user communities were very different. Linux users were very open and helpful to newbies. BSD forums were hostile to anyone that didn't already know everything.

  8. Re:Cuz Minix Dude Was A Old Guy by Sique · · Score: 4, Insightful

    The "more liberal" license might be the problem. While the license for the actual code you get is quite liberal, it doesn't propagate. The GPL ensures that there is always more GPLed code, once you start out from a GPL base. The BSD license is in some way an evolutionary dead end, because it is so liberal that it does not guarantee its own propagation. If I want to contribute to a project and want a guarantee that in turn, I have access to the contributions of people who are using my code, I can't rely on the BSD license. A BSD license means that the only development you are guaranteed to get is your own development. Anything else is just by chance. Your code might be useful for lots of other people, but you stand empty. There is no ROI for your development work if you publish something under BSD license. If you publish the same code under GPL, and even a single other developer shows some interest and adds something to your work, you are guaranteed to get rewarded by additional functionality.

    --
    .sig: Sique *sigh*
  9. Re:The kernel was tied to the culture by michael_cain · · Score: 4, Insightful

    Consider the following anecdote:

    Around 1994 or 1995 I was starting an applied research project that needed an oddball sort of network widget. I e-mailed Alan Cox, whose group was handling most of the Linux network staff at the time, describing what I was trying to do. I got an e-mail back the next day that was basically: "Sounds cool! Ethernet sockets might be able to do the job (draft documentation attached). If not, let me know and we can discuss the best place for you to add a hook to the IP stack." Ethernet sockets were sufficient; I had a basic version of the widget up and running after a couple of long weeks; it was impressive enough that mgmt let me run with.

    No way any of the other kernel projects were going to treat me that well.

  10. Re: Cuz Minix Dude Was A Old Guy by Kishin · · Score: 5, Insightful

    He built a teaching OS, a cool ass distributed OS (Amoeba), a good WAN solution on top of it (Globe), and much later the self-healing UNIX-comcompatible Minix 3. That was all while he taught thousands of students how to build shit right. Andy is anything but lazy.

  11. Right place, right time. by Spazmania · · Score: 5, Insightful

    Tozzi overthinks it in the article. The kernel succeeded by being in the right place in the right time and then continuously being good enough that there was insufficient reason for change.

    Linux, the OS not the kernel, was the first mostly complete Unix available on a college student's budget that would install on hardware the college student mostly already had. Right place, right time. Hurd didn't exist in any usable form, Minix and Solaris were $$ and the *BSD's didn't start to release for a year or two later.

    Fast forward four years and when those graduating college students met the Internet bubble, Linux was the server OS they knew. Right place, right time.

    Byeond that it was a game of, "don't eff it up." That's where Torvalds' pragmatism came in to play.

    --
    Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.