Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Programming IT Technology

What Happens When Open Source And Work Collide? 147

Rob Kaper asks: "When being assigned to make changes to the Web site statistics program for one of the sites our company hosts, I was suprised to find that the site was using my own (open source and GPL-ed) program, which I had written long before I started to work at the company. Between my employment and the assignment to update the program for work I have been working on a new, improved version in my spare time. Many of the changes I am implementing or have planned to implement are the same as the ones the company would like as well. I am kind of puzzled and not sure how to continue. What will happen to the copyrights when I start working on the program during work time? Could I include those changes into my open source project? Would I have to reimplement them in my spare time?" Updated (Read on...)

"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?

This discussion has been archived. No new comments can be posted.

What Happens When Open Source and Work Collide?

Comments Filter:
  • 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
  • by Anonymous Coward
    /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
  • 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.
  • by Seth Finkelstein ( 90154 ) on Sunday May 14, 2000 @05:13AM (#1073963) Homepage Journal
    The people most competent to advise you are undoubtably the Free Software Foundation [fsf.org]. 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.
  • by SnapperHead ( 178050 ) on Sunday May 14, 2000 @05:15AM (#1073965) Homepage Journal
    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.
  • by ajs ( 35943 ) <ajs.ajs@com> on Sunday May 14, 2000 @05:15AM (#1073966) Homepage Journal
    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....
  • In fact, if you're the sole author so far, you can assign your copyright to FSF, then if there's need for a lawsuit the FSF can be the fall guy.

    However, the GPL permits your company to hang on to its changes if it does not redistribute the software.

  • by Anonymous Coward
    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.
  • Sounds like a tough situation. As you mentioned, by nature of the GPL, any work you do on it must remain open. Either you can:
    1. Refuse to do it unless they allow you to remerge the source -- probably a CLM[?] [everything2.com]
    2. 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 :-)
  • by platypus ( 18156 ) on Sunday May 14, 2000 @05:22AM (#1073972) Homepage
    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.
  • by Anonymous Coward
    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?
  • IANAL, but common sense (as learnt from a Dilbert Comic) would dictate that you check your contract first to see if any of your intellectual property created during your employment at your firm will automatically become property of your firm.

    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!

  • 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.

  • 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.

    I think this is your best bet. Explain the GPL to them, and the benefits of attaching their name to a OSS project. They pay the same amount, get the product they want, and in addition, get recognition for supporting OSS.

    If the project will put them 'ahead' for any reason, and could be the cause for them not wanting it released GPL, I'm sure your 'testing and implementation' phase could be extended until any advantage they have is moot.


    "What do I care, if life ain't fair,
    If you look at me real sore.
    I've paid my dues and you should too,
    as a son-of-a-bitch to the core"
  • Hey, look at it from both sides:

    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 :/
  • 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.
  • by redelm ( 54142 ) on Sunday May 14, 2000 @05:39AM (#1073983) Homepage
    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.

  • Well if the company modified it using another employee they'd have to put the changes to the code out anyway, correct? You don't have to give up your program to them either; i would think if you got fired b/c you didn't hand over the copyright to them, you'd have a lawsuit then. Do the changes (i mean they want them done, right?) and tell them in order to do it you have to merge them into source tree. I don't think they would like it if you tried to muscle one of their copyrights away from them.
  • If his forking it, then he actually gives his property to his employer for free. I would not do that.
  • Your work contract with your company almost certainly states that anything you do while being paid by them belongs to the company.

    But surely your work contract cannot force you to break the license agreement on a piece of software. They accepted the license agreement before your work contract. And them asking you to turn over the copyright to the whole thing would be similar to them asking you to turn over your car. But yes you should ask the FSF, and probably the people at gnu.org
  • "Should be...", as a philisophical choice, is one thing. I won't argue that at all. "Should be...", as a legal requirement, may be another matter. ObIANAL. My understanding of the GPL is that it only kicks in when you RELEASE the program. I can take a GPL'd program, modify it to heck and back, and use it for my own purposes forever. I'm under no obligation to release the source, or to allow anyone else to use it. It's only when I release, or share, the binary, that I'm obligated to release the soruce.

    If the company in question pays the programmer to make the modifications, it seems to me that they would have a legal claim that the option to release the binary and source belongs to them, not the programmer. The certainly can't release the binary and NOT the source, but they may very well be able to release NEITHER and keep the program entirely in-house.

    The final issue I'm not certain about is the definition of "in-house." If I allow the public to access the program, or the results of the program, is it still in-house? IOW, is a web server open to public access considered in-house use? I would think so, but, again IANAL.

  • by Anonymous Coward
    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.

    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 :). 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.
  • 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"
  • If a company makes changes to a GPL'd program, their changes are bound to the GPL just as anyone elses would be.

    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.

  • by caveman ( 7893 ) on Sunday May 14, 2000 @05:49AM (#1073992)
    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))
  • No, they would not have to put out the changes to the code unless they released the program. Also, if I release a progam under GPL, I (and only I) can also release it under a different license. I can make a modification and sell it to a company for private use.
  • No, the work must only remain open as long as it is distributed... It is ok to modify a GPL'd work for internal use only and keep the modifications closed.

    If the modified work is to be included in a product, or will be distributed in some other way, then the modifications will have to be openend.

    Copyright law states that the copyright holder is responsible for defending his rights. The copyright holder is not always the same person as the author. For example it could be the author's company, or some other legal entity to which the copyright has been transferred.

    Finally, the situation doesn't have to be tough at all... maybe management will understand the situation.
  • I want to second this opinion. Under normal circumstances, what you write while you are being payed belongs to the employer - simple as that. Further, work on a GPL'd program that ISN'T distributed can be kept proprietary...so your employer could claim copyright on that part of the program that you write while your employed. This can be modified by a written agreement. GET ONE!
  • by sjames ( 1099 ) on Sunday May 14, 2000 @05:50AM (#1073996) Homepage Journal

    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.

  • 2.Bite the bullet, do it, and contribute to the violation of the GPL
    It's not a violation of the GPL. I can take a GPL'd program, modify it and keep the modifications for myself. If I distribute it, *then* I have the obligation to make my modifications public under the GPL.

    The company the guy's working for uses his program but doesn't distribute it. They don't violate the GPL.

    The problem he is facing is that if he writes code for his boss, the code will be owned by his boss and he can't merge it with his original code and distribute it under the GPL.

    It'd be cool if the management would agree to him using the code for the original source and distribution under the GPL. It may be easy to convince them, just point at the fact that they use your program for free, too.
  • They can not ask for the copyright to the whole thing. They can, however, claim copyright to the modifications. (Whether their claim would be upheld, I can't say.) This means that it could get dicey for the employee if he wants to make the same modifications to the GPL'd version. It would be difficult if not impossible to prove that he completely reimplemented it in how off time. Furthermore, even if he sits down and rewrites the code in his offtime, much of the work of planning the code and ironing out the bugs has already been done.
  • All good points. Rob, if you're reading this - please let us know how you get on. It's an interesting story..
  • Wasn't Gnutella created by AOL/TimeWarner employees during work hours? Didn't they GPL the code for a project they worked on at work but weren't even supposed to be doing? Does anyone know what happened to those employees and the state of the code?

    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?

  • by Munky_v2 ( 124274 ) on Sunday May 14, 2000 @05:58AM (#1074002)
    he actually gives his property to his employer for free. I would not do that.

    I have to agree here, most companies have an intellectual property clause that states anything you design while even working for them becomes there's. I would simply tell them that the program they are using is GPLd and that to continue using it, they need to sign a waiver stating that the program is yours and they cannot claim intellectual property rights to it. If they won't do it, I personally would tell them that I don't want to do any more work on the program for them, as it is GPLd and you feel it belongs to the community, not them.


    Munky_v2 [dialug.org]
    "Warning: You are logged into reality as root..."

  • Well, technically stuff that you do on your own time is yours, and you own the copyright to it.

    This depends on what is stated in your employment agreement or consulting contract with the company. If the agreement contains a clause something like "the Company gets the full benefit of the employee's efforts" during the time employed then even work you do 'on your own time' can be considered as belonging to the company. The argument is that if you had time or energy to work on anything then it must have been for the company.

    Been there, been done by that...
  • 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 ?
  • 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.
  • 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.
  • by Anonymous Coward
    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.
  • Actually every invention clause ive ever seen in an offer letter allows exclusions. You should have listed it as an inclusison. They could still make you keep there changes private but what your doing in your own spare time is yours if you excluded it.
  • (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.
  • Hmm.

    I work for a Swedish company, although with the parent office in London. We also have such a clause, but it's interpreted like this:

    * Whatever you produce on the company's equipment is theirs
    * Whatever you produce using knowledge you've gained from your work and not publicially documented yet will be theirs
    * HOWEVER! Whatever you do at home, in your spare time, using knowledge you've NOT gained using inside information, is YOURS

    So, ok. I work for an operating system producer (no, not Microsoft .. Symbian [symbian.com], EPOC you know) - if I use the knowledge I have of features in a future release of Epoc to produce some shareware at home, that shareware won't be mine. If I do it using the publically available SDK [symbiandevnet.com], with knowledge described in the SDK documentation, on my spare time and on my own computer - it WILL.

    I hope that helps someone :)

  • I would try to stay out of the legal morass and get your employer to support it. They are not likely to make money out of it, other than the gains of using it internally, and neither is it likely to be a competetive gain. So why not propose them to co-own the copyright and insert a note in the README saying "development was in part funded by a gracious FooBar, Inc."

    See it as free advertising for them. "What? The Rob Kaper is on your payroll?

  • If companies start demanding copyrights on GPL'd softwares changed in-house by the original author we'll soon get to code like this

    /* QuakeHelloWorld (C) 1972,1998,1999,2000 Acme Corp,
    Roblimo Corp, Lliw Rensie, Brian W. Kerninghan */

    /* next 3 lines (C) 1998 Lliw Rensie */
    #include stdio.h /*this is HTML don't complain about the lack of brackets*/
    #include stdlib.h
    #include string.h

    /* next 2 lines (C) 1972 Brian W. Kernighan */
    int main() {
    printf("Hello world!\n");
    /* next line copyright 1999 Roblimo Corp. */
    umask(0);

    /* next line (C) 1999 Lliw Rensie, and requires
    linking with code from John Carmack */
    quakeEngine();

    /* this line copyright 2000 Acme Co.*/
    return 0;
    }

  • I belive it was made by some Nullsoft employees, and nullsuft is owned by Time Warner/AOL. I think all they did was shutdown the distrobution of the software, but a couple days after they did a mirror was found of it.

    I dont know if you can remove a license from software, i suppose you could if you were the coyright owner.

    Now IANAL, but i dont think that you can retroactivly remove the license from a product, so the people who have it get the GPL, the others,,, sucks to be you
  • Explain the GPL to them,

    This can be difficult. A friend had a conversation that went a bit like this:

    Manager: So how much does this Linux thing cost?
    Tech: Well, you just have to use my CD
    M: We can't do that. we need to pay for a licence
    T: No you don't. It's free
    M: But how about a commercial licence?
    T: It's GPLed code. You don't need a licence. You can do anything you want to it. You can even resell it.
    M: But isn't that piracy?

    Okay, he explained it after a while, but it isn't easy.
  • you have to get a waiver if you work on it on company time...assuming you signed an NDA. but otherwise, youre right. get a waiver ang GPL the changes to your original program. it doesnt matter if you wrote it - just treat it like any other GPLed code.
  • by raarts ( 5057 ) on Sunday May 14, 2000 @07:05AM (#1074020)
    This [gnu.org] is a standard form supplied by the FSF exactly for these kind of situations.

    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.
  • Now IANAL, but i dont think that you can retroactivly remove the license from a product, so the people who have it get the GPL, the others,,, sucks to be you

    Of course, once you have GPLd software, you have the right to redistribute it...

  • but is it really non work related stuff you are doing at home? These days the line is blurred on what is work at home and a hobby.
  • by Anonymous Coward
    If the company modifies a GPL'd project they can keep it proprietary
    so long as they do not distribute the modified version beyond the
    bounds of the company -- if they do want to distribute it then they
    must do so under the terms of the GPL.

    Check your employment contract to find out if everything you write on
    company time belongs to the company (it probably does) -- and also,
    things you write on your own time but are derived from company
    assigned work may also belong to the company. If so, then the
    decision is theirs.

    Talk to your managers, tell them about open-source and the GPL and
    how it already them (they are using a GPL'd program after all). If
    they allow the changes they are requesting to remain GPL'd they get
    some PR value because you will prominently point out in the sources
    (changes file or wherever) that the changes were introduced by the
    company and released as open source under the GPL (good PR with the
    open source community). The company can also use that as their first
    small step into the open source world and be able to claim that they
    both use and contribute to open source software (which can have good
    PR value in today's business world). This last point is important --
    you can't just focus on why open source is good from the perspective
    of software developers, but also how it may be good for the company
    from a business perspective.

  • 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?
  • First, talk to the FSF. Next, depending on what they say, decide what you want. Then talk to the boss. Be ready to change jobs. Management tends to see someone bringing up a problem as the person that caused the problem. You may be blamed for a problem that really isn't your fault. On the other hand, management should see that you have actually been working for them since they started using your program.

    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.

  • 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.

    Except, if I'm not mistaken your interpretation is inaccurate. Since the GPL'd code is used purely for an internal project, the company would be under absolutely no obligation to release any changes in any form, GPL'd or not. Only if they were to distribute the software would this be a good example of the GPL in action.
  • I'm sorry, but the GPL does not make it a non-issue. :( The GPL does not require redistribution, so the company can keep the changes to itself... Furthermore, if they don't release the changes Rob may have trouble reimplementing the changes in his GPLed code because of IP issues (sad, but true, I'm pretty sure)

    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 :)
    Well, he doesn't need to integrate ALL of the changes into the primary distribution.

  • 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

  • Plus, since he is the original author of the work, he couldn't violate the GPL if he wanted to.
  • ... well, I guess the real answer is that you need to look carefully at whatever you have to sign before you accept employment anywhere. IANAL, but there's no doubt in my mind that nothing of this kind will ever stand up in court.

    But that doesn't mean that you won't get hauled into court, of course, and that's the whole point.

    Having said that, frankly, given the current market conditions, if you walk up to your boss and tell him that you need a small waiver letting you retain ownership of anything you develop outside your working hours, or you'll walk, you'll get the waiver. If you don't, walk, and make sure that the job that you'll start the next day will let you retain ownership of your independent work.

    Companies currently are unable to find skilled developers no matter how much money they're prepared to pay. Don't get cowed -- you have far more leverage than you think.

  • 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.
  • I realize this is too late for your current situation, but:

    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:

    Addendum regarding section 6.B (Intellectual Property):

    Section 6.B is subject to the following exceptions and conditions:

    Agency_Foo and Client understand that Employee brings to this job various software tools, libraries, and the like ("Tools"), which have been previously developed by Employee, either while working for previous clients, or on Employee's own. During and after this Agreement, Employee will retain all ownership, right, title, and/or interest in these Tools. Client will retain a permanent license to use, distribute, and modify these Tools as needed, including but not limited to the use of Tools in everything Employee worked on during this Agreement, and for all related development subsequent to this Agreement. It is understood that Employee may extend or modify Tools during this Agreement, and this addendum holds true for those extensions and modifications, i.e. that Employee retains rights over them but Client retains a permanent license for them.

    The intent of this addendum is to ensure that both Employee and Client can use these Tools during or after this Agreement, without restriction.

    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.

  • No.. the new version is not automatically GPL'd.
    It's simply that the old code used is licenced under GPL, which states that derived code cannot be distributed unless it is ALSO UNDER GPL.

    In other words, the new code is only GPL if the owner of the new code DECIDES TO DISTRIBUTE.

  • However you are neglecting to notice that the company accepted the GPL when they started using the software. So they are obliged to release under the GPL any of the modifications he makes while working for them ANYWAY. They will hold copyright to those modifications, but they are still GPL infected. Although they could try to force (coerce) him into allowing them to keep those patches private (i.e. relicense his original code), he would be entirely within his rights to refuse and it would probably be illegal for them to fire him on that basis (a company can't extort you outside of the realm of your employment agreement to GIVE them stuff you previously worked on and that YOU own copyright to).
  • The source was never released. They stated that it would be GPL.
    The problem is, it would appear that those who created Gnutella did not have the legal right to assign licensing, as their work is owned by the parent company, and the parent copmany did not authorize the work. In otherwords, the GPL is only meaningful when lawfully applied to software.
    You can't just slap a GPL on somethign that's not yours in the first //--e and claim it is free forever.
  • 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 ;-)

    ----
  • The difference is, when one releases a patch against other code, they are making it PLAINLY CLEAR to ALL INVOLVED that they did *NOT* write and hold *NO* rights over the code that must be patched, and that they simply wrote the patch.
    In the case of LAME, originally, it was plainly clear to anyone using lame that (sorry for the pun) LAME IS NOT AN ENCODER. It was a patch, and anyone using it would understand that other pieces were required.
  • 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.
  • And let's not forget: it's *his* code. He owns the copyright to it, so the GPL *does not affect* what *he* does with it. He can use it any way he likes.

    More importantly, even if he does work-for-hire to modify it, that shouldn't affect the licensing of the previous version.
    Cheers,
    -- jra
    -----
  • 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.
  • 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 [advogato.net], Elise Shapiro [advogato.net], Nick Moffitt [advogato.net], and I once started a helpdesk-management project, coding it (in Python) in the evenings at The Linux Cabal [linuxcabal.com] 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

  • This was the primary reason I left my previous employer. These kinds of contracts make sense in some cases, but most of the time they're way too restrictive.

    - Jeff A. Campbell
    - VelociNews (http://www.velocinews.com [velocinews.com])
  • I think this was answered by Godsmack in their song "When Worlds Collide"
  • 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. :-)
  • 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.
  • 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.
  • 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.
  • We are occasionally remended by middle management that this even means private projects, at home, during non-office hours

    I'd leave

    I'm a UK based contractor. I'm very loyal to companies while I'm there, but I have to recognise that my relationship with any one organisation hasn't extended beyond a couple of years.

    To make me sign a contract like that, I estimate the financial loss you'd have to compensate would be at least 20K UK pounds, in terms of the reduced market value I'd suffer over the next 3 years

  • Absolutely agree with this (speaking as a boss myself). State the position clearly to your boss. Legally, seeing the software is GPL'd anyway, the company has to release the source to you to incorporate into the on-going project; it's cheaper for them if they do, too, because it's going to cost less of your time to maintain one version than two, and at least some of that saving will happen in Company Time.

    But it's also potentially extremely good publicity for the company. 'Our company can provide you with the best possible support for (whatever your software is), because the maintainer actually works for us'. Big press release stuff and hoopla - 'Our committment to Open Source'. Handled right, the company could love this, and you could find yourself increasingly being paid to do what you want to do anyway.

    Oh, and - if the company is completely unreasonable, sack it and go and work for a better one.

  • I've allowed exceptions for genuine trade secrets. If they're truly trade secrets, then I'm not very interested in them anyway-- I would only want to retain the more general purpose routines which I invented, which by nature aren't really trade secrets.

    Some problems with restricting extensions to a programmer's libraries are that

    • Often, the programmer had planned or pondered the functionality before the job, and merely typed it in while employed;
    • forever restricting a function from being added to a library is like cutting off a limb;
    • if a function is truly integrated with the library, it's probably not much good on its own anyway; and
    • again, the employer/client needs to understand that they are benefitting from work done for previous clients, and if those had made restrictions, the current employer couldn't use the libraries at all-- kind of like a social contract, where they benefit from others and in return let others benefit from them.

    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

It is easier to write an incorrect program than understand a correct one.

Working...