Dealing With a GPL Violation?
Sortova writes "For many years now I've been maintaining OpenNMS, a free and open source network management framework published under the GPL. A couple of years ago it came to our attention that a company called Cittio was using OpenNMS as part of their proprietary and commercial network management application. I talked with Jamie Lerner, the Cittio founder, and he assured me that Cittio was abiding by the GPL. However, we were recently contacted by a potential client who was also considering Cittio's Watchtower, and it appears that they are not disclosing that they are using GPL'd code or at least not in the clear and concise fashion required by the GPL, including the offer of source code for all of the code they are including and any changes being made to that code. Since the copyright for OpenNMS is held by a number of commercial companies, the Software Freedom Law Center is not able to help us defend or even investigate a potential violation. I was curious if anyone here on Slashdot had experienced anything similar or has any advice?"
You also make the claim: I should also mention that this client is in final negotiations with Cittio (they dropped their initial price considerably) so we're not talking a first contact cold call here - they are ready to close this deal without a single detail concerning their use of open source. Yes, and? They are not required to make any such disclosures. The GPL requires them to provide the source code or an offer to provide the source code when they distribute the software. As they haven't distributed any software yet, they are not required to provide any source code or offers to provide the source code.
FAIL.
How we know is more important than what we know.
If you want legal advice, get a lawyer.
The real "Libtards" are the Libertarians!
The SFLC's Legal Issues Primer for Open Source and Free Software Projects covers this. You probably want to give it a read.
Still, if it's really important, ask a lawyer, don't ask Slashdot.
Are you adequate?
I understand the joy of coding and excitement of creating your own applications for free, but I can never understand how programmers stand to watch their creations being usurped for commercial purposes. Whether it's abiding by the GPL or not, somebody else is making money from your creation. You would think the original programmer would have the wherewithal to market their own creation instead of leaving it for someone else. Even if you don't take the money for yourself, donate it back to the FSF or to another worthwhile cause. Maybe it's a case of lack of resources to start your product running. Maybe we need a group that can fill this niche for open source products. Maybe they already exist. If so I'd like to see discussion about it.
First issue: are you SURE they're in violation? This could be as simple as calling their support line and asking how you can get the source code (this assumes you've confirmed that GPLed code is included). If you can't get to the support people without being a customer, search their website for any indications and/or try and get a demo.
Once you're reasonably sure they're in violation, consult a lawyer who knows IP law, preferably one familiar with the GPL in particular. Even on Slashdot, I'm not going to try giving you advice beyond that. It's not cheap, but there's a decent chance of getting legal expenses awarded in court.
There's no place I could be, since I've found Serenity...
Legal matters belong in the hands of lawyers. Most lawyers I talk to, their first bit of advice is "shutup, don't say a word and let me handle it".
1. Write GPL software
/. is going to do your case more harm than good.
2. Discover GPL software license has been violated
3. Post all over slashdot asking legal advice
4. Whine about why no lawyer will touch your case with a barge pole
5. ????
6. Profit
If you're in a situation that might need a lawyer, contact one. Asking for help on
These posts express my own personal views, not those of my employer
Are you suprised? Come on, you publish the SOURCE code. That's a lot easier to steal than DRM software and media.
Flexible bare-metal recovery for Linux/UNIX
Do you want money? Recognition? Revenge? Perhaps you should begin a PR campaign to get the word out. Their website has lots of big corporations listed as clients, I'll bet those companies would would be interested in knowing that the product that they paid big money for could be taken away from them because Cittio is in violation of the GPL. What about calling their Investors and having a chat with them?
The instructions for what to do if you think you have found a gpl violation are here. There is no mention of posting to slashdot on that page. There is a mention of checking your facts first... some companies get a bit cross (eg they'll take you to court) if you write anything bad about their product which isn't completely true. (i'm not saying it isn't, i'm just saying you don't appear to have done your homework yet).
That said, it's not at all clear that you had anything to complain about. If SFLC won't help you for the reason you gave, that means you don't have any standing in the matter. You can't sue anyone about it. So, there's not much use in complaining.
IMO, you should make real sure that you at least own the copyright of your own work before you contribute any more.
Bruce
Bruce Perens.
When you place something into a public commons, other people will take advantage of it without contributing back. That's the nature of reality. There's even an economic term for this: the tragedy of the commons. The core of the FSF's philosophy is that software should not be owned, but that it should be a public common. By using the GPL you are implicitly agreeing with this. That is fine, so long as you know what you are getting into. But to get all pissy after the fact that someone is taking advantage of what you have given away is pure arrogance.
If you don't want people abusing your software, then don't release it into the commons. Be honest with yourself and keep it proprietary. But if you do release it as Free Software, then don't start suing people of trivial legal details. Save the lawyers for the truly egregious stuff.
Life is too short for lawsuits.
Don't blame me, I didn't vote for either of them!
...out on the web. Nothing in the GPL says that a licensee has to freely offer the code to absolutely anyone free of charge, to anyone that asks, in the manner the asker chooses. It says that they have to offer the code, in a manner of their choosing to anyone that asks.
In a commercial hardware product, that means that the company can insist on only distributing the code by sending it to you as a bunch of floppy disks, for all the GPL cares.
Now, once someone has the code, that person can then re-distribute the GPLed code however they feel.
One example: My Toshiba HD DVD Player (don't laugh, it was a present,) contains GPL code. Toshiba doesn't make this fact obvious. It's buried in the manual for the product. Toshiba doesn't make the code available on their website, because they're not required to. To quote the GPL 2.0 that my Toshiba uses:
The internet isn't the only medium customarily used for software interchange. And they are allowed to charge a reasonable fee for duplication and distribution. (See GPL section 1.) If they really felt ornery, they would be perfectly within their rights to charge you for the physical cost of a bunch of floppies, and the time (at minimum wage, or even higher,) some flunky had to spend copying onto those floppies.
Another non-functioning site was "uncertainty.microsoft.com."
The purpose of that site was not known.
More off-topic crap from the BSD user/troll community..
Sony has just released second generation device,Mylo-2, both Mylo-1 and Mylo-2 are Linux based and locked tight. Where are the kernel sources? GPLed userland sources? Nobody seems to notice or nobody cares.
I think the time for floppies has passed. They are no longer customarily used to distribute software. But they could buy a hard drive and put the code on it and charge you for it.
Well.. maybe. Or Maybe not. But Definitely not sort of.
I've found out that filing a ticket on the company's public issue tracker (so that their other customers can see it, too) helps.
Also, writing a polite email which details exactly how they are breaking the GPL and which steps they should take to correct the issue, might help a lot. It's sometimes just simple misunderstanding of the GPL. Sometimes on the part of the author, sometimes on the part of the user - but in any case, the act of detailing the alleged breach of license will clarify the issue.
In addition to getting a lawyer, you also want to get other OpenNMS copyright holders (particularly the commercial companies) in the loop. This helps increase the leverage and the resources available to fight. And they will bring in more lawyers, in all liklihood.
LedgerSMB: Open source Accounting/ERP
I think saying floppies are a "medium customarily used for software interchange" is at this point a bit of a stretch. I don't know of any major software that is currently available via floppies. Also the Majority of PC's no longer come with a floppy drive. Much like reel to reel tapes (yes I know some palces still have some but mostly for "legacy" support) floppies are now a thing of the past.
You must have been absent all of those days in kindergarten when they emphasized *sharing*
... once again ... making your software better for FREE
... or you can be productive, not worry about trying to sell every piece of code you've EVER written, and release the code as open source to help other programmers.
... SELL IT.
... I dunno ... share with the community to help others ... then what the friggin Hell are you doing on slashdot? Seriously? Well. Nevermind ... I suppose we all need some flamebait, now and again, eh?
... the more open source software you release, the better the chances of someone actually being helped by it, the better the chance of it becoming well known or used ... the more visitors your site gets ... the more you SELL SELL SELL to your visitors ( commercial software or support or consulting )
... then released it. Many of these projects would be VERY hard to sell, and would take TIME to sell ... so, instead, people offer them up to others to use / improve / etc. But, for those of use who prefer licenses like the GPL, the code is offered up such that any improvements need to be open source, as well ... thus, everyone can work to make it better! If you want to be able to sell your own "Professional" or "Advanced" version of your software, release it under a license that lets you do so.
... hell ... they might even hire you for programming / consulting. Honestly, where's the downside?
... see if someone else wants it. If you're a programmer, I bet you've got atleast a dozen finished or half-finished project that you're not making ANY money from, nor are you ever likely to. Don't you understand that you could open source them and ... maybe someone'll find them via google one day and you'll have helped someone else? You might even get a patch in the email one day from someone who's dramatically improved your code ... or just from someone thanking you for releasing it! At the very least, it'll make you feel good about yourself whereas, if you hadn't released the code, you never would've felt good about helping that person. It's really that simple.
Typical situation:
* programmer needs X (to "scratch own itch")
* programmer makes X and realized that, wow, other people might want to use it or contribute to it
* programmer releases source
* FIN
A few things might happen:
* people contribute to X and make it better, for friggin FREE!
* companies use X - programmer helped out other human beings
* depending on license X was released under, if companies make their own improvements, they have to release the source code
You can be a douche bag and spend lot of time packaging EVERY projects you EVER make, and charging $19.95 for it
Make something seriously cool that's worth marketing and selling
But if you don't get how anyone might want to
As a side note
I follow a lot of what the writers of my favorite libraries do/blog and I'd love nothing more than to, one day, release projects that help others, as I've been helped by so, so, so many open source projects.
Finally, I'd reiterate that a lot of the open source projects our there are there because someone made something to scratch his/her own itch
A lot of these projects would NOT SELL on their own. Other people use them because they exist, but, if they didn't exist for free, the companies would likely program it themselves. When a company uses your code in their software, you simply end up getting more exposure and
People like you would rather have an apple rot than give it away to others. If your apple's ripe and you're not going to eat it
</rant>
(Not that I support either case regarding the greater debate raised here.)
It's a good point. When GPL 2 was written, the Internet wasn't as mature as it is now, and the main method of physically transporting data would have been floppies. That's been superceded by CDs and now by the 'net, so it would take someone who was genuinely obstructive to break out the HD 1.44s and send out code in that way. Hmm, I really should bin that box of floppies one day...
This goes against the spirit of the GPL.... To take your example to the extreme, suppose that they made the code available via 3of9 barcode in printed format? stone tablet (mailed to you via overnight delivery at your expense)? 8" floppy disks? download via modem @ 300bps at $19.95/minute? Maybe stone tablets aren't machine readable but the rest are.
It's the "complete machine-readable copy of the corresponding source code" and "a medium customarily used for software interchange" you quoted that explain it. How many computers have floppy disks these days? Mine doesn't. When was the last time you saw anyone exchange code on a floppy disk?
Not trying to be a smart-arse, but BIOS updates and SATA drivers still have to be installed with a floppy.
The guy writes:
So what? The GPL does not require that someone disclose prior to distribution that code is licensed under the GPL or that the distributee can access the code. Where's the violation?
This sounds like either ignorance of the GPL, sour grapes, or both.
Not really. You can use USB fobs too, or a bootable CD. For that matter, I can update my BIOS directly from Windoze these days. You may not have been trying to be a smart arse, but you *are* incorrect.
> Since the copyright for OpenNMS is held by a number of commercial companies, the Software
> Freedom Law Center is not able to help us defend or even investigate a potential
> violation.
Work with the other companies to establish a not-for-profit corporation and donate the copyrights to it.
Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
Quoting the same bit from GPL 2.0 again:
"Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange..."Are bar codes customary for software interchange? 8" floppies? 300bps modem? Is $19.95/minute really your cost of physically performing source distribution?
How many computers have floppy disks these days? Mine doesn't. When was the last time you saw anyone exchange code on a floppy disk?Neither does my new one, but my old PC still have a floppy drive, and very recently floppies were still being used for software distribution. A company still doing it now would be living in the past if you ask me, but if it's acceptable to its customers, what do you care? If you're a customer and don't have a floppy drive, ask them to provide the source in a more accessible form. If they don't, I guess a judge may have to decide whether floppies are still customary enough these days. It's old technology, but not completely gone yet.
If there's something they've changed in your project then purchase a copy and put the changed code in your version, since any modified GPL code must be re-distributed as GPL code.
Incorrect - please don't perpetuate the myth that the GPL 'infects' other code and causes it be relicensed as GPL against the author's will - it doesn't. And you will be violating the copyright of the infringer, which makes you no better than them.
You are sort of right: the GNU GPL does say that "any modified GPL code must be re-distributed as GPL code." But the imprecise language means you are confusing the meaing of 'must'.
In this case, the 'must' DOESN'T mean that any code that modifies the original GPL code is automatically (re)licensed under the GPL.
The 'must' means that if you don't license your modified and distributed code as required by the GPL, then you do not have re-distribution rights under the GPL license for the original code, and since you don't have any other license or basis for re-distributing the copyrighted GPL code, you are committing copyright infringement of the original GPLed code.
Solutions to this copyright violation: cease-and-desist, or pay infringement damages, or both since infringement has usually already happened. But in no case is the company REQUIRED to license its patches under the GPL - they just need to stop distributing, and probably pay damages for past distrbutions without a license.
-----
If a company violates the GPL by:
1. distributing binaries of GPL-licensed software,
2. that contain source code changes from upstream,
3. which source code the company won't make available to users to whom the company distributed the binaries,
Then:
4. the GPL simply doesn't provide any re-distribution rights that allow the company to distribute the copyrighted upstream software,
5. thus the company is in violation of the copyrights on the upstream software,
6. thus the company must:
6a. cease distributing their modified software, or
6b. pay infringement damages.
-----
Q: Does the GPL require that source code of modified versions be posted to the public?
A: The GPL does not require you to release your modified version, or any part of it. You are free to make modifications and use them privately, without ever releasing them.
But if you release the modified version to the public in some way, the GPL requires you to make the modified source code available to the program's users, under the GPL.
Thus, the GPL gives permission to release the modified program in certain ways, and not in other ways; but the decision of whether to release it is up to you.(emphasis added)
Q: If I know someone has a copy of a GPL-covered program, can I demand he give me a copy?
A: No. The GPL gives him permission to make and redistribute copies of the program if he chooses to do so. He also has the right not to redistribute the program, if that is what he chooses.
Know you know why everyone should avoid GPL junk like a plague and move over and only use stuff with MIT liscenses.
That's still not correct. It says that at minimum, they have to offer the code, in a manner that's customarily used for distributing software, to anyone to whom they have already distributed the binaries.
On today's Internet that means they could hide the source behind a password-protected area only accessible to consumers. It would probably also still be quite acceptable to send a CD upon request to customers only. Of course, consumers then have the freedom to pass it on to anyone they choose, so the effect of such restrictions would be limited, but still, in a story like this, this is a very relevant rule.
Hmm, we still have some devices in the lab that "customarily" use floppies for data transfer or upgrades. I think a majority of PC users still have floppy drives available to them. The GPL doesn't say "customarily used on PCs". It also doesn't say "preferred software interchange" or "easy to use software interchange" or "include a usable build script" or "prominently displayed offer to supply source code", etc. The letter of the law here is the GPL, not the FSF FAQ or community sentiment.
But then, corporations are not going to make themselves extra work here. Their goal is not to hide the GPL code, but to make this convenient for themselves and save money. So they're not going to use floppies if they can help it, and they're not going to waste time trying to inconvenience the person who asked for source code. The most convenient and inexpensive method for most companies would be just to add a line somewhere saying "contact us" and then they work out details for those 3 or 4 people who actually do.
Speaking about going against the spirit of the GPL. Could someone add, say, 7.63 yottabytes of contributed code to a GPL product in order to prevent anyone else from really working with it? You know...making the new code basically unaccessible for 99.999999999934% of programmers?
-516
This code would be far less valuable if it had not been tested by hundreds of people throughout the world, some of which have spend hundreds of hours on testing. These people have made a huge investment and contribution, yet they have no rights.
Product development and selling are also huge skills, often far harder than programming, and are part of code being successful.
Engineering is the art of compromise.
In my post, I had originally written the same thing, that they could hide it for just customers.
But then I actually read the GPL to double check my facts, and found this little nugget (emphasis mine:)
Now, the section a) immediately above it does say that they could distribute the code only to paying customers, but that they would have to include the source code with the product. (I suppose if their piece of hardware comes with a CD of drivers/etc, they could just put the source in some random folder on the disc...) But if they don't include the source with the product, then they have to offer the code to "any third party".
And, yes... I know floppies aren't often used for software interchange, but they are customarily used for it. I just bought a new motherboard that came with its SATA RAID drivers for Windows XP on a floppy disk. (Vista can finally load drivers from USB stick or CD during setup, but XP, even with SP3, still can't.) My point (I'm not writing this last part for you, McDutchie, but for the other 5 replies that jumped solely on my floppy reference,) was that they don't have to make it available in a manner particularly convenient for the average person.
Another non-functioning site was "uncertainty.microsoft.com."
The purpose of that site was not known.
The most convenient and inexpensive method for most companies would be just to add a line somewhere saying "contact us" and then they work out details for those 3 or 4 people who actually do.
No they wouldn't.
They'd put a line saying "contact us" and then when you call customer support, you'll spend hours going around in circles trying to explain to the agent what source code is, what the GPL is, what software licensing is, telling them that their player certainly DOES have source code somewhere and that you're not asking for proprietary bits that they've written, just the parts that are covered under the GPL.
And then your telephone call will be cut off because you've wandered way off script and the customer service agent has their performance figures to think about.
Could someone add, say, 7.63 yottabytes of contributed code to a GPL product in order to prevent anyone else from really working with it? You know...making the new code basically unaccessible for 99.999999999934% of programmers?
They could, but it's pretty unlikely because there are lots of other ways around it which are far easier.
The most obvious way is to put a stub into the GPL code which uses some form of IPC to communicate with another, proprietary program which does the donkey work.
Another trick I've heard of (which really does violate the spirit if not the letter of GPLv2) is to distribute source code of which contains a C preprocessor command #INCLUDE_REAL_CODE_HERE - and they hacked the compiler to put in the real code on seeing that preprocessor command. But they're not distributing a compiler so they don't need to give you the hacked compiler. IIRC GPLv3 accounts for that by saying that if some strange means of compilation is necessary to get the code to work, you have to distribute this as well.
That FAQ is the FSF's FAQ hosted on gnu.org. This is the official interpretation and the one that would have to be used in any court proceeding. Sure a judge may rule anything, and they have, but this is the official and **correct** interpretation of that section of the GPL v2. Certainly it would be nice if it hadn't been open to multiple interpretations. Another good reason to use GPL v3 going forward. Lastly, I know where to write to they have contact information on their webpage. I still think the original poster didn't do his homework before slashdotting this company, I don't see anything wrong with what they have done, but I'm no client so can't say whether they are or aren't in compliance and this kind of controversy and behavior from F/OSS developers/maintainers does the entire F/OSS community no good in relations to corporate and commercial relations. I know several companies that have used F/OSS software but haven't read or understood the GPL completely, and I have had to instruct them in what their obligations are. They have all been cooperative and ready to make the proper changes and accreditation once informed. I'm more of a person who likes to trust that people are willing to do the right thing when they know what it is. This company on the surface appears to be doing the right thing. So, I say "innocent until proven guilty". When I see some proof they might not be fulfilling the GPL then I'll change my verdict to guilty.