Linked by Thom Holwerda on Wed 26th Jul 2006 17:41 UTC, submitted by elsewhere
Linux 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."
Thread beginning with comment 146477
To read all comments associated with this story, please click here.
Not truth, but commercial
by vtolkov on Wed 26th Jul 2006 20:05 UTC
vtolkov
Member since:
2006-07-26

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.

Reply Score: 2

RE: Not truth, but commercial
by rayiner on Wed 26th Jul 2006 20:09 in reply to "Not truth, but commercial"
rayiner Member since:
2005-07-06

What is a difference between kernel driver and application? Both provide some special functionality, both interact with kernel using API.

Kernel drivers link with the kernel, applications do not.

Reply Parent Score: 3

RE: Not truth, but commercial
by abraxas on Thu 27th Jul 2006 02:54 in reply to "Not truth, but commercial"
abraxas Member since:
2005-07-07

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.

There is a big difference between drivers and applications. Applications do not link to the kernel, drivers do. Applications do not use kernel header files, drivers do, therefore drivers are derivatives. Drivers will only work with certain operating systems. Applications can be ported to a variety of operating systems and are not dependent on the kernel itself to be useful.

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.

It doesn't hurt to have your driver included in the kernel. If it isn't used it won't be loaded. There really is no down side, and the driver will be updated to work.

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.

How many devices don't work and what are they? I find it hard to believe that most of your devices don't work. Any external drive should work without a problem.

No single distributions ever could detect and setup correct video-resolution and refresh rate on my system.

Which distributions and when was the last time you tried? You know there is a utility for grabbing monitor specs from the monitor itself right?

There is no correct driver for my printer either.

That has nothing to do with the kernel. Printer drivers are in userspace.

Reply Parent Score: 1

vtolkov Member since:
2006-07-26

>Applications do not link to the kernel, drivers do.
As I already wrote here, "linking" is a technical detail, describing the way of installing driver. The only legally important fact is that software is installed onto a machine.

> Applications do not use kernel header files, drivers do, therefore drivers are derivatives.
Really? Header file does nothing, except describing API. And any application, if it wants to use OS API should also use some kind of header files, when compiled.

Proprietary drivers do not use header files for it's internal HAL layers, they use internal API, which codebase is usually shared between OSs. Only top-level OS interface depends from kernel header and it can be easily distributed under GNU.

>I find it hard to believe that most of your devices don't work.
Well. I do this test about 7 years from time to time. Trying to install one of most popular Linux distributions and see it if works and if I can use it without switching to Windows. I do this on my notebook as well. Not yet. Close enough, but not yet. Buggy, folks. Buggy.

I do not see the point of listing all devices here. This is big list. Just few, for example: VBox USB HDTV tuner, lightscribe for DVD writer, KISS DVD Link software, if you know what is it, TV Camera on Sony VAIO, and so on.

>You know there is a utility for grabbing monitor specs from the monitor itself right?
Well. Windows does not ask me to know about utility. It just works. I have 4 distributives installed on my system just now, I had to edit config file manually on every of them.

>Printer drivers are in userspace.
I hope so. But important thing from business point of view is that I reboot into Windows when I need to print.

Reply Parent Score: 1

abraxas Member since:
2005-07-07

Really? Header file does nothing, except describing API. And any application, if it wants to use OS API should also use some kind of header files, when compiled.

I think the issue here is that you don't understand what "derivative works" means. Basically what it means is that without the work it was derived from it is useless. This is true of binary drivers because they are only there to work with the OS and the hardware. This is not the case with applications.

Proprietary drivers do not use header files for it's internal HAL layers, they use internal API, which codebase is usually shared between OSs. Only top-level OS interface depends from kernel header and it can be easily distributed under GNU.

True, but you are missing one crucial thing. As soon as you compile the GPL wrapper with the binary only module it is no longer redistibutable because you are breaking the GPL license if you do. You cannot mix code (and the distribute it) when one piece of code is GPL and the other is closed source.

I do not see the point of listing all devices here. This is big list. Just few, for example: VBox USB HDTV tuner,

There are supported TV tuners out there, you know that right?

lightscribe for DVD writer

No offense but that is of minimal importance to most people right now, especially since my experience with lightscribe is that it doesn't work too well anyway.

KISS DVD Link software

That has nothing to do with drivers. We're not talking about userspace software here.

TV Camera on Sony VAIO

Not sure what that is. What does it do?

Well. Windows does not ask me to know about utility. It just works. I have 4 distributives installed on my system just now, I had to edit config file manually on every of them.

I guess I've been lucky because I've never even had to use that utility. I set up my monitor on Gentoo without an issue by using the xorg configuration program. With other distros the resolution has always been detected automatically for me.

I hope so. But important thing from business point of view is that I reboot into Windows when I need to print.

Well businesses should be using laser printers, which are well supported under Linux.

Reply Parent Score: 1