GPL Gets Its Day in Court in Israel
MadFarmAnimalz writes "In what appears to be the first court test for the GPL in the Middle East, Alexander Maryanovsky, the author of the GPL licensed Jin Chess Client is taking IchessU to court for violations of the GPL license."
There is an open source chess client called JIN licensed under the GPL.
This is an executable and front end chess client.
This has been extended by iChessU to support a closed source DLL which adds new functionality (notably video streaming between players).
The source code to the Expanded client is available and providing you have the closed source binary DLL, you can run the newly compiled program.
Isn't this like me releasing a GPL program which is linked to the nvidia or ATI blobs?
Hell, isn't it similar if I write a GPL application which uses the Windows API?
I personally feel as though this is an overreaction, the ichessu site does not hide the fact its based on JIN and offers sources, or am I wrong and this is infact a genuine GPL violation?
liqbase
Isn't this like me releasing a GPL program which is linked to the nvidia or ATI blobs?It isn't, because ATI and NVidia do not link to the kernel. The portions of the NVidia and ATi driver that *do* link directly to the kernel (also known as the "kernel stub"), are indeed GPL. What happns, is the closed source X driver communicates to and from the stub indirectly, not via linking.
It's actually just a different DRM/DRI implementation, which nearly all X drivers use nowadays.
Note in this case DRM does not mean "Digital Rights management", it means "Direct Rendering Manager"
By law, at least in theory, laws are required to be understandable by the general public. Otherwise, ignorance of the law would be a valid defense. If the laws were written in some "law language" that only lawyers and judges understood, they could just tell you that the law said whatever they wanted it to say. How would you know they were lying to you and abusing the system?
Of course, at least in the US, the law may as well be written in different language because even the law-makers don't generally understand what they're voting on.
Clear semantics and syntax reduces flexibility. This way it can be better applied to very diverse scale of real-world situations, based on the judge's judgement of the "spirit" of the law. Of course the cynical self must add "applied in a way sought by the party with a better lawyer", but I believe that in reality it's usually not really nearly that bad.
It's not the fall that kills you. It's the sudden stop at the end. -Douglas Adams
Here we go again... GPL doesn't need to be tested in court. GPL doesn't restrict you from doing anything. The only thing GPL does is to allow you to do some things with copyrighted work - such as, under certain circumstances, distribute said work even if you are not the copyright holder.
What's being "tested", if anything, is copyright laws. And I believe that we all can agree on the fact that they are already, if nothing else, fairly tested in court.
May we live long and die out
RTA carefully. The $4,000 was not for full rights, but for commercial applications rights; a commercial license. I'm guessing that the terms the author offered would have allowed IchessU to modify the GPL-ed code at need, making additions as they wished, and have permission to make the resulting application proprietary. The "original" code base would have remained GPL. They were buying the right to make a commercial product from it.
Open source does not have to mean free as in speech, nor even free as in beer. It just means that the source is open to scrutiny. Also remember that the author retains copyright and may deal with his work as he pleases, barring self-imposed constraints on that freedom when making use of some licensing scheme such as the GPL.
In this case, it looks like purchasing a license for commercial use was too expensive for them, so they went the "regular" GPL route. They then overstepped the GPL bounds by abusing the terms of the license and refusing to fufill the requirements it outlines.
I happen to know Hebrew. Some more information from the Hebrew documents is the matter of money; the Jin programmer is requesting 20,000 NIS (about $4500) as 'damages' (for the violations made so far). This is perhaps an initial offer for settlement. Note how the $4500 is just higher than the $4000 he initially wanted from them (which seemed more than fair to me, personally).
In the lawsuit, it is mentioned that in Israeli law (which I cannot confirm or deny, I have no idea) the minimal fine possible for this type of offense is 10,000 NIS (about $2250).
I can translate other parts of the Hebrew documents if anyone is interested.
Although the content is currently the same, the real URL of my Jin website is http://www.jinchess.com (could an editor please fix it - I think it can handle the residual slashdotting). I'll now get back to reading everyone's comments and reply where I can :-)
The reason for this "problem" or "benefit" (depending on your philosophy) is very simple. Dynamic linking is done against an interface, and interfaces cannot be copyrighted because they are the key mechanism for interoperability. There are decades of case law enshrining that principle. (Don't forget that we benefit hugely from interoperability too.)
The GPL is a copyright license (not a EULA), and it cannot claim copyright on the interface to which separate applications are coded. As a result, the GPL has no copyright mechanism for "bridging the gap" between a dynamic library file and an entirely separate application which uses its interfaces. (Otherwise SCO too would have a case that all Linux apps are derived works of Unix, just because they use the same interfaces --- fortunately it's not so.)
And it gets worse (or better). The fact that such an application can be made to work against *ANY* other dynamic library that satisfies the same interfaces reinforces the exclusions for interoperability. Add to that the fact that no COPYrighted material ever actually gets copied, and you see why GPL enforcement is limited to two clear cases:
- code inclusion by static linking -- the new source code does not contain any GPL'd source code within it, but the distributed binaries physically contain GPL'd code brought in by the static linkage -- so that the copyright laws which cover copying can be applied (in this case the GPL license transfers by the GPL'd code being physically bound to the new code and distributed along with it).
Both of the above cases are quite clearcut to apply, and hence supposedly safe.The other major case (dynamic linking, in which no copyrighted source code has been used and no copyrighted binaries are included) is shrouded deep within the darkest clouds of uncertainty, since there is no legal mechanism by which the copyright can transfer to mere client code which is coded to a non-copyrightable interface.
"The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
Pipes, temp files, sockets, none of these are covered by the GPL. The GPL covers explicitly *linking only*. If a GPL'ed piece of software could not communicate with a closed source piece of software over a socket or pipe, the Apache web server would not exist.
Umm, could you clarify what you mean? Apache is Apache-licensed, not GPL, is it?
I also don't see where the GPL refers specifically to linking. According to my reading of the GPL FAQ entry on mere aggregation, if the two pieces communicate data which is internal and specific to the GPLd piece, the other piece is also covered by the GPL. This means, for example, that you can't wrap a GPLed program in a network API (RMI and such) and extend it while keeping your extensions proprietary.
Alexander (aka Sasha) Maryanovsky - the author of Jin.
They have a feedback page.
http://www.ichessu.com/Feedback.aspx?type=help
I put my comments in there.
>> Why not some formal law language with clear semantics and syntax?
:P
... and that of course would not be in their interests.
Several people have written objections to youe suggestion here, but computer-based solutions are easy to find if you use a reductionist approach and don't try to do *everything* mechanically.
The simplest and most powerful approach by far is to apply formal semantics by case, not by generic mathemetics: For each area of legal engagement, a large number of highly specific case rules are defined and given a priority to define the order in which they are applied, with each one capable of matching only one very narrow situation. Separately from this you define a set of legal outcomes (independent of the case rules!!!), and causal links are only then drawn from the case rules to the case outcomes.
This can be made as deterministic a system as you like, merely by narrowing the scope of each case rule. Needless to say, if no case rule matches then the case pops out of the bottom to be handled by a human.
This addresses the ambiguity problem by each case rule being extremely specific, and allows lawyers to enter the loop for unmatched cases given by hard or undefined problems. It addresses comprehensibility by the public by allowing a worm's eye of the problem, one case rule at a time, and by allowing your own computer to "scan the law", which is otherwise impossible unless you practice law yourself.
Of course, anyone who has worked in AI or expert systems will recognize that the above is just a logic system, only expressed in a way that doesn't blow the mind. Well, that's good.
There's always a way, if you want to find one. The trouble is, such a mechanism would require endorsement from the legal profession
"The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
That's not right...intentions have nothing to do with it.
You can license your code any way you want. If you want to license part of it as gpl, write a dll that is meant to work with your program only, but license it in a proprietary form, than release that stuff together with only the source code for the part that talks to the dll, you're fine. RMS would probably show up on your door holding a bat, but his lawyer won't be with him.
The license limitations don't limit what your gpl code can do, they limit what people can do with gpl code. So, if someone grabs the source code to a dll, and dynamically links to that with their non-gpl-compatible-licensed program, they are in violation of the gpl license for the dll, which doesn't allow that. However, if you're writing gpl code, you can link it to whatever you want, as long as the other license allows that. If the other license says you can't link it to gpl programs, you're screwed, but API's usually allow you to link to them, because they'd be useless if they didn't.
Warning: Opinions known to be heavily biased.