31
votes

Some would argue that BSD/Unix has always been more reliable and stable than Linux (not me, of course, don't hurt me!). Why does Linux always seem to beat BSD? Is it the romance of the Linux story? I don't intend to offend anyone, please don't take offense. Also, please be thoughtful and polite in your response.

2

9 Answers 9

64
votes

The historical situation back in the early part of the 1990s had a lot to do with it. At the time BSD unix was 'struggling to be free' and was viewed as the way forward in many circles. Linux did not get a working TCP stack for a couple of years after it came out and the internet was still somewhat rarefied.

  • UC Berkeley and AT&T were engaged in a lawsuit about the ownership of the BSD code, so the future of the 'free' BSD code base was in question. Ultimately UC Berkely won the suit by being able to show large chunks of BSD code in the SVR4 code base. AT&T was suitably embarassed by this and backed down. The UCB people replaced the last of the infringing code with their own work and could release an AT&T free code base.

  • About this time Bill and Lynn Jolitz took the BSD code base and ported it to the 386, creating 386BSD and documenting it in a famous series of articles in Dr. Dobb's Journal.

  • The lawsuit went on for long enough to paralyse the potential BSD community, which could not invest significantly in the code base until the legal uncertainty had cleared.

  • A 'stable' version of Linux finally came out with a working TCP stack.

  • Linux was available under the GPL which reduced the incentive to fork it. This and Linux Torvalds' effective benevolent dictatorship worked to keep the kernel development unified.

  • Several competing forks of BSD grew out of the BSD code base, fragmenting the community.

The relative cohesion of the early Linux kernel development meant that Linux moved forward relatively quickly and ultimately gained the mind share. The entire BSD world stood still while the lawsuit was resolved. Even with lawsuit resolved it still lacked the structural cohesiveness of the Linux kernel development process and split into several forks.

Thus, while BSD was (certainly at that point) more mature and arguably technically superior, Linux got the mindshare - which is pretty much the be-all and end-all of success in any large software market.

8
  • 1
    These observations are clearly 100% spot on, but they are specific to why users and admins chose linux vs bsd. I find it interesting that even in the embedded space, linux dominates. Tivo, wrt, maemo, gphone, pre, f5 -- all these companies had product managers that evaluated linux vs windriver vs bsd vs opensolaris. It is interesting to me that linux still comes out ahead even given GPL "disadvantage" (from the perspective of the company selling a product).
    – chris
    Jul 6, 2009 at 16:45
  • 2
    Let me just clarify the gpl "disadvantage" statement -- it is only that if I incorporate GPL code into my product I take on an added cost of keeping track of it to make sure I don't mix it with other parts of the code (and lose control of those), I have to package and publish those parts of the code, etc. This compared to BSD where I just dump it into my codebase and forget about it. I don't have any real opinion on which license is "better" for whatever ambiguous definition of "better" someone may want to flame on about.
    – chris
    Jul 6, 2009 at 17:21
  • 3
    I fail to see why GPL reduced the incentive to fork. Linus' ability as project manager certainly has a lot to do with Linux' success. There's also the possibility that coding under the GPL was more attractive to independents than coding under BSD, as no megacorps could just appropriate the code, make it proprietary, and profit without sharing. Jul 6, 2009 at 17:47
  • 1
    @chris: many embedded (if you want to call them that) systems use BSD-based stuff. Junipers JunOS is FreeBSD-based, Redback (all of VxWorks?) seems to be NetBSD: "%SYSLOG-2-CRIT: /netbsd: vxWorks is booting!!!!!"
    – Thomas
    Jul 7, 2009 at 6:52
  • 1
    @chris - These issues also affected products using BSD. No widget manufacturer was prepared to risk suddenly finding AT&T banging on their door and demanding royalties. That killed new commercial application of BSD until the suit was resolved. Jul 7, 2009 at 8:28
9
votes

It's mainly a historical thing. Like Windows, Linux happened to be in the right place at the right time and gained market share much quicker than BSD. This caused more drivers and applications to be developed for it, giving it even more momentum.

2
  • So, how did it gain market share so fast? That's the interesting part of the question. Jul 6, 2009 at 17:47
  • When BSD and Linux were both "new"; BSD was much more mature, including a IP stack that even Microsoft used in Windows. BSD however, has ATT's lawyers breathing down it's neck for over a year, and the resolution was mired in NDAs. Even in recent years I've heard people mention the lawsuit whem I'm promoting FreeBSD; like it wasn't resolved 17 years ago.
    – Chris S
    Sep 16, 2010 at 16:57
4
votes

I'll quickly throw up an answer before it gets closed...

But personally, in my somewhat limited experience with Debian, Ubuntu, Redhat and FreeBSD, Linux always seems easier to use and get setup with...

On the other hand, Apple OS X is built off a BSD base, so you might say that BSD is more popular than Linux!

3
votes

Timing. Linux came out for the 386 in August of 1991. The first BSD to come out for the x86 architecture was 386BSD in March of 1992. Furthermore, there was only one Linux. In 1993 BSDi came out for the 386. So, there were, almost immediately, multiple BSDs that requiring users to make a choice. Soon after critical mass took over as there became more ports and drivers for Linux.

3
  • 2
    A year earlier than... what release of BSD exactly?
    – kmarsh
    Jul 6, 2009 at 14:38
  • 1
    386BSD was released in 1992, which was the first i386 port
    – Swoogan
    Jul 10, 2009 at 17:24
  • 5
    "If 386BSD had been available when I started on Linux, Linux would probably never had happened." Linus Torvalds Jul 13, 2009 at 17:45
3
votes

I've been using Linux in some fashion since it first booted with GNU. My first reaction to using it was "Thank &(#*$&# god this doesn't look like UNIX, or MINIX!!"

I think *BSD is just a little too much like UNIX for some people, especially those of us who were so thankful to finally get rid of UNIX in the first place in favor of Linux / GNU.

I am comfortable with any Unix like operating system. I like using Linux / GNU. Part of the fuel that fed the popularity of both Linux and GNU was the chance to change some very annoying things in UNIX.

The standardization wars also sent a great many skilled developers to Linux and glibc, since Linus had POSIX in mind from the start.

Take care to differentiate the kernel of both operating systems from its userland and libc when considering this question. I can't tell you how many people jumped on the Linux / GNU train after libreadline was released, but I bet its a significant amount.

There was also `moral glory' at the time. The GPL stood up for your freedom , which most UNIX refugees really respected. So, when the rush of developers really took shape, the BSD folks were unable to use the code that was going into Linux / GNU due to licensing issues.

In short, you kinda had to be there :)

3
  • 1
    BSD vs GPL... it's another "holywar" i think. Jul 7, 2009 at 0:25
  • Isn't it legally possible to put BSD code into GPL'd code? Jul 7, 2009 at 2:04
  • 2
    This is possible, but not vice versa Jul 7, 2009 at 4:37
1
vote

Linux has more interesting kernel features -- if I want to use openmosix or vmware server, for instance, the linux kernel is the only game in town. BSD has pf and it has zfs, but those aren't as universally interesting.

Linux has a more forgiving userland. The BSDs tend to have a userland that is entirely consistent but without the wacky gnuisms like a version of /bin/false that takes --help as a flag. The GNU stuff is more novice friendly but tends to get in the way of someone who knows exactly what they want.

Also, to a large extent, market forces come into play. Jobs are mostly for linux, not for bsd. Embedded platforms mostly use linux. Fancy new software gets written on linux first, then maybe ported to BSD. Etc...

2
  • 1
    Note that a fair number of server appliances are BSD based (e.g. Coyote Point load balancers)
    – arclight
    Jul 6, 2009 at 15:38
  • 1
    Yes, absolutely there are many appliances based on BSD. The license is more favorable for that sort of application than the gpl. Easy examples include juniper routers and the trapeze wireless network controllers. In the embedded space, though, I do see lots and lots of linux based systems and I suspect that has to do with the RT kernel enhancements in linux. (see my original comment about fancy kernel enhancements in linux vs Xbsd)
    – chris
    Jul 6, 2009 at 16:39
0
votes

These days? More things go to the effort to support the linux than the BSDs. Also, the BSDs have only recently started to put some effort into being friendly to new users. And they're still behind in some technical aspects (note, for example the poor SMP support on OpenBSD).

1
  • 1
    SMP support on BSD is substantially better than it used to be, especially on the FreeBSD 7.x kernels. On the release of 7 they demonstrated benchmarks on an 8-core machine that were as good or faster than 2.6 series Linux kernels. Aug 14, 2009 at 12:10
0
votes

It's about the feeling of ownership. Linux is free and open in every way. Linux belongs to everyone. Just using Linux makes one feel like part of the community. BSD, despite its license, is "owned" by small groups of control freaks with limited visions. They don't really want you to be a part of their group because you are inferior and you might mess up their code.

-4
votes

Because BSD is dying.

Oh.. no, I meant BSD is still dying.

2
  • He's feeling much better now... Jul 4, 2010 at 0:12
  • These presentations are classics, they should be part of any IT educashun :-)
    – DutchUncle
    Jan 20, 2011 at 1:41