I've been a big fan of FreeBSD since I first acquired 4.4 on 4 CDs. By that point, I had already spent a lot of time in Linux, but I was always put off by its instability and inconsistency. Once I had FreeBSD installed, it felt like a dream. Everything worked the way it was supposed to, and the consistency of its design meant even older documentation would be mostly applicable without having to figure out how my system was different. There is a reason why in the early days of the Internet, a huge portion of servers ran FreeBSD.

But, that was a while ago. Since then, Linux has matured greatly and has garnered a lot of momentum, becoming the dominant Unix platform. FreeBSD certainly hasn't stood still, however. The FreeBSD team has kept current with hardware support, new features, and a modern, performant design.

Well, GNU/Linux has a lot of hardware drivers but all these drivers are quality drivers? And do you really need that exotic controller on you mission critical server?

Yes, Linux has some 150.000+ drivers and a couple of 100 drivers released every week. There are only so many Linux developers, so they will never be able to update all of them when Torvalds changes the API in the kernel. That is one of the reasons Linux is unstable, unless you are very restrictive with what software you install. If you are on a Long Term Cycle distro, like LTS, and you want to install some kind of software that uses new libraries, you need to upgrade your libraries too. Which forces you to upgrade other software on your system so they can use the new libraries too. etc. This triggers a chain reaction so you have upgraded your entire system. Ergo, LTS does not work. You can only use LTS if you install old software, or, if you hack the software so it uses your old libraries.

So, no, most Linux drivers does not work. When Torvalds upgrades the kernel and changes the API, drivers does stop working. So of these 150.000+ drivers, I wonder how many of them are up to date? Maybe 5%? 95% of the drivers does not work?

http://www.osnews.com/permalink?561858
"...You have 150,000+ drivers for Linux, with a couple of hundred new devices released WEEKLY..how many Linux kernel devs are there again? if you pumped them full of speed and made them work 24/7/365 the numbers won't add up, the devs simply cannot keep up...which is of course one of the reasons to HAVE a stable ABI in the first place, so that the kernel devs can work on the kernel while the OEMs can concentrate on drivers..."

which is of course one of the reasons to HAVE a stable ABI in the first place, so that the kernel devs can work on the kernel while the OEMs can concentrate on drivers..."

Ah, but OEMs are evil, remember? They make hardware and accompanying drivers for profit, when they should be donating every waking hour to support Linux and giving their time for free. </sarcasm>
If you hadn't picked it up yet, I agree 100% with you concerning the ABI as well as the API. It's attitude that prevents this from happening; the pervasive entitlement complex that has made its way into most corners of the Linux community.

"So, no, most Linux drivers does not work. When Torvalds upgrades the kernel and changes the API, drivers does stop working. So of these 150.000+ drivers, I wonder how many of them are up to date? Maybe 5%? 95% of the drivers does not work?"

Has this actually affected you or are you just trying to paint linux more negatively than it is? Trust me I want a stable ABI/API as well, however in practice I've found long term linux driver support to be simply amazing. If you pull out an old device that used to work with linux, it's more likely to still work under linux than under windows.

I cannot complain about the device support itself, but I have gripes with how drivers all mashed up into a huge bloated kernel tree. There's no simple way to determine what one needs to select in the kernel, it's very discouraging. The drivers are pretty good, but the management of them is absolutely horrid and I end up compiling way more than I need because I just don't know what drivers I'll need. I'd rather see all of these drivers stripped out of the kernel source and separated into more manageable projects (using a stable API/ABI).

Thinking off the cuff, ideally a standardized userspace framework would take care of managing device drivers transparently as needed in the way which makes the most sense for the particular linux distro (downloading drivers from a repo/compiling from source/install from disk/notifying the user). This way one could compile a simple kernel up front and the drivers could be managed separately and only compiled as they're needed.

Yes, Linux has some 150.000+ drivers and a couple of 100 drivers released every week.

No, there are hundreds of new devices every week. Didn't you read what you yourself quoted?
Most new devices does not need a new driver anyway since a) many of them are just "clones" of existing devices and b) one driver usually handles many devices.

So, no, most Linux drivers does not work

Really. I can't even remember the last time I encountered a driver that didn't work.

So of these 150.000+ drivers, I wonder how many of them are up to date?

What does "up to date" really mean though. If it's an old(er) device a stable driver doesn't need to be constantly updated.

For things that really matter, you only buy them that already have linux support. Like the aforementioned dell server, most major hardware vendors have their gear certified to run linux. They aren't unstable at all.

"Well, GNU/Linux has a lot of hardware drivers but all these drivers are quality drivers?"

Mileage varies. Drivers that are problematic (in my experience) have been for the desktop (video/sound) or those for consumer devices that are added to the machine without researching linux compatibility (I was given a doxie scanner as a gift, but company behind it has said they would never support linux or release the specs, they've pulled the statement due to criticism but their policy is effectively unchanged).

On the other hand for a server I think you'd be hard pressed to find a server that linux doesn't work with even if you buy it at random. Some of the userspace components may be trickier to get without manufacturer support (ie raid monitoring/management).

"And do you really need that exotic controller on you mission critical server?"

Raid controllers are not really exotic on performance servers, and yes we do need it if we don't want to give up features like battery backup write back caching and hotswap, RAID offloading. With this you can commit transactions at tremendously high speeds even with RAID6. The backplanes in servers are often hardwired for the raid controller so you cannot really bypass them.

Don't confuse this with the "soft" raid that comes with low/mid machines.