Before I answer, I want it on record that I am proponent of Linux. I have used the Red Hat and Caldera versions and have found excellent features of both. However, I am a proponent of all the BSD-based systems because of the history, technology, and the openness of the systems... all the same reasons that I like Linux. Of course I have my biases, which I will explain as I answer this note.
What's the big deal, really? If FreeBSD is so good, why don't
I hear more about it, why don't we hear about Oracle et. al.
porting to it, etc.? Am I missing out on something great?
1) FreeBSD is not as open a development model as Linux and is "less sexy", hence it gets less press (this point is very IMO).
The FreeBSD organization is just that, an organization. Overall, it is really more organized than the Linux "organization." You can find out about all FreeBSD activity from their web site and the points of contact mentioned (see www.freebsd.org). It is a very open development model. However, the FreeBSD people like to make sure there are no parallel development efforts to ensure cleaner releases.
Unfortunately, there are several Linux organizations tracking Linux development and there really is no single coordination effort to make one standard distribution. Other than the kernel, you can see this fracturing (your words) when you look the differences in what you get if you buy a CD from Red Hat, Caldera, SuSE, or the Slackware CD (from www.cdrom.com).
FreeBSD is based on the 4.4BSD source code that was redacted following the consent decree in AT&T v. Berkeley Software Design, Inc. (BSDI) case when AT&T sued BSDi for using unlicensed AT&T source code licensed from UC-Berkeley (sorry, I don't have the case number handy). The Computer Science Research Group (CSRG) at Berkeley got out of the BSD business (after most of their members ran off to BSDi) and published the redacted source code as 4.4BSD-lite (no more licensing requirements). That's when the developers grabbed it and ran.
A big difference between FreeBSD and Linux is the base. BSD has been around since the early 1980s. It was furthered by Dennis Ritchie's sabbatical in Berkeley (I think in 1979) and by the Defense Advanced Projects Research Agency (DARPA) grant to port TCP/IP to Unix. The history is legendary and includes names like Bill Joy (csh, curses, vi) and Mark Horton (sendmail). BSD is older, more advanced, and has superior networking code (based on many performance tests). In fact, when Sun ported System V Release 4.0 to create Solaris 2, they dumped the AT&T/USG/UI/Novell TCP/IP and replaced it with the BSD-based code they were using under SunOS (which came from 4.3BSD-Tahoe) because it was just plain better.
Linux was born when Linus Torvalds started playing with Minix, a very basic system written by Dr. Andrew Tannenbaum. Dr. Tannenbaum developed Minix to teach students about operating systems using "common" PCs. He later published a book using Minix as its base and published the source code. Torvalds worked from a version of this source. It has less of a history, but a sexy one, in comparison - the kind that sells the over abundance of trade rags.
The BSD camp is more fractured than Linux (there's FreeBSD, NetBSD, OpenBSD, etc.) so there's more infighting and there's no glorious leader, so the PR is harder.
FreeBSD is the version that runs on Intel-based processors starting with the 80386. It is very tightly coupled to the "standard" Wintel architecture.
NetBSD is run by a group that saw the strict PC base and wanted the BSD code on more systems. NetBSD supports a lot of different platforms almost seamlessly! The same program you write for your PC-based NetBSD system will run on your Motorola MC68030-based Sun 3, DEC Alpha, MIPS-based SGI, and PA-RISC based HP with a simple recompile. There is no need for a bunch of #ifdef's for the different OS types. One operating system, many architectures!
OpenBSD is the "fractured" group. They were formed when their "leader" got ticked off because of whatever politics he didn't like. I once got his story, but you can read more about it on their web site (www.openbsd.org).
There is no in fighting... at least not any more. :-) There is no "glorious" leader. They don't want one. These people are happy with the organization they have, which seems to be fair to all developers and organizes releases, including their content.
So there's no P.R. However, the "sexiness" of Torvalds story overshadows the real story of BSD. This is why Linux gets all the press. It is NOT because of organization or even technology. If superior technology is the criteria for the amount of press a system gets, then why is Windoze NT constantly in the news?
FreeBSD runs Linux binaries, so there's no point in porting to it. (IIRC, the FreeBSD people specifically state, "don't port to us, we'll just run the Linux binaries.)
FreeBSD is faster. FreeBSD has a lot of mature features that have been adapted by Linux. Most of the network-based innovations really came from BSD-based systems. After all, it's from which Unix-based networking got its start. The fact that FreeBSD can run Linux binaries is a testament to the technology of FreeBSD and the people in charge of putting it together. Think about it... an operating system that can run binaries from another? Gee... why can't Linux run *BSD binaries?
There are more people running Linux, so there's more support (and press, so new users are more likely to start with Linux, so there's more people using Linux...)
I love this type of argument! "There are more people running Linux..." brings about two questions:
So that makes Windoze the best OS on the market?? I guess 10,000 lemmings can't be wrong, eh? (my favorite)
The press comes from the story of Linux's beginnings and the marketing of Linux-based companies like Red Hat, Caldera, and SuSE. Then again, Micro$oft generates more press than Linux could dream of (in the short term).
Sorry, the "popularity contest" is really not a good argument!
The hardware support isn't as nice. I've always wanted to try FreeBSD, but the only machine I had available barfed every time I tried putting FreeBSD on it (ran Linux fine.)
Really???? Until my 486DX/33 died, I had run both Red Hat 4.2 and FreeBSD on separate 1Gb IDE disks. The system ran like a champ! In fact, FreeBSD was installed, with one minor problem, via a ppp-link to ftp.freebsd.org. To be fair, the one problem was because of a quirk in the PPP link to my ISP (Netcom) and the "extensions" they added for Windoze-based connections. However, a quick note to the FreeBSD people and I had a new boot disk image the next day!
I have installed both systems using a CD-ROM (the last being Red Hat 5.0). Although I do have to admit that I might have a current preference for Linux, the FreeBSD install is far superior! It is better than Sun's install procedure the last being the X-based interface under Solaris 2.6). Solaris ranks as very good. FreeBSD's is excellent!!
NetBSD has almost as good an installation procedure as FreeBSD. I last tried it over a year ago on an old Sun 4/110 (an original SPARC-based system). I have never used OpenBSD.
There's probably others, but the bottom line is that *BSD is perfectly viable and supposedly well worth the effort. OTOH, if your Linux system does what you want, why change? I dumped windows because it was too unstable, too slow, and too expensive. Now I run Linux, which is rock-solid, fast, and free. Can *BSD be rock-solider and freer? (Faster's not enough of a reason for me to look elsewhere, even if it were so.)
Even more solid and faster; benchmarks have borne this out.
One of the major reasons that *BSD is not as popular as Linux is because of what it emulates. From the beginning, Linux was programmed to be closer to POSIX-compliant and System V than the BSD-based systems. From a business point of view, if all your vendors are moving to System V (like Sun going from SunOS to Solaris), then running a BSD-based system seems not to make sense. So when the "free" Linux became available and was more System V compatible than FreeBSD, it was easier for the techies to justify Linux to management ("hey man, it's almost like our Sun!" :-).
Although both systems can pass POSIX compliance today, there are fundamental differences in the basis of how they work. There are differences in the kernel, system calls, libraries, system administration, among others. I am not going to say one is better than the other. However, as a long-time BSD biggot (since my days of using 4.1BSD on a VAX 11/780), I can say that I find the System V way of doing things a necessary pain in the rump!
I will give one "solid" opinion: If I had to choose one system that would act as my router, DNS, ftp server, e-mail gateway, firewall, web server, proxy server, etc., that system would run a BSD-based operating system. If I had to choose one system that would act as my desktop workstation, run X, all the application I like, etc., that system would run Linux. HOWEVER, I would have no problem running Linux as my work horse server or running the BSD-based system on my desktop.
BTW: After going through an installation of Caldera OpenLinux with Novell server support, I have a lot of respect for what they did. Caldera is a real nice package and worthy of checking out!