Why would someone choose FreeBSD over Linux? What are the advantages of FreeBSD compared to Linux? (My shared hosting provider uses FreeBSD.)
If you want to know what's different so you can use the system more efficiently, here is a commonly referenced introduction to BSD to people coming from a Linux background.
If you want more of the historical context for this decision, I'll just take a guess as to why they chose FreeBSD. Around the time of the first dot-com bubble, FreeBSD 4 was extremely popular with ISPs. This may or may not have been related to the addition of
kqueue. The Wikipedia page describes the feelings for FreeBSD 4 thusly: "…widely regarded as one of the most stable and high performance operating systems of the whole Unix lineage." FreeBSD in particular has added other features over time which would appeal to hosting providers, such as
jail and ZFS support.
Personally, I really like the BSD systems because they just feel like they fit together better than most Linux distros I've used. Also, the documentation provided directly in the various handbooks, etc. is outstanding. If you're going to be using FreeBSD, I highly recommend the FreeBSD Handbook.
FreeBSD has a reputation for a more robust network stack. From professional experience at a previous company, we had a proxy server that was falling over from the load. When we threw FreeBSD on it, the server handled the load with ease for well over a year (I moved on - could still be working).
NetBSD has a reputation for running on a ton of different hardware.
OpenBSD has a (well-deserved) reputation for being extremely secure.
It's Unix, it's robust and it's free. No real reason to avoid it, but you'll miss out on the new hotness that the Linuxes tend to have.
I prefer the license philosophy of BSD license vs GPL license. To me, free means do pretty much whatever you want with the code. It's so free you can make it not free like apple did.
Practically it probably has no impact on me, but I prefer it on principle and was one of the reasons I chose to use FreeBSD over Linux.
Another reason is I wanted to tinker, I find when when I use Ubuntu I'm not putting on my unix hat; instead I'm just using the GUI everywhere as if I was in windows (which is not necessarily a bad thing just different).
FreeBSD is an operating system. Linux is a kernel. So in your question you're comparing apples and orange seeds.
Licensing and device support would be my two top reasons why someone would choose one over the other
Here's something I wrote about BSD unix variants in answer to a similar question on serverfault. Broadly, the code base of BSD systems is more tightly controlled than a typical linux distro. You will get something a bit more like a traditional unix and the system is very robust with a more conservative change policy.
If you're a pure open-source shop and not dependent on any commercial software like Oracle then a BSD unix system will give you a very stable, well understood and controlled software platform, more so than Linux. Most of the historic issues like poor driver or SMP support have been resolved years ago, particularly on mainstream server hardware.
If you want a traditional unix desktop then a BSD unix will give you this as well as any linux distro. If you're after an end-user system you might be better off with Ubuntu or Fedora. Gentoo Linux was based on a derivative of the BSD 'ports' packaging system.
The difference between BSD and Linux distributions dated back to the early days of Unix.
AT&T owned Unix, but due to restrictions it could not compete in the computing industry. Due to this, they licensed Unix to Berkeley. Berkeley took off with this customizing and tweaking everything until eventually there was no AT&T code really present in their new OS, named BSD (Berkeley Software Distribution.)
Enter a bit later, Linus Torvalds was in an Operating Systems class working with an incomplete Unix clone called Minix, which was meant to train students in building an OS. Linus took off with this idea and founded the Linux branch.
Now my experience lies more with OpenBSD, and from that perspective the difference is staggering. It's been mentioned that OpenBSD is more secure, with only 2 exploits in its history it's earned that right.
The founder Theo de Raadt believed that security should be a primary focus and that many Linux and other BSD systems were not dedicated to writing good code, and instead focused too much on adding new features just to add them.
OpenBSD has a release schedule of 6 months, anything that cannot be implemented fully and securely within that time period is not added. Compared to Linux distributions like Ubuntu, who never test a danged thing before releases, this is a huge key to peace of mind for many sysadmins and server ops.
Like @User, I prefer the BSD license and is the main reason I use it as my primary OS.
I'm in no way against the GPL, but if a MIT/MIT-like licensed app is available, I will use it first over a similar application that is GPL'd.
It's so free you can make it not free
That's very attractive to the business-oriented, as well as users such as myself.
The Ports system is beyond compare (IMNSHO) and has been a model for imitation by several Linux distros (Gentoo comes immediately to mind).
Also, because FreeBSD isn't as prevalent on the desktop as Linux (PC-BSD is a fabulous), my inner geek has to use it as my desktop OS. I can't help it.
So far, there isn't anything on Windows that Linux can't do, and anything on Linux that FreeBSD can't do. ...and that includes Flash - without running under the Linuxulator: gecko-mediaplayer+Firfox+GreaseMonkey+Linterna Magicka.
Copyright 1992-2012 The FreeBSD Project. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE FREEBSD PROJECT ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of the FreeBSD Project.
For a long time, FreeBSD's 'ports collection', which means the software available for it through its package manager, was bigger and better than what was in the Linux repositories. I would imagine that's not true now, although i don't know of any statistics.