The total count of devices supported by Linux exceeds that of any other OS, based on statements from Greg KH and others.
Windows has an edge in some areas of proprietary desktop hardware (see Linus's infamous but richly appropriate "fuck you, Nvidia" comment). But that's superiority in a narrow (though highly significant) niche.
As desktop falls in significance, that edge and leverage will be less valuable.
I would dispute the 'total count' argument. Windows doesn't require rebuilding the kernel to get device support for some vendor's hardware. The total count of Windows machines actually succeeding in supporting any given device could be many times higher.
Linux's integrated design makes that the kernel developers' problem, not the users'.
So they have to hunt down the PR on github and build it themselves.
> Windows doesn't require rebuilding the kernel to get device support for some vendor's hardware.
Neither does Linux. You have to compile the module (i.e. the driver itself), of course, but you can modprobe it without rebuilding the kernel. This has always been the case.
A long time ago (during the days of kernel 2.4 or so) there were people (ahem, mostly using Gentoo) who tried to shave off a few milliseconds when booting by building everything into the kernel so as not to waste time loading modules. In that case, sure, you have to rebuild the kernel, but that is not a common approach.
I... have to wonder, where did you get the idea? Back then (I was... um... I was also frequenting the Gentoo establishments...) Windows was our laughing stock because you had to reboot your computer when installing drivers.
I used to joke "Linux will never get widespread until they have a Have Disk button" meaning I can get a driver from a vendor with a push of a button during installation. Having to build anything is a distraction just to use a new device.
Having said that, the main advantage for developers has to be the relative stability of the device driver API. Linux explicitly doesn't have one, as part of the war on closed source drivers, which makes maintaining an out-of-tree driver a hassle.
Fair enough.
I would dispute the 'total count' argument.
Here's Greg's claim: "Linux today supports more hardware devices than any other operating system in the history of the world."
http://www.linuxfoundation.org/collaborate/workgroups/techni...
I don't know what data it's based on, but I strongly suspect he's correct on that.
Again: my contention isn't that Linux does better on desktop-grade hardware, if anything, that's its weak point. But that's entirely due to vendor leverage by Microsoft, not technical shortcomings.
Windows doesn't require rebuilding the kernel...
Two elements to that:
1. Neither does linux in many cases. You'll have to compile the kernel module itself, of course (or someone will). That's the case for Windows as well. Generally, for stock kernels, device support is via modules, and you simply have to provide the module. In practice, it's already present, and device autodetection loads modules at boot time. This means that, e.g., you can take a hard drive out of one system, put it in another (of the same general CPU architecture), and it simply boots and works.
2. Drivers are sketchy, mkay? Not allowing any arbitrary code to be loaded into kernel space offers security advantages. It's on of those security / convenience trade-offs.
The total count of Windows machines
Counting Android as Linux, you're close to losing, if not already lost, with that metric as well.
Quick search suggests that Android bypassed Windows in early 2014:
http://www.phonearena.com/news/Android-installed-base-might-...
Present count is 1.675 billion Android devices:
http://www.statisticbrain.com/android-phone-statistics/
Windows as a share of all computing devices fell behind the combined iOS and Android count in 2012: http://www.zdnet.com/article/windows-has-fallen-behind-apple...
That is called "Confirmation Bias."
What is a "driver developer"? What's your end goal here - to enable the hardware on a particular OS, or do you have the added constraint of wanting to maintain control of your "driver" by keeping it proprietary, and so you have the additional requirement of a pluggable architecture instead of just contributing to the upstream Linux kernel?
In other words, do the obstacles you claim exist only exist because you are trying to write non-free drivers?
Here's a list of 16 billion dollar businesses for Microsoft[1]:
Windows
Windows Server
Windows Azure
Office (client)
Xbox
SQL Server
System Center (client and server both, so includes Windows Intune)
SharePoint
Visual Studio
Dynamics (CRM and ERP)
Online Advertising (search and display both)
Office 365
Client-access license (CAL) suites (formerly known as desktop access)
Enterprise Services (including consulting)
Enterprise communication business (Exchange plus Lync)
That list is from 2013 so I now think their phone business and the Surface business either reached or are close to a billion in revenue each. And all of them are increasing in revenue by a lot, except for maybe Windows client.
Why do they care too much if Linux is on a billion routers or super computers? This is like iPhone vs. Android. Android may be on a billion phones, but Apple is printing money with iPhones.
But yeah Microsoft has been "dying" from the 2000s, if you believe Slashdot posts, and the Year of the Linux Desktop(TM) is really right around the corner this time.
[1] http://www.zdnet.com/article/microsofts-16-billion-dollar-bu...
Sales network is something entirely different than technical capabilities. Especially, when half of Microsoft is sales force.
Yes, there are companies using Microsoft products and Microsoft is getting paid very well for that. However, these companies are not on forefront of computing and are not considered to be top companies in the area of cutting edge development.
Show me some cutting edge company/startup in the IT sector that is using Microsoft products and is not a statistical error. There is a reason for that.
Stack Overflow
http://highscalability.com/blog/2014/7/21/stackoverflow-upda...
Newegg and a bunch of others like Plenty of fish
The real reason that you see comparatively fewer is they worry about license costs, not about the lack of technical functionality.
> Microsoft offer $500k cloud credits to YCombinator startups in Winter 2015 > http://blog.ycombinator.com/$500k-of-azure-credit-for-yc-sta...
> HN thread about people using MS stacks in their startups, with lots of replies > https://news.ycombinator.com/item?id=8545278