Removing Proprietary Bits from Illegally Closed Open Source?
hahnfeld asks: "I maintain an Open Source (GPL) project which is fairly popular among commercial companies who produce proprietary add-ons for the software. Recently I found that someone was selling code derived from my product under a proprietary license. As a settlement, we finally agreed that his software (which had come a long way from the original Open Source base) will be released under the GPL. Obviously, I have plans to distribute the newly GPL'ed code from my project's site. Now that I've made the announcement, many commercial add-on authors are saying that they believe their code may be contained in the software and it is MY responsibility to remove it or they will come after ME. I've received everything from threats to insults from the commercial add-on authors, who believe the newly GPL'ed product will cut into their business. I've already notified everyone who has a proprietary add-on that I know about, and I'm planning on cleaning out anything I find. But short of not distributing the newly GPL'ed software, is there any way for me to protect myself in the event some proprietary code gets left in the GPL code?" As open source gains popularity, this issue is bound to strike another developer. In addition to seeking legal advice, what suggestions would you give to someone unfortunate enough to be in this position?
I'm not a professional programmer or anything, but I am in the process of learning, and I'm just wondering how one would go about actually identifying the proprietary bits of code.
Short of searching for "Proprietary code: Go!" comments, does anyone have any insight into this?
"Yeah, well, Dracula called and he's coming over tonight for you and I said okay."
Can't you countersue based on the fact that they shouldn't have added their proprietary code to a GPL'd software distribution in the first place?
stupid people suck
So what do you think the chances are that these guys have incorporated GPL source in their add-ons and are taking an aggressive stance to cover their asses?
Insn't this one of the senarios where assigning copyright to the FSF is helpful?
"Remember, any tool can be the right tool." -- Red Green
Ha ha ha. I'm sorry, but that is funny. After taking something they didn't legally own (your GPL'd software), they gave away something that they didn't own in settlement.
If it turns out that they didn't have copyright to all the code that they promissed to GPL, that settlement is invalid. You have a great case for taking them back to court.
And if other authors do own copyright on some of that code, you don't have the right to distribute it. Simple as that.
They added their proprietary code to a GPL'ed program and distributed it. The only legal way to do that is by GPL'ing their proprietary code, which they didn't.
Thus, you need not heed their meritless threats. Anything distribute along with your GPL'ed code should also be GPL'ed, and if it isn't, you can force it to be so (and you have the right to simply distribute it under the GPL).
The impact this has on their business is not your concern. Its their fault for incorporating their add-ons onto GPL'ed code. There should be no compromise here: you should force anything that was distributed with your GPL'ed code to be GPL'ed as well. Simply distribute the entire thing under the GPL, as is your right to do so. If they try to sue you, they don't have a leg to stand on because the GPL demands that any modification/add-ons to GPL'ed code be GPL'ed.
social sciences can never use experience to verify their statemen
Doesn't mean it is. You really need a good IP lawyer for this. If that's out of the question, I'd send each of the plugin companies a copy of the source, along with a letter stating that to the best of your knowledge, the code is yours and that you intend to GPL it. Give them 30 days to identify any code that they believe is theirs, with the option of declaring none. Tell them that if they do not respond in 30 days, their license to use your code will be terminated and they must cease marketing and supporting the product. Disclaimer - I am not a lawyer and this is not legal advice.
"Eve of Destruction", it's not just for old hippies anymore...
The software being discussed seems to be EveryAuction. Is that correct? (Hahnfeld's email address is listed at the beginning of the Slashdot story as matth@everysoft.com.)
<ianal>
I'd send a nice general "cover" letter to the company in question that used your GPL'd code as the basis for their extended code.
I'd thank them for recognizing and adhering to licensing restrictions, in this case the GPL. I'd mention that you, too, want to adhere to all licensing restrictions. Thus, if they incorporated others works that are bound by other specific licenses besides the GPL to make clear to you exactly which parts of the code are restricted in non-GPL ways.
If they don't have the time to mark other's code, at the very least they could mark code which is unambiguously "yours+their extensions".
Be prepared at any time in the future to remove chunks of code from the GPL project if some third party presents irrefutable evidence that such code is under their copyright and that they do not wish to distribute their code that way. Kinda like old RSA code used to be.
Someone may argue that you didn't properly adhere to the licensing agreements for that code, but that's where you have to be able to demonstrate that you made a good faith effort to adhere to all of the restrictions that you knew about. If the company did not inform you of those restrictions and you asked them to do so, then it will be more difficult to fault you. After all, it is that company that made agreements with the other licensors, NDAs, etc. and it is their responsibility to adhere to those agreements when giving code over to you.
</ianal>"Provided by the management for your protection."
If the application was GPL in the first place, please explain how anyone can write a proprietary extension for it and then prevent you, the original author of the software or assignee of copyright for the code (?) from distributing those extensions. Either you're leaving something out or these people are off their rockers-- or maybe they think there will be a high rate of return on their investment in copyright lawyers.
BTW, would future authors of these sorts of "Ask Slashdot" questions, please do a little self-promotion and include the name of the software in question? These discussions are nearly worthless when I can't do some Googling for background info.
I do not have a signature
Let me get this straight: You have the software company who was distributing the product containing your GPL'd code, and you have other coders who have contributed to the project, and who do not want their proprietary code made public. Now, either the other coders knew they were working with your code and may have been aware of the GPL licensing, or they didn't.
If they were aware of the licensing restrictions on the code they were working with, then they are morally in the wrong and a court will probably rule against them.
If they were not so aware, as in if the software company concealed the knowledge of GPL restrictions from them, or had them working on a separate segment of the code which was included in the project but not directly involved with the GPL, then it's the software company's fault in scheduling conflicting licenses. It is not YOUR responsibility to PUBLISH the source code, it is that company's; you might only be distributing that source, and perhaps not even that. The software company would have the options of:
(1) Withdrawing the program from the market completely;
(2) Replacing your GPL'd code with equivalent proprietary code, and keeping the codebase secret;
(3) Replacing the other coders' proprietary code with open-sourceable code (or licensing their code for open-source use) and publishing the codebase;
(4) Publishing the codebase as-is, and risk being sued by the other coders;
(5) Keeping the codebase secret, and risk being sued by you.
I do not see any way a court would hold you liable for making the software company publish the code; it was not your decision to tie their code up with yours. If it does head to court, though... Get a good lawyer.
The GPL is about giving power to the developer, not to the user. The idea was that the developer would use that power in the best interests of the user, but that's not part of the license unless your best interests are the same as the ones previously defined by the FSF. If you want a license that is designed to give power to the users you should use the BSD license.
Clearly, the GPL and licenses like it are the "*real* meaning of open source" though, since they force the code to remain open forever. Wether that's a good thing or not is another question.
No, it's "hey, you USED mine - now let me USE yours."
You always have the option not to use the GPL'd code. There are closed-source alternatives for pretty much anything GPL'd software can do. Of course, you have to pay for it. Further, most GPL authors are willing to license their code for proprietary use -- again, if the money is right.
GPL'd code is not FREE code. There is a price. If it's not the price you want to pay, then don't buy it!
The purpose of GPL is really to draw a clear line between proprietary and free software. I.e. to assure code won't migrate from one world to the other in no direction.
By the nature of proprietary software, you can't make it free. By being able to take free code and incorporate it in propriatary app (probably with some added value), code would continually move from the free world into the proprietary. In other words, the proprietary codebase would be all code (proprietary + free), while the free codebase will contain the free code only. This would doom free code to become and/or remain marginal.
With a clear separation you now have two basic possibilities: use free code creating more free code and use proprietary creating more proprietary.
If you want to sell your code you can. But you can't sell other's code, and I don't see anything wrong in it.
Life is the slowest way to death.
In many ways this mirrors the story of Star Office. OpenOffice is a version that has proprietary code stripped (a couple fonts, some print drivers and ADAbas are the most obvious parts) while the commercial Star Office product still contains some code that can not be Open Sourced.
It's taking Sun years to replace the code that doesn't have an OS license. Unless you find it worth your time to rewrite lots of other peoples' code, I would suggest you either get the person who "opened" it for you to fix this or come to an alternate agreement with them.
It is more productive to voice thoughtful opinions (reply) than to judge (moderate) others.
IANAL, but it seems to me the company that stole your code has an obligation to point out what code they added to yours. Have them give you some documentation of what code they added, and then filter out everything you cannot account for.
Also, if this is a matter of Plug-in publishers bullying you, cripple plug ins. If they want to still market their products, they will begin to panic when they realize they are not supported under new versions of your program. If they won't play nice, take your ball and go. Make them beg to get back in the game.
But that's just my opinion.
A neat idea but unfortunately, even "per-line" or "per-char" is the wrong dimension to measure. You'd really need to keep track of it per patch (or per commit in CVS terms, or whatever).
A contribution to a work means that part ownership of the copyright of that work goes to the contributer. (There are some interesting potential legal landmines with regard to what would constitute a "work": Single source file? Whole distribution? My guess as a non-lawyer is a court would go with "All of the above".)
The only way to strip out a propreitary bit of code would be to roll back through a source-control program, remove all the commits from the source history, and rebuild the program with new, non-owned code. So you'd need a way to mark commits as "proprietary", and roll them out.
Another thing you could try is keeping two trees, one "pure", and one with the proprietary stuff, and make sure to factor out any differences such that you can swap in the pure or proprietary code at any time. Takes a bit more design, but hey, that's true of most open source anyhow.
But you didn't intend to violate their copyright. You didn't know you were violating their copyright.
I think this would be similar to purchasing stolen items. You don't get to keep them, but if you really didn't know it was stolen, you likely won't be punished, beyond losing the items that didn't belong to you, either.
I'm pissed. Who's your chickenshit lawyer so we can all avoid him ourselves?
EACH AND EVERY ONE OF THESE COMPANIES threatening you if you publish their propietary code has, indirectly, admitted to ripping you off. THEY are the ones who should be sweating, they have no right to the code that they wrote proprietary extensions to and it's black letter law that you have the right to order them to immediately cease and desist any and all future infringement of YOUR code.
This may put the companies out of business, or expose them to massive suits for non-performance. IT'S NOT YOUR RESPONSIBILITY. They are violating your IP rights, you have the unconditional right to order them to stop regardless of the consequences to them.
It won't take them long to realize that they have two options. One, they can lay off everyone (you've killed their product!) and sue the original infringer for damages while their clients sue them. They can't threaten you for exercising your own rights, especially after they tried to do it to you!
Or two, they can pay you a reasonable fee for the right to use the code in a proprietary product. Say, something between $20k-$50 plus the right to distribute the code in the infringing product today under any and all licenses you choose. If they want to pull code out, they can... at their expense. Just because something is released under the GPL doesn't mean you can't also license it for proprietary use.
Meanwhile expect to see the original infringer get hit with massive suits for fraud. They may think they pulled a fast one on you, but as long as you stand up for your rights you may yet have the last laugh as that company is forced into bankruptcy for stealing your code and presenting it as its own.
(IANAL disclaimer, etc.)
For every complex problem there is an answer that is clear, simple, and wrong. -- H L Mencken
I'm not trying to discount the problem that you're having... I just think that regardless of what advice you take from this forum, you should also seek the advice of a lawyer.
This issue is definitely something the GPL crowd would like to be aware of, and its good that you posted it, but I think your best advice would come from a legal professional.
Somewhere on this page I have hidden my signature.
To remove all the proprietary bits from you software, simple bitwise-AND your program with the INVERSE proprietary bitmask!
Gosh! A single line of C code, what's Ask Slashdot coming to these days?!?!
FreeSoftware = !(PROPRIETARY BITMASK) && YourSoftware;
Quando Omni Flunkus Moritati
In the MySQL v. Nusphere case, the judge was unconcerned with the period of time after Nusphere released its code in accoprdance with the GPL. The judge ruled that the court would focus its attention on the 4 month period of time when Nusphere was in violation and not pay attention to the later period when they were were in compliance.
MySQL, with the assitance of the FSF, tried to argue that once the GPL had been breached, Nusphere could not remedy that by releasing all of its modified source and that they needed to renegotiate a new license. The court did not accept that argument.
I have discovered a truly marvelous sig, unfortunately the sig limit is too small to contain i
I am not a lawyer. Do not use this as legal advice.
How about asking someone who isn't going to simply pull answer out of thier ass, and instead ask someone who might know? i.e. a lawywer.
"Hi, I've been threatened with a lawsuit, seeing as how most of you know nothing about the law, I'd like to know what you think I should do?"
You might as well ask a magic 8-ball.
Give the FSF co-ownership of your copyright. This way, they can enforce it or you can enforce it, and both they and you can negotiate with violators.
This way, you still own the copyright, but if you're somehow unable to defend it, the FSF can do so.
social sciences can never use experience to verify their statemen
You obviously have a lawyer already, since you managed to reach a settlment with the GPL violator, why not continue to use his services? Slashdot can't really give you good legal advice, what we -can- help you with is comming up with the technical solutions to actually achieve what your lawyers decides is the best course of action.
In general, I'd avoid any solution that relies on NDAs. There are too many ways that too many people could get hamstrung and/or tied up in court for too long by them, especially if any of the commercial developers consider themselves in competition, not to mention what they could do to you in the future (of course your future work is ALWAYS going to be suspect, if you ever venture into any of the areas covered by stolen code).
At first thought, I'd say expect the developers of the commercial add-ons to follow your site, and stand up and go over the code, identifying their code. The problem being that you'd potentially be giving competetors eachother's code, potentially allowing both of them to steal the competitor's code AND sue you for giving their code to their competitor. Of course, any halfway decent lawyer should easily spot things like this.
Perhaps what you need to do is pull out sections of code that you would like to add to the main codebase and then post small sections, which should be enough for the owner to identify the code, but not enough to give away any significant functionality. If a developer can send you the code that follows it, throw that module away. To me, a 90 day period would seem sensible since, as I mentioned earlier, any commercial developer that fails to check your site/release-notes/mailing-list in that long isn't serious. Again, the lawyer can figure out the finer points here.
my sig's at the bottom of the page.
I don't disagree with anything you've said. And I also use the services of lawyers as needed. That said, there is a big, fat, grey area of life that involves negotiating deals and contracts. I almost always handle these things myself. The sad thing about getting a legal opinion is that there's a good chance that your advisary is getting the opposite legal opinion from his attorney.
"Eve of Destruction", it's not just for old hippies anymore...
Its an interesting point because the AC acted in good faith and it is that third-party who did the dirty. However if the code isn't attributed during the merge, it becomes very difficult to say which bit came from where.
My view is that the merger was the same as the third-party inadvertantly disclosing AC's proprietary software. The third-party becomes responsible for any tidying up.
See my journal, I write things there
But short of not distributing the newly GPL'ed software, is there any way for me to protect myself in the event some proprietary code gets left in the GPL code?
No. But depending on the financial status of the company violating your copyright, and whether or not your "settlement" was legally binding settlement, you could possibly sue for incidental damages or something.
If you don't have a real "settlement," you could mitigate your potential damages and pay for a full code review and then turn the charges over to the copyright infringer.
I'm also not a lawyer. However, at the very least I suspect this would have to be certified mail, and I strongly suspect that you cannot nullify someone's copyright by doing this.
I think what would happen if you tried this is that you'd piss off/scare the parties involved, they'd retain a lawyer, they'd start sending nasty notes and look at taking legal action with you. Which is what they should do.
Basically, it comes down to this. The original guy infringed the GPL. He needs to stop distributing the code. You may be able to sue him for damages for using your code without license. It doesn't mean that he can give away other code that he doesn't own, however.
May we never see th
You know, if you aren't keeping it private for one reason or another, it might be interesting to know how you figured out that the guy was using GPLed software. Whether it was an inadvertent forum post (and he didn't understand the GPL) or whether you did an Xvid-style binary code comparison...
May we never see th
I'm curious. Is licensing like water? That is, if I GPL a complete work, and then part of that code isn't copyrighted by me, is the GPLing still valid as regards the part that I do own?
I wonder if this has even ever been hammered out before. Probably, but it would take a lawyer to track down the case law.
It could be that the entire deal was bad the moment the guy tried to GPL the code he didn't own, so you'd want a revised agreement first.
Also, if he wrote the code under NDA from the propriatary people, they *might* be able to claim that his code exposes important knowledge about their own software that constitutes a trade secret (If someone wrote part of a driver for, say, Nvidia, I suspect this could be the case).
May we never see th
[sigh]. Things were so much simpler in the Dark Ages. You and the EveryAuction guy and the other authors go out and beat the snot out of the guy who illegally grabbed all your code.
May we never see th
That wasn't really what I was asking.
:
if you take GPL'd code and make somethin else, the finished product, even if it no longer does the same thing it did before, must be gpl'd
I realize that.
My question (I'll restate and perhaps be clearer)
A = The guy that wrote the original GPL work.
B = The guy that illegally grabbed the GPL stuff, then merged it with propriatary stuff, then illegally tried to GPL someone else's code.
I am, for the moment, ignoring the fact that B is already in hot water for distributing a derivative work containing GPLed code under a non-GPL license. We all agree that B is already in hot water for doing that.
My question relates to the second bit: B has made an invalid license in trying to GPL the derivative code he made. It contains non-GPLed code that he does not own which he does not have the right to GPL, thus the derivative project cannot be GPLed as a whole. He attempted to GPL the derivative work as a whole. This license is necessarily *invalid*.
I believe that the derivative work contains three sections of code. The propriatary code from the third party, the GPL code from A, and some additions from B.
Now, B has made this invalid licensing under the GPL of his derivative work as a whole. Since this is invalid with respect to the propriatary extensions, my question is whether his license is still in place (and binds him) as regards his *own* contributions to the derivative work, or whether the entire thing simply goes out the window.
If B makes three licenses that say:
"I am licensing A's contribution under the GPL", that's valid
"I am licensing B's contribution under the GPL" this is valid, as he's the copyright holder
"I am licensing third party propriatary bits under the GPL", this is not valid.
However, the first two licenses still hold (though only the second one is important).
This guy made a *single* license that applies to the work as a whole. Are his own contributions to the derived work now GPLed or not?
May we never see th
/.
1. Send the source to your new release to known plug-in makers with a notice of a 90 day window to review for code that may belong to them.
2. Make a new release (not the one you have in mind now), with a notice that says that those who are possibly affected that are not on your list should contact you within 30 days for a review copy, followed by a 60 day time to review.
Neither of these will free you of the possibility that someone will come later and claim ownership of some this or that of code, but it should put you in the clear on having made an attempt beforehand.
I'm no expert in US law (I don't live there), but even with my basic knowledge of how it works and reading the obviously simplified summary here, I can see that most of the posts offering legal advice here are way off base. The scary thing is that equally off-base people are clearly moderating them up because they sound convincing, regardless of their legal correctness!
It seems to me that the only sensible action for the original poster to take immediately (aside from speaking to a lawyer again) can be some sort of legal move to force those who derived from his GPL'd work to either GPL the derivative (if they can) or stop distributing it. If the derived work cannot be GPL'd because it also includes indepently licensed third-party bits, then that narrows the options to one.
I don't understand why the OP is so keen to host the derived now-supposedly-GPL'd work using his own resources, though. He gains no obvious benefit from doing so, and if US law allows for penalties for distributing code contrary to its licence, it seems to leave him open to action by the third parties if they are being ripped off. If US law actually says that the OP can distribute something just because someone told him it was GPL'd, even though it actually wasn't, it would be about the only legal system in the Western world that did...
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Suppose I write a library, which I choose to distribute under some licence that forbids giving away the source code. Are you saying that I must check the intentions of everyone buying my library, to make sure that they aren't planning to GPL it and give away the code, and that if I fail to do so, my code automatically becomes GPL'd?
Could you please cite even the slightest shred of copyright law in your chosen jurisdiction or even common sense that supports this claim?
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.