Miguel de Icaza: "To sum up: (a) First dimension: things change too quickly, breaking both open source and proprietary software alike; (b) incompatibility across Linux distributions. This killed the ecosystem for third party developers trying to target Linux on the desktop. You would try once, do your best effort to support the 'top' distro or if you were feeling generous 'the top three' distros. Only to find out that your software no longer worked six months later. Supporting Linux on the desktop became a burden for independent developers." Mac OS X came along to scoop up the Linux defectors.

"Somehow, there's a stupid notion that the lack stable *driver* API makes Linux far harder to support on *the desktop*

It's not stupid at all. Fixing an in-tree driver in Linux involves a submission/approval process and then you have to wait for the distros to pick up the change. A simple bit flip can take months to get to users.

In Windows you can fix a driver and then immediately publish to the web server. You can in fact automate the entire process with a single click. "

Try downloading a driver code from the Internet, compile for say, Windows 7 x86_64 or Windows 2K8 and install it and let me know how it goes. *

Why bother? The .exe works fine so no compiling. I know its shocking, not needing to compile everything, but it does have its advantages.

For example my 73 year old dad got impatient because I couldn't come out and install Win 7 on that new machine i built him until the weekend. he decided to DIY and when i got there I thought I'd have a mess, turned out all I needed to do was show him how to install his browser. All the drivers, patches, updates, and even the AV (it popped up a little box on first boot and gave him the choice of several free or pay AVs, he chose MSE which works fine) was all taken care of, he just didn't know where to download his browser from.

Like it or not, admit it or not, Linux is a geeker OS that is a PITA for your average user. Sure if you know compiler flags, can google for fixes, know your way around the forums, then you'll have no problems. lets see, that covers....about 0.97% of the public according to netstats. The rest? Sorry but your OS just don't cut it.

Why bother? The .exe works fine so no compiling. I know its shocking, not needing to compile everything, but it does have its advantages.

For example my 73 year old dad got impatient because I couldn't come out and install Win 7 on that new machine i built him until the weekend. he decided to DIY and when i got there I thought I'd have a mess, turned out all I needed to do was show him how to install his browser. All the drivers, patches, updates, and even the AV (it popped up a little box on first boot and gave him the choice of several free or pay AVs, he chose MSE which works fine) was all taken care of, he just didn't know where to download his browser from.

Congratulation.
*Nothing* you just said had anything to do with the subject at hard - read: Maintaining out-of-tree drivers in Linux vs. doing the same under Windows due to the lack of stable drivers API in Linux.
Please, re-read the previous comments before pressing the submit button!

Like it or not, admit it or not, Linux is a geeker OS that is a PITA for your average user. Sure if you know compiler flags, can google for fixes, know your way around the forums, then you'll have no problems. lets see, that covers....about 0.97% of the public according to netstats. The rest? Sorry but your OS just don't cut it.

If you look closely at a comment I made 30% down the page, you'll see that I more-or-less said the same.
Linux is for geeks / power users / take your peak and I personally rather keep it this way.

Don't use Windows, but in my experience, all you have to do is download the driver (For recent hardware, there will be 4 version of the driver - XP, Vista, Windows 7 and soon to be Windows 8).

The drivers will come in a single executable package. Bingo.

With Linux, unless you are using NVidia, it might involve tarballs (you have lost 99% of potential users right there), or hunting down a distribution specific packaged binary.

Again, your comment has nothing to do with the subject of this sub-thread:
Maintaining out of tree Linux drivers vs. doing the same under Windows due to the apparent lack of stable drivers API under Linux.
As before, please read the comments before pressing the submit button!

Try downloading a driver code from the Internet, compile for say, Windows 7 x86_64 or Windows 2K8 and install it and let me know how it goes. *

- Gilboa
* Hint: nothing. (As in driver-not-load-nothing)

Yet another hint: I was *not* referring to the download -> click -> click -> click -> reboot drivers installation process from the *user* perspective. I was referring to the *developer* perspective (those of you who missed the subject of this sub-thread, please feel free to re-read it).
In Linux, you simply post a tarball with a Makefile.
In Windows, especially in 64bit and especially once SecureBoot kicks in, developing and, God forbids, testing drivers is a *huge* hassle.

50% of the reason I rather stop porting my kernel code to Windows is the damn signature enforcement!

1. Signature override (of any [1] type) will not work w/ SecureBoot.
2. My personal experience w/ signature override is *far* less than stellar. Let alone the fact that it forces my users to jump through hopes to use my non-certified drivers.

I believe I proved my point: The lack of a stable driver API in Linux has a very, very limited effect on both in-tree and out-of-tree developers. More, I believe that I also proved my point the Windows kernel development can be just as annoying, if not worse due to specific Windows limitations (Signatures, API changes between different SP releases, etc).