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?
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.
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....
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.
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
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.
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.
"The legitimate powers of government extend only to such acts as are injurious to others." Thomas Jefferson.
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>
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, 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.
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.
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.
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
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
"Warning: You are logged into reality as root..."
Jay
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
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.
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.
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!
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.
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.
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.
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?
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, 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.
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.
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
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