Greg Kroah-Hartman has put the slides and a transcript to his keynote at OLS online. The title speaks volumes: "Myths, Lies, and Truths about the Linux kernel". He starts off: "I'm going to discuss the a number of different lies that people always say about the kernel and try to debunk them; go over a few truths that aren't commonly known, and discuss some myths that I hear repeated a lot."

What is a difference between kernel driver and application? Both provide some special functionality, both interact with kernel using API. Application is not derivated from kernel, nor driver is. Using API by private module should not mean "be derivative". In other case all non-GNU Linux applications will violate the license.

So here I can see a promise to break my device driver all the time. And there is a requirement to include all private drivers into the tree, so someone will fix it (who?). What a rubbish. This does not scale out. Nobody needs my driver, nobody understands it, it is just for my private hardware. If we include all this crap into tree, it will definitely contain the largest number of devices, which nobody needs.

So there is a point about compatibility, which is too far from reality. Half of my external devices at home do not work with Linux, because of driver problems. All of them work with Windows. No single distributions ever could detect and setup correct video-resolution and refresh rate on my system. All version of Windows do, starting from Windows98. There is no correct driver for my printer either. And all hardware is just a commodity. The driver problem is one of the biggest problems in Linux. If I could have a layer reusing Windows driver, it would be great. But creating of such a layer is PROHIBITED! So I use Windows, when working with these devices.

If Linux will go this way, I would definitely look for some other OS with more reasonable license.