Clash of the GPL and Other IP Agreements? 530
Daimaou asks: "A situation I'm involved in at work has raised some questions regarding the GPL vs. IP agreements. When I started working for my employer several years ago I signed an IP agreement that states anything I think while working for them is theirs, as well as anything I've ever thought in the past if it enters their building; dumb, but I needed a job." To make a long story short: Daimaou wrote some code derived from GPLed sources. Now his company wants to take control over what he's written. IP agreements aside, this sounds like a GPL violation since the company's IP can't override IP already established by the original GPLed code. Daimaou also says the company is trying to patent at least some of the code. Is there anything Daimaou, or anyone else for that matter, can do to get the company to cut short their plans and play fair with IP that obviously doesn't belong entirely to them?
"About a year and a half ago, I brought in some source code that I had worked on prior to working here; after receiving verbal OKs that the code would remain mine.
My code was derived from code I got from IBM's Developer Works website and also ActiveState's website; all of which was released under the GPL. I made a lot of additions to the software of my own, but the parts from the above sources were integral pieces and without them, my code wouldn't work.
Now, my employer is trying to lay claim to this software and has filed at least one patent on it that I know of. They have also distributed it but refuse to make the source public. They claim that because of my IP agreement, they have full rights to this source code.
I would like to hear what other readers think and perhaps get some suggested courses of action from people who are smarter with regards to law and the GPL than I am."
hmm (Score:5, Informative)
Get a lawyer (Score:5, Informative)
But hire a lawyer. I am not a lawyer, nor is this legal advice. I just know what I know, and what I know is that a good lawyer will spot at least the things I've mentioned and probably more, and more importantly will know how to apply these ideas to cover your ass and, hopefully, keep your code GPLed.
Good luck, and again: hire a lawyer.
Re:GPL holders own the code (Score:4, Informative)
Like I said, If Daimaou wrote the code prior to the IP agreement than the code isn't his to release to the company. The GPL license holders own it.
If Daimaou wrote the code after signing the IP agreement than he couldn't release code to GPL as he isn't the owner. The company owns that portion of the code; therefore Daimaou released the code illegally. Daimaou could potentially be held liable for any damages the company could prove due to the IP release. Furthermore, the code he introduced would have to be removed and possibly recoded. However, if the company wants to use any portion of the GPL code then said company is in violation of the original GPL'ed code.
The company can patent the new technology and can also decide to release the entire packaged software to GPL - these are the only two legal scenarios that can exist without rewriting the GPL code.
Re:That's not how the law works (Score:3, Informative)
OK, but any work he added isn't. The summary reads as if his code should be protected because it was linked to GPL code? As I read it (IANAL) they *do* have rights to all the code he wrote, whether it came into the building with other GPL code or not, but not the ActiveState/IBM portions of the code.
Let's assume he linked MyNewFile.c with GPLFile.c to make MyApp which he distributed under the GPL. He remains the original author of MyNewFile.c so he's free to relicence it, e.g. he could link it with BSDFile.c and sell the resulting MyCommericalApp without opening the source. The problem is that his IP agreement with his company gives them rights to MyNewFile.c when he brought it into the building - realistically the verbal agreement isn't going to stand up.
So they do have rights to DayJob.c and MyNewFile.c, and can patent them, but not GPLFile.c. If MyApp is already out there in the world as GPL then they likely won't be able to stop it or enforce patents on it since the OP was the legit owner of the code when it was released; however, if MyNewFile.c was *never* previously released then they probably now can stop him distributing it independently because he's no longer free to call it GPL without their permission.
Even if he didn't add any new files, just added some new lines to an existing GPL file, I imagine this still stands: once you've ripped out the original GPLed lines then the company own the rest.
Rooked (Score:2, Informative)
Please name the employer... (Score:3, Informative)
Draconian NDA's usually surface well into the interviewing process, so nice to not waste anyone's time with even looking at the company from an employment standpoint. Love to know who they are...
You can't sign away right you don't own (Score:5, Informative)
IANAL, but it seems pretty clear to me that you can only sign contracts that limit your own rights.
When you wrote derivative works from a GPL source, you did not gain ownership of the original code or even full patent rights to the code you wrote. The GPL remains in effect. If they argue that your contract gives them ownership, then that contract is illegal and invalid because the original authors (IBM's Developer Works & ActiveState and probably many others) were not party to the contract.
I cannot sign a valid contract, assigning ownership of assets I do not own. I mean I can sign one, but it has no legal standing. The contract and any patents derived from it, would simply be invalidated in the first court to see it.
Re:Turnabout (Score:5, Informative)
The basic issue is that Daimaou doesn't have the *right* to sign over the code that he modified. When he modified code that was released under the GPL, he was bound by their license agreements. If he signed an agreement to turn over all past IP of his (I'm not sure of the legality of such an agreement), he either broke the law in signing the agreement or he did not turn over the IP; he has no right to void a license established by IBM.
The logic being used by his company is almost amusing. If they got an employee who had formerly worked at Microsoft on Windows, would they expect to be able to patent parts of Windows? Of course not - because when the person worked at Microsoft, their legal obligation was to turn over any IP that they develop to IBM. They had no right to the IP that they wrote. Neither does Daimaou have any right to code that he wrote that fell under the obligations of another party's license.
What his company is doing seems to be pretty darn clear cut to me. But, as mentioned, IANAL.
Re:That's not how the law works (Score:4, Informative)
But what happens with the code that has been released? He thought he own the copyright but didn't (his company does). Can the company demand distribution of "their" code stop, since its distribution was not sanctioned by them? Or is it forever GPL'ed? Ofcourse this would be clear if the guy blatantly stole the code, but this case seems kinda grey to me.
Anyway, he is screwed and liable, and the company can't nullifiy the GPL for other peoples code.
Re:Ownership vs. Licensing (Score:3, Informative)
The best way to handle it is to look up and contact the actual author of the code that is being violated and let THEM (or their lawyer) contact the legal department of this company.
Don't Blame the Employer For This One (Score:5, Informative)
At this point, Daimou's employer may (depending on the intricacies and particular facts of this situation, for which it would need the advice of its own lawyer) face a difficult decision: release under the GPL, or rebuild using non-GPL'ed code. Who pays for the rebuilding, and Daimou's role in the process (or at the company), are other questions to be determined. Moral of the story, folks: Never include any code or content subject to outside license restrictions (whether GPL or otherwise) in something done for your boss without getting the boss' informed consent! {Professor Jonathan Ezor, Director, Touro Law Center Institute for Business, Law and Technology}
Re:That's not how the law works (Score:3, Informative)
OK, but any work he added isn't"
This makes no sense at all. The work he added IS inherently derivative of the GPL when he starts with GPL code. That's what derivative means.
The whole meaning of the GPL goes out the window if you can grab a bunch of GPL code, use it as a starting point for new code and then pull out the new code and claim it is not a derivative.
If you are extending, expanding on or improving GPL code by writing new code then everything you write is covered by the GPL.
Not quite (Score:4, Informative)
Re:Turnabout (Score:3, Informative)
Also, just because everyone has to say it, IANAL but I do have a bit of training on what my companies policy is on hiring people with past work and what obligations each party has.
Re:That's not how the law works (Score:3, Informative)
But if I take some GPL code, use it as a base for my new code, eventually separate my new code from the GPL code, do I still have to GPL my code? No, not even if I distribute it, because there is no GPLed code in the distribution. It doesn't matter that I looked at the GPL code. It doesn't matter if I linked to GPLed code for a while. It only matters if I distribute GPLed code as part of my distribution.
Wrong, wrong and wrong. (Score:5, Informative)
I see you've bought the "GPL is viral" FUD. Daimaou's code is Daimaou's code. It may be non-functional without the surrounding GPL code, but it's his none the less.
If Daimaou wrote the code after signing the IP agreement than he couldn't release code to GPL as he isn't the owner. The company owns that portion of the code; therefore Daimaou released the code illegally. Daimaou could potentially be held liable for any damages the company could prove due to the IP release. Furthermore, the code he introduced would have to be removed and possibly recoded. However, if the company wants to use any portion of the GPL code then said company is in violation of the original GPL'ed code.
Daimaou didn't release the code at all, let alone illegally. As long as modifications stay within the "legal entity" they are not being redistributed according to the GPL, so the company is free to use the software all it wants. The GPL explicitly states "Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted..." (emphasis mine). They can even make modifications and use the modifications internally. They only have to GPL the modifications if they make them available to others, along with the original GPL code.
The company can patent the new technology and can also decide to release the entire packaged software to GPL - these are the only two legal scenarios that can exist without rewriting the GPL code.
The company can patent technology used in the code, but in order to distribute it under the GPL it must be made available, at least for GPL purposes, under a royalty free, fully re-distributable license which (mostly) defeats the purpose of patenting it.
Re:GPL holders own the code (Score:5, Informative)
So Diamanou broke no laws here. He didn't say he signed over other people's rights.
Please don't get license and rights confused. The GPL is a license, but does not fundamentally affect copyright of those parts added to it. That copyright, under international treaty, belongs to the person who wrote it. Since this a work with other people's intellectual property in it, that IP must be licensed, and presently is licensed under the GPL (unless the company has gone back to the original authors and gotten a copy under a different license).
If you're in California... (Score:2, Informative)
CALIFORNIA CODES
LABOR CODE
SECTION 2870-2872
2870. (a) Any provision in an employment agreement which provides that an employee shall assign, or offer to assign, any of his or her rights in an invention to his or her employer shall not apply to an invention that the employee developed entirely on his or her own time without using the employer's equipment, supplies, facilities, or trade secret information except for those inventions that either:
1. Relate at the time of conception or reduction to practice of the invention to the employer's business, or actual or demonstrably anticipated research or development of the employer; or
2. Result from any work performed by the employee for the employer.
(b) To the extent a provision in an employment agreement purports to require an employee to assign an invention otherwise excluded from being required to be assigned under subdivision (a), the provision is against the public policy of this state and is unenforceable.
2871. No employer shall require a provision made void and unenforceable by Section 2870 as a condition of employment or continued employment. Nothing in this article shall be construed to forbid or restrict the right of an employer to provide in contracts of employment for disclosure, provided that any such disclosures be received in confidence, of all of the employee's inventions made solely or jointly with others during the term of his or her employment, a review process by the employer to determine such issues as may arise, and for full title to certain patents and inventions to be in the United States, as required by contracts between the employer and the United States or any of its agencies.
2872. If an employment agreement entered into after January 1, 1980, contains a provision requiring the employee to assign or offer to assign any of his or her rights in any invention to his or her employer, the employer must also, at the time the agreement is made provide a written notification to the employee that the agreement does not apply to an invention which qualifies fully under the provisions of Section 2870. In any suit or action arising thereunder, the burden of proof shall be on the employee claiming the benefits of its provisions.
Re:GPL holders own the code (Score:3, Informative)
Furthermore, the very fact that he did, at one point, distribute modified code means that he did accept the license. In fact, since there is no signature process to the GPL, the very way to indicate acceptance of the license is by modifying and distributing code (#5). You cannot just choose to ignore a license that you are under obligation to.
Re:GPL holders own the code (Score:3, Informative)
Distribution is not required; merely modifying the code indicates acceptance of the license.
Re:hmm (Score:3, Informative)
As far as what D should do:
First notify the copyright holders as to how the GPL is being broken. Depending on the code in question it might be derived from GNU so might want to contact FSF as well.
Second, Explain to D's company's lawyers as to how the company is violating a software licence. Regardles of who owns the copyright on the changes, it still needs to be distributed under the GPL.
In the future, get exceptions on paper and signed and dated. If you are writing code for a company, explain to your Boss how you want to use GPL software and how this will mean that the software you write will need to be GPL. It should be pointed out that only those that receive binaries need to receive the source though.
It is probably unconstitutional for a company to try and claim ownership of all your ideas though. However, as this sounds like the code was written at work for his job, then it is reasonable for the company to claim ownership of the code.
Your company may *NOT* re-define US law. (Score:4, Informative)
Then, (17 USC 204, q.v.http://www.law.cornell.edu/uscode/html/uscode1 7/usc_sec_17_00000204----000-.html [cornell.edu]
says that the transfer must have been specific to the item in question, and in writing.I think you should hit them up for extortion... and maybe hit *them* for copyright violation if they try to hang onto the stuff.
Note that the copyright transfier stuff has come up in SCO vs.Novell, recently -- see GrokLaw.
The answer's there in the GPL, #7 (Score:3, Informative)
Re:Turnabout (Score:3, Informative)
You're forgetting that the guy owns the IP of the modifications he made. As copyright holder on them, he's free to licence them to his company under whatever terms they agree to between themselves. That code will most likely be completely useless without the rest of the code which he *cannot* licence to the company, but that's life.
It might be perfectly legal to use the files internally,
The GPL places no restriction on use. The company can use any GPLed software internally without restriction, including this software. If they redistribute it, they then must supply with it either the source, or an offer to make the source available to whoever requests it.
I am unsure of the situation with regards to employees of the company that receive the software from another empoyee. The GPL specifies that no restrictions can be placed on those who receive the software; I suspect that they may be legally entitled to give it to whoever they want to. I suspect that the company may likewise be legally entitled to fire them, though.
Re:Not quite (Score:3, Informative)
It has to override, otherwise copyright is useless. If all I have to do to get unrestricted rights to all the GPL software (or any software for that matter) is to hire someone to "accidently" bring it into the company then copyright is useless. Its the guys contract with the company that can't override the license he has with the writers of the GPL'd software.
And actually, according to Eben Moglen (FSF lawyer) the GPL stands up very well in court. So well in fact, that its all over before "infringers" even get in the front door to try to "break" it.
In this instance, the only possible license the company this guy works for has for the original GPL code is the GPL. The guy can't give the company something he doesn't own. So either they use it under the conditions of the GPL or they have no license, in which case they can't use it at all.
They may be able to get damages from the guy who brought the code into the company, but that doesn't give them the rights to the "stolen" code. Only the GPL can give them any copy rights.
Employer might have rights to SOME of the code (Score:2, Informative)
Any code you write is owned (copyrighted) by you. You have the right to release it under the GPL, or any other license, or any combination thereof. (QT and MySQL, for example, are both released under both GPL and proprietary licenses.)
Any code you did not write, but rather received from a GPL'd product, is not owned (copyrighted) by you. It is the owner of the original author (unless there was a legal transfer of copyright), and you only have permission to use it under the terms of the GPL (unless an additional license was offered).
Because of the contract you signed, YOUR code can be used by your employer in any way they see fit. This includes bundling it with commercial non-GPL'd products. However, your employer does NOT have any rights to use the borrowed code. If your employer wants to use that in any way, they will need permission of the original authors or to release the finished product under the terms of the GPL.
In other words, you need to identify for your employer which code is legally theirs and which is not. Their legal team should understand that, very simply, you (and therefore they) are not copyright owners of every line of code. They will need to recreate - from scratch - those portions for which you/they are not copyright owners.
Regarding the patent, if they are trying to patent a portion of the borrowed code (not your code), then there is obviously prior art, and you should inform them as such.
That's not "redistribution" (Score:3, Informative)
Is making and using multiple copies within one organization or company "distribution"? [fsf.org]
The manger is the employer's agent. (Score:5, Informative)
Daimou has indicated that the manager led him to understand the code would remain his, providing such consent, so do emphasize: "...in WRITING."
Re:At least four legal issues here. (Score:3, Informative)
Note that there's a caveat on the first issue if the author lives/works in California. A chunk of the California Labor Code (sections 2870-2872) spell out the limits of what of an employee's IP a company can claim ownership of in an IP agreement (basically anything done while actually on company time, or that relates directly to what you're paid to do while you're actually employed by them). Any attempt to exceed those limits is illegal and to the extent an agreement purports to exceed those limits it's null and void.
Any California employer is supposed to include a copy of those sections along with any IP agreement. I make a point, when I sign such an agreement, of adding language to the effect of "subject to California Labor Code sections 2870-2872" above my signature if it's not already there.
Re:GPL holders own the code (Score:1, Informative)
Re:Good thing BSD is not dying (Score:2, Informative)
However, based on your company's policy, they evidently understand the GPL, and mandate only BSD because they prefer to be able to copyright or patent all their code. So you'll never have one of your coworkers complaining on