Kororaa Accused of Violating GPL
AlanS2002 writes "The Kororaa Project, a pre-configured binary install method for Gentoo Linux which bundles nVidia's and ATI binary drivers in its Kororaa Xgl Live CD , has put its Live CD on hold after being accused of violating the GPL. The issue appears to be the distribution of the Linux Kernel and nVidia's/ATI binary drivers together. When the binary drivers are built the GPL'ed code is included in the binary result, which is a violation."
To avoid the GPL. I thought it was supposed to make things simpler, not have all of these caveats and 'gotchas'. I understand the next version of the GPL is supposed to eliminate these, but then there's the problem with dealing with multiple versions of the GPL.
I wonder if we're going to start getting stories on "Random Joe Programmer Violates the MS EULA".
"Anybody who tells me I can't use a program because it's not open source, go suck on rms. I'm not interested." (LT 2004)
This is one example of why the GPL is a terrible license. People are trying to add useful things to the Linux kernel so more people use it and your license is restricting it. Use a BSD style license if you want to distribute your code open source.
Tainting the kernel makes it non-compatible with the gpl. This is not normally a problem on your home-system, but if you redistribute the tainted kernel you violate the gpl. Whats the big deal? just remove the evil binary-only drivers and all is well.
or perhaps im wrong, what do I know, anyway?
GPL shooting the "good guys" this time. Nevertheless if the open source community will not obey the rules no one will.
Fortunately there are many ways for them to exit this situation, and I hope everything will be cleared soon.
I always thought it was ok as long as they provided everything necessary to build the CD on your own, IE all of the GPL code that was used and which non-GPL packages (the nVidia and ATI drivers) were used.
If anything I would have expected this to be a violation of nVidia and ATI's copyright, distributing their drivers rather than sending people to their respective websites to download.
The drivers aren't GPL though and they don't include GPL code. They merely are compatible with GPL code. This is like saying my source files are GPLed because GCC can parse them. Or this webpage is MPLed because Mozilla can read it, etc...
Just because the kernel can load your module doesn't mean your modules is GPLed. The way I understand the GPL is anything you derive from GPL code must be open source and what not. The drivers are proprietary and just happen to be compatible with GPL code.
Someday, I'll have a real sig.
Aggregation of components is not the same think as linking, the FSF is totally clear about that. So both the GPL code and the binary code can be present together on the same medium, not linked.
It's only when the CD is booted and the drivers loaded that a runtime image containing the binary modules linked with the kernel is created, and not before.
Distributing an aggregation is perfectly legit, according to the guidelines for GPL v2. (Dunno about v3).
"The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
Is there any basis in the copyright law for the claim that bundling binary drivers in the same binary
as a GPL kernel is copyright violation, while having them as separate downloads is OK ?
This seems like a very naive interpretation of the "derived work". Are there any laws or precedents
that support it ?
...on who sent the email as to whether or not this is truly a significant event. While the person emailing may have a point (IANAL, so I dunno, the devil is in the messy details), it's a little melodramatic to make a big fuss out of this unless the person making the complaint is a copyright holder in the kernel and is issuing a cease and desist.
Someone made Linux easy to install...
KILL KILL KILL!!! STOP THEM!!!
Seriously, they put linkable drivers on a CD... That's 100% OK.
Stop trying to stop Linux you Microsoft plant, nice try tho.
- Adam L. Beberg - The Cosm Project - http://www.mithral.com/
There really isn't any fun, having to take a distro that leaves you with an 80x25 console, or a 640x480 X desktop (and I feel lucky sometimes to have EITHER of these work correctly), and from there, find and download drivers for NV or ATI, and build and boot a kernel that works with what was otherwise a working live system.
This is really not a reasonable thing to expect from a user, not even from a user like me who has been running linux since 0.99pl1.
-fb Everything not expressly forbidden is now mandatory.
You really have no clue do you.
... Standards and Practices !
Linux was not put together for your convenience.
I'll leave it there as more than one concept may overload your processor.
PenGun
Do What Now ???
i am an idiot so here i go again.
1) as of the new xorg there is no need for video drivers to be in the kernel.
2) indeed the kernel people have been urging ati and nv to move their drivers out to userland.
3) their drivers need a lot of rework to get to userland, plus they will run approx. 1% slower.
4) neither ati nor nvidia want to lose 1% performance, let alone all the time and testing to move the code.
5) if one moves before the other, the average gaymer, i mean laymer, oops, gamer magazine draws charts that make 1% seem like the entire frickin' page width.
bye now.
The most infuriating thing is how he goes for the puppy angle with this bullshit:
The 'open source spirit of Linux' is that Open Source is supposed to enable people to stop worrying about this licensing crap. If nVidia and ATI aren't complaining, there shouldn't be an issue on our side.And for the most part there isn't. Which is why it's even more sad that he's actually caving to this:
My overall opinion is that this Koraraa guy ought to grow a pair and wait to see what the non-basement-dwelling grownups have to say about his distro's licensing.Repeat after me:
There is no GPL code in the binary driver!
Nobody claims there is and that's not the issue here.
One really has to ask how this article submission could have been acceptec, especially as the way the nvidia driver works is clearly spelled out on the kororaa hompage:
The NVIDIA kernel module consists of two pieces: a binary-only
portion and a kernel interface layer (aka the "shim"). The
binary-only portion is not Linux-specific (the same code is used
on Windows, Solaris, etc), and does not include any Linux kernel
header files when it is built. The shim is provided in source code
form with the driver package, and this is the piece that is compiled
for your version and configuration of the Linux kernel. The shim
is the only piece that references Linux kernel data structures or
macros, and only does so to the extent that is needed to provide
the functionality of a modern graphics driver. After the shim is
compiled, it is linked with the binary-only portion, to produce
the final NVIDIA kernel module.
Before you go on about how evil the GPL is, why not wait until there is some clarification on the issue.
So far, an un-identified person sent an email to someone distributing a Live CD making certain claims.
As far as I can see, no one has said whether that person has any code of his/her own in that Linux distribution. Nor has anyone who would be able to say one way or the other been quoted.
Personally, I'd wait until Linus or ATI said that this was wrong before going off on how evil the GPL is.
Perhaps the first point of call is that the nVidia license permits the re-distribution of their driver in Linux distributions. Surely if it was a GPL violation they are not allowed to do this, or perhaps it's just down to the distro maintainer to see if the GPL overrides other package licenses.
I send emails to both ATI and nVidia querying this license issue. ATI didn't even acknowledge my email however nVidia (to their credit) did reply (thank you!). Here is the nVidia license, as quoted in an email from nVidia:
The NVIDIA Software License:
http://www.nvidia.com/object/nv_swlicense.html
permits redistribution of the NVIDIA Linux Graphics driver like you are doing:
"2.1.2 Linux/FreeBSD Exception. Notwithstanding the foregoing terms
of Section 2.1.1, SOFTWARE designed exclusively for use on the Linux
or FreeBSD operating systems, or other operating systems derived
from the source code to these operating systems, may be copied
and redistributed, provided that the binary files thereof are not
modified in any way (except for unzipping of compressed files)."
I think the restrictions in the BSD license are much worse. In the Linux kernel, at least, anyone can add useful things to any distribution. In the BSD Unix one can add useful things only in the FreeBSD, NetBSD, and OpenBSD distros. For instance, let's suppose you have a Nokia firewall and want to tweak its operating system. You cannot, because it was distributed under the BSD license and Nokia closed it.
Saying they're trying to add "useful things" to the kernel is a bit of a judgement call. You might think that adding proprietary drivers is useful, but a lot of people would disagree.
The GPL is designed to prohibit this for a reason, and it's not because the FSF people enjoy making people's lives difficult, it's to keep Linux and the kernel from becoming dependent on proprietary binary lumps. If you want to taint your kernel by adding proprietary modules, more power to you, but you can't redistribute the result. Every user has to add the tainted bits in themselves.
If every distro could just use the nvidia binary drivers, maybe the people working on the free "nv" driver just wouldn't bother. And then one day nvidia decides (because they suddenly become evil / get bought by Microsoft / whatever) to pull the rug out and cease development of the drivers. A few well-placed cancelled projects could set an operating system years behind the competition.
The GPL attempts to ensure that a basic Linux system is at least functional without proprietary add-ons, so that it can't become the hostage of someone who controls a lump of code that everyone has gotten used to depending on.
"Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
...to enforce their "copy right". The users can alert the copyright holders of potential violations, but unless the copyright holders take action, nothing happens.
Only copyright holders have standing to bring suit.
The GPL is about making the code Free so that anyone can use it and improve it
There are other licenses that are more "Free", depending upon your point of view.Maybe. But then, as soon as any restriction is placed upon any code, you create edge cases. That's nothing new. Which is why we have "expert" lawyers in the field of "intellectual property" law.
Because there are edge cases is no reason to claim that the GPL is evil.
Certainly not when this case rests on one un-identified individual sending one email to one distribution.
This is just a bunch of BS analysis done by software engineers, not lawyers. IAMLS (I am a Law Student) and it is basic that not all copying is a copyright violation. Firstly, runtime linking is not GPL violating because it does not create a copy (Copies must be tangible, which requires persistence. Temporary actions in RAM are not persistent. The only caselaw that supports that proposition is in dicta, so not binding.) Secondly, what is copied in copiling the Nvidia or ATI drivers from the kernel is basically nothing (relocation symbols) and is soley for the purposes of intercompatability and therefore does not amount to legal copying (If it did, then the BIOS on IBM-compatible PCs would be infringing for interacting with the copyright on the chipset). I.e. it's basic fair use for software, established by numerous cases. The fact is, not all linking requires the LGPL, only linking that leads to incorporation of a significant portion of copyrightable information.
DISCLAIMER: This is not legal advice. Do not rely on it in anyway. By using this information in anyway, you agree to idemnify and hold harmless the provider of said information. If you want legal advice, contact an attorney.
If you want a binary-based system, run Windows. Seriously. Have fun.
I like knowing that I will never need to throw away old hardware because neither the OS vendor nor the hardware vendor cares to provide drivers for the latest version of the OS.
I like knowing I can use my devices with x86, x86-64, PowerPC, 64-bit PowerPC, IA-64, and anything that will be invented in the future. I don't need to go begging some corporation to make a driver for a product they no longer sell.
I like knowing that the driver API is optimal, without contortions for compatibility with an ABI that might be getting obsolete.
I like knowing that I can debug a crash. I have all the source.
I like knowing that nothing on my system will phone home to tell Sony about my sins.
The nVidia "shim" is licensed under the GPL and is copyright nVidia --- this means that it's perfectly legal to compile the shim against the GPL kernel. At the same time, nVidia is free to do whatever they want with the shim, and its license is immaterial to them at that point because they hold its copyright. The GPL has no say over what else the copyright owner can do with kernel-linked code, the only thing that's mandatory is that it's GPL'd, and it is. For example, it's very common for copyright holders to dual-license their own GPL'd code for commercial and highly proprietary use.
Well, what nVidia chose to do in this case is to link the shim with their binary driver, and they're perfectly entitled to do that, by their copyright. Furthermore, since the shim and the binary driver are separate components from the kernel, they can certainly be shipped on the same CD as GPL components, as long as the binary code is not linked to the kernel. And it's not.
So you see, by virtue of being the copyright holders of the shim and GPL'ing it, nVidia easily comply with the requirements of the GPL but aren't constrained in what else they do with it.
If the binary module were linked against the kernel then you'd be right, but it's not. At no point in time did the binary module even get a sniff of the kernel, and it's shipped without knowing anything about it, nor viceversa.
Yes, the dependency is contrived, but that's how the GPL forced them to rearrange their code dependency graph in order to stay on the good side of the GPL's guidelines.
"The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
all those suckers that bought NVidia or ATI video hardware
... who, exactly?
Just out of curiosity, who are the non-suckers? The people who bought video hardware from
3Dlabs doesn't make GPUs anymore, 3dfx got bought by NVidia, and XGI is gone. That leaves ATI, NVidia, Matrox, and Intel making GPUs. Does Matrox or Intel release source code to their drivers? (Is Matrox even still in the consumer graphics card business?) Who else is there? ATI and NVidia basically have the market for aftermarket cards cornered, to the best of my knowledge, and in both cases their drivers are closed-source. There really aren't any other options for most people.
Personally I'd say go with NVidia, because they seem markedly less evil and their binary drivers seem to suck less, but that doesn't mean I'm happy about it.
"Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
Does anyone besides open source zealots care about open drivers? I think so. Perhaps if Nvidia and ATi had open sourced their drivers, Xgl wouldn't have taken so long to exist (Xgl requires a certain level of driver support, and aiglx even more so). I'm pretty sure you'd have liked this just as much 4 years ago, when I first saw people talking about things like openGL accellerated gtk widgets, and otherwise imagining how to use 3d to its best. But 4 years ago, you were writing off a large group of people by doing that.
Furthermore, installing drivers for your ethernet, cd drive, etc is very simple on linux, because the drivers are open source and in kernel. Attempting to maintain a glue between the kernel and your driver is painful and prone to failure; unlike in tree drivers, when someone else breaks code you depended on, you have to fix it, not them. Recall that nvidia's nforce2 boards are better supported in the kernel than by nVidia itself! With no documents to support them in their efforts, even. I hear they even now recommend the reverse engineered driver over their own, but don't distribute or improve, oddly. If nvidia's drivers were GPL'd, installing them would be as simple as installing anything else.
It's pretty naive to think that their IP is so valuable that the source code would disclose it any more than the underlying binary code does. Their IP is already in jeopardy by distributing the software. One of the many reasons I suspect they have no intention of participating in OSS is that there's a number of speed over quality decisions written into it that would be exposed, perhaps even application specific optimizations. While this could be neat to have optimized drivers on a per game basis, this is never disclosed to the public (and when revealed sparks not applause but public humiliation). Furthermore, it means that optimizations are done on their terms, not the public's. Any application specific optimizations are given only to a specific application, with no cross over improvement in other applications, or the ability to make the change. If NVIDIA really wanted to share their drivers with the public and gain all the benefits often touted, they'd stop pointing at other people's IP they own and begin to change it. They haven't, and they won't. What nefarious secrets lie within? Perhaps just a case of "this stuff is really hard, and we don't do it very well?"
Just a thought -- if you dislike the open source spirit as embodied by the GPL, why not do something productive about it, like make a liveCD based on BSD running Xgl. There's nvidia drivers for BSD too, ya know. And for all the talk about pressuring vendors to open their code, they have no qualms about giving it away reguardless with no expectation of anything in return. Linux needs to focus on being Linux, not beating Redmond.
The good news is that I suspect the person who wrote to Kororaa doesn't actually have any basis for the claim. While nvidia's legality has been on shady grounds, the message published doesn't provide any insightful evidence in either direction. Anyone seriously familiar with the kernel and binary objects should be familiar with the recurring arguments and whatnot. It's clear to me that if the drivers themselves were in violation, nvidia would have been sued some time ago.
I Browse at +4 Flamebait
Open Source Sysadmin
Intel publishes open source drivers for their latest integrated video chipsets.
While people may report that some Matrox or ATI cards work fine with open source drivers, those are all old, discontinued cards. If you want to buy new hardware, Intel is basically your only choice for open source drivers.
>> Does Matrox or Intel release source code to their drivers? (Is Matrox even still in the consumer graphics card business?)
Yes, Matrox is still in the business, but they're not really competing directly against nVidia and ATI in the games market -- for example, they provide no hardware vertex or pixel shaders in their consumer cards. And yes, Matrox does release driver source code.
I recently bought a Matrox Millennium G550 PCIe, and not only does it list Linux on the retail box alongside the other operating systems, but their product page proclaims it as "the world's first PCI Express graphics card with open-source display drivers for Linux and other Unix-like operating systems". And they're quite inexpensive too, which is nice.
The drivers are in recent kernels already too, although I'm getting "drmOpenDevice: Open failed" problems at the moment so DRI is being disabled and thus 3D isn't accelerated on that box just now. I hope it's just a local misconfiguration.
Not really sure what the status is beyond that, but in theory the G550 should have good support in Linux without needing any binary modules.
"The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
no you dork. video drivers in kernel space lets you run X as a non-priv user. That's the whole fucking point. X should talk to the kernel, not the hardware.
What if I distribute the kernel with instructions on how to add add proprietary module? Would that be OK?
What if I then distrubute the kernel with a helper script that downloads the modules when the user runs it?
What if these modules would reside on the same CD as the kernel, and the script simply copies them from a specific directory instead of copying them from a server?
What if I also include a helper script that automatically installs the modules when the user runs it?
And what if this script is a boot script?
But, oh wait, that sounds an awful lot like what kororaa does already...? Where did I cross the line?
Matrox is definitely still in the graphics card business. I have a Matrox dual-head card in my home machine and in my work machine. They open source their drivers. X works perfectly with no proprietary drivers needed.
Also, in most of the distros I've used, the end user has had to actually do the final compilation of the "shim" which combines the closed source and open source code. I think there would be a problem with distributing a binary "shim" without all of the source but I am not certain.
We don't see the world as it is, we see it as we are.
-- Anais Nin
Aggregation on the same medium is not a determining factor. The FSF has said that being on the same medium isn't important, the "mere aggregation" clause.
To be honest, no one knows where the line is, not even the FSF.
"What constitutes combining two parts into one program? This is a legal question, which ultimately judges will decide." --From the FSF
I've had enough abrasive sigs. Kittens are cute and fuzzy.
Only the very old programmers violate the GPL.
AC'd because the mods will tear me to shreds.
"Hello 911? I just tried to toast some bread, and the toaster grew an arm and stabbed me in the face!"
I must say I have always been bothered by the suggestion that writing code to a particular API (such as that of a kernel) could be considered a derivative work under copyright. If I write to the Windows API, have I careated a derivative work of Windows, to be owned by Microsoft?
If you do static linking of some GPL code with your code, then it's not just a derivative work, you are actually including somebody else's code and must get their permission. But static linking is of course less and less common. Modules that call libraries are only bound to the libraries at runtime today. Code is written to APIs but bound at runtime.
This is thus a "loophole" in the GPL, turning it into the LGPL in some interpretations, and to fight that, we see this interpretation that just writing code to an API, making use of the API definition found in header files, makes you a derivative work. I don't think this is a good interpretation for a free software movement to be pushing, even if it means some loopholes.
Has it been over a year since you last donated to the Electronic Frontier Foundation
I think ideals are a good thing; however, if you cannot look past your insular world view and take a REALISTIC assessment of the situation for just a second, then your projects will probably share the same fate as the mainframes.
I think OSS does have a promising future, but if the FSF zealots continue to rabidly attack people with a different software development ideology, then OSS will be relegated to a niche like servers, or, as only a mere curiosity for the hackers of the future, who do all their REAL work in Visual Studio 2018. If 'we' want to help foster OSS development, 'we' have to be willing to work with people who do not share 'our' beliefs. One part of 'growing up' is learning how to work with people who do not share the same ideals as you, but sometimes you two can strike a compromise that benefits everyone.
Here is a quotationg from Eric Raymond's The Art of Unix Programming:
---- "XML is like violence. If it doesn't fix the problem, you aren't using enough."
You can't apt-get Java because Sun won't let you, because you have to click through an EULA on their website. By law, this process cannot be automated, so apt-get can't legally be programmed to do it. Every other piece of proprietary software is the same way (which is what "proprietary" means). Therefore, proprietary software can not be "apt-getted" by definition.
In fact, I'm suprised Nvidia and ATi aren't going after these Kororaa people, because as far as I know, they don't allow this kind of thing either!
"[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz
Today, the PC most needs to become quiet and reliable.
It most needs, or you want most? Besides, have you heard mini-computers these days? They're pretty silent, making no noise except under heavy load.
It needs to lose the moving parts. This would have already happened if we didn't keep adding fluff just because we can.
Interesting reasoning you've got there. So, all of those thousands of people that researched 3D algorithms for the past decade have been doing so to add fluff to PCs. In addition, if those people had not been working to add fluff to PCs they would have instead been working on solid state devices and motorless cooling apparatuses?
We reached attractive usability long ago, and are now adding crud just to be new and shiny.
Actually, in many cases, we're adding new things to find better ways of doing things. Sure, sometimes those ways don't work out or seem really dumb (like Project Looking Glass which you so crankily dismissed) but other times they are really very useful.
An example: I work for the Xiangtangshan Caves Project at the University of Chicago and assemble scans of bits of statues from 12th century China. The software that we use has optional transparency on all of its floating dialogs. Making them completely transparent allows me to see more of the shell scans, meaning I work faster and more accurately. Having 3D drivers is absolutely necessary in this situation and, additionally, transparency is a boon. I submit, trollish sir, that you have a rather narrow, closed view of how 3D computing can be of use. (Actually, it seems you've a narrow mind on many things, considering that you equated anything other than having a wife and job as a waste of time. However, I digress.)
What if the entire Universe were a chrooted environment with everything symlinked from the host?
The FSF tactic is akin to the cold war era use of atomic weapon: disuasion.
In practice, the FSF is drawing the line. Its enough for the FSF to say they are going to file a lawsuit, and the offending company usually back down.
This is dangerous, they are playing with the "gray area". At some point one stupid company is going to go for a fight to define what the GPL really means, and then the supreme court will decide after 5 years of lawsuit (because I'm pretty sure they would not stop at a lower court)
It would be much better if they were using technical definitions of what you can do with software than philosophicals one.
I'm not a fucking lawyer, for god sake. How am I supposed to know what the GPL means by linking if its not in technical terms ?
OK, I've got karma to burn.
I just happen to enjoy playing Doom3 and UT 2004. What card other than an ATI or Nvidia is going to pull that off and has open source drivers?
Actually, I use Nvidia's binary driver. :P
I was just waiting for one of you open source utopians to express the "closed source games are evil" opinion. Let's face it, while there have been some good open source games released, 99% of the games in the world are closed source, and some of them I have deemed are worth my time and money spent. The game industry wouldn't truly exist without the profit motive, and in general they see the need to keep things closed to ensure that.
Games don't need to be closed source to make money. That's what you're probably thinking at the moment. The only system that would work that I can think of is if a source CD was included in the same box as the binary CD. Obviously, you couldn't post the source on a publicly accessible server, for people who can would download the source and compile the game - never giving the company one dollar.
Things to keep in mind:
TECHNICALLY, seems the GPL prohibits what Kororaa is doing with their Live CD. HOWEVER, seems Linus would side with them. HOWEVER HOWEVER, this would have to be legally debated, in other words, "defended". There's no explicit legal protection, and to get a judgment call would require money, lawyers, and being tangled in a lawsuit.
All of which would be silly and embarrassing both inside, and outside, of The Community.
I, personally, am very much in favor of "completely free (as in speech)" software. Mr. Stallman may be a "stickler", but I find him heroically inflexible. The world needs MORE Mr. Stallmans who actually and honestly stand tall, stand proud for what they believe in. And I'm not kissing ass here: I share his vision, but am far weaker in my convictions.
The pragmatist in me thinks that the Linux kernel's license should be changed to the LGPL. (http://www.gnu.org/copyleft/lesser.html) I know full well, however, that this would be a huge step backward for Freedom. (Anybody saying otherwise is either [1.a] simply not intelligent enough to understand, or [1.b] hasn't bothered to consider the implications, [2] has ulterior motives, and/or [3] has a personal vendetta against RMS due to personality conflict. "Consider the messenger...")
But PRACTICALLY, it would enable real headway on the driver/support front. I think ATI and nVidia (and every other closed-source **DRIVER** maker) is quite daft. But they have their "reasons", even if we neither know, nor understand them.
It's laudable to DREAM of a world where all software is Free, both as in Speech AND as in Beer. Bur for now, and for the foreseeable future, we all live and work in the Real World. Unless we're friendly and play nice with the other children, most proprietary companies, especially hardware creators, may very well choose to take their balls and go home. (To those who cry, "GOOD RIDDANCE!", I ask for you to tell us all of the open-source-hardware, with accompanying open-source drivers, to replace their wares with!) Free and Open (Source) Software makes its virtues self-evident. We need not be antagonistic.
The truth of the matter is that the hardware we want open-sourced drivers for the most is made by companies comfortably at the top of their game. They sell PLENTY of hardware to not need to worry/care about The Community one iota. They ha
"To err is human, to totally fsck things up requires an election." - L.W. Hale
"...would be to ask why someone would want to use the nvidia drivers for Linux in the first place. In most cases that would mean playing games."
For me, it's because I need their 2D XServer which is the only way I can get the resolution I need at the refresh rate I need. Also bundled with the NVidia X driver was the driver for my sound card and my disc controller.
-fb Everything not expressly forbidden is now mandatory.
I'll make a brief aside here to remind you that any interpreted "program" is both code and data. To the interpreter, it's just data. The interpreter loads some text (just data), builds the parse tree (still data), and instantiates the various code objects it represents (STILL data). However, once you actually jump to an address and start executing that data, it becomes a program.
So now I'll repeat my previous rhetorical question: how do you define "source code" for data? Here's my modest proposal:Just compile this program and feed it the binary you need to "decompile". It will output a C program that you can ship as the "source code" for the binary. If you plan to ship your binary with GPL'd code, be sure to license the newly generated source code under the GPL or a compatable license. Oh yeah, and a word of warning: the source code will probably be significantly larger than the binary, even if you gzip it.
"Sadly, all of their products that I looked at seem to have this limitation (unless you go dual-dvi -- and then you lose dual-headed operation)."
That's not at all true, unless you mean just the cards in the G550 line....most if not all Matrox cards beyond the G550 have support for up to 1920x1200 in DVI. There's a parhelia card that even supports those 9MP LCD's at 3840 x 2400. And one of them was also designed to work with the apple 30 inch display. I installed a P750 for a client who had just gotten a dell 24" display and I had it hooked up at 1920x1200 dvi and used his older 1280x1024 LCD in dual head on the other DVI port. This card apparently supports 3 monitors. Driver source for linux is available on these cards also, not just the G550.
However, the argument is still over whether to protect the (immediate)developer or the end-user/developers further down the line. BSD does the former, GPL the latter.
Yeah yeah, I'm just being a picky bitch... :)
Sticking feathers up your butt does not make you a chicken - Tyler Durden
What if I also include a helper script that automatically installs the modules when the user runs it?
;)), then including these on a CD that says, "Hey, you want me to install these for you?" seems like it shouldn't violate it either.
... ...
This is certainly a violation.
And what if this script is a boot script?
Again, a certain violation.
Why are these violations? I'm reading the GPL again, so that it's fresh in my mind, but I haven't yet seen anything that these violate. I'll list the major points of the GPL and maybe that will help clarify which would be violated.
(Attribution: The following are cribbed from the GNU GPL. I trust we all have a copy handy.)
1 - " You may copy and distribute verbatim copies of the Program's source code as you receive it..."
Since the program in question is the Kernel (right?), they are surely releasing the source code for what they received, with licenses.
2- "You may modify your copy or copies of the Program or any portion of it... "
2B - "b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License."
OK, 2b looks like it could be a sticking point. However, it really seems as if the line between "copy the file off of the same CD" and "download it for you from the internet" is very thin, and I'm not sure what the conceptual difference is. Do we need to engage pedant-mode to see this? (I'm not trying to be a wiseass, really.)
However, the end of section two says, "[M]ere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License."
This seems to indicate that putting the nVidia binaries (or other closed source binaries) on the same LiveCD would NOT be a violation of the GPL, because it appears to explicitly make such an exception. If we assume that the nvidia binaries don't violate the kernel's license (and I assume they don't, or I'd have heard about it before on Slashdot
It seemed (to me) that what Kororaa's done is twofold. First, they included non-GPL binaries on the same CD as a GPL'ed system. This is explicitly allowed by the GPL. Secondly, they rebuild the kernel (I assume, as that is I think what I've had to do to install them? It's been a while.), modifying the GPLed kernel to link to a non-GPL driver. The result of this is a new kernel, which is GPLed. There appears tp not be any violation in this, if this is what they are doing. (Am I wrong here?)
The GPL requires that, if A is GPLed, and B is not, then A+B must be GPLed. There's no restriction that B must be GPL as well, since all concern is with the license of A. (Whether B's license is violated is a different matter.)
If I have a helper script that downloads and installs these drivers, that's not a violation of the GPL, as the result (a new kernel) can still be GPLed. (Again, we'd have heard a lot of noise if this were NOT the case.) If I have said helper script, it doesn't matter whether the origin of the non-GPLed drivers are on the same media (CD) or different (internet), per the exception in GPL section 2.
If I make the boot script, that does NOT change the licenseability of it. It can still do its work, and include licenses where needed, etc. After all, we don't get shown the licenses for everything we install or run on a LiveCD, why would this be any different?
Now, this all depends on the result of installing a non-GPLed driver still being considered GPL-able. Now that I think about that assumption more, I might be wrong -- if a user installs it on his own system, the GPL doesn't even apply since he isn't distributing it... so I guess the question is whether the GPL can apply to the kernel after it's been rebuilt to include the non-GPL drivers. I don't see anything in the GPL that indicates that it COULDN'T be considered GPLed... what's the license of the nVidia drivers say about that?