"As part of the Linux Foundation Technical board, we confront the issue of closed source Linux kernel modules all the time, and we wanted to do something that could be seen as a general 'public statement' about them that is easy to understand and point to when people have questions," began Greg KH, explaining, "so, after working on this for a while, and asking some of the other major contributors and maintainers of the kernel, what we have is below." a FAQ on the Linux Foundation website provides more background on the statement, which was undersigned by nearly 140 Linux kernel hackers. The statement reads:
"We, the undersigned Linux kernel developers, consider any closed-source Linux kernel module or driver to be harmful and undesirable. We have repeatedly found them to be detrimental to Linux users, businesses, and the greater Linux ecosystem. Such modules negate the openness, stability, flexibility, and maintainability of the Linux development model and shut their users off from the expertise of the Linux community. Vendors that provide closed-source kernel modules force their customers to give up key Linux advantages or choose new vendors. Therefore, in order to take full advantage of the cost savings and shared support benefits open source has to offer, we urge vendors to adopt a policy of supporting their customers on Linux with open-source kernel code."
From: Greg KH <greg@...> Subject: [ANNOUNCE] Position Statement on Linux Kernel Modules Date: Jun 23, 1:01 am 2008 Hi, As part of the Linux Foundation Technical board, we confront the issue of closed source Linux kernel modules all the time, and we wanted to do something that could be seen as a general "public statement" about them that is easy to understand and point to when people have questions. So, after working on this for a while, and asking some of the other major contributors and maintainers of the kernel, what we have is below. There is also a site at: http://www.linuxfoundation.org/en/Device_driver_statement that contains a link to a statement from the Linux Foundation about this topic, as well as some more descriptions and background information, and a copy of the full statement as well. I've also put a pretty pdf version at: http://www.kernel.org/pub/linux/kernel/people/gregkh/lkm_position_statement/lkm_pos_st... in case people want to print it out :) If there are any kernel developers who want to add their names to this statement, please let me know by private email and I will be glad to add it. thanks, greg k-h ------------------------------ Position Statement on Linux Kernel Modules June 2008 We, the undersigned Linux kernel developers, consider any closed-source Linux kernel module or driver to be harmful and undesirable. We have repeatedly found them to be detrimental to Linux users, businesses, and the greater Linux ecosystem. Such modules negate the openness, stability, flexibility, and maintainability of the Linux development model and shut their users off from the expertise of the Linux community. Vendors that provide closed-source kernel modules force their customers to give up key Linux advantages or choose new vendors. Therefore, in order to take full advantage of the cost savings and shared support benefits open source has to offer, we urge vendors to adopt a policy of supporting their customers on Linux with open-source kernel code. We speak only for ourselves, and not for any company we might work for today, have in the past, or will in the future. Dave Airlie Jens Axboe Ralf Baechle Arnd Bergmann Vitaly Bordug James Bottomley Josh Boyer Neil Brown Mark Brown David Brownell Michael Buesch Franck Bui-Huu Adrian Bunk Ralph Campbell Mauro Carvalho Chehab Denis Cheng Jonathan Corbet Glauber Costa Alan Cox Magnus Damm Ahmed S. Darwish Robert P. J. Day Helge Deller Jean Delvare Mathieu Desnoyers Alexey Dobriyan Daniel Drake Alex Dubov Randy Dunlap Michael Ellerman Jan Engelhardt Mark Fasheh J. Bruce Fields Larry Finger Jeremy Fitzhardinge Mike Frysinger Kumar Gala Robin Getz Liam Girdwood Thomas Gleixner Brice Goglin Cyrill Gorcunov Andy Gospodarek Thomas Graf Harvey Harrison Stephen Hemminger Michael Hennerich Tejun Heo Benjamin Herrenschmidt Kristian Høgsberg Henrique de Moraes Holschuh Marcel Holtmann Mike Isely Takashi Iwai Olof Johansson Dave Jones Jesper Juhl Matthias Kaehlcke Kenji Kaneshige Jan Kara Jeremy Kerr Russell King Olaf Kirch Roel Kluin Hans-JÃŒrgen Koch Auke Kok Jiri Kosina Mariusz Kozlowski Greg Kroah-Hartman Michael Krufky Aneesh Kumar Clemens Ladisch Christoph Lameter Grant Likely John W. Linville Yinghai Lu Tony Luck Pavel Machek Matt Mackall Roland McGrath Patrick McHardy Kyle McMartin Paul Menage Thierry Merle Eric Miao Akinobu Mita Ingo Molnar Andrew Morton Paul Mundt Oleg Nesterov Luca Olivetti Pierre Ossman Venkatesh Pallipadi Nick Piggin Nicolas Pitre Richard Purdie Mike Rapoport Sam Ravnborg Gerrit Renker Stefan Richter David Rientjes Stefan Roese Francois Romieu Stephen Rothwell Maciej W. Rozycki Mark Salyzyn Yoshinori Sato Holger Schurig Yoshihiro Shimoda Sergei Shtylyov Kay Sievers Alexey Starikovskiy Alan Stern Hirokazu Takata Eliezer Tamir Doug Thompson FUJITA Tomonori Dmitry Torokhov Marcelo Tosatti Steven Toth Theodore Tso Geert Uytterhoeven Arjan van de Ven Ivo van Doorn Wim Van Sebroeck Hans Verkuil Anton Vorontsov Daniel Walker Dan J. Williams Darrick J. Wong David Woodhouse Chris Wright Bryan Wu Rafael J. Wysocki Herbert Xu Vlad Yasevich Peter Zijlstra Bartlomiej Zolnierkiewicz --
From: Greg Louis <glouis@...> Subject: Re: [ANNOUNCE] Position Statement on Linux Kernel Modules Date: Jun 23, 7:29 am 2008 On 20080622 (Sun) at 2201:18 -0700, Greg KH wrote: > > If there are any kernel developers who want to add their names to this > statement, please let me know by private email and I will be glad to add > it. > > Position Statement on Linux Kernel Modules > June 2008 > > We, the undersigned Linux kernel developers... Do you think it might be a good idea to start a similar list, in the form of a petition to manufacturers, for end users? The hope would be that the number of petitioners grow big enough to let us effectively rebut the argument that nobody outside the developer community really cares. (Of course, the best way to rebut that argument would be for end-users to vote with their feet, but for a lot of us, me included, that's not a practical option.) -- | G r e g L o u i s | gpg public key: 0x6D9E3E64 | | http://www.bgl.nu/~glouis | (on my website or any keyserver) | --
From: Willy Tarreau <w@...> Subject: Re: [ANNOUNCE] Position Statement on Linux Kernel Modules Date: Jun 23, 9:09 am 2008 On Mon, Jun 23, 2008 at 07:29:34AM -0400, Greg Louis wrote: > On 20080622 (Sun) at 2201:18 -0700, Greg KH wrote: > > > > If there are any kernel developers who want to add their names to this > > statement, please let me know by private email and I will be glad to add > > it. > > > > Position Statement on Linux Kernel Modules > > June 2008 > > > > We, the undersigned Linux kernel developers... > > Do you think it might be a good idea to start a similar list, in the > form of a petition to manufacturers, for end users? The hope would be > that the number of petitioners grow big enough to let us effectively > rebut the argument that nobody outside the developer community really > cares. > > (Of course, the best way to rebut that argument would be for end-users > to vote with their feet, but for a lot of us, me included, that's not a > practical option.) The problem is exactly what you describe in your last sentence. Hardware manufacturers are well aware of that and make no effort to provide correct drivers when they (think they) have a monopoly in certain areas. What would be needed would be a public list of alternative hardware for known existing hardware. When big manufacturers will see their hardware listed there in the "bad" column, with their small competitors on the same line in the "good" column and with a lower price, they may start to think a little bit. Also, small manufacturers could use this for marketting purposes, because they would be listed as direct competitors for other well-established products. It should be made with notebooks too. It's a shame to see how you're nearly forced to have an nvidia graphics card in a notebook nowadays. It is needed to put a bad reputation to products which embed closed hardware, and to give a good one to other ones. If such a list is exhaustive and public, it may become a reference for new buyers. Willy --
From: Matthew <jackdachef@...> Subject: Re: [ANNOUNCE] Position Statement on Linux Kernel Modules Date: Jun 23, 9:02 am 2008 Hi Greg, I largely agree to this statement, there are however some downsides if you're preventing driver manufacturers (e.g. nvidia, ...) from the possibility to offer their customers proprietary drivers: 1) One big and important point for me (and more and more future linux-users) is powersaving features on GPUs like powermizer (by nvidia) and powerplay (by AMD/ATI) or other hardware. I haven't seen this working on newer graphics cards models with the opensource drivers to the present day :( Take an example with laptops: where with the proprietary drivers it is possible to work 6 hours of uptime, you'll only get 1.5 hours of battery time on laptops; additionally / or on desktops you'll be getting a fan which will always run on the highest velocity, considering the big generation of heat on your lap and you're getting a very uncomfortable work device. Isn't this also at odds with the green direction linux is heading towards right now? This surely also applies to manufacturers of future linux-powered devices such as handsets (cell phones), routers, etc etc if those companies can't use their own closed proprietary drivers utilizing patented routines they are "forced" to use, they might think over it and switch to another operating system ... 2) How will this affect performance, if all of those drivers are limited to an user-space interface? I'm not a kernel hacker and don't have much insight into the kernel and kernel-development, so I can only reflect, what I've read: much of you kernel hackers are supposed to have said (read that on blogs, forums etc.) that nvidia's drivers are hackish and that it uses routines which shouldn't be used by this kind of drivers other voices are saying nvidia is doing this because the linux-kernel lacks a common interface (yet) which disallows effective usage of the graphics cards which would result in abysmal bad performance not using their hacking ... so perhaps sitting together with those companies and creating such an effective interface might be the solution ? :) 3) I know that desktop users are not THAT important for you (linux is mainly oriented towards industrial usage) but think of the desktop users as of additional testers and potential new kernel-hackers which would one day work for the common good (having great new ideas, e.g. filesystems, io-schedulers, etc etc) preventing those users/future developers from using their (needed) devices will drive them away from using GNU/Linux and also those young talented minds, those drivers are "necessary evil", after all 4) We should never forget who / what allowed this kind of development and openness: the GPL, GNU and Richard Stallman, Linus Torvalds (only to name a few) We are deeply obliged to ensure this freedom in development and usage, this however shouldn't go that far to prevent users of the code to combine with it what they need to This were just a few of the feelings floating in my head after having read your position statement, you're heading towards the right direction but please, please don't forget the community, after all :) this is about ideology to a big fraction, yes, but we shouldn't forget the freedom after all Thanks, Regards, Mat --
From: Willy Tarreau <w@...> Subject: Re: [ANNOUNCE] Position Statement on Linux Kernel Modules Date: Jun 23, 9:21 am 2008 On Mon, Jun 23, 2008 at 03:02:58PM +0200, Matthew wrote: > Hi Greg, > > I largely agree to this statement, > > there are however some downsides if you're preventing driver > manufacturers (e.g. nvidia, ...) from the possibility to offer their > customers proprietary drivers: > > 1) One big and important point for me (and more and more future > linux-users) is powersaving features on GPUs like powermizer (by > nvidia) and powerplay (by AMD/ATI) or other hardware. I haven't seen > this working on newer graphics cards models with the opensource > drivers to the present day :( I think that's one of the reasons of Greg's post. (...) > if those companies can't use their own closed proprietary drivers > utilizing patented routines they are "forced" to use You're wrong here. If they have patented routines, they don't need their drivers to be closed, since there routines are protected by patents. And even if they are not patented, not releasing the source will not prevent a competitor from disassembling the code anyway. So there's really no point in remaining closed. Some of them might have signed NDAs before using some technologies, but by this time, they should have sorted that our. > they might think over it and switch to another operating system ... Do you know many products with closed Linux drivers which are not supported by at least one closed OS ? If they chose to support Linux, it's not for your pleasure, just because they know they will sell 5-10% more when a penguin is stuck on the box. > 2) How will this affect performance, if all of those drivers are > limited to an user-space interface? > > I'm not a kernel hacker and don't have much insight into the kernel > and kernel-development, so I can only reflect, what I've read: > much of you kernel hackers are supposed to have said (read that on > blogs, forums etc.) that nvidia's drivers are hackish and that it uses > routines which shouldn't be used by this kind of drivers > > other voices are saying nvidia is doing this because the linux-kernel > lacks a common interface (yet) which disallows effective usage of the > graphics cards which would result in abysmal bad performance not using > their hacking ... That has nothing to do with open/close. They may as well continue to use their dirty hacks when the sources are public. That just means that owners of such cards on other platforms (PPC, etc...) might be able to build the drivers for those platforms. I think that most users don't care about the fact that a driver is dirty. They want something which simply builds for their platform. Also, publishing their dirty hacks will encourage kernel developers to propose some cleaner alternatives or to extend the kernel in order to ease integration of such drivers. Willy --

You know who's missing
Linus?
Yeah so what? It is just a
Yeah so what?
It is just a written text...
OMG!!
OMG!! What can the major vendors do now?
I guess they'll just smile and say "OK" (and do nothing more)
Yes
Yes. And Linux drivers will become problem of Linux. Not vendors.
Ignorant Vendors
Linux drivers are the problem of anyone who wants to stay in business in the face of a growing non-windows market.
nVidia thought they could dump a binary driver and crippled obfuscated 2D driver on the public and ignore all requests to fix it. ATi ate their lunch, and suddenly NV1x cards get a driver update for compiz - more than a year after they were declared "abandoned". Funny how that happens...
Not really, all that says is
Not really, all that says is they have to provide support, not that they have to open their source code up. Alternatively they can open their source but fill it with magic-numbers and the like which means noone without documentation will be able to maintain it, if their is a bug they can shrug their shoulders and say "you fix it, it's open source."
At the end of the day, users want their stuff to work, wether or not it is open source, has the license they like or any of these other things is completely beside the point.
It would still be a step forward
Even if it was filled with magic numbers for driving the chips, it would still be a huge step forward, since any incorrectly used or obsolete kernel API references in the source could still be located and fixed.
It's these sorts of bugs that the kernel devs are in the best position to fix, whether or not the chipset's fully documented.
There may be a couple places where the wrong magic numbers are being programmed into the card, or one set of magic numbers might work better than another with how the kernel wants to do things. You won't be able to do much with that until someone reverse engineers the magic. But basic errors such as using the kernel incorrectly can still be corrected.
--
Program Intellivision and play Space Patrol!
Not all NV1x cards have
Not all NV1x cards have AIGLX/GLX_EXT_texture_from_pixmap support in the binary drivers (If you have a Geforce 256 you have to use the legacy-legacy 71xx drivers). I believe that there were a lot of requests for AIGLX support on GeForce 2MX era cards and eventually an NVIDIA engineer looked at how much work it would be to backport the changes the from later drivers and felt it was doable. If the cards are still being sold and there's a business reason to support them...
Drivers behind a supervisor
What it the status of using an supervisor to put drivers in a separate domain like Sony have done for the PS2 ?
Compagny said it's completly separate from the kernel side, so GPL don't apply. But i don't think that a technical trick could change the meaning of "derivative work".
What do you think of this ?
Terrible performance
See subject line
Too little
They should have called it what it is. A GPL violation and insist that it stop. Linux doesn't need Nvidia, there are other options. But it won't be long before Nvidia needs linux.
It's not a GPL violation if
It's not a GPL violation if the code of the driver is not Linux specific. If the code base is used by Windows also, it's not a "derivative work" of Linux, so the GPL did not apply.
It's not a GPL violation
It's not a GPL violation unless their driver includes GPL code. It does not matter if the code is used in a Windows driver or not. The fact that it is a driver for Linux does not in itself make it a derivative work under copyright law (although some of the Linux developers seem to want that to be the case).
If it mattered if the driver were "Linux specific", then one could take such a driver and make it no longer be a "derivative work" by porting it to another OS, which obviously does not make sense.
Blabla
So? What's next? Are you finally do anything? Or is it just another gibberish blabla and nothing happens afterwards?
Real solution
I'm willing to pay the price of an nvidia gpu once again to help the community hire nouveau reverse engineers/driver coders to work on them full time.
I think thousands of my peers may be also. Put together a massive effort to obsolete the nvidia proprietary drivers, because nvidia has the financial ability to ignore us right now, and they will.
As punishment for them being a pain in the butt, we should fund a team to reverse engineer every transistor of their DHCP implementation and create workarounds that get their whole high end lineup blacklisted by Windows Vista for any and all secure HD media playback.
It's a pipe dream.
It's a pipe dream.
Too early
Linux is not widespread and strong enough to achieve anything with such an action right now, other than the Linux Kernel Hackers can feel good in an idealistic way.
If this stuff you're doing here would happen in 10 Years when Linux is installed on at least 15% of all Servers and PC's, then the Hardwaremanufacturers would maybe care. But not when Linux ist installed on ~3% of all Machines out there.
You'll weaken the Spreading of Linux. And in the End you'll have your Clean Kernel, but no Users and therefor no Manufacturer would see an argument why they should go OpenSource.
The Idea itself, of threatening the Manufacturers with the exclusion of their Drivers to get them to go OpenSource is a good thing.
But honestly: Your timing is lousy.
I will most likely continue using Linux, because I'm too used to the Freedom to get back into that Windowsprison, but I'll predict your Strategy will fail, when you trigger it too early (now).