Hacker News new | ask | show | jobs
by tomjen3 5707 days ago
The linux kernel is GPLed, so they would have to make the sources for those drivers public, wouldn't they?
3 comments

And AFAIK, they did - http://developer.htc.com/

HTC Tattoo - Donut - 2.6.29 kernel source code - http://dl3.htc.com/RomCode/Source_and_Binaries/click-656120....

The difference; HTC pays a group of people who's job it is to make things work. The fact that that 2.2 has even an minimal port for the Tattoo is testament to the open source community.

Not necessarily. There are a number of ways to interact with hardware from userspace: uio[1], libusb[2], spidev[3] and etc.

[1] http://lwn.net/Articles/232575 [2] http://libusb.org [3] http://www.kernel.org/doc/Documentation/spi/spidev

the driver interfaces are exempt from gpl. that's how e.g. nvidia can publish closed-source drivers.

however;

1) those interfaces are in constant flux (a situation officially supported by linus himself) which makes it more difficult to maintain proprietary drivers. if you open-source your module and it becomes part of the mainline, it's migrated to the new interface by the dev who introduces that change.

2) once you load a proprietary driver, the kernel is considered to be 'tainted'. this means people are much less willing to listen to you when you report problems. (try dmesg | grep -i taint if you're using a proprietary driver)