Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Open Source Operating Systems Programming Unix Linux

Why Was Linux the Kernel That Succeeded? 469

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.
This discussion has been archived. No new comments can be posted.

Why Was Linux the Kernel That Succeeded?

Comments Filter:
  • Meh (Score:5, Interesting)

    by Anrego ( 830717 ) * on Wednesday May 06, 2015 @02:47PM (#49631821)

    Amazed that neither the GPL nor the legal uncertainties surrounding BSD at the time (hey, remember those days!) were really focused on, but meh. I think like everything else that became wildly popular in spite of plenty of seemingly equivalent or better alternatives, it just came down to dumb luck and momentum.

    Somehow Linux got the ball rolling, people gathered around it, it gained steam, and here we are.

    • Re:Meh (Score:5, Interesting)

      by TheGratefulNet ( 143330 ) on Wednesday May 06, 2015 @02:51PM (#49631853)

      about 10 or 15 yrs ago, at least in the bay area, people WERE afraid of the linux gpl. I worked at many places that avoided using linux code in their products and we used any form of bsd we could.

      now, I never see bsd mentioned anymore in job ads. its ALL about linux.

      wonder what finally made the c-levels unafraid of linux? the gpl is still the same and we did have gplv2 and v3 back in the old days when bsd was 'the thing to use' for networking boxes.

      • by mbkennel ( 97636 ) on Wednesday May 06, 2015 @02:55PM (#49631901)
        | wonder what finally made the c-levels unafraid of linux?

        time and nobody important being sued
        • by rubycodez ( 864176 ) on Wednesday May 06, 2015 @03:07PM (#49632005)

          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)

        • Re: (Score:2, Interesting)

          by Anonymous Coward

          time and nobody important being sued

          Until CISCO at least. When that happened, the suits went nuts. Where I worked there was a huge initiative to make sure we weren't at any kind of risk of the same thing happening. Every bit of open source we were using was reviewed, a database was created, and a whole process for approving and tracking use of anything we didn't pay for was implemented.

          They became really paranoid about it. For awhile you'd have better luck asking for a piece of software that costs $10k than asking for a BSD licensed tool to d

      • Re:Meh (Score:4, Interesting)

        by danbob999 ( 2490674 ) on Wednesday May 06, 2015 @03:22PM (#49632145)

        about 10 or 15 yrs ago, at least in the bay area, people WERE afraid of the linux gpl. I worked at many places that avoided using linux code in their products and we used any form of bsd we could.

        The success of Linux isn't because of it's users 10 or 15 years ago. It's because of its contributors 10 or 15 years ago (and today). And GPL attracts contributors while BSD push them into forking and keeping their local changes for themselves.

        • That is refuted by the fact that BSD still works fine, and all the modern *nix software runs just fine on either.

          I've been using one or the other since before "10-15 years ago" and that was the case already then, and continues to be the case now.

          What people don't understand about BSD, and most open source, is that nobody actually benefits from users except the users themselves, and people selling services. Contributors mostly contribute for their own reasons, and *nix versions with low numbers of contributo

    • Re:Meh (Score:5, Interesting)

      by sconeu ( 64226 ) on Wednesday May 06, 2015 @03:02PM (#49631959) Homepage Journal

      The GPL and BSD legal uncertainties may have been a part of it, but that still leaves us with the question, Why Linux and not HURD?

      HURD was also GPL and free of the BSD uncertainties.

      • by itzly ( 3699663 )

        There was no HURD at the time, and people got tired of waiting.

      • Re: (Score:2, Interesting)

        by jbolden ( 176878 )

        Hurd was never a viable kernel. It never did much. Moreover micro-kernel design didn't work very well. QNX is really the operating system that got micro-kernels working well and they took it in non-desktop directions. On the XNU (OSX kernel) the kernel has moved more and more monolithic for performance, speed matters. Citrix is doing some interesting work on microkernels so we'll see.

        Ultimately though, it is just too expensive to add even a few extra simple operations to most kernel functions. And

      • Re:Meh (Score:4, Informative)

        by amiga3D ( 567632 ) on Wednesday May 06, 2015 @05:03PM (#49633125)

        I think the main reason Linux grew like it did is Linus Torvalds himself. His attitude as a benevolent tyrant seems to have worked pretty well.

    • by TWX ( 665546 )
      A friend of mine stared playing with FreeBSD, I started playing with Linux that I got on some CDs.

      We both had 486s. He found that he had better hardware support in Linux than BSD, so he switched to Linux.

      The early kernel compliation process (at least as far back as 2.0.0) was relatively friendly. One could use a text-based menu system that worked similarly to how the text-driven installation process for Debian works now, to pick the hardware to support, to pick if the kernel was to be modular or mon

  • I'm surprised he didn't include a "BSD IS DYING, NETCRAFT CONFIRMS IT" in the article.
  • Stone soup (Score:5, Interesting)

    by cant_get_a_good_nick ( 172131 ) on Wednesday May 06, 2015 @02:58PM (#49631927)

    When I was a kid, i read a book called Stone Soup. It was about these guys that wanted to eat, had nothing but a pot. They put in some stones... called it stone soup.

    Eventually people got curious, and added things.. the soup became real. Going from water and rocks, to where real ingredients went in, and the stones just fell away. A seed, but then dropped when something real came.

    I always thought of Linus as a guy who managed the Stone Soup well. It wasn't specially good in .01 version. But he made people want to add to it. The GPL helped some. Linus chose that license, not as a "hey Im a zealot and you need to give me everything you write" but he thought "if people do cool things they need to let me see their cool things"

    That, and FreeBSD had a few handicaps. The biggest one was the AT&T lawsuit. Linus himself once said he'd probably not have bothered with Linux if BSD was clean. The second, BSD had a slower model of improvement. You needed to have the commit bit to do anything constructive. Meanwhile Linus (later Cox) took code from pretty much anyone that made sense. Third, BSD5 had a radical new kernel design that added a lot of complication for threading with little gain. DragonFlyBSD was forked because of this.

    So, IMHO, there were a few things... all of them dented (Free)BSD, and there really wasn't another competitor out there.

  • Snowball effect (Score:5, Insightful)

    by steveha ( 103154 ) on Wednesday May 06, 2015 @03:02PM (#49631957) Homepage

    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.

    • No one outside of RMS shares this extreme ideology. Most of the 1990s usenet groups for software were warez.

      What got Linux to work was AT&T sueing Berkley for those net/2 tapes and directives like FreeBSD off. FreeBSD was already there and working and light years ahead of Linux for a full decade.

    • 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.

      The race is not to the swift, nor the battle to the strong, neither yet bread to the wise, nor yet riches to men of understanding, nor yet favour to men of skill; but time and chance happeneth to them all.

      Then again, once time and chance happeneth, being wise, understanding, and skillful don't hurt.

    • Re:Snowball effect (Score:5, Informative)

      by steveha ( 103154 ) on Wednesday May 06, 2015 @03:48PM (#49632407) Homepage

      A few more comments to expand on the above.

      A project like Linux would not have been possible without the GNU project, most particularly the GCC C compiler. Commercial UNIX releases charged something like $2000 for a C compiler, but thanks to Richard Stallman there was a free C compiler for Linus to use, and Bash and everything else.

      Before Linux was released, MINIX was a popular choice for a free *NIX. But licensing issues tangled up MINIX: to build MINIX you needed to buy Tanenbaum's book, get the source code that came with it, and then apply all the community patches (which had to be kept separate purely for licensing reasons). If Professor Tanenbaum could have released the source to MINIX under GPLv2, and he or someone else had worked as hard as Linus did to collect and apply patches to improve it, maybe MINIX could have gotten the snowball effect going. (Note that MINIX was what Linus was running when he wrote Linux!)

      As others have noted, there was at least one BSD available around the time Linux got going, but there was the dark shadow of a lawsuit and the future of BSD looked uncertain. Linux had the advantage of being all-new code with no legal uncertainty. Absent the lawsuit, maybe BSD could have gotten the snowball going.

    • Also incredibly important on top of that, lots of people had a personal interest it succeeding:
      - Red Hat, Novell etc on the software front.
      - Also companies like HP needed a *nix and BSD was currently engulfed in FUD.

      If you want your product to succeed you're far more likely to be successful when other people can profit as well from your project's success. "What's in it for me?" is the rally cry of any potential investor of time or money. In the case of Linux there was a lot in it for a l

      • Re:Snowball effect (Score:4, Informative)

        by Chris Mattern ( 191822 ) on Wednesday May 06, 2015 @04:30PM (#49632833)

        - Red Hat, Novell etc on the software front.

        Backwards. Linux wasn't successful because Red Hat and Novell got behind it. Red Hat and Novell got behind Linux because it was successful. Red Hat was founded *after* the Linux kernel was first written and didn't become a big corporation until 8-10 years after Linux's first release. Linux grew Red Hat, not the other way around. Novell got seriously involved in pushing Linux even later.

    • Re:Snowball effect (Score:5, Interesting)

      by MrDoh! ( 71235 ) on Wednesday May 06, 2015 @04:12PM (#49632665) Homepage Journal
      That's it, it worked, and the license let it pop up on a few CD cover discs with no hassle. At the time, we were a SCO Unix house, solid, worked, no complaints but the cost wasn't trivial. Still, worked and worked well. Messing about we looked at other unix things, one was.. (going off memory now) MKS Unix I think it was. And... can't recall the other, some 99 quid one that was also rough around the edges. Now, Linux was free, no 'get in touch for commercial reasons' and within a couple of weeks, we got an updated version. The other cheapo unixes we looked at had problems and didn't look like they were being fixed quick. Loading up all our code, and doing a make... it worked. It all flippin worked. Was /really/ scary to see that the compiler was very decent, the headers all included, if it DID need any tweaks, they were so inconsequential that we knocked them out in minutes. Bosses were impressed, but worried about support, and that's why as a company we didn't go official, but all of us said "this is going to dominate one day, it works and works well". But overall... availability/cost was the thing that got us looking at it. Plus, compared to other unix versions, it felt very similar to SCO in it's layout at the time (at least Slakware did, Yggdrasil had better gfx support for the cards I had at the time (Trident...? maybe?) but Slackware was very familiar. Though I'd not have ever expected that one day I'd be lugging a phone around with me that ran Linux at it's core.
    • Re:Snowball effect (Score:5, Insightful)

      by TopSpin ( 753 ) on Wednesday May 06, 2015 @05:24PM (#49633295) Journal

      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.

  • by rubycodez ( 864176 ) on Wednesday May 06, 2015 @03:04PM (#49631973)

    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.

    • Re: (Score:3, Informative)

      by Anonymous Coward
      "Funny NeXT could take the Mach that GNU HURD mishandled and make a working core for their BSD variant."

      There, FTFY.

  • by tsstahl ( 812393 ) on Wednesday May 06, 2015 @03:08PM (#49632013)

    Slackware distribution. Drop the mic.

  • by GerryGilmore ( 663905 ) on Wednesday May 06, 2015 @03:10PM (#49632023)
    While working at Intel, we had a large Linux conference with Linus and a few other noteworthy OSS dudes. Afterwards, while we were all millng around, I found myself next to Linus Himself and asked this very question. My belief was that it was the GPL vs BSD license which forced all changes to at least be available for inclusion in the next version. Linux felt that it was more of a timing thing where Linux just kind of hit at the right time. Who really knows?
  • by aussersterne ( 212916 ) on Wednesday May 06, 2015 @03:12PM (#49632059) Homepage

    I had been trying to afford a Unix installation at home as a CS student. All I knew was the Unix vendors. I was not aware of the social structure of the Unix world, various distributions, etc. I was crawling university surplus lots and calling Sun and DEC on the phone to try to find a complete package that I could afford (hardware + license and media). Nothing was affordable.

    I was also a heavy BBS and UUCP user at the time over a dial-up line. One day, I found an upload from someone described as "free Unix." It was Linux.

    I downloaded it, installed it on the 80386 hardware I was already using, and the rest is history. This was 1993.

    So in my case at least, Linux became the OS of choice becuase it had traveled in ways that the other free Unices didn't. It was simply available somewhere where I was.

    This isn't an explanation for why Linux ended up there instead of some other free *nix, of course, but by way of explaining the social diffusion of the actual files, I saw Linux distros as floppy disks around on BBSs and newsgroups for several years, with no hint of the others.

    For someone with limited network access (by today's standards), this meant that Linux was the obvious choice.

    As to why Linux was there and not the others—perhaps packaging and ease of installation had something to do with it? Without much effort, I recognized that the disks were floppy images and wrote out a floppy set. Booted from the first one, and followed my nose. There was no documentation required, and it Just Worked, at least as much as any bare-bones, home-grown CLI *nix clone could be said to Just Work.

    I had supported hardware, as it turned out, but then Linux did tend to support the most common commodity hardware at the time.

    My hunch is that Linux succeeded because it happened to have the right drivers (developed for what people had in their home PCs, rather than what a university lab might happen to have), and the right packaging (an end-user-oriented install that made it a simple, step-by-step, floppy-by-floppy process to get it up) while the other free *nix systems were less able to go from nothing to system without help and without additional hardware for most home and tiny lab users.

    For comparison, I tried Minix around the same time (I can't remember if it was before or after) and struggled mightily just to get it installed, before questions of its capabilities were even at issue. I remember my first Linux install having taken an hour or two, and I was able to get X up and running the same day. It took me much longer to get the disks downloaded and written. Minix, by comparison, took about a week of evenings, and at the end, I was disappointed with the result.

    • by TheGratefulNet ( 143330 ) on Wednesday May 06, 2015 @04:17PM (#49632723)

      and now, sun and DEC are both long gone and one of them, nearly entirely forgotton. (sad, I worked at both of those fine companies and was lucky to have had the chance to work at such places).

      linux is here, but vax and vms and alpha (and ultrix; I ran ultrix for a while) are all pretty much unknowns today.

      wonder how long linux still remain relevant? I don't see it going away, but then again, I said the same of sun and DEC (and SGI, lets throw them in there, too. yeah, I was there, too, lol.).

  • Licensing, mostly (Score:5, Interesting)

    by swillden ( 191260 ) <shawn-ds@willden.org> on Wednesday May 06, 2015 @03:14PM (#49632065) Journal

    It was because Linux more or less worked, and people could use it and add to it because of the GPL. The competitors all had problems:

    * Minix was cheap but not free, and couldn't be redistributed with modifications. People worked around that by maintaining patch sets, but that was even more painful then than it is now (we have better tools now).
    * The BSDs were in a quagmire of legal uncertainty and competing claims. Nobody knew for sure if BSD was free or not, so everyone assumed it wasn't.
    * Xenix: Not free.
    * Microsoft: Are you kidding me?
    * SYSV: Not free
    * HURD: Didn't work, and had such an elegant architecture that it wasn't clear if it could ever work.

    That was the space when Linus Torvalds started hacking around (except HURD didn't even exist yet). If he'd been able to hack on Minix, he would have. But the license prevented it, so he took the opportunity to start his own. Lots of other people saw exactly the same situation and joined him in hacking on something that (a) worked, more or less and (b) they could hack on.

    It's not that Linux lucked out and the rest of the competition failed. There was no other competition that satisfied the requirements of being free and hackable. It was also important that Linus was an excellent Benevolent Dictator that gave people few reasons to fork. Actually, on that last point it's rather impressive that Linus is still in charge, even after it's become an incredibly valuable property, used and contributed to by lots of megacorps.

    • As with any big success, it seems that the success of Linux must be attributed to multiple factors, of which you make a very good case for some of the most important.

      That said, in "The Cathedral and the Bazaar", a lot of credit is also given to Linus for inventing the Bazaar model of software development.

      I've watched Python carefully over the years, and I think the success of Python can be most strongly attributed to technical factors, that is, the design of Python itself. However, it's also clear that the

  • by jbolden ( 176878 ) on Wednesday May 06, 2015 @03:16PM (#49632089) Homepage

    Fundamentally the BSDs and Linux were on par with one another in the mid 1990s. BSD386 was getting sued and that cost a year but it started ahead. Where Linux thrived though was it recruited from Unix users and Windows powerusers. Linux focused on the ability of Unix users the ability to run Unix at home, and focused on the ability for not particularly good system admins to setup servers. It aimed for ease of use. The BSDs conversely aimed to offer a Unix like environment for Intel/Western Digital Hardware; a free version of SCO.

    Then of course came the licensing issue. Linux was already ahead by 1997. But GPL allowed companies whose primary goal was not to sell software (or at least the software in question) to cooperate safely. It turned out those companies were larger supporters of free software than companies who were making extensions to base packages.

    I think the reason the Linux kernel was successful was that

    a) It was very good on par with the BDS kernels originally
    b) It was tied to the Linux culture.
    c) The GPL

    Linux culture beat the BSD culture. The GPL beat the BSD license. The kernel just went along for the ride originally, though of course it had to be good enough to not hamper Linux-OS. After the initial ride the commercial interest led to greater development for the Linux kernel than other kernels which led to it fitting more uses better and more commercial development and interest.... A self feeding cycle that does make the kernel a winning point for Linux-OS.

    • by michael_cain ( 66650 ) on Wednesday May 06, 2015 @04:07PM (#49632609) Journal
      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.
  • Thank AT&T lawsuit (Score:4, Informative)

    by Billly Gates ( 198444 ) on Wednesday May 06, 2015 @03:19PM (#49632119) Journal

    We would probably be using FreeBSD by now.

    I know because I remember BSD and BSDi back in the 1990s in highschool for running BBSes. MkLinux I kind of heard of but didn't know exactly what it was until the late 1990s when Linux was the only OS.

    FreeBSD was the new myspace and momentum was on GNU/Linux at this stage. In tech you need to be at the right place at the right time. Linux was there when the world wide web became available to the public and BSD unix came out during hte exact same time.

    • If I would have Mod points.
      FreeBSD was/is a good alternative to Linux. It was more mature... However AT&T legal stuff made it a little more risky to go in the direction of Unix. But Linux wasn't Unix, but it was enough like Unix to get the advantage.

  • by Mr D from 63 ( 3395377 ) on Wednesday May 06, 2015 @03:19PM (#49632127)
    Why was Sanders the Colonel that succeeded?
  • Some people may debate me on the easy part, but it was easier that most free OS to install. I tried FreeBSD(or OpenBSD, it was a while ago) but quickly gave up when it wanted me to put in what Cylinder Head Sector to start the partition at and which CHS to end at. Slackware at the time needed you to tell it which CHS to start at, but also told you the first CHS that was free, then it would ask for the size of the partition, telling you the maximum size for the CHS you had chosen.

    Linux took some thought, a
  • The appeal of the cute fluffy penguin coupled with religious angst about the BSD daemon sealed the deal for Linux.
  • by TeknoHog ( 164938 ) on Wednesday May 06, 2015 @03:56PM (#49632491) Homepage Journal
    Due to latitudinal issues, everything that happens in Finland is cool. For instance, our babies eat your marines [semper.fi] for breakfast.
  • Microsoft and IBM ended up in a spat over OS|2 and parted ways. That left IBM very angry at Microsoft and without an x86 operating system. IBM spent $1B on Linux in the early 1990's and made a major marketing campaign out of doing it. They even ported Linux onto their sacred mainframe - the Z-series. This IBM support legitimized Linux and propelled it into becoming what it is today.

  • by account_deleted ( 4530225 ) on Wednesday May 06, 2015 @04:39PM (#49632935)
    Comment removed based on user account deletion

Our OS who art in CPU, UNIX be thy name. Thy programs run, thy syscalls done, In kernel as it is in user!

Working...