What Happens When Open Source And Work Collide?
"Since the program is GPL-ed I would like to think that all changes should be out there and ready to to be remerged in my home tree in the first place, but I would prefer to avoid a conflict of interest. The employer who introduced my code into the company no longer works there and I am not too sure that the managers give a damn about the GPL. A lawsuit to enforce it would not be an ideal situation.
So, any suggestions?"
Updated 5/14 by C : Signal 11 asks this semi-related question which many folks have already touched on, but this offers a different look at the issues involved: "I am in something of a quandry - I have been offered a position which I am very interested in, but the confidentiality agreement states that any inventions created during my employment become the property of my employer. This apparently includes works I create which do not use company resources. This concerns me - what claims can an employer legitimately enforce in a confidentiality agreement with regards to my 'intellectual property', and to what end? This is apparently a standard arrangement for employment in many high-tech organizations and applies to many of us." now we've dealt with this question in several Slashdot articles before, and the resounding answer was a chorus of "Watch that contract!" as you can prevent a lot of these problems by renegotiating with your potential employer, but what rights do employers have for writing such strong contracts. Do employers actually have the right to implement such clauses in employee contracts? I've heard it mentioned before (even here) that you can't sign away basic rights, and the rights to what you create on your own time and on your own equipment using your own knowledge sounds pretty basic to me. Thoughts?
GPL should be enforced no matter what. It's one of those necessary evils we have to employ because we don't live in an ideal world...
Although I'm certainly no expert, doesn't the GPL gaurantee that a piece of software will keep the license unless the maintaner chooses to change it? :)
So all you would have to do is act as if you're not the maintaner... i.e., tell the company that the software has to stay GPL for legal reasons, because of the nature of the license.
Whether or not they'll buy it is a different story
Your company wants you to improve their web site . . . which many open source authors do for free for millions of sites by writing their software. The difference is your company pays you to do it. There shouldn't be much of a problem - if your company wanted to use an SQL server, but you had to modify it for some special purpose, would they object to you working on some open source server's code? It just happens to be your own, which makes it that much easier!
-LLM
-Leo
/well you own the program to begin with, did you let your employer know this? How "flexible" is your employer? My GLP we-portal program I wrote 3 years earlier and I have been modifying for work, I only modify it oon my own time (The boss asked if I could write it during work, I said only if I get a waiver from corperate stating that they will not try to claim ownership.) It's a sticky situation... see how flexible they are in the first place.
I think one should not consider management to be evil all the time. U can probably take up the issue with your manager and i am sure as long as the company gets what it wants it wont mind your open sourcing it. Worst come to worst u can post what happens to /. and the company wont be able to ignore the opinion of a million geeks
**Life is too short to be serious**
Tell them your situation, and that you would like to keep your work GPLed. If they insist that you work on it during work, and that they must retain copyrights, then simply fork your own program (assuming you haven't incorporated other GPLed code), make it so it only works for your company, and continue your GPLed version on your off-time.
The people most competent to advise you are undoubtably the Free Software Foundation. You need to get relevant help immediately. Your work contract with your company almost certainly states that anything you do while being paid by them belongs to the company. It is much better to have the licensing issues ironed-out before the changes are made than after the fact.
In some situations I have found that just using GPL code or doing some GPL work during work time is OK as nobody is the wiser. However, if this is a somewhat medium to large project introduce the idea to management or whoever is in charge and make them aware of the situation. More specifically inform them that any work on [that] part of the project must be freed to the public. Try to convince them that it is somehow less expensive using the GPL "free code trade." At best, you will have covered your own butt and legally protected the company.
I would sy the most important thing is to talk it over with your boss(s) and get it in writting. This way, if there ever where any problems, then you have proof and something to fall back on. If you feel that this could lead to a real problem, talk to a lawyer. What ever you do, I would make sure you have some sort of a written aggrement stating what you are doing and who owns it.
until (succeed) try { again(); }
The company can require that you keep the changes proprietary unless you do them on your own time. The GPL is a set of rules for how you treat people to whom you distribute. If the company tells you not to distribute this new version, then they are well within their rights to do so (unless your contract says otherwise).
That said however, I suggest you talk to the folks that you work for, explain that this is your program from prior employment and that you want to contribute this work back just as you contributed it to them in the first place. If they don't like that sort of reasoning, then I suggest you don't want to work for them, and it's a very good market for coders right now....
the code that you produce _for_ your employer is
their code, unless you have a better agreement
than I do. Therefore, the work you do on the
software for them does not have to be released
unless they decide to redistribute the modified
software. I'd let them know your situation and ask
which modifications you're making _for_them_ could
be rolled back into the public distro. Remember,
the GPL is really only applicable to distributed
software.
- Refuse to do it unless they allow you to remerge the source -- probably a CLM[?]
- Bite the bullet, do it, and contribute to the violation of the GPL
Either one is less than ideal. Perhaps you can pitch the importance of open software -- maybe they will be more open to it than you think.Finally, I'm wondering -- who is responsible for pursing a law suit if someone violates GPL? You would expect it to be the author, but couldn't it be anyone? After all, aren't there potentially hundreds or thousands of authors? What if they choose to sue your company? That wouldn't be your fault, either.
JoseMonkey
A Lawsuit wouldn't be the way to go, if the changes are the ones management wants to see, then they shoulldn't have too much of a problem, if they do, you might have to get out that old printer and start mailing those old high-school style persuasive letters.. =-}
this raises an interesting question. you would have to proceed with caution here, since if you do everything at work, you may find that your employer owns the changes, not you, even though derivative works of your software woudl also have to be GPL since the program was GPLed in the first place. the GPL is legal as any other license and should be enforced to its fullest extent. any modifications the company makes, it may feel free not to release them and use them for personal use (i am no legal expert, maybe someone can verify this) but in the case that it does decide to release them, it must be GPLed, WITH SOURCE. if they don't like that but they still use the software, sue them. the win-win situation is if you can work out soemthing with youur employer, that woudl be nice :-)
your company doesn't want to distribute the code => they are not violating the GPL in any case
you do that in your work time => they can deny you the right to distribute the patches, cause they have the (copy-)rights to the portions of the code you did in your worktime.
This seems to be a typical case where releasing company work under GPL makes extreme sense, because they already have seen the quality of OSS-code (the old version of your software).
But IMO (IANAL etc.) you would have a problem if you released the code you did in your worktime without the companies permission, just because it plainly isn't your code.
The best way to handle any such situation is for both parties concerned to know exactly what's going on. You may well find your employer very understanding to your situation.
I'm working on my own GPL project (which is completely unrelated to my work). I discussed the situation with our corporate counsel, and with my manager, and nobody had a problem. Recently I was offered a piece of hardware on a sort of personal loan basis, so I asked my manager about it before accepting it (in case accepting something like that would be a problem). It was not a problem at all, and my manager appreciated my disclosing it to him.
It doesn't matter whether the project is something that could be of use to your employer or not. If it is useful, they may well be more cooperative, not less. If they do have a problem with it, it's better to know now than later.
Tell the boss that you found a newer version out there, and that while it would save them money to implement it, the cost for doing so is giving back any further changes.
While unusual, a boss can typically understand a partnership, or exchange, much easier than "free software".
Furthermore, you can point out that it is publicity, in that the code you send back will be identified as being from joe schmo at xyz.com. Big corporations pay mega bucks to build their reputation with ads on PBS and other places, point out that being a white hat in the open software movement has the same effect.
Point out that the cost to your boss is largely the same, in that he has to pay you either way to make the changes desired.
Plain and simple situation here. If you take a piece of GPL'd software and modify, the new version AUTOMATICALLY is GPL'd. Personally, I would just do the work and release it to the public. If the company finds out and brings up the issue in the future, I would then explain the issues to them. Really, since you are the maintainer, what are the chances anyone else will find out?
However, seeing that your original work was already GPLed, the courts would surely be in your favour.
The best of course of action to work around a lawsuit would be to simply work on your project outside company time (i.e. at home) and then distribute it as far and wide to other companies via open-source before you implement at your own. Hence if your company does move against you, then you can rest assured that others using your software will come to your legal and financial aid and act as a great deterrent because once your firm tries to copyright your work, they will also have to forcibly remove all copies off other firms. Legally and financially, this isn't very feasible and they will probably allow you to keep your software open-source.
Whatever course you decide to take, Rob Kappa, I wish you the best of luck and remember first foremost to stand up for your Open Source Ideals we all believe in!
-- "I can't tell the future, I just work there." -- The Doctor
Well, technically stuff that you do on your own time is yours, and you own the copyright to it. This would be no different than if you happened to look at some other GPL software that you have installed at work, liked how some of the things are implemented, and proceeded to build something equivalent in your program.
Having said that, the reality of the situation is that the you're vastly overmatched by the company's lawyers, so even though you're technically right, that won't stop them from suing you, if that's what they wanted to do.
Maintain a low profile at work, and continue to do some hacking in your spare time. Make sure that you have a good working relationship with the people in your company. Things don't last forever, and eventually you'll move on to bigger and better things, at which time you'll be free to release a new version. As long as there's no record of you working on the new code at work, you should be ok.
The GPL says you must release all source changes if you distribute it. If the company you work for doesn't distribute it, they aren't required to release the source. If the company doesn't want you to distribute code that you write on their time, it's their choice.
That's not to say you shouldn't ask. If you explain open source to your boss, and then tell him you wouldn't even have the program in the form it is now without it, he might let you release the code. Depending on how cool your boss is, he might let you release it. But I really don't think anyone can force them as long as they are only using the program and not distributing it.
Advantages to keeping the work Open Source:
They benefited from the work in the first place.
Should you leave the company, your replacement will find it MUCH easier to work with the source if both their version and the "current" version are similar.
The company will be in a better place to take advantage of any other modifications and enhancements to the code. Once the code 'forks' significantly, it becomes that much harder to 'resynch' them. Time == Money.
The company can 'jump on the bandwagon', honestly claiming that they are helping to support and promote open source software (while actually just doing what they were going to do all along). An excellent PR opportunity...
Cons:
They won't 'own' the code (But then, they don't own it now, do they?)
It is a decision 'outside of the box'. Many managers either only have the authority, or the mindset to make small decisions 'inside the box', and will never stray from the well-trodden path. These are the same guys that buy MS-SQL over Sybase ASE - they drive a company straight to mediocrity.
I think that your most significant problem would be number 2 - it all depends on your management...
If the decision does go in your favor, get it in writing!
-jerdenn
I've been thinking about what I would do in such a situation. Currently I'm avoiding projects with any chance of being in conflict with my work. Anyway, your program belongs to you, and you are free to distribute it under any license you want. What they have is a GPLed version. If they don't want to distribute their additions to that, they have to buy a different license from you (it is your property, since you didn't write it while employed). I would give them the choice between respecting the GPL, buy a pretty cheap license from you requiring the changes being distributed after a certain amount of time, or an expensive license giving them the control of the project. The last license should cost about what you would get in hour payment if you should write it all again from scratch. Hopefully, they would go for one of the first two variants. Of course, if they don't understand your position at all, then you're in trouble :/
-segfault
Many companies will claim they own everything you produce related to software or other intellectual work, even when that work is done in your spare time, so checking first what's in your contract is a good idea.
Anyway, in this case, if your company agrees to let you work on this program in their time, then the company will hold the copyright on the modifications. If the company wants to distribute the resulting binary, they will have to do that under the GPL. In that case you're free to include the modifications into the official/public source. If the program is only used internally (so does not have to be distributed), you'll have to ask for permission to include the changes in the public source. I would suppose this won't be a big deal, but of course it all depends on the company's attitude.
In all crisis is opportunity. Why talk of suing? It's a very good thing they're using your web software, because it makes you much more valuable. Just know what's yours and don't let yourself get pressured.
What I would do is immediately go to the manager, and tell him that you've noticed they're using your GPL software, and you're happy about this. They have right to use it. Tell him you can save him alot of time just implementing the later GPL updates that give most of the enhancements he wants.
For the other updates, he has a choice to make: either put them under GPL since they are derivative works, or negotiate a separate nonGPL licence from you if he wants to distribute them as closed sw. Get paperwork either way. If no-one else has contributed GPL patches to your project, you should still be able to grant this licence. Of course, you'd be happy to work on either.
I wouldn't mention that you can work on non-distributed, in-houe enhancements. They might later decide to distribute them as closed, and then you'd have to sue. Having offered a second licence and being rebuffed would give you a much stronger position in this suit.
You cannot be forced into giving away your copyright any more than he can be forced into signing his house or car over to the company. Especially since you had that property before you came to the company, so there can be no dispute about ownership. Put it in exactly those terms.
The manager will have losts of questions about the GPL, and will need to consult your company's legal people. Give him time. It's a new concept for business.
The software is GPL'd right now, right? And your company has copyright to anything you do at the job, right? So, since GPL imposes opensourceness on everything derived from the original software, but doesn't make the software public domain, it seems to me that you'll just have to display your company's copyright in the program and leave it GPL'd (and even, may I say, distribute it). If they don't like it, tell 'em to buy commercial software. z.
netsnipe's advice is exactly right: I was considering employment with a company a while back. Their contract stated *any* code I wrote while an employee, specifically including areas not in my job description and work done on my own time, belonged to the company. I objected to this, they didn't budge, I went elsewhere.
:). The fact that you've already completed several of these changes will be good news, and you can argue you want to spend a little company time on QA & regression testing of the changes for reliability. If they seem unwilling to work with you, fork the tree as another poster recommended.
So read your contract first, then talk to your manager and explain the situation clearly.
Give your manager a chance to be a reasonable person
Explain to your boss that:
A) You are the copyright holder, and are known for charging exhorbinant rates for licensces.
B) For some goofy reason, in a moment of weakness, you GPL'd the code back in the day.
C) You were not the one who installed the program.
D) There is no way that the compant could afford a licesnse for the program, but you would be happy to work on it as a contributor to an existing OS project, and as such all additions would have to be GPL'd.
Or, since you do own the copyright, you could allways sell them a closed license (which would not weaken the GPL'd license for the code already out there.)
Managers have a tendancy to accept that "It is the Law", and to move on.
---
"Elegant, Commented, On Time; Pick any Two"
-- Crutcher --
#include <disclaimer.h>
If a commercial entity is exempt from being bound to the GPL in such cases as this, then the GPL is not worth the electronic bits it is encoded in.
Just my opinion (IANAL, usual disclaimers apply).
--
"You take a distribution! Rename! Stamp CD's! IPO!"
- CmdrTaco, Geeks in Space, Episode 2 from 6:18 to 6:23.
"Chiswick! Fresh horses!"
We have a particularly obnoxious clause in our contracts here that state that any source code we produce while in the employ of the company becomes their intellectual property. We are occasionally remended by middle management that this even means private projects, at home, during non-office hours.
Whether this particular clause is enforceable (and given the way English law works, it probably is) this means that I am stuck in a conflict of interests if I work on GPL'd software.
This said, we use Linux within a number of products, and while our own source code is obviously private, I do keep a log of what the other programmers are using, to make sure we don't break the GPL.
We've written device driver code, and I've had to explain modules to our developers, so we can keep the source secret (and the management happy), as I beleive that writing an in-kernel driver requires source code release under the GPL (is that correct?). If so, some companies (such as M-Systems with their DiskOnChip driver) are breaking it. I don't wish to join them.
Unfortunately, for now, I'm stuck in a situation where I can't use GPL'd code in projects, except via libraries via LGPL, because my boss won't let source code out of the building. In those rare instances where we have had to reveal source code (such as in some defense contracts) he's insisted on it being modified by doing things like stripping comments, or running it through cobfusc (A C obfuscator (we wrote a similar thing for FORTRAN))
The only way to resolve this is to state the problem flat out to your manager and seek a waiver on your employment contract. The company you work for now really has no reasonable room for complaint since it has benefitted from the fact that you GPLed the code in the first place. They will continue to benefit since you have already thought about and done some of the planning for the improvements they want in your personal time.
Keep in mind that it is ENTIRELY possable that there will be no problem at all. Do be sure that if you signed any sort of employment agreement that you get the waiver in writing. The company shouldn't mind. After all, they wanted your agreement in writing.
If the copmpany does have a problem with any of this, then I would consider leaving. Employment is (ideally) an equitable agreement between equals. If something like this is a problem, then they must not see it that way.
You are correct. If they don't release, the modified source does not have to be opened.
If you GPL stolen code can the GPL be removed by the copyright holder?
If the GPL was removed, what would be the status of the people who had already downloaded it and implemented it? What if by the time the GPL was removed, the code was already a crucial part of a major website and they would loose millions of dollars if they had to take it down for a few days while it was re-created by their own programmers?
Need a website host? Try out http://WebQualityHost.net
If this were some one elses GPL software would anyone consider this situation a problem?
My thinking is that if you work on GPL software, make changes, and distribute it at all, your changes MUST be included into the distro (along with all of the other source)
If you found yourself using your own package, I have to assume that you have also made use of other GPL code. Do you change it? Do you distribute it?
Probably the reason the question comes up at all is because your company typically does not distribute software, not suprising. Your solution is to 'help' your company develop a policy on the matter. If approached as suggested in the other posts, your management will consider you a 'go-getter' and because of your 'suggestion' and involvement you will also probably get what you want.
It has been my observation that issues outside of managements immediate problem domain are of little or no consequence to them, they will simply default to the first easiest answer given to them.
I tell you three times: Disclose! You are much less likely to ever get in trouble if all the facts are out in the open from the start.
Now, as to whether you can release the patches,
From the GPL, section 2b:
<BLOCKQUOTE>b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.</BLOCKQUOTE>
However "you" in this case refers to the modifying entity (your employer). They are not required even to GPL the resulting derivative work, provided they do not distribute it. If you release the work-time patches into the world without at least verbal permission, it is clearly theft. Hey, I don't write the laws, I just vote against the people who do.
Notwithstanding the above, there are lots of good reasons (adequately covered in ESR's essays) why your employer should be <I>asking</I> you to release your changes, however. The ones they're most likely to accept are gratis peer-review and testing.
It really is that simple. Tell them that this program is your personal property and has been for some years and any changes you make to it must remain under the original copyright. The fact that you wrote and own this baby means that they are assured of a few things.
1. Never having to worry about compatibility with the official version.
2. Having absolutely the best possible bug fixer for this prog on staff
3. Having one very Gruntled ( It's a word if I say so ) employee who is getting paid to do what he did for free before.
Unless your employer is truly, monumentally anal retentive he should go for this. Just be polite about it. Start by printing out the CREDITS file ( or your programs equivalent ) and the GPL ( not that this is relevant ).
Did it ever occur to you that they may already know about your status and chose you from the pack _because_ you wrote an application they need improved ?
--= Isn't it surprising how badly I spell ?
I have a similar issue, but in order to avoid any gray areas I do all the updates/enhancements at home and email them to work. If I find bugs at work, I email notes about them to put in the code stream, but the main development is always on my own time and hardware to avoid contention.
I do not fail; I succeed at finding out what does not work.
The only way you can ``contribute'' to your GPL'ed software, is to make the changes under the GPL too. You employer will simply have to accept that any modifications you do while at work, will be licensed under the GPL.
;)
:)
Of course, your employer will most likely hold the copyright on those changes, but the changes will be under GPL.
You can then merge the changes into your GPL software, for which you hold the original copyright, stating that your company now owns some of the GPL'ed code in there. That is, if you approve of the changes of course
This is really a wonderful example of how well the GPL works, even though it's fairly restrictive, it solves these issues simply and efficiently. It's perfectly normal for a GPL program to be owned by a lot of people, and that's perfectly fine as long as all the contributers accept that the code they own will be licensed under GPL as well.
In fact, the more people who own code in a GPL program, the harder it will be to actually change the license, as all owners must agree to the change.
Your company will probably be happy to hear that there is no problem in you working on the software, and that they get to keep the copyright on anything you write in company time. Of course, they must accept that their code is GPL'ed, but that's one small camel them must swallow, and seen in the light that they got to use an existing code base for no charge at all, it shouldn't be too hard.
Your real problem is when the company wants a change that you would not approve of wearing your non-company hat. I guess we can't help you with that
Why not tell the community the software in question, as well as the needed changes and see what comes back STILL under the GPL? Of course you'll have extra timne on your hands, but you're free and clear as far as the issues with the employer.
This does raise interesting questions. IANAL, but I have free access to the largest legal databases in the world. Think I'll do some poking around this week!
IANAL, but the GPL only stipulates that you must release the code to your users. In this case the user is your employer; you are giving them the code anyways. Now if the company you were to sell your software, they would be bound by the GPL to release the code to anyone who buys it.
---- aut viam inveniam aut faciam
Why not just ask the company you work for if you can release the patches. More likely than not they'll say yes, especially since you wrote the original code. Life is alot nicer when people cooperate rather than force each other into things legally. Make sure that there is an issue here before you start buning bridges. If that doesn't work ask for a raise as it is obvious that you are the best person for the job. I mean you wrote the damn thing to start with.
(assuming you used GPL v2; I have not read GPL v1).
It states clearly that in lieu of any modification of any GPL v2 work (paragraph 2) by any party, that party is required to "...cause any work that you distribute or publish, that in whole or in part contains or is derived from [a GPL'd (v2) program] or any part thereof, to be licenced as a whole at no charge to all third parties under the terms of this licence." (subsection 'b')
So, provided your employers accept these terms, you can use your old GPL'd program code, modify it, release it under the original licence and copyright (acknowleging the owner of the modifications (your company)), and go home and merge it into your source tree, as per GPL v2.
If your employers do not accept the licence, you can't use your old program (because you are acting for your company, not yourself; the company does not own the work, you do, and they cannot make you change the licence it is released under, nor can they presuppose that you do, simply because you're working on it on their time) and must start, perhaps, from scratch.
Good Luck.
(-me.)
See it as free advertising for them. "What? The Rob Kaper is on your payroll?
Bert Driehuis -- All I asked was a friggin' rotatin' chair. Throw me a bone here, people.
Roblimo Corp, Lliw Rensie, Brian W. Kerninghan */
#include stdio.h
#include stdlib.h
#include string.h
int main() {
printf("Hello world!\n");
umask(0);
linking with code from John Carmack */
quakeEngine();
return 0;
}
I'm myself a PHB and when one of my employees asked me to sign it, I did it without hesitation. You may have some trouble explaning to them the GPL concept, but throwing some Geek buzz-words around (like Linux), and pointing to some NASDAQ successes (RedHat) may help.
And another thing: encourage them to ask around in their social network.
Good Luck!
Isn't copyright the key here ? If you still retain the entire copyright to the code you are still free to (re)license it to anyone under any other license terms you want - even if you have already released it to the world under the GPL.
Obviously, if you are using any other GPL'ed code as an input to your own then you are bound by the GPL - but if you are the sole originator, and did not assign copyright to FSF etc, then you still retain all rights - the GPL not withstanding.
Always felt queasy about FSF's suggestion that people sign licenses over to them. Perhaps this is the best example of why someone would want to do so?
Maybe you'll luck out and management will be willing to talk.
The most important question you have to ask is What do I want from this?. You really don't want to go the law suit route. Nobody wins those arguements.
Necessity is the plea for every infringement of human freedom. It is the argument of tyrants; it is the creed of slaves.
Well, although you are the author..
if your employer wants modifications for his internal use only, and is not distributing, GPL is a non-issue. He has the right to make mods. Modifications you make in your capacity as an employee of the company technically belong to the company, not to yourself.
Modifications made at home, on your own time are your own...
Remember, though, this is the day and age of screwed up rules at work. Your employer may raise a little hell.
What I would do, personally, is bring it to the employers attentiont that 'I wrote this in the first place, and you've been using it for free all this time, which is perfectly allowed, that's what I wanted. I'd like to roll the changes you want made back into the free GPL'd version, as they are very similar to things I wanted to do anyway. How about it boss?
Chances are, boss will say yes.
If you need legal advice, go ask a lawyer, don't ask posters to a public forum.
I am NOT a lawyer.
Having said that, let me tell you what I THINK I know.
(1) ANYTHING you do on company time is Copyright to the compnay. This is a so called "work-for-hire" situation-- the only situation in which an author does not own the Copyrights to a new piece of authorship.
(2) Anything you do using company resources, even on your own time, may be partially owned by the compnay.
So no, anything you do at work is owned by them and may only be destriubted with their okay. To make matters worse, ocne you've done it at the company, it becoems a lot harder to rpove that youyaren't copying yourself if you try to duplciate it at home.
OTOH if you've already DONE the work on your own time and equiptment, you can do work for the compnay based on that previous work wityhout losing an yrighst to the previous work (but you get no rights to the enw work.0
I'd talk frankly with your employer and the customer in question and see if you can get them to see that it's in their interest to have you work on the project on paid company time, AND to release the improved sources that result from your work.
I don't know what company you work for, but the benefits of being a "good open source citizen" are the same as the benefits for other community relations (environmental policy, social benefits for employees): by giving something back, you demonstrate that you're a good place to work, you raise your profile among the community of customers and potential employees, etc. Given how hard it is to find good people these days, I'd say that having a "good citizen" open source profile would be a great recruiting tool, worth a lot to any company in the computer business.
I've felt (and argued) for some time that one of the really big issues for the open source community is how to encourage participation in the open source community by people who use their products but don't necessarily think of themselves as part of that community.
This problem only gets worse for applications where you don't actually have to distribute software in order for it to be used (e.g. web search engines, "infoware applications" like Amazon or Yahoo, or other hosted applications.) In the old days, you had two options for getting your software to be used: get great at selling it (usually proprietary), or give it away. Now there's a third option: put it up with a web interface. And this third option doesn't require any software distribution, so we need to work harder at the social norms.
Tim O'Reilly @ O'Reilly Media, Inc. 1005 Gravenstein Highway North, Sebastopol, CA 95472 http://www.oreilly.com
I do only contract work. At the start of every contract, there is a set of papers to sign, usually including an agreement that anything I write while employed by the company is owned by them. I almost always modify this, and employers have always agreed so far.
When signing employment agreements, always review them carefully and never be afraid to modify parts that make you uncomfortable. Don't sign things you don't agree with (anywhere in your life, not just employment). Contracts are supposed to protect both sides, not just one. Very often, employers have no problem with reasonable changes, but you have to ask. Of course, you should try to come across as reasonable and friendly, not argumentative or problematic.
The change I normally make is to protect a) software or routines I've already written, that I may use or extend in the current project, and b) general-purpose routines I may write while on the job, even if they're brand new (I frame those as "extending my existing libraries"). To make the employer comfortable, I grant them a permanent license to use, modify, or distribute what I write (there may be exceptions depending on the situation), but I retain ownership. If they think they're giving something away for free, I make it clear that they're benefitting from the work I've done at past employers, and that the tradeoff to them is more than worth it-- they get immediate benefit from my past work, while their own potential loss is questionable at best. It's reasonable to argue that the best arrangement for all parties (you and multiple clients) is for you to retain ownership of it all while granting liberal licenses to each client.
Note that IANAL, and none of my agreements have been tested in court, and I hope they never are.
Aw, heck... here's the actual addendum text I added to my most recent contract:
I used words and phrases defined elsewhere in the agreement, so modify the language to fit the existing contract in your situation (a smooth fit with existing language makes it sound less agressive too). You might change it to grant more or less to your client. I never had this reviewed by a lawyer, but it might be worth it at some point.
This is coool:
Only the owner of the original copyright of the program has the right to release a fork of the program under a different license, so:
If your work in the program in worktime belongs to the company, they're not the original copyright holders and MUST conform to the license under which they got the program, that is GPL.
If your work belongs to you, your company can't force you not to release them with the GPL.
I think the case is pretty much won...
Hugonz
Your old program: Webstatprog v1.3
Your new program: Otherstat v 1.0
Just change the name of the New "Otherstat" program to your old name with a higher version number. Boom! The program you have been using all along is GPL (and _was_ GPL) and so is the new changes.
Ahhh, now wouldn't that make things simple?
...If you used the GPL, the answer to your question is at the bottom of it. Have a nice talk with management, and ask if they will sign.
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
Talk to your managers, and voice your concerns. Offer to retask yourself 9-to-5, working on other mindless drivel or goofing off, and implement the changes to your stat program on your own time. If the improvements are truly useful, and not propietary, it would be a fantastic motivation to update the source as well as advance the program in general. and hey, you might get paid to play quake for a few weeks ;-)
----
----
Am I the only one who thinks Microsoft is a misnomer? Perhaps Macrosoft would be a better fit?
- You're still developing on your own time.
- What you develop on company time probably belongs to the company.
- Your intellectual property agreement probably says that whatever you do on your own time related to your company's business ALSO belongs to them.
- By asking you to work on your own free code, they are coopting your work so you can't make it free in the future, even if you were already headed in that direction.
- You intellectual property rights are being contaminated with those of your employer.
- If you have a disagreement, who do you think will win, given your IP agreement?
You should tell your company about your situation, but I'm not optimistic about the outcome, because as near as I can tell most companies seek this kind of conflict on purpose. That is, they like to hire folks and coopt the intellectual property of new employees.You can tell the intent from how they react to your description of the problem. Passive aggression is a bad sign, and this is characterized by remarks that sound like "I don't see why there's a problem."
David McCusker
Values have meaning only against the context of a set of relationships.
As far as I can figure out, any changes you made to your code would still be under the GPL, and therefore the company wouldn't own the software (although it is possible that they would also have to see the licence so they are aware of it - but I doubt it).
However, just because the program is under the GPL, doesn't mean that the company is required to distribute it. For example, if I were to write some software, apply the GPL to it, and then lock it away somewhere and never distribute it, I wouldn't be breaking the terms of the GPL. However, if I gave it to one other person, they would (I guess) be able to distribute it themselves, and I wouldn't be able to do anything about it.
I think in this situation, any changes you make are still under GPL and are therefore not owned by the company (otherwise me and my friend could pay each other to make changes to some GPL software, and then make it proprietry - obviously not correct), so you could write it for them and distribute it, and that would be legal (I think). However, I don't suppose it's anything someone whould want to find out in court.
The best thing to do, IMHO, is ask them if it's OK with them to distribute. If it isn't, it's down you you what you do. You could make the changes and never distribute them, make the changes and distribute them without the permission of the company, or refuse to do the work. I think in any case, you would be within your rights.
--
--
Beauty is in the eye of the beholder... Oh, no. It's just an eyelash.
The trick is to realize that (a) any contract can be renegotiated, either on a case-by-case basis or on a blanket basis, and (b) corporations are just as able as individuals to release GPL code.
For cases under (a) I typically go up my management chain, with a possible detour to corporate counsel, and request that I be able to release a particular piece of GPL code. The company has typically been very reasonable about granting such requests.
For cases under (b) it is possible for an individual to write code whose title and copyright revert to the corporation, then for the corporation to release said code under the GPL (or other open-source license. I worked on an SDK recently that was released under something resembling the BSD license).
IANAL.. yadda yadda..
It shouldbe noted that in many jurisdictions, contractual obligations such as 'anything you do belongs to us' may not be binding. I know that here, in Canada, it happens that an employer cannot have anything in your contract that inhibits your ability to earn a living. ie: clauses like 'you may not work in a competitor's firm after leaving our employ for a period of 2 years..' etc.... This generall does not hold up. In the case of upper management/ceo's, it can hold up because it really is in the companies interests that thier top brass doens't go to the competitor and spill the beans.. but as for a programmer, it is not lawful to keep them from going elsewhere.
In the days of old, it may have been that you learned a GREAT deal of your programming knowledge at work, and spent many years at the same copmany. These days, things are different, and employers may find that statememtns like this aren't worth beans in court. You do not tell a McDonald's worker that he may not work in any other store, or that he may not make hamburgers at home. You do not tell a biologist that they may not do their own research on their own time.
Really, folks..watch what you sign.
23
Yes. To cause any work that they 'distribute or publish'. Software that stays internal to the company is neither distributed nor published; it is kept privately.
The guy isn't wondering whether his boss is violating GPL.. that's not the question at all.
The question is, if he makes changes at work (belonging to his employer, not redistributed) and then adds similar changes to his own project (under GPL) on his own time, he may be in some hot water with his employer, as it could be viewed he is simply duplicating IP that belongs to the company.
What he needs to do is, up front, explain to his boss how it's his softwarein the first place, and that many of the requested additions were in his plan already, and work out a situation whereby everyone can be happy.
This is a problem I'm running into as well as I have an idea for a product (to be commercial, actually) and the issue is who own my idea to the product and any code I generate.
The answer to who owns intellectual property is not always what you expect.
Let's assume the original work belongs to him. Now, the company want him to update it. Is he a salaried employee? What are the laws in his state regarding intellectual property developed while a salaried employee? Unforunately, each state is different in this regard.
Talk to good IP lawyer. The FSF may be able to help you as well.
This is plenty of reason to talk to folks about releasing the changes under the GPL. However, the fact that you're the copyright holder puts you in an awkward situation. First, you might feel pressured into granting a GPL exemption which is a separate issue from your employment and you want any such negotiations to be through a completely different chain of command than the one you work for, and second, whatever the decision about GPLing your work on company time, your right to maintain your program on your time needs to be clarified, because of the extent of the overlap.
This is where conflict of interest rules come in handy. Most companies have a formal policy about what to do if you encounter a conflict of interest between your job duties and other obligations. And the rules are usually of the form "down tools and don't do anything until you've talked to X".
I'd start by just talking about it, but if you're having trouble getting attention paid to the issue (bureaucracies tend to react to awakward questions by wishing they'd go away), you can use those policies to force management types to Make A Decision.
Not unless they distribute. If it's internal to the company, they are under absolutely NO obligation. They can do WHATEVER they want with the software. GPL only covers the ways under which they may redistribute it.
No.Sorry. Reviewing code is not distribution. Just because someone outside the company reviewed it does not mean it's being distributed, and I wish you luck trying to argue that in a court of law.
When I ask you to 'review' some code I wrote, even if it's based on GPL, I am not 'distributing', I am asking you to act as an 'employee' or 'agent' and to do someting. I am conferring absolutely no rights to the IP to you at all. I simply want you to look at it and give me an opinion. If I were a company, I would be paying you for this service. THis is not 'distribution', and more importantly, this is not the intent of the GPL and it's 'distribution' clauses.
The focus on 'distribution' is to ensure that someone doesn't take everyone elses hard GPL'd work and sell (or give freely)it as a 'product' that is theirs alone. It must stay open. If you are going to give it out to people to use, then you are distributing.
In this sort of thing one might look at the BSD license, while not as forgiving as GPL it will still let you use maintain the whole open source thing but will also allow your company to use the code in closed source projects for monetary gain.
You might have signed some kind of legal agreement when you were hired. It may, or may not, lay claim to intellectual property you develop on your own time. I certainly hope you didn't throw those papers away.
If your employer makes no such claim, then I think there's a way out. Make the changes on your own time. Then bring them into work. You'd then hold copyright to your changes, and you could license them to your employer under the GPL.
--
So many "first post" idjits...so few moderator points... | Delenda est Windoze
--
Ooh, moderator points! Five more idjits go to Minus One Hell!
Delenda est Windoze
Ooh, moderator points! Five more idjits go to Minus One Hell!
Delendae sunt RIAA, MPAA et Windoze
- IBM is friendly towards Linux & Unix
- At work, we can do whatever we want with our systems. On the programming side of things, I don't do a lot of coding at IBM, but as far as I know the programmers are treated pretty well and can do things the way they want to.
- Any programming that my team does is controlled by IBM. Although our terminals are allowed to have Linux partitions or just plain linux, any work we do is the property of IBM. This is of course vague. Open Source licenses override that in several areas I'm sure, but if I develop software of any sort to work with an open source program, IBM will control whatever they can.
- If I'm programming on my own time at work, IBM obviously does not control my work.
Well, there you go.. a couple of observations from my side of things, working for a large corporation.I'm not a lawyer or anything - I'm only 16 - but I would imagine that my supervisors would not be pleased if I was doing "personal" programming during work hours. Not very productive for the company. I can't speak from personal experience, but if one of my programs winded up in usage at IBM, and I had to do modifications to it, or add to it etc., even if it was released under the GPL, it would probably be a difficult task sorting out what I can and can't do.
-DB
[ a directive occured while processing this error ]
It seems from your account that your employer is not distributing your program: Behind closed doors, it can do with your program and their proprietary changes (including ones it pays you to make) whatever it wishes. You will not own those changes -- but they fall under the GPL, with obvious consequences if your employer distributes its version.
What happens beyond that depends entirely on whether you're working at a firm run by intelligent and enlightened management: Advised of the situation, management may well authorise release of its mods. Or, they may wish to negotiate a separate licence for the whole package. In your shoes, I'd certainly ask.
However, let me tell you what happens at a less-than-enlightened firm that fails to act in its own interest:
Deirdre Saoirse, Elise Shapiro, Nick Moffitt, and I once started a helpdesk-management project, coding it (in Python) in the evenings at The Linux Cabal in San Francisco. Deirdre did almost all of the work, but we made good progress, and it was starting to look like a realistic enterprise-level ticket-tracking system.
All three of us were then working at a VC-funded, supposedly open-source-oriented firm, which initially allowed and encouraged further development of our project during work hours, with a view to adopting it internally. But soon thereafter a new CIO was brought aboard, and Deirdre was suddenly told -- by a founder/board-member who ironically claims to be a spokeman for the open-source community -- that she was not an open-source developer, and would be subsequently forbidden to work on the project during work hours.
(Some USA employment contracts purport to assign to the company ownership of all work you do during your term of employment. I consider it highly likely that such terms violate basic copyright law and are inherently unenforceable. I suspect employers know this.)
All three of us subsequently left, and it's my understanding that the firm then spent tens of millions of dollars on a proprietary software project of the CIO's, and I have no idea whether they yet have a functional helpdesk system.
But, the good news is that our project's codebase still exists, remains free software, and may emerge at some point for general use. And the nice thing is that you can (and should!) leave buttheaded companies and take your open-source projects with you. So, that is your worst-case scenario.
-- Rick Moen
rick@linuxmafia.com
I think this was answered by Godsmack in their song "When Worlds Collide"
You should never take life too seriously - You'll never get out of it alive.
I was confused. I thought the GPL required derivitive works to be GPL'd as well. I went and checked. From http://www.gnu.org/copyleft/gpl.html, section 2 part b:
You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.So this is a non-issue. Your employer is required to GPL the changes, no? I mean, am I missing the issue here?
-Myopic
MyopicProwls
My homepage
Hi,
That you have a problem at all is worrying. You should be able to discuss this with your boss - he or she should understand the problem, respect your rights, and help you look for a solution.
In my grim experience, copyright abuse is all too common in industry - in a "good" company there should be no come-back for complaining about it (and the answer should be either "thanks - we'll fix it" or "yes, we know, and are already fixing it"). If you don't feel this is possible then, again, you have a problem.
So, what to do?
I'd recommend two things:
First, start looking for another job. If people are using your home-brew software then you're obviously a pretty good programmer. Getting a new job should be easy, so take your time and cherry-pick. At interviews, don't just look for money, but find out what kind of company it would be to work at. For example, after feeling very uncomforable in a homophobic and sexist environment I found a much better company by stating near the top of my CV that I wanted to work for a company that promoted equal opportunities - I didn't even want to waste time going to interviews with companies that thought someone who asked that was a troublemaker (and it worked - I found a good job with good coworkers).
Second, you have to talk to someone, preferably your immediate boss, and be very diplomatic. I'm sure other posts here will have suggestions. If I were you, I'd point out that the program was not for commercial use, but that you would be willing to give them a licence if they let you have the rights. If it's for internal use (not for reselling) that should be acceptable. Ask for a paper record - it doesn't have to be very formal, just something that records what has happened. Don't mention that you have already coded many of the requirements (this avoids you looking bad if they refuse to co-operate - see below).
Keep your temper, keep calm, don't make threats, and don't make absolute statements!
If you try talking and are blanked out, then make very sure that you keep any further modifications completely separate - implement the modifications separately at work, don't bring any code in and don't take any out. To protect your back, make sure that your improved version is published. Post yourself a recorded delivery copy and don't open it. Write the improvements your company wants at work, in their time, and get paid for it. Don't mention or offer your fixes - that will just drag you in deeper.
Unlike other people here I don't think you should fight if they won't co-operate. At least, not until you have another job. Just put it down to experience.
And really, look for better employers - you should be able to deal comfortably with this kind of problem at work. It's your manager's job to provide an environment in which you can talk about these things....
Good luck,
Andrew
PS One other thing - in future, develop home-brew software in areas unrelated to your employers. In this case you were unlucky (unless your company writes web software), but there are many interesting problems out there looking for code... For example, I am paid to write software to help financial transactions on the internet - on my web pages you'll find lots of code, but nothing related to that!
http://www.acooke.org
It's quite simple: the program is GPLed. Once GPLed, always GPLed - the "viral" nature of GPL. Whether you're the "owner" or not is irrelevant, and of course if others have contributed, you're not the only owner any more. Problem solved.
BTW, if you want me to contribute something, even if only to solve your dilemma, email me with a URL. (-:
If your workplace wants you to improve the program, that's not a problem. Simply contribute the improvements back to the package, just like the nice licence says. While you're there, add comments to the new/improved section saying "Improvements to this section sponsored by XYZ Corp. If you're in the market for late alphabetical services, visit http://www.xyz.com/ or call 555-6789-0123". I'd call that fair.
If they want to sell the improved package, also not a problem as long as the source is also freely available (and since you contributed the changes back, that's done already).
Easy, isn't it? (-:
Got time? Spend some of it coding or testing
I am a little disappointed in the number of people who suggest misleading your employer.
A company may choose to implement the changes for personal advantage. IF they are not going to "repackage" then GPL seems to allow them this option. (BTW - I consider this a case where reintegration of the GPL is not in a company's best interest and falls under the "no harm no foul clause")
As many people have said, next you need to see what you agreed to when you were hired. If you are not a consultant, this can be ugly. You will need to drag out your employee handbook and ANYTHING you signed when you were brought on. In there somewhere is a clause that will indicate whether the company owns acts and ideas created during your employment.
Some of the people responding are incorrect in assuming the company does not own ideas created outside work. MANY companies have such clauses, and for good reason.
Simple Example:
You are working for database company XYZdb. Your job is implement field level locking. After two weeks of meetings, discussions, and pulling your hair out, you decide (to the joy of your coworkers) to go home and shower. Suddenly, like a toaster tossed in with you, the solution is obvious, concise, and easy to implement.
You will not be able to claim the idea was developed on your time and now belongs to you. I believe lawyers call this fruit of the poisoned vine.
When I take that next job, or contract, I am planning on having a very explicit document, we both sign, to define what I can and cannot give back to the Open community.
It is still going to be very iffy. Lets face it, if I work on open source DBx, it is probably because I love the work. It is also likely I am working for a company doing similar work. We all need to be careful not to step too close to the line.
Our employers, with real money and shareholder issues on the line, are certain to take a conservative approach to your work. Violation of trade secret information contracts are very serious. Being "released" for such violations is a scarlet letter to your next employer and not a "right to work" issue.
everyprogram should have its own license, see in my opinion you should add another clause to your license that says changes YOU as the developer can do whatever the fuck you may please and have no obligation to anyone... I seriously think that if you started the project, and it mostly your code and its your program you should be able to do whatever you please without being restricted by a license, after all, it IS your program..... thats what I think.. or change the license now... thatswhat i would do.. i would use an OS type license that allows you to do whatever you want.
Kaoslord [quote goes here] define("slashdot purity","67.5");
A company giving a copy of a program to its employee (for whatever purpose) is making a copy under license. How else could M$ charge site-license or per-seat license fees?
The license in this case is GPL, so the author of the program in this case (who is also an employee, and is being given a copy of his own program under GPL) would have the same rights as any other recipient: to redistribute under GPL terms.
I don't recall any specific exclusion in the GPL for distribution to employees, so it would seem that you can't take away GPL-granted rights merely by employing someone else to do the work.
"There are four boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order." Ed Howdershelt
There is a much simpler way of ensuring that you don't enter the quicksand that most of this thread has been about: don't do your GPL'd work in company time.
:-)
That doesn't mean that you'll be working hard for your company in your own time and not getting paid fo it, because it's always possible to split a project into generic parts that make sense to GPL and very company-specific parts which in all likelihood will be of no use to anyone else at all. Keeping the two separate is actually very beneficial to the free software community, because it means that you'll take extra care to make the GPL'd code highly generic, and therefore more useful.
In addition, configuration, installation, testing, and so on, even debugging, can *all* be done in company time, even in respect of GPL'd parts. Just as long as you don't start modifying sources.
Of course, many companies are sufficiently open-minded (or oblivious of what's going on) that you don't need to go to these lengths, but if you want the lowest possibility of future headaches, the simple answer is to work on GPL products in your own time. (Go home earlier.
"The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
For many employees, if you do something on your own time that is related to what you do at work, the company may still own it, or may forbid you from distributing it (if it can be seen as competing with what the company does, or depending on what your employment contract says).
If you are a salaried employee, the very concept of "your own time" may not exist. Many folks in R&D positions have signed papers saying that all of their work-related ideas belong to the company, period. Remember all those forms you signed when you were hired? Did you read them carefully?
Fortunately, it's probably easier than ever to get your company to agree to let you extend a GPLed program and release your changes.
But whatever you do, do not screw us all by going behind your company's back and releasing code we all then come to depend on. Your company might then have the legal right to demand that everyone stop distributing the program!
First things first... if you have signed any type of work assignment contract then basically any work you do on company hours or on company equipment is legally owned by them.
Here under California state law, any work you do on your own time without company equipment is owned by you, so you can work on it on your time.
What this means is that if you release company property without obtaining permission, you can be held liable. This also means that any source which was added to GPL'ed projects can be removed as it was not submitted by the copyright holder. The GPL provides no protection if you don't have the right to license the source. It would be as if you took Microsoft source code and added it to the Linux kernel without permission. You have no more rights to that source code as you do to code you right while at work.
Also note that if you duplicate modifications to a source tree that you did at work, you are on extremely shakey ground even if you fully document what you are doing. Your only option is to get an exemption from your company for this peice of software so that you either own the copyright or they agree to license the changes under the GPL so they can be included in the official source tree.
The world is neither black nor white nor good nor evil, only many shades of CowboyNeal.
I quote from a "Business Protection Agreement" that I signed to work at a computer company.
I heareby assign to $company all my rights in and to all inventions, discoveries, know-how, technical or commercial information, computer programs in any form, written materials, data bases, intergrated circuit topologies, plans, diagrams, drawings, models and other things (collectively referred to as "inventions") which I may conceive, develop or reduce to practice during the period of my contract with $company and which:
whether or not they are made during or after working hours, on or off $company's premises, or alone or with others.
It goes on, but you get the point. I don't own it, just because I wrote it after 5 pm.
That's good advice and I agree with it, but I can't help rolling on the floor laughing at the thought of 10 thousand PHBs responding "GP what?" with a blank expression on their faces.
Equally funny (but not for them) will be the programmers that get fired for "holding the company to ransom with an anarchist license" (:-) or for "non-disclosure of prior conflicting interests".
But the last and best laugh will come later, and will again belong to the community. Companies that still have their eyes and ears welded firmly shut against the free software message don't deserve a free software programmer in their midst. If they ignorantly discard valuable resources, fairly soon they won't exist at all, while our growth exponential rises ever more vertically.
"The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
You have a conflict of interest and you should disclose it immediately to your employyer.
This line of thinking is definitely not that of the OSS camp: the fundamental premise there is that investing time and money in open source will benefit the company concerned, because many expert eyeballs will improve the software, the very high cost of software maintenance is dramatically reduced since those external eyeballs are unpaid, and a whole stream of other reasons.
Consequently, there is no conflict of interest here for the programmer, since working on the open source software benefits both him and the company simultaneously, even if done in company time.
Or at least that's the view of OSS. But the trouble with that rosy view is that it doesn't take the perversities of PHBs and personnel departments into account, nor that of legal departments that can quite happily argue that black is white if it suits them.
Better to avoid the problem altogether by modifying the free software only in your own time, and when at work doing only those things that are directly beneficial to the company: installation, configuration, tuning, bug hunting (send bug reports to your own mailing list), and so on. If you want to avoid future headaches, keep as wide a berth as possible between the two activities, and make sure that everyone knows that you don't modify the source while at work at all. Even if there is "leakage" which makes your private work outside less than "clean-room" clean, legal difficulties are very unlikely if one *never* works on the code in company time.
"The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
interesting.
i found myselft once in a similar situation;
one of the issue that was raised during the talks (with an open minded employer manager) is "what is ure library current stage ? ".
i.e. put your library on the table, (make it an attachement to the contract), and we will review the changes when you leave (which i dont really like).
the problem is that they are afraid of "trade secret" that would go away in the code.
im happy ( but surprised) that they accepted to sign such general aggreemnt on libraries and other tools", which are "catch all " situation, and can be debated for ever in a court.
did similar question ever raised on your side ?
My suggestion would be to discuss your concerns with your boss _before_ doing any work. Ask them to sign a declaration stating that:
(a) They consider the copyright to the program to be yours and yours alone, and
(b) That they waive all future copyright claims to the program, including work you do at their request.
This is probably a bad idea, since they aren't likely to be happy once they find out you've misrepresented the situation and they've wasted their time mulling over a hypothetical.
Well, It would piss me off anyway!
Before you do any work on the program, make a deal with your company. Make sure that you have it in writing that the work you do on this program does not belong to the company. And let them know they can still use it. If you write a lot of open source stuff, you should probably try to get stuff like that into your job description or whatever the proper document is called. Just to deflect future conflicts of the same kind. And calling FSF seems not a bad idea at all.
--
Fast, Soon, Correct. Pick 2.
IANAL but:
There really is zero matter of choice here as far as your employer is concerned. The work (in this case happens to be yours) is GPL. From the GPL:
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights
and:
You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
Meaning, simply, if you modify a prog. that is GPL, all changes must be made/released under GPL (excepting written permission my original author(you)). If your company does not allow you to do this you are in violation of the GPL. Does your company intend to advocate the violation of this copyrighted work? Tell them to ask their lawyers that... This is part of the genius of the GPL.
char *colour = "Black" int main(){ pot(); return(0); } void pot(char * colour){ kettle(colour); return(); }
Some problems with restricting extensions to a programmer's libraries are that
If you have a good reputation and a string of happy clients and good references, employers are more willing to trust that you won't take advantage of them in the end, and are more likely to resolve issues by being "reasonable" (a common-sense term which actually has a lot of weight in court, should it ever come to that).
in the first draft of my contract there was a clause like this too. But programming is my hobby. a carpenter can make stuff at home if he wants to. a plumber can install his own toilet/shower/jacuzzi combo. a programmer should be allowed to write stuff in his own time. Most employers will understand..
//rdj
No one can understand the truth until he drinks of coffee's frothy goodness.
--Sheikh Abd-Al-Kadir, 1587