You know Linux has been getting soft and Gooey around the edges when there are Unix manuals for Linux users :-)
When I went from Slackware to FreeBSD in 1998, the only document you needed was INSTALL and the hardware compatibility list. In fact, FreeBSD was more posh than slack, it had a curses install and came with a luxurious handbook.
Speaking of which, I absolutely don't miss the days of taking a list of supported devices to the computer shop, and reading the fine print on boxes looking for chipset specs and firmware versions.
I'm running a production server (RAID setup, i7, so decent specs too) with multiple jails, each with their own ZFS filesystem. Honestly, I may be biased since I've been a FreeBSD fan since about '99, but it is really a sysadmin's dream. The system has been rock-stable for years. I'm currently running FreeBSD 8.1-RELEASE. Upgrading from 7 to 8 was not a problem, even from remote.
I'm a fulltime developer, so the less time I spend sysadmining on this system, the better it is for me. Upgrading packages, the kernel and even the jails is a quick job and can be set up to happen automatically.
Considering the high-quality and availability of Linux distributions these days, what are some of the advantages of using FreeBSD over Linux? More specifically, are there any competitive advantages that could be obtained from using FreeBSD over Linux that would outweigh the costs of deviating from the Linux standard on web servers?
At least for servers, FreeBSD is more polished than mainstream Linux (RedHat, Debian, and ancestors), if you ask me. The ports system keeps far more up to date than the typical Linux packaging system and the releases seem to be on a somewhat sane schedule. Of course, Linux is sort of this amalgamation of the kernel and whatever distribution you choose, so the ecosystem is fragmented and lacks the centralized command-and-control that FreeBSD has.
However, I still recommend and use Linux, mainly for support reasons. 7-8 years ago it was more of a toss-up as far as support, because Linux was far less established. These days it's a different ballgame. All the reasons to prefer FreeBSD (network & VM performance, stability, security, etc) are no longer clear advantages when compared to contemporary Linux. You are correct in your assertion that there simply isn't enough benefit to using FreeBSD to weigh out the lack of support both from a community and a hardware perspective.
Also, the Gentoo crowd seems to be similar, at least in spirit, to the FreeBSD folks. While they don't have the same deep integration of kernel & environment, they do have the same values when it comes to clean aesthetics and keeping up-to-date with packaged software.
If you have to ask that question and you're running web servers the BSD's are probably not right for you.
OS choice mainly comes down to preferences, some people like the way the BSD's do things, and some don't. There are some features that Linux has that the BSD's don't and vica-versa (like ZFS support on FreeBSD). But it's probably not going to matter on a web server.
There are a lot of reasons. The ports system has already been mentioned, and some people really like ZFS. More to the point, though, licensing differences ensure that more software (like ZFS) is legally compatible with FreeBSD than with any typical Linux+GNU distribution.
It has also been mentioned that FreeBSD is "a sysadmin's dream". A big part of the reason for this is its userland. The truth of the matter is that BSD tools are often much more consistent and less overly complex, and have better thought out basic functionality and interfaces, than GNU tools.
BSD Unix systems also resist the influence of the GNU project where many Linux distributions do not. For instance, in some distributions you will find far too many pieces of software that have nothing for man pages except a reference to how the real information is in a GNU Info page. The GNU project very much as a "not invented here" problem, where it not only wants to replace everything in the world -- even when it's "free software" -- with something weird and less usable that bears the GNU stamp on it. Meanwhile, the various BSD Unix systems insist on standardized tools and documentation that is easy to use, like man pages instead of Info pages.
Speaking of documentation, that's another good reason to use FreeBSD (or OpenBSD, for that matter). The big BSD Unix systems are among the best-documented OSes I have ever seen, and I have seen quite a few operating systems. Consider the completeness and helpfulness of the FreeBSD Handbook, which is actually one of the best pieces of documentation on the Web even for many Linux distributions, but is even more helpful for FreeBSD (of course).
Also . . . this is not comprehensive, but it might serve as a nice introduction to the whys and wherefores:
In my experience, FreeBSD's greatest asset doesn't fit well on a feature list. It's that it has a different attitude towards change than Linux.
Linux is a diverse ecosystem, with tons of experiments driving it forward. Different package managers, different kernel patches, different userland configurations, different means of administration... and that's a great thing.
FreeBSD is not diverse or experimental. FreeBSD is a deliberately moving beast, that adopts technologies and ideas in a more methodical manner, often after other OS's (OpenBSD / NetBSD / DragonflyBSD / Solaris / Linux / OS X) have proved that the ideas are solid, and lasting, and then it integrates them carefully, so it still looks like FreeBSD (but with some new capabilities, or better performance, or whatever), rather than having drastically different administration mechanisms, or performance characteristics, or anything else.
Personally, I like this stability. I like that it's a platform that once learned, can be largely forgotten about. But that said, it does require learning first, and while it's powerful, it's not shiny or sexy. But even excluding the man pages and documentation, zfs, the pf firewall, and many other things I like about FreeBSD, this is the winner for me. I just love that it doesn't change unless the change is a large win.
The common commands page[0] lists a few translations for package managers. It would be great if someone could add a FreeBSD column to the much more voluminous Pacman Rosetta page[1] (which is intended for Arch users, but provides a helpful matrix for all the common Linux distros).
[+] [-] mahmud|15 years ago|reply
You know Linux has been getting soft and Gooey around the edges when there are Unix manuals for Linux users :-)
When I went from Slackware to FreeBSD in 1998, the only document you needed was INSTALL and the hardware compatibility list. In fact, FreeBSD was more posh than slack, it had a curses install and came with a luxurious handbook.
Speaking of which, I absolutely don't miss the days of taking a list of supported devices to the computer shop, and reading the fine print on boxes looking for chipset specs and firmware versions.
[+] [-] chbarts|15 years ago|reply
[deleted]
[+] [-] sgt|15 years ago|reply
I'm a fulltime developer, so the less time I spend sysadmining on this system, the better it is for me. Upgrading packages, the kernel and even the jails is a quick job and can be set up to happen automatically.
[+] [-] neovive|15 years ago|reply
[+] [-] rbranson|15 years ago|reply
However, I still recommend and use Linux, mainly for support reasons. 7-8 years ago it was more of a toss-up as far as support, because Linux was far less established. These days it's a different ballgame. All the reasons to prefer FreeBSD (network & VM performance, stability, security, etc) are no longer clear advantages when compared to contemporary Linux. You are correct in your assertion that there simply isn't enough benefit to using FreeBSD to weigh out the lack of support both from a community and a hardware perspective.
Also, the Gentoo crowd seems to be similar, at least in spirit, to the FreeBSD folks. While they don't have the same deep integration of kernel & environment, they do have the same values when it comes to clean aesthetics and keeping up-to-date with packaged software.
[+] [-] avar|15 years ago|reply
OS choice mainly comes down to preferences, some people like the way the BSD's do things, and some don't. There are some features that Linux has that the BSD's don't and vica-versa (like ZFS support on FreeBSD). But it's probably not going to matter on a web server.
[+] [-] yummyfajitas|15 years ago|reply
The main thing I can think of is kqueue, but I'd love to see a list of all the features BSD gives me but linux doesn't (and vice versa).
[+] [-] apotheon|15 years ago|reply
It has also been mentioned that FreeBSD is "a sysadmin's dream". A big part of the reason for this is its userland. The truth of the matter is that BSD tools are often much more consistent and less overly complex, and have better thought out basic functionality and interfaces, than GNU tools.
BSD Unix systems also resist the influence of the GNU project where many Linux distributions do not. For instance, in some distributions you will find far too many pieces of software that have nothing for man pages except a reference to how the real information is in a GNU Info page. The GNU project very much as a "not invented here" problem, where it not only wants to replace everything in the world -- even when it's "free software" -- with something weird and less usable that bears the GNU stamp on it. Meanwhile, the various BSD Unix systems insist on standardized tools and documentation that is easy to use, like man pages instead of Info pages.
Speaking of documentation, that's another good reason to use FreeBSD (or OpenBSD, for that matter). The big BSD Unix systems are among the best-documented OSes I have ever seen, and I have seen quite a few operating systems. Consider the completeness and helpfulness of the FreeBSD Handbook, which is actually one of the best pieces of documentation on the Web even for many Linux distributions, but is even more helpful for FreeBSD (of course).
Also . . . this is not comprehensive, but it might serve as a nice introduction to the whys and wherefores:
http://www.over-yonder.net/~fullermd/rants/bsd4linux/bsd4lin...
I wrote a comparison as well, once, but I seem to have misplaced it.
[+] [-] silentbicycle|15 years ago|reply
[+] [-] gbrindisi|15 years ago|reply
And the ports. I love ports.
[+] [-] bapadna|15 years ago|reply
Linux is a diverse ecosystem, with tons of experiments driving it forward. Different package managers, different kernel patches, different userland configurations, different means of administration... and that's a great thing.
FreeBSD is not diverse or experimental. FreeBSD is a deliberately moving beast, that adopts technologies and ideas in a more methodical manner, often after other OS's (OpenBSD / NetBSD / DragonflyBSD / Solaris / Linux / OS X) have proved that the ideas are solid, and lasting, and then it integrates them carefully, so it still looks like FreeBSD (but with some new capabilities, or better performance, or whatever), rather than having drastically different administration mechanisms, or performance characteristics, or anything else.
Personally, I like this stability. I like that it's a platform that once learned, can be largely forgotten about. But that said, it does require learning first, and while it's powerful, it's not shiny or sexy. But even excluding the man pages and documentation, zfs, the pf firewall, and many other things I like about FreeBSD, this is the winner for me. I just love that it doesn't change unless the change is a large win.
[+] [-] kroger|15 years ago|reply
http://www.amazon.com/Absolute-FreeBSD-Complete-Guide-2nd/dp...
[+] [-] xiongchiamiov|15 years ago|reply
[0]: http://www.freebsd.org/doc/en/articles/linux-users/commands....
[1]: http://wiki.archlinux.org/index.php/Pacman_Rosetta