You are not logged in.
while looking for a driver for my sn9c201 0c45:624f Microdia usb webcam, I stumbled upon this driver.
As stated in the GPL, anyone can charge for a GPL work, so that's not what I question here.
What I question is that the trial package contains a kernel module and some doc. The module obviously links to the kernel directly (there's not even userspace tricks like nvidia or ipw3945), therefore is unambiguously derivative work and thus falls into the GPL realm. This seems to draw a similar conclusion.
The guy distributes a binary without providing source code, even if you pay for the non-trial version.
Is my reasoning falling apart somewhere? or is this a genuine GPL violation?
PS: people are working on getting it supported the right way.
Last edited by lloeki (2008-03-27 09:27:27)
To know recursion, you must first know recursion.
Offline
The GPL clearly states that you must provide the sourcecode. So the developer must include a link to the sourcecode either on the page, on the License, or in some readme note.
Offline
Maybe you should contact him and ask for the code and he will charge you a 'reasonable sum' for the delivery (CD or something). The GPL does not say that you should put the code on the Internet or provide it WITH the binaries.
Of course, it is possible that it is a violation.
If everything else fails, read the manual.
Offline
If I don't fail remembering I think that it actually says that if you distribute the binaries in the Internet you must provide the source in Internet, the cd case is if you distribute the binaries in a physical media.
-$: file /dev/zero
/dev/zero: symbolic link to '/dev/brain'
Offline
Mandor, I agree with you about your interpretation of the GPL, yet I'd like to point you to this excerpt (straight from the driver's FAQ):
3. Q: Is the driver open-source or closed-source?
A: The driver is closed-source and provided as a binary-only kernel module.4. Q: Will you release the source code one day?
A: It's likely I will never release the source code, unless I have
financial proposals. The best candidate is the manufacturer of these
controllers. If you would like to see this driver released under
the GPL to everyone, please send them a personal request.
The more requests they will see, the more they will consider this driver.
Another way is to collect the money once from all the potential
users, according to the principles of the ransom model:
"A publishing model where copyrighted works (such as books, software,
or music) remain proprietary until a total amount of money is
collected or a certain date arrives, at which point the work is
automatically freed to the public."
The terms of this approach will require a preliminary discussion
between me and a group of interested users. Contact me in this case.Should a possible agreement go well, I am also available for submitting
the source code to the mainstream Linux kernel, maintaining and improving
the driver by supporting new hardware promptly and for free for an unlimited
period of time.
Clearly, no request whatsoever will make the author hand over the source code to anyone.
What's more, and unrelated to this being a violation or not, there's no chance I (or anyone for that matter) will pay for the amount of money the guy charges for a one-time custom build of a webcam driver for a non-mainstream distro (see the FAQ point 9. for details). The sole figure is ridiculous.
To know recursion, you must first know recursion.
Offline
If it can be proven that the developer includes any kernel headers in order to compile the driver, or links against any compiled linux source, then there is a GPL violation, as he distributes binaries only. With 2.6 from what I understand it is very difficult to not include Linux kernel headers and end up with a functional driver.
ATI, Nvidia, and others get around this by providing you with separate proprietary objects and an installer that does a final link on the end users machine. (And often a final compile against your kernel.)
Additionally, GPL violations can only be claimed by those who the binaries are made available to.
Offline
If it can be proven that the developer includes any kernel headers in order to compile the driver, or links against any compiled linux source
I guess so, since he links at least against V4L(2)
Additionally, GPL violations can only be claimed by those who the binaries are made available to.
He makes (binary) trial versions freely available.
ATI, Nvidia, and others get around this by providing you with separate proprietary objects and an installer that does a final link on the end users machine. (And often a final compile against your kernel.)
More precisely ATI and NVidia indeed let you compile a kernel module. This is also done so that the kernel module can easily be built for various kernel versions, instead of distributing a restricted set of precompiled ones (which would be nonsensical and unusable anyway). The final linking on user machine is a ubuntu strategy in their linux-restricted-modules, done on each boot, so as to comply to legal matters. This is to be opposed to arch nvidia packages, where no linking is done on user machine.
To know recursion, you must first know recursion.
Offline
Alright. The next step would be to show, by disassembly or other means that the trial binary is linked against V4L. Someone would have to do an analysis proof of some sort that others could verify.
If it was then shown that indeed V4L was being linked against for those distributed trial binaries, the next thing to do would be to contact the V4L copyright holders and go from there.
On a side note. I would recommend against getting FSF involved if indeed a GPL violation is proven in this case.
Offline
If it was then shown that indeed V4L was being linked against for those distributed trial binaries, the next thing to do would be to contact the V4L copyright holders and go from there.
A case could be presented to directly luca without involving the V4L copyright holders.
However, it can get pretty long and drawn out. luca may just cease distributing the trial binaries and claim they are no longer supported in any way and that he can't recommend them.
The end result could also just be that he just shuts the whole project down, which is why I recommend against sic'ing RMS on him.
Last edited by dschauer (2008-03-30 13:43:40)
Offline
So? Trial binaries are worthless and the drivers as-is are useless and only for ubuntu.
If he shuts down his project, it's one less moron wasting other peoples' time.
Offline
So? Trial binaries are worthless and the drivers as-is are useless and only for ubuntu.
If he shuts down his project, it's one less moron wasting other peoples' time.
If we get the source, we could recompile for any kernel.
Maybe send word of this project to LKML.
Offline
Korey Kaczynski wrote:So? Trial binaries are worthless and the drivers as-is are useless and only for ubuntu.
If he shuts down his project, it's one less moron wasting other peoples' time.
If we get the source, we could recompile for any kernel.
Maybe send word of this project to LKML.
Yeah, that's true, but I'm not counting on it. I liked that whole excuse about wanting money to release the source to get the manufacturers to pay him to release the source code; as if that'll happen, because we know that idea has an excellent track record. He's just greedy and I wouldn't be surprised if his project is violating the GPL.
On some level I could possibly understand what he's doing (disregarding the probable violation of the GPL), but really, linux drivers?
Offline
I'm slightly confused, why is this a problem? He's only providing a kernel module, a module he wrote, so why does he have to cough up the source code? Wouldn't that only apply if his code itself included GPL'd code?
Offline
TBH, I agree with B-Con. Proprietary software is not inherently bad, and this sort of stuff feels like a witch-hunt. I don't think this module's going anywhere, with the price and the small number of prospective users. But if there isn't any GPL'd code, I can't bring myself to force anyone to expose there source code because it was compiled against a GPL'd thing. Since it's the binary blob that's technically GPL'd (since it includes parts of the kernel), then it is what it is. If you built a house with a free hammer, do you have to give away the plans to the house?
Stop looking at my signature. It betrays your nature.
Offline
TBH, I agree with B-Con. Proprietary software is not inherently bad, and this sort of stuff feels like a witch-hunt. I don't think this module's going anywhere, with the price and the small number of prospective users. But if there isn't any GPL'd code, I can't bring myself to force anyone to expose there source code because it was compiled against a GPL'd thing. Since it's the binary blob that's technically GPL'd (since it includes parts of the kernel), then it is what it is. If you built a house with a free hammer, do you have to give away the plans to the house?
Yes, if the hammer was GPL. You should have bought an LGPL hammer.
The GPL simply that anything linked to it must be compatibly licensed. Full stop. Big full stop.
You can try and excuse it how you like, but this module is violating the GPL.
Offline
Yes, if the hammer was GPL. You should have bought an LGPL hammer.
The GPL simply that anything linked to it must be compatibly licensed. Full stop. Big full stop.
You can try and excuse it how you like, but this module is violating the GPL.
Ah, so the GPL includes linking? I thought it was only for the explicit inclusion of source code. But if it applies to any libraries/modules linked against, that's a different story.
Offline
the license in question is here: http://www.gnu.org/licenses/gpl-2.0.txt
if you don't feel liek reading it; the relevant section is quoted below
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.
as for the Oh, So Clever Analogy™ above, as has been said, 'yes'. maybe you shove have read the license before using the hammer?
Offline
What really gets me is that I need drivers for my 0c45:6270, and I'm not putting a cent into this ass's pocket.
Anyone know what the status is of that google group's effort?
That house/hammer analogy sucks, too, in this situation. It'd be more applicable to programming something with emacs and then having to distribute the source code to it, which is obviously allowed by the GPL.
Offline
There have been long discussions about this on LKML, that is true.
for what it is worth, take the following with a grain of salt:
I can't go in to it all, but I've been involved in situations in regards to closed systems where the GPL was being violated by commercial proprietary only drivers and was in on the debates between the lawyers. The conclusion has always been on both sides (albeit reluctantly at times) that to include header files from the Linux kernel and to release a binary only driver based on that is a violation of the GPL. As a result, to avoid any threat of lawsuit, a split object method is always come up with, where the proprietary and GPL portions are kept separate, the compiled/linked by a further downstream recipient of the system. Which I know, we are all familiar with the model, ATI, Nvidia, etc. Upstream vendors don't care from a legal standpoint if the GPL is being violated by downstream participants, as long as they (the upstream) vendor is not the ones doing the violation by shipping binaries that don't comply. In the case of closed embedded systems, well, there are likely GPL violations currently being committed. That would be up to the recipients of those closed embedded systems to make a stink about it. I know some such cases have been in the news, but there are many other cases that have not been exposed yet.
Last edited by dschauer (2008-04-02 21:43:25)
Offline
As a result, to avoid any threat of lawsuit, a split object method is always come up with, where the proprietary and GPL portions are kept separate, the compiled/linked by a further downstream recipient of the system. Which I know, we are all familiar with the model, ATI, Nvidia, etc
I was wondering about how NVidia skirted the technicalities there.
Offline
OK, point taken....
Almost feels like the kernel should be LGPL, but that's a whole other topic. I dunno. I use linux because I like it, not because of licensing. I completely understand how the GPL protects source code, and if that is what the person wants for their code then it is fantastic. But I just could never see myself licensing anything I code with something saying "If you even try to talk to my program with non-open-source software, I'll sue you"
But if the GPL says it, and it's licensed under the GPL, then yep, it's a violation.
Stop looking at my signature. It betrays your nature.
Offline
Someone might as well report the violation in the off-chance the author will decide to release the source. If he closes his project, then it is no real loss, anyways, since nobody in their right mind will pay for a (possibly unsupported in the future) binary driver that costs more than the camera.
Offline