What is the Best Way to Handle a GPL Violation?
DeadSea queries: "When you find that somebody is violating the GPL by distributing your code or a derivative of your code as a closed source product, how do you go about handling it? I have found two violations of the GPL for my Java Utilities, in the last month. The Free Software Foundation says that the copyright holder is the only person empowered to act. If you are the copyright holder, how do you communicate with the offenders? I know folks here must have dealt with this before: Linksys, SCO, Castle Technology, United Linux, and others. Personally, I would like to believe that with a little nudging (and without lawyers), I can resolve the things. As such, I would especially appreciate any example letters or other documents that might be effective."
...but get a lawyer. They do this for a living. They're not all scum. Why, I bet you've got at least one lawyer friend. Pay them (yes, pay -- even if this is a friend) to write up a letter and send it to the violator.
DIY is great for things you enjoy doing. Writing letters to copyright infringers isn't fun for many people.
Forget handling the violation... What about finding the violation in the first place? If they strip all comments and change the execution order (with a script), how would you be able to know it was the same? It would seem approperiate to do a statistical analysis on the code to detect similarity... but does such a method even exist? However, before you can even do analysis on the binary you must gain access to the binary. With many products, unless they offer downloadable firmware or tftp/ftp/etc access, the firmware can be almost impossible to access. In this case, is there any way to even know without figuring out how to extract the information from the ROM? It could even be encrypted, only allowing a certain chipset to access it. (CSS for example) It would take a DMCA violating reverse engineering job to find this out, which could result in a counter-suit to any GPL violation you found. And they would most likely have more money.
1. Call the phone. Talk to them on the phone and explain the oversight. Be polite and approach the situation purely as a problem solver with a helpful attitude. But take notes and pay close attention to how they response.
IF THAT FAILS,
2. Craft a letter. Be professional but firm.
IF THAT FAILS,
3. Get a lawyer. A good one but one that will take the case for a percentage of this company that you are about to own.
GPL does allow someone to take code and profit off of it, as long as they release the source code. Simple, right?
Placing the code under GPL helps to build the code for the benefit for all and is less restrictive than propriatary means. The companies using the code without agreeing to the GPL are in violation of copyright law, period.
If the companies in question do not agree to the GPL, than do not use the code.
You are blaming the victim here for "asking for it".
And yes, you did mean to stir up a hornets nest.
First, make a call. Navigate your way to someone senior and offer to sell them a license to use your code as they see fit. After all, why shouldn't you make some money off your code too?
Follow up with a letter in which you inform them that you have determined that your software appears in their code without a license. Offer to sell them a license for some reasonable amount. Point out that you have also offered them use of the software under the GPL license if they prefer.
Direct your letter to their legal counsel if they have one. Otherwise, look for someone near the top. The head of the salesforce is generally a good bet; they're very vocal within the company and will tend to get the necessary folks to deal with you.
Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
Second, inform them that you are the author of the material that they are distributing, and that they have not fulfilled their obligations in order to obtain legal permission from you to distribute their changes to your code without making the source available, since the combined work (your code plus their changes) still contains your code and that code is still copyrighted by you and therefore still subject to your distribution requirements. They can comply with your copyright by removing every last line of code that you wrote or by releasing the source of their entire product. You can, at your option, also make alternative arrangements with them to grant them permission to distribute without the source in exchange for some compensation that you specify.
Doing it this way takes the focus off the fact that it's the "GPL", and it's viewed simply as a matter of straight copyright infringement, removing any possibility of potential discrimination against the GPL.
File under 'M' for 'Manic ranting'
You are able to continue devlopment as before, since the code will still be GPL'd. You will have lost the right to sell your software under a license other than the GPL though.
Actually, as people are so quick to point out on Slashdot (especially in relation to music sharing), they are not stealing. They are infringing his copyright. I know it is a truly minor, pedantic thing to gripe about, but it's accurate.
Where's my lobbyist? Right here.
It doesn't matter what they took from him, only that it was taken. Someone could steal a potted plant or my automobile from the front of my house; the fact that the plant has little relative value next to the car doesn't make the theft of the plant any less a theft.
This has nothing to do with patent. This is a GPL violation. Get it straight.
The GPL does not guarantee that the world can receive your project "Freely". It only guarantees that your project itself will be Free.
In order to guarantee that Freedom for your software, it is necessary to sometimes fight for it. Fighting for it usually means battling legal challenges to your rights as copyright owner. These fights will cost you money.
Freedom is not free. It is not even cheap.
I have been pwned because my
I had a dispute with a company that was screwing me over, and I called and called, and told them the specific laws they were violating and that the law entitled me to $1000 damages for each violation (there were two violations). It was like talking to a wall. They knew that the cost of taking them to court was more than the cost of paying the ransom they were demanding from me.
Then I had a lawyer call them. They rolled over.
The reason? I had an airtight case against them, and the fact that a lawyer was calling them meant I was WILLING to go to court, although I never actually had to. They'd lose badly in court, so they settled.
Call a damn lawyer.
The question is not, why did they steal it, but how can you be sure they stole it. If it's a trivial function every Java programmer can do in his sleep, and everyone probably would do it large the same way.
;-)
Java, unlike perl, does not offer 20 ways to do every problem, so if ten people program a Base64 encoder, nine of them would probably do it the same way (they would read the RFC and translate the C code literally to Java). The tenth guy would probably do something else and break things in the process.
So what? Personally, I find the Ostermiller libraries incredibly helpful. I don't want to spend my time writing an Excel compatible CSV library, or fixing StringTokenizer bugs.
Green Eggs & Ham isn't rocket science, either. But I bet someone would take offense to you misappropriating its content...
Do not aim for anything other than compliance.
No money
No apology
No donations
No release of their source
Nothing
Just compliance with the GPL. Period. You will win, because hardly anyone's stupid enough to fight a clear copyright, and compliance is a perfectly reasonable thing to ask.
This is America, damnit. Speak Spanish!
This just a minor quibble, but I think it bears mentioning: I wouldn't phrase it as "they're violating the GPL" because that sounds like (you think) the GPL has some inherent authority. The issue is that they're violating the terms of the license under which you released your code to them. That just happens to be the GPL.
You reveal the root of your contempt, and it's resulting ridicule right here:
1. Java can be trivially decompiled, so I don't see how this can be regarded as "closed source" with a straight face.
It's obvious that you don't understand or have forgoten software freedom and have a very bad elitist atitude. The point of the GPL is that the others can read and understand code that you write or modify. The GPL demands distribution in HUMAN READABLE form, complete with all of the original notes. While you might think yourself above the need for comments, that's beside the point. The GPL does not require you to pander, it simply asks you to pass on what you recieved. Stripping information is a clear violation of the spirit and letter of the GPL.
Your second insult should be aimed at the violators:
2. Your library does not look like rocket science to me.
If it was so easy, why was the code appropriated? When the company appropriated the code, why did they bother to strip information from it? Someone so uber-leet as yourself would never sink so low, would you? Real men like might not mind putting in long hours reinventing the wheel, but I do. When you use someone else's code, the least you can do is honor the license it's under.
Your final comments are the most insulting of all:
you only make yourself look bad and give SCO and Microsoft ammunition on why free software people are communists and morally corrupt people.
What a stupid blast. Just try reverse engineering something from Microsoft and distributing it. The answer you get will be most unreasonable. It's surprising indeed that someone from Germany would call someone a Communist, especially someone who would so fiercly advocates software freedom.
What could be more helpful to closed source than to convince free software writers to keep quiet about GPL violations? The losers obviously can't keep up. If we are silent and just let people have their way when our code is "stolen" we might as well take orders about software development straight from Redmond. It would be better to hand over your copright to anyone else.
Friends don't help friends install M$ junk.
We wouldnt need lawyers if everyone used the BSD License
Why not just come right out and ask people to give up the copyright on their code and throw it into the public domain?
If that is what he wanted to do then he wouldn't be bothering to contact these companies at all. This guy has a copyright on his code. He obviously did not choose to throw it into the public domain. He has every right to file a lawsuit against companies that commit COPYRIGHT INFRINGMENT. These two companies (presumably) BROKE THE LAW.
-
- - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
No. You cannot force them to release the code, therefore stating that is going to immediately get you in trouble for lying in your first communication.
The only thing you can force them to do is stop distributing their version until they either remove the code from it or they comply with the GPL by releasing their code.
You also can sue them for copyright violation. I have heard you almost have to do this for money, not for any other remedy. I certainly don't think there is any case where the remedy for a copyright violation is that the guilty party is forced to give up all copyrights to a piece of their own work, especially if their work is significantly larger than the violated work.
So do not say anything stupid about them being forced to release their code. That is false, no matter how much Billy at Microsoft wants people to think otherwise.
It's not simple. You assume that a random lawyer has more experience dealing with GPL violations then some of the slashdotters. It is probably not true.
Your advice is similar to "ask a sales clerk" in response to "what wireless card is better for Linux on G5 laptop?". He is asking for personal experience, not for legal advice.
Not to mention that lawyers cost money and are not necessarily necessary, as there are many ways to deal with the violation informally.
Future Wiki -- If you don't think about the future, you cannot have one.
Whatever you do, make sure that you can produce the code, and make it accessable. I don't doubt your honesty, but you should be able to point out to them in exactly what files the offending code resides. For all you know, the company might not even have knowledge that it's there, and given the recent crap with SCO, they are likely to be very distrustful unless you can specify exactly what the code is.
Aside from that, if it does come to court, you should make sure your lawyer is competent to demonstrate that just because a few lines are different doesn't mean that it wasn't copied and then "tweaked" for purposes of legality. A decent lawyer should be able to demonstrate to the judge the different ways of accomplishing the same complex task, overall coding style, etc. And failing a decent lawyer, you may find yourself needing to explain it to said indecent lawyer.
I would, above all else, urge you not to waste time. Send them a friendly email, and make it clear that you expect a response within a reasonable amount of time, and failing that response, or if you should get a dismissive response, your next communication with them should be through a lawyer, on your lawyers letter head, through good old fashioned US Mail.
Pre-emptively, you might gather any and all access logs available to you. Then see if you can find out what IP range the company owns. If you can demonstrate that one of their employees accessed it, that will give you a more direct link. You could always try subpoening the home IPs of the "authors" of this code, but that will be hella hard and take a lot of time.
Best of luck to you!