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.

16 of 469 comments (clear)

  1. Re:Who says it succeeded? by Anonymous Coward · · Score: 1, Informative

    Nobody will upvote you 'cause 'teh linux rules, android is proof!!!11' but you speak the truth. At least for those of us who do real work on computers.

  2. Re:Cuz Minix Dude Was A Old Guy by rubycodez · · Score: 5, Informative

    Linux is not a copy of Minix, the code is quite different.

  3. Re:Meh by pla · · Score: 4, Informative

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

    As opposed to today, when... We still have no HURD, and people stopped waiting a decade ago?

  4. Thank AT&T lawsuit by Billly+Gates · · Score: 3, Informative

    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.

  5. Re:Snowball effect by steveha · · Score: 4, Informative

    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.

    --
    lf(1): it's like ls(1) but sorts filenames by extension, tersely
  6. Re:Cuz Minix Dude Was A Old Guy by Lord+Apathy · · Score: 4, Informative

    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.

    I will go with this. When I reported a bug in the Amiga version of bsd that was causing issues in machines with 4mb of memory. The response from the bsd admins was "well get more memory." I'm intoning it politer here than they responded with too. I interpreted it as "fuck off", which I did.

    On the other hand the lead developer of the Amiga 68K kernel, I can't find his name, was very friendly in his emails to me.

    --

    Supporting World Peace Through Nuclear Pacification

  7. Re:Author makes ignorant statement by Anonymous Coward · · Score: 3, Informative
    "Funny NeXT could take the Mach that GNU HURD mishandled and make a working core for their BSD variant."

    There, FTFY.

  8. Re:Cuz Minix Dude Was A Old Guy by steveha · · Score: 5, Informative

    Linux is not a copy of Minix, the code is quite different.

    Yes. Linux and MINIX are both *NIX-style kernels. But MINIX uses a microkernel design while Linux is a monokernel.

    Professor Tanenbaum famously told Linus "Be thankful you are not my student. You would not get a high grade for such a design :-)"

    https://groups.google.com/forum/?fromgroups=#!topic/comp.os.minix/wlhw16QWltI%5B1-25%5D

    So anyone who claims that Linux is a "copy" of MINIX really doesn't know what they are talking about.

    --
    lf(1): it's like ls(1) but sorts filenames by extension, tersely
  9. Re:The GPL by Anonymous Coward · · Score: 5, Informative

    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.

    And how many of them are dependent on other systemd-* or multiple other systemd-* for functionality or require the systemd PID 1?

  10. Re:Snowball effect by Chris+Mattern · · Score: 3, Informative

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

  11. Re:The GPL by tristes_tigres · · Score: 3, Informative

    Try "all of them"

  12. Re:Cuz Minix Dude Was A Old Guy by squiggleslash · · Score: 5, Informative

    I think the AC was just confused as Linux's origins are related to MINIX, even if it isn't a clone or shares any code.

    From memory, Linux was Torvald's response to the fact MINIX remained a 16 bit operating system. Impatient, Torvald's created the Linux kernel presumably in part because he wanted to create a kernel, but in part to solve the missing 386 Minix issue.

    The two were related, but no code from MINIX was present in Linux. As an example, the original Linux file system was a re-implementation of the MINIX file system. Linux's ext family of file systems came later. Early Linux based systems ran the MINIX userland, but this was replaced early on with GNU. It was the replacement with GNU that meant Linux could legally leave the MINIX community and become the kernel of a standalone operating system.

    IIRC Linus's original announcement was on the MINIX mailing lists too.

    --
    You are not alone. This is not normal. None of this is normal.
  13. Re:Meh by amiga3D · · Score: 3, Informative

    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.

  14. Re:Meh by danbob999 · · Score: 3, Informative

    It's exactly by being more "permissive" that users of BSD software do not contribute back to the upstream project. GPL kind of forces them to do so (if they want to distribute their modified software, they have to release the sources, so you might as well contribute to upstream). It's part of the reason why Linux succeeded even though many BSD alternatives were viable at the time.

  15. Re:Cuz Minix Dude Was A Old Guy by sg_oneill · · Score: 5, Informative

    No it wasn't that. Andrew Tannenbaum had no intention of using Minux as a general purpose OS kernel like people wanted it to be. He wanted it to be a teaching kernel and thats all. He didn't accept patches for the most part because he wanted it to remain simple enough for an undergrad student to completely understand (I know that because my WANG hard drive patch couldnt be accepted because of that very reason). Even patches to add networking where rejected.

    --
    Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
  16. Re:Cuz Minix Dude Was A Old Guy by Anonymous Coward · · Score: 5, Informative

    The paranoia around the license might be something; the effects your describe is a misconception on your part, but it is a shared misconception, so it does affect people's behavior.

    However, what I think is most important was initial hardware support.

    FreeBSD and Linux got a different amount of users in the early times, when Linux had more low-end hardware support (IDE disks, missing FPU, low end network drivers by Donald Becker), and gained a lot of marketshare when the ATT lawsuit was happening.

    After that, Linux and FreeBSD grew at the same exponential rate for many years, with FreeBSD having the same marketshare. This changed around Linux 2.6. There are several things that happened around then which may account for the loss of FreeBSD marketshare. For example, Matt Dillon (FreeBSD VM system maintainer) helped Linux implement a VM system that worked about as well as FreeBSDs. This had been one of the major selling points of BSD vs Linux. There are also network effects that started being really significant for Linux, as Linux became bigger than all the other Unixes combined. And FreeBSD kept the port system very similar to how it had originally been developed in the mid 1990s, while open source became more intertwined. This made FreeBSD harder to update compared to many Linux distributions, and became seriously annoying around that time.

    Since many things happened around the same time, it's hard to pinpoint the exact reason for the divergence.