Oh, where BSD loses? I can show where.
Okay, you want it? Then, get it. Linux supports many embedded devices and somesuch. Say, ARM and MIPS based. This is a whole bunch of devices. Phones, tablets, TVs and set-top boxes, various embedded controllers, IP cameras and recorders, SOHO routers and access points and zillion of other devices I forgot. Basically as of 2012 if you see some smart embedded device, there is very high chance it runs Linux. And there are reasons for doing so.
Originally Posted by ryao
In Linux GPL forces corporate guys to release source. In BSD license does not forces them to do so. Result? Virtually all BSDs utterly suxx on mentioned platforms. At very best BSDs have some formal support for some ARM and MIPS based devices. But it's very far from perfect. Usually only CPU core supported. And it's up to you to code all peripheral drivers. Sure, few companies like Juniper managed it, but you will not benefit from it. And since you can't create SoC IC on your kitchen, it's going to be some "minor" problem when you're about to boot OS on some SoC and then getting OS to do something useful for you.
So when it comes to Linux there is ususlly some GCC-based SDK and Liunx kernel, both with sources. So anyone interested can improve/fork/integrate to mainline or whatever. Not a case with BSD.
Let's assume you're developer. You've got neat ARM or MIPS prototyping board and planning to make some cool device based on this design. You can choose Linux where you'll be forced to release source but it already works, allows you to sell something valuable to customers "almost now" and so on. And you're granted access to GPLed SDK and kernel so you can change them to address your custom needs if you need it. Now about BSD. Historically there has been choice between closed-source stuff from some proprietary vendor and making all hard things yourself. Yes, writting all SoC drivers, and so on. Then you getting idea there is no good flash file system or alive busybox equivalent. And dozen and half of other troubles. It has gone so far that most BSD distros just do not dare to enter this area at all due to lack of resources to create anything working. So you have to be huge corporation to be able to cope with all this crap and make something working and based on BSDs. Should I admit it takes ton of resources and bucks to complete all these jobs? Linux turns out to be seriously cheaper in development. This also can give you idea why startups preferring Linux as well.
This is not a joke. For example, well known embedded company, WindRiver has been forced to ditch their proprietary BSD fork in favor of Linux when they got idea that these days anoyone hardly needs closed-source :p BSD fork which loses to opensource Linux anyway ;). Basically BSDs were knocked off from embedded market. Same happens on server market as well. Linux is definitely able to defend it's code better, forcing corporations to symbiosis mode rather than parasitic mode. And it works.