Position Statement on Linux Kernel Modules

Submitted by Jeremy
on June 23, 2008 - 9:27am

"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
Subject: [ANNOUNCE] Position Statement on Linux Kernel Modules
Date: Jun 22, 10:01 pm 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
Subject: Re: [ANNOUNCE] Position Statement on Linux Kernel Modules
Date: Jun 23, 4: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 Subject: Re: [ANNOUNCE] Position Statement on Linux Kernel Modules Date: Jun 23, 6: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
Subject: Re: [ANNOUNCE] Position Statement on Linux Kernel Modules
Date: Jun 23, 6: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 Subject: Re: [ANNOUNCE] Position Statement on Linux Kernel Modules Date: Jun 23, 6: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

Anonymous (not verified)
on
June 23, 2008 - 11:29am

Linus?

Yeah so what? It is just a

Anonymous (not verified)
on
June 23, 2008 - 3:42pm

Yeah so what?

It is just a written text...

OMG!!

Anonymous (not verified)
on
June 23, 2008 - 2:45pm

OMG!! What can the major vendors do now?
I guess they'll just smile and say "OK" (and do nothing more)

Yes

Anonymous (not verified)
on
June 23, 2008 - 7:47pm

Yes. And Linux drivers will become problem of Linux. Not vendors.

Ignorant Vendors

Anonymous (not verified)
on
June 24, 2008 - 10:49am

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

Nony Mouse (not verified)
on
June 24, 2008 - 4:30pm

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

on
June 25, 2008 - 3:55pm

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

Anonymous (not verified)
on
June 25, 2008 - 3:57am

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

Anonymous (not verified)
on
June 24, 2008 - 1:10am

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

No good (not verified)
on
June 26, 2008 - 1:02pm

See subject line

Too little

Anonymous (not verified)
on
June 24, 2008 - 3:38am

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

Anonymous (not verified)
on
June 24, 2008 - 3:43am

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

Anonymous (not verified)
on
June 25, 2008 - 9:05am

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

Anonymous (not verified)
on
June 24, 2008 - 8:25am

So? What's next? Are you finally do anything? Or is it just another gibberish blabla and nothing happens afterwards?

Real solution

Anonymous (not verified)
on
June 24, 2008 - 2:15pm

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.

Known (not verified)
on
June 25, 2008 - 5:08pm

It's a pipe dream.

Too early

Chocwise (not verified)
on
July 7, 2008 - 10:23pm

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).

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.