Arugment mis-states nature of a derived work

Story: Why Binary-Only Linux Kernel Modules are IllegalTotal Replies: 42
Author Content
dinotrac

Aug 08, 2006
7:09 AM EDT
A derived work is the combination of a copyrighted work with new material.

A binary blob driver may or may not be a derived work. The linked combination of Linux kernel and the driiver definitely is a derived work.

The statement about a thin GPL'd layer calling out to a driver is Just Plain Wrong as an absolute, but could be correct if the invoked core needed direct kernel access. In that last case, the binary blob itself is probably a derived work, however, because it probably relies on kernel headers or something derived from kernel headers closely enough to infringe a copyright.

Compiling the binary blob does not create a derived work. Compiling the kernel does not create a derived work. Compiling the GPL'd shell does create a derived work because the shell almost certainly needs kernel headers and intimate knowledge of kernel internals and services.

Loading the binary blob DOES create a derived work, and that is the problem with claiming that the GPL doesn't permit it.

Look at GPL restrictions and ask yourself how many are aimed at software users. I'm hard pressed, at the moment, to think of any. The restrictions apply to developers and distributors.

What makes it an infringement for a user to load a library?



JaseP

Aug 08, 2006
8:21 AM EDT
uhhh...

I kind of agree... but look at an example...

A hardware vendor has a binary library blob that an open-source shim loads. The shim may be considered to be required to be open source... The binary blob??? No. That binary may work on any number of systems that use that processor instruction set (x86 for example), Linux, FreeBSD, Unix, etc., and even Redmond's own OS (with a propretary shim loading the library file)...

In fact, many programs that are proprietary for Linux are distributed as being a "unix" version... a few chat programs for example.

Under the "shim makes it a GPL violater" argument, any program that makes calls to the OS that are specific to Linux would be "derived". That would make,... oh, let's see,... Doom 3, Unreal Tournament 2004, etc. GPL violaters... After all, you might be hard pressed to get them to run in a FreeBSD environment...

I think all of this is just people looking for an excuse to call all proprietary software developers "evil". Maybe that's too harsh... but it smacks as true. The issue is that many hardware developers leave rough edges around their products' manor of working with software... Ones that would allow for easier reverse engineering by their competitors if they opened their drivers... Why should those chip manufacturers be penalized for their quick (albeit sloppy) turnaround of new products?

Open Software is great... but some proprietary software is pretty great too. You can have a heterogenous envirnment in Linux very easily. It's tougher to do in an non GPL OS...
dinotrac

Aug 08, 2006
8:30 AM EDT
JaseP --

Bingo.

You cannot create a GPL violatin by wishing it were so. You must actually infringe something.

This logic that pre-existing drivers are OK because they started out in other Unices, but new drivers are not is baloney. There is no legal principle saying you have to start somewhere else. For that matter, starting somewhere else doesn't mean you didn't infringe something in the process.

The test is simple: Are you using protectable content in a way that requires permission from its owner? If so, do you have it?
herzeleid

Aug 08, 2006
10:16 AM EDT
This war on proprietary vendors has got to stop. really. Linux needs to play nice, not only with itself, but also with 3rd parties, or we are in trouble.

It is difficult for me to understand the motivations of those who rail against the "evil" nvidia, whose crime is apparently that of maintaining the best supported, best performing linux video drivers on the planet. IMHO the viability and progress of linux on the desktop is not well served by spewing harsh rhetoric against those few vendors that offer good linux support for their products.

I suppose I could appreciate, as a theoretical, abstract concept, the desire for "purity", but what about the poor schmuck who's installed linux, and finds himself in the crossfire? Instead of accusing him of "illegal" activities because he loaded the vendors binary driver, it would be much better to tone down the rhetoric and help him. He just wants decent video performance, not a tedious lecture on how evil it is.
dinotrac

Aug 08, 2006
10:21 AM EDT
I don't think you'll find most people on this forum talking about "evil" nVidia. Rather, you'll hear us wish that the drivers were made free.

I believe that is a much better solution than the current setup, but I do appreciate that nVidia hasn't ignored us altogether.
herzeleid

Aug 08, 2006
10:35 AM EDT
> I don't think you'll find most people on this forum talking about "evil" nVidia.

Oh to be sure, I haven't seen that sort of rhetoric here, and don't mean to imply that, but I have definitely seen it elsewhere.

I agree that free drivers would be a good thing, and I am always on the lookout for fully free alternatives (intel is promising in that regard) but given that nvidia works hard to provide up-to-date, full featured linux drivers for their video cards, they hardly seem to be an "enemy of freedom" for the user who wants good video performance.
boborooster

Aug 08, 2006
11:20 AM EDT
-- entree le boborooster

Ah, but one can further disagree with herzeleid by referring to GPL's Richard Stallman (RMS) himself.

As RMS writes: "Why does the [Free Software Foundation] philosophy matter? Because people who don't value their freedom will lose it. If you give people freedom but don't teach them to value it, they won't hold on to it for long. So it is not enough to spread free software. We have to teach people to demand freedom, to fight for freedom. Then we may be able to overcome the problems that today I see no way to solve." (google for "Richard Stallman" to find this and similar quotes)

Since RMS and other FSF advocates promote the concept that freedom is "Free as in speech and not Free as in beer", then according to this concept nVidia is MOST DECIDEDLY evil. Therefore, according to such FSF purists -- certainly not on this forum ;) -- "this war on proprietary vendors" has got to CONTINUE rather than stop!

IMHO, it seems that what most disturbs FSF purists and others is where this "nature of a derived work" argument in the GPL may lead to, oui? Murky freedom now, but without any further fight to retain freedom (such as JaseP's driver example), a future loss of such freedom due to les attitudes laissez-faire.

-- le boborooster



dinotrac

Aug 08, 2006
12:09 PM EDT
boborooster -

It is very different to say that one does dangerous things and one is evil.

Nvidia certainly sees things in a different light from RMS. He would consider them to be enemies of freedom.

I seriously doubt that even RMS consders them "evil".
boborooster

Aug 08, 2006
2:37 PM EDT
--- enters again boborooster

Ah dinotrac, but one must disagree with you. RMS can indeed consider software that does not provide full freedom as evil. I quote from http://www.homelandstupidity.us/2006/07/21/free-software-the... on the GPL and libertarianism which readers of ours may wish to redefine or reclarify.

-- begin quote -- "First, some definitions are in order. Stallman began by defining free software, the four freedoms it provides, and why software which doesn’t provide the four freedoms is evil. Yes, evil.

The four essential freedoms, Stallman said, are:

“Freedom 0, the freedom to run a program as you wish for any purpose;

“Freedom 1, the freedom to study the source code and change it;

“Freedom 2, the freedom to help your neighbor, to make copies and distribute them to others, including publication;

“Freedom 3, the freedom to contribute to your community, to distribute your modified versions of your programs.”

These freedoms are essential, Stallman said, to “make users free and give them control over their own lives, and that’s what fre[e]dom means.”

Without the ability to study and change the source code, you can fall victim to malicious software which contains digital rights management, backdoors and spyware. Stallman cited Windows XP and Interbase as examples of such software. He also levied criticism at TiVo for building a system which was technically under the GNU General Public License, but wouldn’t function if the user actually changed the code of the program running the system. He said that version 3 of the GPL would fix this problem."
-- end quote -- from http://www.homelandstupidity.us/2006/07/21/free-software-the...

Therefore according to even RMS, non-GPL'd Binary-Only Linux Kernel Modules and nVidia drivers w/o source code can indeed be ---- shall the word even dare to be written again?---- "evil" There, that word has been written down!

-- le boborooster
nalf38

Aug 08, 2006
2:40 PM EDT
I also have to say that I'm getting pretty tired of people bashing proprietary vendors. Considering that nVidia is the leading manufacturer of graphics cards, they have a lot to protect. I have an ATI card, and my experience with those proprietary drivers haven't been so great. But if the nVidia drivers 'just work,' then what the hell's the problem? Anything else is just countercultural corporation-bashing garbage.

RMS fails to realize that just because we use proprietary products, doesn't mean we don't value freedom. We live in a society where still have, thank goodness, the freedom to make money from our hard work, and whether we like it or not, nVidia is privy to the same rights. As much we all love to hate nVidia and ATI, I don't think that a lot of end users have considered the idea that they might actually have something to lose by opening their specs and/or drivers.

If they opened their drivers and someone was able to reverse-engineer the inner workings of one of their cards, the likely scenario isn't that some kind-hearted individual or group will release a better a driver, but that a less than kind-hearted startup company will sell unlicensed nVidia work-alike cards of much lesser quality and at a price that undercuts nVidia's bottom line. As fun as that sounds, I doubt it would do any of us any good.

I'm all for free software/drivers/codecs, but there has to be a balance between the RMS way of doing things and the Microsoft way of vendor lock-in. The fact that a lot of great projects are open source was a choice, and we should be grateful for Apache / Firefox / OpenOffice.org / etc. But making money from software and hardware that requires a kernel driver isn't a crime, nor should it be. It's just as valid a choice as giving it away, and companies should have the freedom to release their proprietary products for Linux just as they do any other operating system without fear of violating someone's misguided and esoteric interpretation of 'derivative work.'

Sorry for the rant. It's just that lately I've been seeing more and more extreme interpretations of the GPL, and I'm starting to feel that my favorite community is being hijacked by zealots. The next thing you know, we'll all have a worse reputation than Apple users.
Sander_Marechal

Aug 08, 2006
3:46 PM EDT
Quoting:It's just that lately I've been seeing more and more extreme interpretations of the GPL, and I'm starting to feel that my favorite community is being hijacked by zealots.


I disagree. I see a lot more companies trying to "ride the edge" of the GPL (e.g. Tivo). I also see things that were always questionable affecting us far more. Like binary blob video drivers in the 3D desktop era (while at the same time neutering the few GPL drivers out there).

The message has not become harsher. It's just the volume and spread of the message that's increased.

dinotrac

Aug 08, 2006
3:50 PM EDT
>But if the nVidia drivers 'just work,' then what the hell's the problem?

In one sense, there is no problem. In a world where the vendor always provides the best driver, that driver never has bugs or vulnerabilities, never gets out of step with the kernel, and the vendor never goes away, etc, there really isn't a practical problem, but...

In the real world, where vendors have limited resources, have newer products to push, get bought out, etc, free drivers --- and, more importantly, published APIs --- means that their customers can buy products with assurance. No change in priorities. No disappearing support. And so on.

Freedom protects you against a change in the climate.



jimf

Aug 08, 2006
4:19 PM EDT
Quoting: I don't think that a lot of end users have considered the idea that they might actually have something to lose by opening their specs and/or drivers.


Well yeah, a lot of us have, and, it makes much more sense to release them as open source. What exists now is that they sell you a car, but the ignition module is a rental with a remote off switch... it's their remote...

Quoting: If they opened their drivers and someone was able to reverse-engineer the inner workings of one of their cards, the likely scenario isn't that some kind-hearted individual or group will release a better a driver, but that a less than kind-hearted startup company will sell unlicensed nVidia work-alike cards of much lesser quality and at a price that undercuts nVidia's bottom line. As fun as that sounds, I doubt it would do any of us any good.


First nalf, this is highly unlikely as, by the time you reverse enginered, the chip designs would have moved on. Secondly, the cost of and facilities for chip fabrication is way too radical for a Walmart's clone. And thirdly, Intel has already released their drivers. I don't notice a slew of Intel graphic card clones on the market. Nor do I notice that other hardware drivers have produced a gaggle of reverse engineered products. Sorry, your 'scenario' just doesn't fly.

From a business standpoint, these card manufactures need to recognize that they produce 'hardware'. If anything, they are actually 'limiting' their product sales by keeping drivers closed source. 'Bashing proprietary vendors' is not the point here. Conveying the benefits of GPL to business is.

The truth is, that like other software, drivers are likely to benefit greatly in quality and innovation with a change to GPL. Tell me that as a Linux user, you wouldn't jump to buy an ATI or NVidia card If you know that a GPL'd full function driver was linked to the kernel.

I'm sorry to break it to you (well not really), but lately I've been seeing more and more spin, FUD, and overreaction on the new GPL, which is likely to turn out fine, and, I'm starting to feel that my favorite community is being hijacked by idiots.
jimf

Aug 08, 2006
4:36 PM EDT
boborooster quoted ?
Quoting: "First, some definitions are in order. Stallman began by defining free software, the four freedoms it provides, and why software which doesn’t provide the four freedoms is evil."


I don't know who you're quoting bobo, but it obviously isn't RMS. A moral and ethical imperative... maybe, but 'evil'? I don't think so.

No wonder people think we are all zealots. By spreading that quasi-religious FUD, you certainly are.
grouch

Aug 08, 2006
4:39 PM EDT
How is it that nVidia and ATI are not guilty of inducing copyright infringement?

Both nVidia and ATI provide code which cannot be linked to the kernel and distributed without violating the license of the kernel, and thereby being infringement. Both nVidia and ATI provide incentives for users to download and make the derivative works. The only step missing is the distribution of the derivative work. Since one of the activities encouraged by the license of the kernel is to share with others, it is reasonable to expect users to share the kernel with the derived work.
dinotrac

Aug 08, 2006
6:06 PM EDT
grouch - >Both nVidia and ATI provide code which cannot be linked to the kernel and distributed without violating the license of the kernel, and thereby being infringement.

That's quite a statement you make. How do you figure, given that YOU DON'T HAVE THE FREAKIN' SOURCE. You know diddly squat about anything they do or do not infringe. They might, they might not.

It is completely possible to write a binary blob that does not use one iota of kernel IP and hence does not infringe whatsoever.

It is completely possible to write a gpl'd calling layer that likewise does not infringe.

I agree that distribution of the blob together with the kernel appears to be a GPL violation -- depending on how a court would interpret simple inclusion of the blob on the same DVD/CD/ftp server, etc, but distribution appears to be a GPL violation.

However, I invite you to quote anything in the GPL that prevents a developer from developing either the binary blob (which contains no GPL'd code) or the GPL'd intermediate layer.

Likewise, I invite you to quote anything in the GPL that prevents a user from obtaining the binary blob and loading it up at runtime.

Anything at all.
Sander_Marechal

Aug 08, 2006
9:59 PM EDT
Quoting:However, I invite you to quote anything in the GPL that prevents a developer from developing either the binary blob (which contains no GPL'd code) or the GPL'd intermediate layer.


Here you go (section 2, emphasize mine):

Quoting:If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works.


And the explanation from the GNU FAQ:

Quoting:Combining two modules means connecting them together so that they form a single larger program. If either part is covered by the GPL, the whole combination must also be released under the GPL--if you can't, or won't, do that, you may not combine them.

What constitutes combining two parts into one program? This is a legal question, which ultimately judges will decide. We believe that a proper criterion depends both on the mechanism of communication (exec, pipes, rpc, function calls within a shared address space, etc.) and the semantics of the communication (what kinds of information are interchanged).

If the modules are included in the same executable file, they are definitely combined in one program. If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program.


As I said before: The binary blob in itself may be infringing, just because it was designed to work pretty much exclisively with the GPL wrapper. Only a judge can decide this.
dinotrac

Aug 09, 2006
2:42 AM EDT
sander -

>Only a judge can decide this.

A judge is just a lawyer with a better view of the courtroom. You don't need any legal training to figure this one out. It's not even hard.

Here's a thought puzzle that might help:

Say you are the CEO of Sander Interactives, maker of the finest and fastest 3d graphics cards anywhere.

You're interested in the free software world, but your lawyers are still negotiating with suppliers of some licensed bits that you rely on.

Not wanting to watch the potential market go away, you have your engineers design a front-end/back-end driver.

The back end is identical for all OS's on a hardware platform. The front-end loads the back end and handles any translations, etc, needed to work smoothly with the OS. You have front-ends for Linux, Windows, Mac, FreeBSD -- a whole army of BSDs, etc.

All of the front-ends are GPL'd.

Does your back-end need to be GPL'd?









Sander_Marechal

Aug 09, 2006
4:05 AM EDT
Quoting:Does your back-end need to be GPL'd?


Depends on how it is designed. If they share the same address space then probabely yes. If they communicate through an open API then probabely not.

Also, a flaw in your thought experiment that make it differ from the real situation:

Quoting:The back end is identical for all OS's on a hardware platform.


Nvidia has an OS agnostic driver yes, but the binary blob that the discussion is about is much more than just that. The binary blob that is loaded by the GPL driver wrapper contains both the OS-agnostic part and a heap of Linux specific stuff. So, there are two wrappers around the driver core. One proprietry and one GPL'ed. The proprietry wrapper is already compiled into the blob when you install it from Nvidia. The blob and the GPL wrapper were designed specifically for eachother and run in the same address space. And that's exactly where my GPL quotes above are about.
dinotrac

Aug 09, 2006
5:57 AM EDT
Sander -

The law knows or cares crap about address space. The law understands infringement. It understands derivation. Address space is a computer concept, not a legal one.

>The blob and the GPL wrapper were designed specifically for eachother and run in the same address space. And that's exactly where my GPL quotes above are about.

That's what your quotes from the FSF discussion of the GPL are about. The FSF takes a very expansive view of things. It should be obvious that nVidia does not agree.

Now -- I don't know about the Nvidia driver because I have never seen the code. If it contains actual GPL'd Linux source code whose rights are owned by someone other than Nvidia and who has not given Nvidia independent rights to use it, then, yes, it does infringe --- at the point it is distributed. Please note that nVidia could be violating the GPL by distributing it's own GPL'd wrapper along with the blob because the wrapper is likely to include some GPL'd code that nVidia doesn't own. Distributing either one separately should be no problem.
grouch

Aug 09, 2006
6:46 AM EDT
dinotrac: >>"Both nVidia and ATI provide code which cannot be linked to the kernel and distributed without violating the license of the kernel, and thereby being infringement.

>"That's quite a statement you make. How do you figure, given that YOU DON'T HAVE THE FREAKIN' SOURCE. You know diddly squat about anything they do or do not infringe. They might, they might not."

Brush up on your reading comprehension skills and re-read the statement. There is an "and" in there.

Once the module is compiled, it's not distributable. See Kororaa's recent troubles. See statements by Torvalds and other kernel developers.

For example:

Quoting: A kernel module is not a separate work, and can in no way be seen as "part of the hardware". It's very much a part of the kernel. And the kernel developers require that such code be GPLd so that it can be fixed, or, if there's a valid argument that it's not a derived work and not GPLd, then the kernel developers who have to support the end result mess most definitely do need to know about the taint.

-- Linus Torvalds http://linuxmafia.com/faq/Kernel/proprietary-kernel-modules....
nalf38

Aug 09, 2006
7:56 AM EDT
I guess I just don't understand the point of leaning towards the idea that nearly all binary blobs violate the GPL, regardless of what the license says. It seems like Linux users would be shooting themselves in the foot by taking that collective stance. I understand the frustration of having unsupported or poorly supported hardware. I don't really believe that forcing a company to release a completely GPL'd driver by various legal means and licenses will ever work on a large scale. Only when it makes economic sense will companies change their ways. I intend to vote with my dollar.

I'm all for a theoretical discussion of the GPL, and as much as I would love to see no binary blobs posing as kernel modules, I think that using a restrictive license to achieve that will only make vendors consider abandoning the Linux platform altogether. There has to be a middle road somewhere.
dinotrac

Aug 09, 2006
8:01 AM EDT
grouch -

What seems most seriously in question is whether it can be distributed together with the kernel. Is that what you were referring to?

It is quite possible that the code can be linked to the kernel and can be distributed, but separately.
Sander_Marechal

Aug 09, 2006
8:06 AM EDT
Quoting:Please note that nVidia could be violating the GPL by distributing it's own GPL'd wrapper along with the blob because the wrapper is likely to include some GPL'd code that nVidia doesn't own.


Agreed

Quoting:Distributing either one separately should be no problem.


That's uncertain for the blob. FSF says "ask a judge". Nvidia says "It's legal". Greg Kroah-Hartman and a bunch of kernel devs say "It's illegal". Novell says "Maybe it's legal but we don't take a chance". Linus says "Don't know, don't care either way".

No ammount of discussion can ever resolve this. Only a fed up kernel dev with a war chest to go sue Nvidia can.

dinotrac

Aug 09, 2006
8:50 AM EDT
sander -

It would be interesting to see if anybody can actually put together a complaint -- regardless of actually filing a lawsuit -- alleging actionable infringement -- in terms of actual actionable elements.

That's the thing I've never seen anybody to. It's one thing to say "You can't do that", but when nobody -- and I do mean NOBODY -- bothers to express the problem in the clear terms required by a well-pleaded (yes--pleaded is right!!!) complaint, it's hard for me to take them seriously.
jdixon

Aug 09, 2006
6:47 PM EDT
Dino:

> The back end is identical for all OS's on a hardware platform.

If this were actually the case, I think it would be clear that the binary back end is not in any way related to the kernel, and distribution would be legal. The code which does interface with the kernel (and is therefore kernel specific) needs to be GPL'ed, but any code that is truly OS independent should not need to be. Sander says the code is not truly OS independent. Does anyone know for certain?
dinotrac

Aug 09, 2006
7:54 PM EDT
>Does anyone know for certain?

Whoever has the source code knows, but I'll bet the code from the GPL'd shell could provide a clue, presuming you knew with some certainty that certain kernel functions needed to be invoked and the shell did not in some way provide a means for calling them.
Sander_Marechal

Aug 10, 2006
2:19 AM EDT
>Does anyone know for certain?

Nvidia said as much. I read it somewhere though gamedev.net where a lot of smart 3D programming folk hang around. I'll see if I can dig up the statement. AFAICT the situation is as follows:

The Linux Nvidia driver blob works only on Linux, but does not contain any GPL'ed code (such as kernel headers).
Sander_Marechal

Aug 10, 2006
2:44 AM EDT
I haven't found the quote yet, but a clear indication that the blob is Linux-specific is the fact that it needs to be recompiled for every kernel version and variation. If the blob was OS agnostic then the GPL wrapper would convert the unstable kernel API to a stable ABI for use by the video driver so that it could load the blob and run it through the ABI. This is clearly not the case.
dinotrac

Aug 10, 2006
3:51 AM EDT
sander -

The need to recompile for every kernel version would seem to indicate a potential danger. I'm curious, though, why that would be the case if it contains no headers, etc. Wouldn't something somewhere in the code need to refer to something in the kernel to require a recompile?

That doesn't have to mean a GPL violation, by the way -- or, more accurately, it doesn't have to mean an actionable violation. It certainly means a messier case than my clean hypothetical.
jdixon

Aug 10, 2006
5:22 AM EDT
> If the blob was OS agnostic then the GPL wrapper would convert the unstable kernel API to a stable ABI for use by the video driver so that it could load the blob and run it through the ABI.

Yes. And if this were the case, I think NVidia would be in the clear. If (as you state), it's not, then they may not be.
Sander_Marechal

Aug 10, 2006
6:13 AM EDT
Quoting:I'm curious, though, why that would be the case if it contains no headers, etc. Wouldn't something somewhere in the code need to refer to something in the kernel to require a recompile?


Remember that the object of the GPL wrapper isn't to keep Linux specific code out of the blob. It's only job is to keep GPL'ed Linux kernel headers out of the blob. I'll give a greatly simplified example. Note that I have not looked at the GPL wrapper code. I'm just theorizing here.

The GPL wrapper could simply translate the Linux system calls into some other calls - their own custom API that mimics the Linux headers. The copyright on this new API would be with Nvidia, so they can have that bit under GPL in the kernel and under wraps in the blob. Because the GPL wrapper is in the kernel, the kernel devs can change it - but they cannot change the API because that would break the binary blob side. With all the other developments going on in the kernel it wouldn't be ABI stable, but it would be sort-of API stable. The result would be what you can observe: No need to change the code of the blob because the API is stable, but you do need to recompile for all versions because the ABI differs.

Inspection of the GPL wrapper by someone more skilled in drivers than I am can reveal more clues as to how this actually works out in practice.
dinotrac

Aug 10, 2006
6:47 AM EDT
Sander -

But wouldn't it be the GPL wrapper that needed to be ABI compatible, rather than the binary blob?

That's the part that would make me wonder.

Do they distribute this stuff together with the kernel? I may just be that they avoid distributing things together, thus avoiding the provisions.

The other possibility, I suppose, is that they've had their lawyers make a determination that the nature of what they are doing -- at least in terms of handling the interface with the kernel -- comes into that category of unprotectable things, stuff that only presents one reasonable approach.

That might reassure them in ultimate outcome, but doesn't keep a case out of court, and doesn't make a case subject to summary judgment, as it requires a finding of fact.
Sander_Marechal

Aug 10, 2006
1:52 PM EDT
Quoting:But wouldn't it be the GPL wrapper that needed to be ABI compatible, rather than the binary blob?


If the GPL wrapper would provide a stable ABI then they can use the same blob on different kernels without recompiling the blob. With a stable API (not not ABI) you'd need to recompile the blob for each and every kernel variation (but without changing the code. Just use a compile farm). I presume that this is what they do now.

So, we can be pretty sure that there is Linux specific code in the blob (it's not just an OS agnostic blob). We can also be quite sure that there is no GPL code in the blob (like kernel headers). It's exactly the grey area edge case the GPL FAQ refers to. The result depends on the interpretation of the GPL (the FAQ would just be "author's intent" but nothing binding) and probabely the code of the blob. If it ever gets to court then most of it would be under seal I presume.
nalf38

Aug 31, 2006
9:18 AM EDT
Still don't agree... this just gives credence to MS's FUD message that the GPL is viral, and that anything that comes in contact with it in turn becomes GPL'd.

I'm all for open sourcing drivers so they can be maintained and improved long after the vendor has abandoned the product for next year's version, but there has to be a way for vendors to protect files that give their competitors clues to their trade secrets.

Again, I'm voting with my dollar. The card I buy will be an Intel, where everything is open sourced except for the Macrovision blob.
herzeleid

Aug 31, 2006
8:05 PM EDT
Wow (shakes head) it's sad to see so many here in the "community" going after nvidia, simply because nvidia freely provides their own drivers for their own video cards. Never mind that they are the best drivers available, bar none, and kept up to date far better than most open source drivers.

Nobody twisted my arm to make me download the nvidia drivers. It's *my* computer, and it's *my* choice to run the best drivers available, regardless of whether they meet with everyone's approval, and I don't appreciate the gpl zealots attempting to criminalize me for doing so.

I have been running linux only for years, because I prefer it to all the alternatives. I don't appreciate those who tell me I must neuter my linux box by dumping the sexy video drivers, and turn to a lowly windoze peecee for all my graphics needs. Not gonna happen!

jimf

Aug 31, 2006
8:47 PM EDT
herzeleid,

Three or four years ago, I decided that w2k was the last version that I could tolerate from the MS camp. Linux was in essence my last ditch chance to divest myself of bloat, and the garbage that MS was pushing. Kind of a 'march or die' situation. So, My initial reason for getting into Linux had a lot to do with the practical and very little to do with the GPL. At that point I was very open to proprietary drivers, non GPL applications and anything else that would make the interface more 'functional'. And, Oh boy, 'it's all about choice!' Well, kinda...

It was the Linux sense of community that first began to impact my thinking on the nature of FOSS and the GPL. All those people contributing to the advancement of Linux and open software, either as developers, or by doing whatever else they could to advance the cause. From that point, I quickly 'got' what the whole thing was about, FOSS and the GPL protect the rights of all of us.

So, everyone has the right to use software under the protection of the GPL, but, we can't force anyone to accept that protection, nor can we force them to accept their ethical responsibility to support FOSS and the GPL... And yes, they do have a responsibility.

Other than explain what FOSS and at GPL are, and how the GPL protects the rights of us all, there isn't much we can do to win anyone over. If a user doesn't want to recognize the obvious value of it, we can't really put him in a hammer lock and make him yell uncle. But, the user who says, 'I don't give a damn' is really undermining the protection and the rights of all the other members of the Linux community, so, he's not gonna garner much respect from the rest of us.

Now, this is the real world, and I'm sure not going to condemn someone, who otherwise tries to follow the rules, if they run a proprietary driver or two, but I do believe that we all need to work toward the day that we don't have to do that. You see, it's 'really' all about ethical choice.

Sander_Marechal

Aug 31, 2006
10:06 PM EDT
Quoting:Wow (shakes head) it's sad to see so many here in the "community" going after nvidia, simply because nvidia freely provides their own drivers for their own video cards.


The way the provide it is probably illegal. Nvidia can easily solve this though, but they don't *want* to at this point. Probably cost-related (it would require a massive driver rewrite). Simply rewrite the driver, put all the common/basic stuff in a Free part, put the things they cannot release (because of legal reasons or fear of competition) on an EEPROM on the card and *fully* document the API of the parts on the EEPROM.

Firmware is a reasonable half-way point between blobs and Free drivers. There are some people out there that argue firmware has also a lot of trouble (e.g. BIOS'es) but most firmware problems come from not documenting the firmware API's, not the firmware itself.
dinotrac

Sep 01, 2006
3:01 AM EDT
Sander -

>The way the provide it is probably illegal.

I find myself inclined to believe that isn't true.

Recent events -- the case of cypherfunk and his visit by a couple of kernel nazis reinforces that opinion.

In case you didn't catch the story, he developed 5 (count 'em - 5) kernel patches to improve the stability of systems using ATI drivers.

He put binaries up on an ftp server, but asked for paypal donations to receive the source.

A couple of developers told him he was violating the gpl and asked him to put the source up with the binaries. One of them wasn't remotely nice about it.

Here's the rub --

When the details came out, he probably didn't violate the GPL at all.

And, of course, let us not forget the case of Trolltech and the QPL back before they converted to their current dual-licensing scheme.

So --

Here we have nVidia, not exactly a shrinking violet. If they are violating the GPL, they are doing it out in the open and making no apologies.

Why aren't they being pursued?

















Sander_Marechal

Sep 01, 2006
4:25 AM EDT
> Why aren't they being pursued?

Read up on my posts between 7 and 10 august in this and other threads. No-one knows if what Nvidia does is legal or not, not even Linus, RMS or Nvidia's lawyers. The only way to find out is to go to a judge and ask. No-one feels like doing so. Splitting the blob in firmware and free software would make it legal beyond any shadow of doubt.

As far as cypherpunk's story goes, I read it. To me it appears that what de did was in violation of the GPL but it was handled very, very poorly. I must also add that I didn't follow the story very thoroughly so I'm not aware of any details and I can be wrong about his case.
NoDough

Sep 01, 2006
4:37 AM EDT
>The way the provide it is probably illegal.<

[nitpick]

The word 'illegal' gets thrown around willy-nilly sometimes. In order for something to be illegal, it must violate a LAW. Violating a license is not illegal. It is, however, uncivil.

[/nitpick]

That having been said, I use Nvidia's drivers. Whether it violates the GPL is between Nvidia and the kernel developers. Not my battle.
dinotrac

Sep 01, 2006
4:52 AM EDT
sander -

I don't think you understand American law very well. One does not "go to a judge and ask".

One files suit. One conducts a trial. Facts come out. The fact-finders (either a jury or a judge -- at the discretion of the defendant) weigh the evidence and make a determination on the question before them.

There is no magic passing of wisdom.
Sander_Marechal

Sep 01, 2006
5:12 AM EDT
@dinotrac: I know that :-) That's exactly what I meant by "Ask a judge" - a kernel developer or company that contributed to that portion of the kernel suing Nvidia over their driver blobs.

@NoDough: I use their drivers too, but I'll drop them as soon as a Free 3D driver exist. It doesn't have to power Quake 4, but it should be able to power AIXGL :-)

Posting in this forum is limited to members of the group: [ForumMods, SITEADMINS, MEMBERS.]

Becoming a member of LXer is easy and free. Join Us!