Before I say anything, I just wanna say that proprietary kernel drivers is a GPL violation. Some people will argue that it isn't, but I think the people, the FSF, behind the GPL knows it better than anybody else.
I know a lot of people don't care about whether things are proprietary or free software/open source, but chew on the follow thought for a moment.
Lawyers these days are some of the most sneaky bastards (Eben Moglen and Red Hat's lawyers are an exception) you will ever see, and proprietary software companies will use every trick in the book to steal code from the free software.
So say some bastard company takes some GPLed code and puts it into their proprietary application, don't tell anybody and do not comply with the license terms. Say somebody somehow finds out that they're stealing GPLed code, sends it to gpl-violations.org and a lawsuit is initiated to make the bastard company comply. Now, think about this, since people are not enforcing the GPL onto proprietary drivers, the lawyer from the company violating the GPL could argue that by the "open source people" themselves going against the terms of the GPL, they are granting an exception to certain terms, and then everybody is free to go violate the GPL depending on what the judge says.
This might be a little far out, but it's not something I consider impossible.
Also, if you wanna go beyond theories, I can say that I agree with all of what the OpenBSD developers have been saying, FOR YEARS, about binary blobs.
They say "supporting Nouveau", but what it really is, is that they'll be including the driver when it's stable enough, I seriously doubt Mark is gonna sponsor the Nouveau guys so they can work full time on the project.
Vogateer wrote:The recent upgrade to the 2.6.17-11 broke my nvidia driver, reaffirming my desire for an open source graphics card. I still don't know what to think of Intel. They have the open sourced video drivers for their graphics cards, but I believe they keep their wireless drivers closed and the specs secret.
Intel release open source drivers for their integrated graphics adapters, to date, they don't yet have an actual graphics card product.
In terms of wireless support for Linux specifically, Intel has been supporting projects to create GPLed WiFi drivers, however it's written by people who have signed NDAs to be able to get the spec for the WiFi chipsets as far as I know. Also, their binary WiFi firmware is very restrictively licensed.
If you wanna know more about Intel's "trick", we just need to listen to what the OpenBSD developers are saying, a good place to start is this article on KernelTrap:
OpenBSD: Intel Accused Of Being "An Open Source Fraud"
Another is this interview on BSDTalk with OpenBSD developer Jason Wright, who has been doing a lot of device driver development:
http://cisx1.uma.maine.edu/~wbackman/bs ... alk082.ogg
Patrick wrote:Vogateer wrote:The recent upgrade to the 2.6.17-11 broke my nvidia driver, reaffirming my desire for an open source graphics card. I still don't know what to think of Intel. They have the open sourced video drivers for their graphics cards, but I believe they keep their wireless drivers closed and the specs secret.
Ditto. I've been thinking the same exact thing lately.
And people still ask me why I am such an AMD fan!

(
http://www.fsf.org/campaigns/free-bios.html)
It's gonna be interesting to see how the ATi Linux "support" is going to look in the future, I'm not expecting AMD to come out and throw both specs and source code in our faces, but I think things can only improve.
CptnObvious999 wrote:I don't know if this is true or not but I heard they had or were going to open source their kernel drivers but not the Xorg which would makes things a LOT easier since installing kernel modules is a huge HITA but not so much with Xorg drivers. Anyone know if this is true?
This is absolutely
NOT true! Chris of The Linux Action Show seemed to think the same thing, before I sent him an email and corrected him. Since I own the copyrights for that email, here it is:
Code: Select all
I've been noticing a couple of times that you said NVIDIA has GPLed their
kernel module for their proprietary driver. Dude, THIS IS NOT THE CASE!!
NVIDIA's kernel module is under NVIDIA's own proprietary license. The reason
that the source code is available, is only because you can't compile a module
a module on say Red Hat Enterprise 3 and use it on SUSE Linux 10.1.
if you don't believe me on this, download NVIDIA's installer to your home
directory, pop open a terminal and run: sh NVIDIA-Linux-x86-1.0-9629-pkg1.run
-x
It will then extract the contents to a folder called
NVIDIA-Linux-x86-1.0-9629-pkg1, in which you will find a folder structure
representing /usr.
Go into ~/NVIDIA-Linux-x86-1.0-9629-pkg1/usr/src/nv, here you'll find the
source code for the driver module that is loaded into the Linux kernel when
you use the NVIDIA driver.
The first thing you will notice is kernel object file, nv-kernel.o, which as
you know, is a binary compiled from some other source code.
OK, now open up the file nv.c, and you will find this at the very beginning of
the file:
/* _NVRM_COPYRIGHT_BEGIN_
*
* Copyright 1999-2001 by NVIDIA Corporation. All rights reserved. All
* information contained herein is proprietary and confidential to NVIDIA
* Corporation. Any use, reproduction, or disclosure without the written
* permission of NVIDIA Corporation is prohibited.
*
* _NVRM_COPYRIGHT_END_
*/
You will find the same text in various other source files.
So to sum up, not only are the source files that NVIDIA do provide (So that
you can compile a module that will work with your kernel, there is no other
reason for this source code being available) under a non-free, very
restrictive proprietary license, but even along that, as I mention earlier,
that source code centered around that nv-kernel.o binary file, and ALL of the
X components are proprietary.
ATi is very very similar. If you go and extract their driver installer, you
will see a little bit of difference though. Since ATi's driver is based on a
really old-ass version of the open source ATi drivers (That's my
understanding of it) some of the code they use were under the X11 license,
and some parts of their driver uses those parts and those are still under the
X11 license. HOWEVER, the ATi additions to that (firegl_public.c etc.) are
under a very restrictive EULA.
NVIDIA themselves violate the GPL, because they distribute precompiled
binaries of their kernel module. The source code for the module is not linked
against anything, and in reality it's just a text file, so it doesn't
infringe on the GPL more than my school essays does (I don't know about that
nv-kernel.o file, since that is proprietary :P).
However, the binary module that results from the process of compilation is
linked against the Linux kernel, and is then classified as a derivative work
of the Linux kernel, and the GPL requires a derivative work to be GPLed as
well, whether they are directly derivitives by being based on GPLed source
code, or linking to a GPLed program. Since the module is not under the GPL,
the license is violated, end of story.
As far as I know, ATi, themselves, does not violate the GPL, since they do not
distribute their kernel module (fglrx) in binary form, only in source form.
However people distributing binaries of that module do violate the GPL, which
is the case for Ubuntu, Mandriva, Linspire/Freespire etc. etc.
(Ubuntu includes NVIDIA and ATi's kernel modules, so far they havn't included
their X-Window components)
This is why both Kororaa and Novell received angry letters from kernel
hackers. Novell used to include a bunch of proprietary kernel module, such as
the proprietary parts of the Madwifi driver, NVIDIA's kernel driver and other
stuff. They have since they got the complaint stopped doing that stuff.
You may want to check this article on O'Reilly out:
http://www.oreillynet.com/linux/blog/2006/08/why_binaryonly_linux_kernel_mo.html
When I tell some people this, they often start to think that the Linux kernel
should be released under the LGPL or BSD license, because that would allow
for proprietary binary modules. I however disagree, because that would also
give people a free ride to integrate all sorts of stuff like TPM, DRM etc.
into the kernel, and take us very close to a DRM doomsday scenario, which is
exactly what the GPLv3 is designed to prevent as far as it can.