Ask Slashdot: When and How To Deal With GPL Violations?
jd writes "There are many pieces of software out there, such as seL4 (kindly brought to my attention by another reader), where the vendor has indeed engineered something that they're entitled to Close Source, but where their closed-source license includes the modifications to GPLed software such as the Linux kernel. Then there's a second type of behavior. Code Sourcery produced two versions of their VSIPL++ image processing library — one closed-source, one GPLed. It was extremely decent of them. When Mentor Graphics bought Code Sourcery, they continued developing the closed-course one and discontinued, then deleted, the GPL variant. It's unclear to me if that's kosher, as the closed variant must contain code that had been GPLed at one point. Here's the problem: complaining too much will mean we get code now that maybe four or five people, tops, will actually care about. It will also make corporations leery of any other such work in future, where that work will be of greater value to a greater number of people. So, the question I want to ask is this: When is it a good time to complain? By what rule-of-thumb might you decide that one violation is worth cracking down on, and another should be let go to help encourage work we're never going to do ourselves?"
Code Sourcery produced two versions of their VSIPL++ image processing library — one closed-source, one GPLed. It was extremely decent of them. When Mentor Graphics bought Code Sourcery, they continued developing the closed-course one and discontinued, then deleted, the GPL variant. It's unclear to me if that's kosher, as the closed variant must contain code that had been GPLed at one point.
It's their code so they are free to decide. It doesn't matter if they once also GPL'd it - the owner still retains copyright. Bitching about that will just mean no company ever will provide both closed and open source versions. You are not magically entitled to them.
a sword
and a bow
and an axe.
If they've released the code under GPL and you still have a copy of it, you're entitled to do what you want with it, up to and including rebranding it and maintaining it as a GPL product for the future. The GPL granted you permissions to do certain things (copy, change, distribute the code) under certain conditions (you had to provide source code if requested). As far as I'm aware, they can't revoke those rights unless you break the other conditions; see Open Office/Libre Office for a similar situation.
If code was produced with a dual license, one GPL, and one closed, then it's perfectly legal to abandon the GPL version, and keep working on the closed version.
If they never took GPL-licensed patches from anyone else, then they can decide for themselves which way they want to license their product. Just because I gave you a gift yesterday doesn't mean I have to give you gift today.
If they bought the company they are now the copyright holders and can do whatever they like with their software, including dropping the GPL version.
Check out my cross-platform apps
My interpretation of copyright law and licensing is that you can distribute source code you wrote under any license you choose. Where it becomes in issue is when other people have contributed to the project, muddying the ownership of parts of the software.
It's the same as having different licensing terms for different customers -- even if the licenses conflict, the restrictions apply to that copy of the software and don't affect other copies that are distributed, even if the code is the same.
I do not fail; I succeed at finding out what does not work.
Doesn't matter. They created the software. They do not have to keep distributing new versions under the GPL. The 'must remain open' part of the GPL does not apply to the people who hold the copyright. They can change licensing of any future versions at any time.
When Mentor Graphics bought Code Sourcery, they continued developing the closed-course one and discontinued, then deleted, the GPL variant. It's unclear to me if that's kosher, as the closed variant must contain code that had been GPLed at one point.
Whether its kosher or not depends entirely on copyright. If they accepted patches from the community, incorporated them, and the community did not assign them the copyright, then no they can't change the license without removing any code they don't have copyright to.
However, if they have copyright on the code, and copyright of any submitted patches was assigned to them (which is pretty normal); even the FSF has you assign them copyright. (Otherwise they wouldn't have been able to chagne the license from GPLv2 to GPLv3 without contacting each person who submitted a patch and getting permission...)
Now, if a company that owns the copyright decides to discontinue a GPL'd product or close source it or whatever, that is entirely within their right.
However, that doesn't revoke the license on the GPL'd version, so anyone that has a copy of the GPL'd version is still free to make copies, redistribute it, and fork a new project from it if there is any interest in doing so.
The status of the code in the closed source fork is not inviolation. The owners of that fork own the copyright on that code.
The status of the code in the open source fork, should someone make one is also fine. It was licensed under the GPL. The only real restriction on it, is the new open source fork doesn't have copyright so they can't change the license -- ie its stuck on gpl version X. The new fork can't close source it or change the gpl version.
The owner of the code can do whatever they want with it. Making it GPL doesn't force them to keep making future versions GPL, because they own all the rights. Users of GPL code need to adhere to the terms of the GPL because they don't own the rights, but are rather licensees of the owner.
That being said, if you have a copy of the GPL'd code, you were automatically granted some rights under the GPL which can't be revoked. So you can continue to use the code that you have under the GPL terms for as long as you want.
Expensive, but worth it.
Someone here link to the source code and then you can go fork the project.
Looks like they are distributing their own binary, together with complete sources of the Linux kernel + patches.
Whether this is a GPL violation depends on how these two parts interact, exactly.
If you're in Australia, try Chris Micallef at Marshalls and Dent lawyers. He should be able to steer you in the right direction. Just call his office on Monday and say you're a fan of slashdot :-P
"It's unclear to me if that's kosher, as the closed variant must contain code that had been GPLed at one point."
It's absolutely fine. They own the code, they can publish it under whatever license they want. They can also stop publishing a GPL'd version if they want. Anyone who received the GPL version can continue to use it, modify it, etc. under the GPL. They cannot revoke that.
Appears one is confusing Copyright with License:
- Copyright grants ownership. It makes it your property.
- License grant a right to use __your__ property to someone else.
- The Copyright owner does not have to obey the GPL since they OWN the code. They do not need a license. Everyone else must obey the GPL.
- The person/company that owns the copyright to a piece of code can change the license (ie. the term to use their property) anytime they want.
- Code release under the GPL (license) gives others the right to use the code forever under that license but only for code released under that license.
- A person/company can release code under the GPL and then change their mind and stop releasing the code under the GPL. Whatever was release under the GPL will remain under the GPL. However, the company can add enhancements and then sell the who thing under a none GPL license. Only the portion released under the GPL remains free for others and only that portion is subject to the GPL if others modify it. The original copyright owner is not subjected to the terms of the GPL so they and only they can do whatever they want.
- Just repeat over and over - "If you own it you do not need permission to use it."
The above assumes that the code does not contain copyrighted code by someone else that released under the GPL. If you add GPL code not copyrighted by you to your code you must release all the code under the GPL or you have no right to use the other code.
If you're talking about corporations that abuse the GPL, such as creating a closed-source product based on modified GPLed code, that's not okay and is the perfect example of where to enforce the GPL.
If you're talking about a company that used to release a GPLed version of their software and doesn't under new management, that's not a good example. Sure, you might cry over the lack of new features, but the company handed something to you on a silver platter (their GPLed source code) that you, as the customer, neither paid for nor deserved. It was a bonus, not a requirement. And the new company isn't required to maintain the GPLed version, either. It doesn't mean that no one else can, though.
It is no way certain that there is any GPL violation here. Don't bother until you find one. I mean don't yo feel bad everything you hear about some site getting take down notices for reasons that prove unfounded? I wouldn't want to be like that. So really you need to find evidence in the binary that source code submitted by someone outside of MG and CS was used to build the closed version. If you find that, then you need to contact that person and learn whether or not they have the rights to that (could have been work for hire with a contract or they could have done a transfer of ownership as part of the patch submission process for example) and even if they care at all about it. Why might they not even care? Well MG could just say, "oops, thanks, here we have removed the offending source from our build, here is the new closed version that complies." And really unless you want to be a jerk, that should be good enough. You yourself wrote that you don't want to be that jerk because you do not wish to give ammo to decision makers to avoid going open source or GPL even in the future. So is all the work you and others will need to do worth that potential outcome? That's up to you. Just find an archive of the GPLed version and go from there for the future is what I personally recommend.
Assuming Code Sourcery originated all the code, they have, essentially, the right to do whatever they want to it. They can license it under whatever licenses they want. They can't restrict the rights of people who already have it under the GPL, but they are perfectly free to stop the GPL'd branch and continue the closed version. They are also perfectly free to incorporate anything or everything from the GPL'd version into the closed version.
The GPL only denies the right to closed-source a piece of code to people who received their rights to the software through the GPL; the original author already had the rights to the code. The new company bought the "author" so now they have the rights to the code.
To put it another way, the GPL binds the code recipient, not the code author, to continue open-sourcing the code. (If you write a program that copies elements from others' GPL'd code, you are bound by the GPL as to the elements you've copied, which usually means you have to GPL the whole when you release the whole, but you are usually also free to separately release only the new material, as a patch or what-have-you, under your own preferred license)
I contacted the FSF's GPL folks some years back about a GPL'ed program that had been re-licensed to a proprietary one. The answer is simple: the copyright _owners_ can decide how to license their own code. Including changing anything any way they like. (In my example, the owners purged Sourceforge and all other reachable repositories.)
You may also remember a dust-up over Mepis Linux not providing source code to what was essentially a repackging of GPL code. The GPL requires that if you _distribute_ GPL code, you must provide the source as well. Stallman said this was to prevent just the situation you're seeing; the original source goes dark for some reason.
So, while it's distressing to have a nice tool go proprietary, Stallman called it right again. He _thinks_ about these things, and is far from being some fanatic. He has a goal and he has been calling his shots right since the whole Xerox debacle in the seventies.
There was another case where the code in question had contributions by multiple people. Those people were the owners of the copyrights, and were able to engage the offender and uphold their rights. So if you own any of that code, complaint is the correct course of action. If not, then there's not much you can do, as they appear to be within their rights.
In my example, the user community put out the word to find the most recent copy of the GPL source, and they have continued development from there. One reason a company would open-source their code is to get the advantage of volunteer developers; you get source, they get code. If the open-source community for that code is 5 people, they may well decide there's no advantage, and that they should reduce their costs by shutting down the resources used for that collaborative development.
Basically, you need to be shot. Repeatedly. Piss off already.
It's the straight truth. Slashdot is a business that thrives on page views. This was a business decision. Nothing wrong with that. Nothing wrong with pointing it out.
I modded it up but can only put one point into it, of course. It's something readers should be aware of. Please mod it up.
That's assuming that they were compliant to begin with, in which case the following is true:
1. They were entitled to distribute a binary-only version. Necessarily, this would mean they did not put any GPL code from other sources into their closed source version, because even if they provide a separate Free (as in Software) version, they must provide the source code to ANY program with GPL code in it.
2. They could have code that they own the copyright to in the closed version that is also GPL'ed in the Free version. That's just straightforward dual-licensing, which is fine under the GPL. However, just because the identical code is GPL elsewhere does not mean it's GPL in the closed version.
3. Providing GPL software at some point does not put the creator of the software under any obligation to continue providing it. True, they can't restrict you from using the Free version (or its source code in your own GPL programs); that cat is out of the bag. But they don't have to continue providing a place to download it. The only restriction is that they cannot provide the binary unless they also provide the source code.
Conclusion: If they stop providing the free version, they can still continue providing the closed version because, due to #2 above, there is no GPL'ed code in the closed version. For all intents and purposes, they are two separate products even if the code is identical.
Is it generally considered rude to end a free (as in speech or beer) product that people have been using for years in order to get them to pay for a version with less features (as in no source code)? Sure. Is it illegal? Not even remotely.
I always marvel at the open-source "advocates" that try and throw the book at the poor company that fails to comply with every aspect of the GPL or other open-source license. What is their goal? To educate the company? A polite letter to the legal dept & board will accomplish that...
Ken
As stated probably 50 or 60 times by now. The best you can do is get the last GPL'ed version and then essentially fork it to add whatever features/fixes you want. If they required people who contributed code changes to sign over ownership of the code (see MySQL as an example), then they own the code outright and can choose to continue providing it in GPL'ed form or not for future versions. MySQL has both free and proprietary parts and versions. Due to the Oracle ownership, and Oracle's (and even previously Sun's) mishandling of the project, it was forked in fact several times, with probably the main fork being MariaDB.
We were all warned a long time ago that MS products sucked, remember the Magic 8 Ball said, "Outlook not so good"
You're asking whether a rights holder can infringe their own rights? Are you smoking crack?
Now, now - he wasn't old at the time - he was within spitting distance of graduate school-age, IIRC. The GPL was created in 1989, at the time RMS was about 36 years old then.
Ken
It's unclear to me if that's kosher, as the closed variant must contain code that had been GPLed at one point.
Are you stupid, or just braindead? Clearly you have misunderstood the GPL and the U.S. copyright legislation entirely. Go do your homework before asking Slashdot. End of the story.
Mentor certainly didn't create it. It's not even clear to me if Code Sourcery created it, since VSIPL software already existed and it's entirely reasonable to think that they used code that already existed under Open Source licenses.
Even if Code Sourcery created every bit of the version Mentor bought, it's not clear Mentor owns the GPL version. They own the proprietary version, sure, as they bought the company that had the rights. Mentor never produced or distributed the GPL version. Since the code bases included shared code but were NOT identical (the closed version had heavily optimized versions of many of the functions), I'm not seeing anything that says Mentor is the sole copyright holder of the GPL edition. I'm reading that as meaning the shared code and the GPLed code were forked and that Mentor is merely the owner of their fork.
Sure they do not have to keep distributing new versions under the GPL, but that doesn't indicate to me that they're entitled to not distribute the old versions that were under the GPL. Provided the old versions are distributed in binary form (and I think they are), then I don't see anything in the GPL about retroactive un-GPLing it. That would be doubly so if indeed Mentor only owns their fork. I couldn't fork Linux and then close-source it, claiming I was the owner of that fork. (Although that IS what was claimed by the SE4L group.)
Let's say, for argument's sake, that Mentor do own the code and do have all the rights. Is it still kosher to un-GPL code? It may be legal as per copyright, but the word "kosher" is less about the strict governmental laws and more about the belief system and philosophies. In this case, that means copyleft. Forgetting whether you'd win in court, is it kosher to take software that had once been GPL and close it to the world?
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
The GPL is a license. Think of it like this:
I have code. I own the copyright to that code: it's mine. I can do whatever I like with that code.
I choose to license that code to others under the GPL. That means I'm granting them extra rights that would normally be reserved for myself (e.g. they can redistribute it if they want), but with a few restrictions attached.
If they choose not to follow the license, those rights I've granted them are void and to redistribute it is committing copyright infringment against me. However, I can still do whatever I choose with the code, because it's mine.
GPLing a piece of code doesn't mean you're required to keep distributing it forever.
It means that if someone else has a copy of the old GPL version, they can freely distribuite it, fork it, make improvements to it and distribute those, etc. But if the original author(s) aren't interested in distributing new GPL copies, they are free to stop doing so. GPLing your code doesn't mean you've taken on an obligation to always host a copy of it forever.
From the original news post:
When Mentor Graphics bought Code Sourcery, they continued developing the closed-course one and discontinued, then deleted, the GPL variant. It's unclear to me if that's kosher, as the closed variant must contain code that had been GPLed at one point.
As long as they hold the copyright on all of the code in question (or any code they don't hold the copyright on is under a permissive non-copyleft license like BSD or Apache), it is completely kosher. It would be a pretty standard case of a dual license, much like the licensing model Oracle uses for MySQL. There is nothing in the GPL that compels the original developer to continue supporting a package against their will (other than providing the GPLed version of the source code on request to people they've distributed the package to in the past). Nor is there any prohibition against taking all future versions of the codebase proprietary, as long as the proprietary version does not include GPLed code owned by others.
The thing that you don't seem to grasp is that GPLed code is still be owned by someone; it is not the same thing as being in the public domain. If all of the code in an application was written by the same entity (or the copyrights have been signed over to them), then that entity can make future versions of the application proprietary if they want. What they cannot do is retroactively take back anyone's rights to continue using/modifying the old GPLed version(s).
If you think they might have taken GPL'd source closed for which they don't possess the copyright, then you complain, then sue. But you aren't going to get anywhere if you're going on a hunch. For one thing, you don't have standing. You need to find somebody who has donated code to the project, back when it was GPL'd, and who hadn't assigned away their copyright. If you can find that, it's a slam-dunk case; otherwise, it's just speculation.
The only way something is distributed under the GPL is if the copyright holder does so. If Code Sourcery/Mentor didn't own it, it could not have been released under the GPL. The copyright holder is the only entity that can license the software.
Irrelevant. They bought the copyright when they bought the company that owns the copyright.
Code differences between the closed-source and GPL'ed version are not relevant, assuming they have the copyright to both. The only way they would not have the copyright is if they accepted patches from others and did not have the patch author transfer copyright to them. It is standard practice to only accept patches when the patch author transfers copyright.
Doesn't matter if it was once GPL'ed. They do not have to comply with the GPL because they own it. The only protection you have is they can't revoke the GPL on the previously-released version.
That is only true because you do not own the copyright to all of the code. If you own the copyright, you can distribute it any way you please and you are under no obligation to continue distributing it the way you used to.
Yes. As the owners of the code, they are not using/distributing it under the GPL. They are using using/distributing it under their copyright.
They are perfectly within their rights to do so. And what makes open-source a nice counter to this problem is the open-source version remains open. If people don't like the close-sourcing of the product, they can continue development on the open-source fork. And since they own the copyright on their patches, Mentor can not use those patches in their closed-source version.
Essentially, it doesn't matter if it's "kosher". If people don't like it, they can continue the open-source fork.
The FFmpeg team has some ideas about this.
I see they are currently updating the page - they do that a lot.
What I am unclear on is whether they are just noisy whiners, or if they ever actually put the legal teeth to any of their targets?
Again, though, even if we assume it's all fully legal - which it may well be, it does not seem in the ethos of open source (hence the usage of kosher) to prohibit access to that part of the code which was shared and has not been changed since. What they do with the bits that are theirs that replaced the open source stuff, that's their business, along with the code that was never shared and always closed. The remainder --- uhhhhhh. It feels very icky that anyone, owner included, can retroactively alter the rights to something.
My understanding is that a developer only has to provide source code to users within some time frame. They don't have to distribute to the public in general. Once they stop providing and supporting the software (binaries) and that time frame (3 years ?) elapses they may no longer be obligated to provide the source code at all.
Yes, in theory -- anyone else who has the GPL'd source can fork it.
Unfortunately, I can think of another case where this wasn't quite true -- ExtJS 3. For those who don't know the story, basically, they released ExtJS as LGPL, but then switched to GPLv3 ... and started making claims that no one else had ever heard (that you'd have to release all source code to your backend services for using their javascript toolkit, and there were questions of if users downloaded the javascript files, was that 'distribution') Due the the Sencha "interpretation" of LGPL, they then claimed the fork wasn't legal.
For more background:
... and after all of that badmouthing, it seems like they might've wised up, as they now list an 'Open Source License Exemption', so those of us using BSD, artistic, or GPL2 can use it. I guess I'll have to look to see if they're still claiming you have to release your server code:
Build it, and they will come^Hplain.
McAfee: Both their Ironmail and Webshield devices (now Secure Mail Gateway and Secure Web Gateway) are chok-full-o-GPL code under "closed source".
EMC: Now that they have purchased Isilon, they own a steaming pile of ripped off open source code from BSD and Sun.
I don't think people really care much either way. Of course there will be a small percentage that are concerned about the source of the code, but in general most people just don't care. If they can download it from TPB and it works, they'll use it.
It doesn't mean you have to distribute it forever, but you DO have to distribute the source for as long as you distribute the binaries.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
There is a subtle distinction (not so subtle if you ask rms) in that GPL is a free software license. It is persistent and code released under the GPL is specifically designed to keep it free forever. Commercial organisation (which aren't necessarily evil) have to do a lot of work in order to not run afoul. The OP is suggesting in other points in the thread that he suspects Code Sourcery might have accepted code contributions into the optimised code set. You would have to look at what sort of contribution license and under what guise those code contributions where made, not how those code contributions were released.
That is why, for commercial companies, or even other organisations that want to have an open community, in my opinion need to choose a more commercially friendly license, like the BSD modified license. It doesn't force the "morality" of free software on you like the GPL does. It allows commercial entities to incorporate code in derivative products, but encourages them to contribute back to the original project, instead of feeling "infected" with the GPL. In my opinion, the BSD modified is more free than the "freedom" of the GPL.
D.O.U.O.S.V.A.V.V.M.
I thought the whole idea of GPL was to do precisely that - it forces the GPL user to make his/her modifications, if distributed, available in source form. That's why people have such a problem w/ it, and that's what marks its difference from BSD. If a code is GPLed, then everything downstream has to be GPLed as well, unless of course somebody forks it at a point, applies another license and adds new code under that modified license.
The icon attached to this story is for "Open Source" yet the story is discussing GPL licensed software. Ironically the objective of OSS advocates was exactly to hide the obligations that Free Software licensing imposed on distributors. It would seem from the problem being discussed that they've succeeded.
If you can be shown to deliberately have failed to enforce your rights that constitutes consent. They go from being GPL violators to being licensed under the new terms. You don't have the option of setting a trap and waiting.
Further I'm not sure you have standing here. This doesn't sound like it is your code so you don't have the right to do anything.
From what you are describing it sounds like Mentor Grapics has copyright not a GPL license. They aren't obligated to do anything. Because the old code was previously licensed under the GPL by Code Sourcery they won't be able to act against people creating derived works.... but they don't have any obligations.
If A writes code and gives it to be B under the GPL and then B gives it C.
B and C are bound by the GPL, A is not. A can't stop B or C from giving it to D under the GPL, but they are free to release the next version as fully closed source.
That's why the right to fork is so important and is a key part of the Debian free software guidelines and the GPL. Right to fork prevents most abuses this one included.
No.... you forgetting they have copyright. They aren't bound by the GPL the person who got the binaries is.
A writes code gives it to B under theGPL and B gives it to C. B has to provide source, A doesn't.
The only standing you would have to complain about "violating the GPL" is if you owned the copyright to code that is used in their closed-source product that they had the right to use because you made it available under the GPL. It doesn't matter if they incorporate the entire Linux kernel into their product, unless you own the copyright to some of the code they use, you have no standing to complain. It doesn't matter if you own the copyright to most of the code of the ext3 filesystem, if they take that out of the code they use then you have no standing to complain. If you suspect they are using code in their closed source product that they only had the right to use because someone licensed it under the GPL, I suggest you talk to the copyright owner to see if he cares. He might well accept a small sum from the company for a closed license to his code as well.
If they own the copyright to all of the code they are releasing under a different license, there is absolutely no requirement for them to release it under the GPL. Any versions that you had that were released under the GPL would still be able to be used under the GPL, but they have no requirement to keep providing it.
Let's take one provision of the GPL as an example. If you provide the object code without the source code, you must offer to provide the source code for up to three years. If the company owns all of the code then they can stop providing the source code at any time. They are not bound by the GPL because they own the copyrights. If however they included code that they had licensed from a 3rd party under the GPL, they would be required to provide the code, or they would have been violating the terms of the GPL and therefore violating the copyrights of the person that owns the code they licensed.
rofl