Open Source Code In a Closed Source Company
An anonymous reader writes "I have code that I've written for my current company that I'd like to open-source. The only problem is that my company has the usual clause that says that anything I write belongs to them. Now that they've decided to abandon my code for another product that replaces its function, I'd like to continue working on my project as well as open it up to the world. The easy part is cleaning it up and posting it on SourceForge and Freshmeat. The hard part is making sure that I am free of any legal complications in the future. I've looked online to try to find a legal document I could present to my employer to get them to sign off on it, but I'm not having any luck. Has anyone else been in this boat or can refer me to some legal documentation that may help out?"
"Mr. Ballmer, I'd like to release some code for the new MS Office under the GPL.
It's some of the UI code that people might really enjoy being able to, you know, work with a little better."
No doubt you will chairish the moment.
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
are you asking people from Slashdot. Why don't you approach your company and ask them what they think? I have a friend that did just that with a app he developed, the company let him take it Open Source. If they own what you create then you need to make sure that they are going to release it.
Cyberbite Networks - Web Hosting, Dedicated Servers & Colocati
As parent says, they own the code. If they want to abandon it they still own it and don't automatically abandon rights to the code.
Ask them if they are prepared to release the code and if not, why not.
If their major concern is laibility, then get the code signed over to another party who will shield them from liability. THis might be yourself or EFF or whatever.
If they still won't well you're screwed as it is theirs.
Engineering is the art of compromise.
Print the code you want to release, pedantic I know, but legal folks like paper. Draft a simple document that says the attached code is going to be released under XXX license (whatever you can agree on with them) and that the company agrees to the action and that any derivation/modification to the released code is copyright the respective author going forward (your choice of license probably will take care of this for you).
Affix the license, the document, and the code. Have a legal officer of the company sign the document, initial all the pages of code and the license in front of a notory, and have the notory do their thing and seal it.
Should work for any trivial amount of code. As was joked about in another post, I doubt you'd want to try this with Ballmer and the Office code base, but if you think your company will let you get by with it in the first place, its probably enough. The key thing is that you've got their sig and its notorized properly so you can't be sued later for releasing their IP into the public spotlight without permission cause lets face it, once the code is out there, they aren't going to put it back in the bottle, they at best will sue you for releasing it.
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
You need a laywer, sir.
Sorry dude, you're out of luck. The code is still theirs. Their ownership of it is not predicated on whether or not they actually decide to use it.
You can always ask them if they'll give it to you. I've done this successfully. If they really have no interest in it, they might be willing to discard it.
We are the fire that lights our world.. and we are the fire that consumes it.
Why don't you talk to the person in charge of software ? That might be easier than dealing with the legal team....
:)
One approach is to explain that by releasing software components to the open source community, you'll get other people to improve and test your software. This reduces your costs and people in charge tend to like that
If you look in the file usualy attached to any GPL'd code, for example /usr/src/linux/COPYING on many linux distributions, you will see that part of the file is the actual GNU Public License and part is an explanation and philosophy and so on. If you want to open source your work, I'd hope you would have read that file at some point . . . but in any case, here is the relevant portion:
"You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice"
I like that copyright disclaimer because it is short and simple. No doubt someone suffering from the brain damage of a legal education could provide you with a longer one.
What you need is a clear transfer of all copyrights, patents and trademarks in the specific program from them to you. Look for a copyright transfer agreement, they are quite particular.
If you wrote it using their equipment on their time they might have a problem releasing it unless you can convince them of a good reason. They could really benefit from your work being open sourced.
If you wrote it on your own time with your own equipment and not on their premises then they really shouldn't have any problem writing you a release of any of their possible copyrights, patents and trademarks in the work - since it wasn't a work for hire. You might need to state that you didn't incorporate any lines of code from their work into your code. You'll also need to clarify if their work has any of your code in it - that could be a sticky point (a.k.a. SCO) if it's not clarified now in writing.
However it's complicated by them having a similar program that they are commercializing.
Really you should consult a lawyer rather they us fiends.
Your company owns the copyright. 1) You might convince them to assign the copyright to you (fat chance). In that case, you need a signed document. Just do an internet search for a standard copyright assignment form. You need somebody with authority in the company to sign-off on the copyright. 2) You might convince your company to release the software under the GPL. At that point, it becomes GPL licensed to the world, which includes you. Try to sell this as a benefit to your company. 3) You could do a clean-room rewrite of the code. Basically, rewrite the product from scratch using your superior knowledge. 4) Carefully examine your contract for a loophole. If you are a contractor, and not an employee, then research the work for hire doctrine. You might actually own the program. Otherwise, if you are regular employee, there is not much you can do. My advice, don't just post it to source-forge. Even if you acted as though you owned the program, the company still owns the rights and could enforce them 10 years down the road. IAAL
You can't release it without management buy-in. Your manager knows vastly better than you whether that could happen, and how to get it to happen.
If your manager agrees with you that open sourcing it might work, he'll know how to do so. If not, it's not happening anyway.
Why was your project dropped?
Politics / Good 'ol Boy / Politics
-OR-
Bad UI / Past due date / Hard to modify / Poor interaction with existing systems / Can't talk to financial systems / not profitable to deploy / No audit logs / whatever.
If the former, keep plugging at it but get a lawyer. If the latter, save everyone some time and refocus your efforts. Tough love, sorry but serious.
Buy the source code from your employer, then release it yourself. Burn three copies of the code to CD, and seal two in envelopes and write "This is the code I'm buying" on the outside, one for you, one for your employer. You work off the third copy.
Won't help you if you get to court, of course, but what is important is for you and your employer to be clear on what it is you are buying.
I wouldn't blame your employer for refusing to sell you the code, though. One assumes it is relevant to the business they are in, and selling it to you risks you developing a competing product.
I would suggest starting any project by building on another project that is already open-sourced therefore the GPL or whatever license would mean that your new project is automatically in the public domain.
I'm not a lawyer but...
It sounds like they've paid you for this work. That probably means they are the copyright owner. Copyright does not transfer by accident. So if you haven't got a document in hand by someone who is a principal of the company that unambiguously identifies you as the new owner of the software, you should tread very carefully.
Also, you're talking about having them 'gift' it to you, effectively. You apparently did work they paid for and now you want to own it. That can't happen by magic, and most companies don't give away assets. You might want to try 'buying' it since then there would be a contract you could point to, and you would know who sold it. (I don't know if that makes it better. Ask a lawyer. It just seems to me like it might make a better paper trail.)
You don't say whether the other product is one your company is making or buying from outside. If the company maintains a competing product, your non-compete agreement may be in play.
You might consider writing it again, clean, on your own time and machine, logging the intermediate versions so they can be shown to be different than the backups the company has of its intermediate versions. That may not be enough even. It might address copyright but not non-compete or trade secret.
You might consider getting the company to open source it instead of you. The difference (I think) would be that it would be they, not you, who retains the right to make amended agreements with different conditions than the basic license. In that case, all you need is that they open source it in a way that gives you the necessary rights of use, which may be easier to establish than ownership. Also, in that case, you can probably get the company's lawyers involved in making the license, and all you have to do is worry about whether you can use the license that is finally created. In that case, you've evaded the worries about whether you transferred ownership right, and you're down to just "did they pick a good license.
Did I mention I'm not a lawyer? You should not use this message as a guide to what you can do. Mostly you can take stuff like this that people like me write as conversation starters when you finally get serious and talk with someone who is legally competent to advise you properly.
And, by the way, if you make a mess of this and publish something you don't have the proper rights to, you make a problem for people downstream in the user chain. There was a recent Slashdot article where something vaguely of this kind may have been in play. Even if not the same root cause, it illustrates a scenario you don't want to find yourself in.
Kent M Pitman
Philosopher, Technologist, Writer
I do this all the time, in fact most of my open source code was done on someone else's dime.
Your situation is going to be tricky because you (I assume) don't have a precedent of doing it (they didn't hire you based on your other open source work) and don't have any agreement in place. I also assume you are a permanent employee instead of a contractor (it can be easier to open source work as a contractor in some countries).
The above stuff isn't critical, but it smooths the process.
What's tricky for you is there aren't any good BUSINESS reasons for them to do it either.
If either your code, or the code that replaced it, is profit-impacting then forget it. No sane company would open source a profitable codebase, nor will they risk releasing an old product that you could then take and create a competitor.
The best arguments for open sourcing in a company that isn't a software company are:
1. Having other users means free testing, free reports, maybe some free patches. In rare cases, it means you become the industry standard/leader in an area (and control is good, from a company perspective).
2. Because you will continue working on the project after you leave them, they in effect continue to retain you as an employee without having to pay you.
Those are the direct benefits, there's more reasons (mostly more subtle).
Sadly, neither of these apply in your case.
You are in effect dumpster-diving in their repository, asking for charity. And your work on that codebase could well distract you from your new one.
It might be possible, but it's going to be damned hard.
Good luck though.
You seem to have missed the point. The author is asking for a document he could give to his employer that they could sign that would open source the code. It's right there in the summary: "I've looked online to try to find a legal document I could present to my employer to get them to sign off on it".
Cow Cube
They paid you to do a job - they own it, thats what you agreed. Legally and morally. If you want to develop code on your own time and fund the exercise yourself - then you can own it.
simply ask your employer to sign a copyright disclaimer. Something along the lines of: [Company Name] disclaims any copyright on the work [Software Name]. And get the directors of the company to sign it over. If you want to be really bold, ask them to assign the copyright to you instead of just disclaiming any ownership they might have over the copyright. Companies are often happy to do this if the work honestly isn't of any value to them.
How we know is more important than what we know.
First, go to them with a list of all the positive things releasing the code under a GPL would do:
1. Others will help you.
2. Good publicity.
3. Ability to sell consulting services.
Then, find yourself a standard contract and mod it with the help of a lawyer friend. If you ask here, there ARE lawyers on Slashdot and they'll probably help.
Anti-Globalism
So, here's a theory - how about just asking?
I work for a large software company (about 10,000 employees) and have released a couple of things into open source. We use Linux / MySQL / Apache / Spring / etc in a big way. A colleague and I wrote some MySQL utilities and some other bits and pieces, but the code we wrote didn't really give away competitive secrets, so I went to my management and asked - and they said "yes".
My company has contributors to at least a half-dozen open source projects that I know of. For example, se use Apache Camel and we contribute. It makes sense for us to share, because the sum of what we get back from the community is more than what we put into it individually (and we give away no secrets).
Now, if the code you wrote is something a competitor could use against your company, don't both asking, you already know the answer.
Alan.
Since they've moved on to another project, tell them that it would be a shame if they couldn't at least get some value out of the code. Then say that if they were smart, maybe they could attract some publicity, etc., if they open-sourced the code they're not going to be using any more, and created a site for it, along with links, blurbs, etc., for the other stuff the company makes.
Benefits:
1) Your employer's approval, at the appropriate level of management. Because this involves transfer of a company asset to you and without compensation to the company, "the appropriate level" is going to be senior management. Of course, start with your immediate manager, and work your way up from there. If your immediate manager opposes the idea, it might be best to forget it. The political cost of fighting that battle without your manager's support is likely to be high (as in "career-ending"), and you are not likely to succeed.
2) A tech-savvy lawyer, once you have procured approval. Your lawyer's job will be to review the contract giving you ownership of the code. That contract will probably be drawn up by your company's legal department, so your lawyer will be making sure nothing is left out and that you aren't getting screwed in some way
3) A very accommodating attitude. If there are any costs to your employer to do the transfer, you may be asked to pay them. If so, and you can afford it, suck it up and do it. If you can't afford it, thank everyone sincerely for their time and approval and effort on your before, and explain that you can't afford to pay that much, and walk away from it. And of course, if they say no, regardless of the reason, be gracious and thank the appropriate people for considering your request.
start off their sentences in the subject on this site?
Pancakes. Oh I blew it.
If fact it could even hurt a competitor.
If the company decided to dump a project because they are moving out of that business arena, but the competitor is still staying in that arena, then opening up the code will dilute the competitor's position.
Engineering is the art of compromise.
In other words, recode it, change its structure, improve it and make it incompatible with the old code's API. That's what I do.
As was found in the case of Finders v. Keepers (1998), you could release said code under the GNU Lesser Bit Torrent Licence.
THL phish sticks
Your best bet is to contact the legal department within your company. I checked into this once with my employer. They were not certain about their own policy, but said they were open to the idea. That is where I would start. Its so ironic. The one thing their policy was clear on was that it was ok for us to consume open-source code.
You actually have two problems: First, you want to publish the code under an open-source license. And, second, you want to cover your butt in case somebody at the company doesn't like it in the future.
Your best chance for releasing the code as open-source is by convincing the company that there is no way that it could be hurt by the release and that it may benefit. So, make sure it doesn't conflict with any product the company makes or could make. Make sure the code is clean (no comments about the boss) and your best work (if people see the code, you don't want them thinking "man people at company X are idiots.") Come up with reasons why making it open-source would be a good thing. Remember, the company is there to make money.
Does your company have in-house counsel, or does it farm everything out to a law firm? If they farm everything out, there is a very good chance that the company will say no -- they don't want to incur legal fees just so you can publish this software. If they have in-house counsel that's reasonably technically savvy, talk to your boss about it and then approach the company counsel.
NJice rant. Too bad it has nothing to do with the question at hand. The questioner specifically said the code was written for work.
tradition, you high UID person.
Edward@Tomato - /home/Edward/ man woman
man: no entry for woman in the manual.
"Qua!?"
Im thinking of MySQL. I'm thinking of the closed source version they sell.
Do you even lift?
These aren't the 'roids you're looking for.
More than likely, your idea is property of that company. Not only the code you wrote while you were there, but any ideas that you formed during the same period.
For example, I had an idea while working for one company. It was to be an internet monitoring software, that would watch multiple points across as many providers as we could manage, map out the traceroutes, and show not only the common peers that those traceroutes passed through, but would effectively show when any peering point was having problems.
They grabbed hold of it, and offered me 5% of the "profits" of the company. That's the day I stopped working on it.
Technically (if they remember), they still own the idea. If I were to start working on it again for a commercial venture, they could lay claim to it. It's not a matter of what was written, but the idea behind it.
You may win in court, but it will be a long drawn out court battle that you probably can't afford to gamble with. If you win (which you may), you may win a lot. If you lose, you're going to lose a lot. Not only your legal fees, but their legal fees, and whatever the judgment is against you, as well as your intellectual property.
My advice is, when you have another great idea for something, STFU. Don't tell them anything. Wait until you're no longer under any sort of contract, and then "start" your development on it. You can start working on it on the side, but be very very careful that there's nothing to document that you were working on it during the period that your contract with another company is under effect.
You may want to re-read your contract too. It may not cover just what you conceptualize while as their employee, but anything for a period (6 months to a year, I've seen in various contracts) belongs exclusively to them.
Serious? Seriousness is well above my pay grade.
Your company only owns what you wrote for them using their resources, the stuff that's on their drives. They don't own what's in your head. My advice: Re-write it and open source it.
You have to ask them for permission. But don't just ask, make a good case for it. Explain what the cost to them is (including lost opportunity cost, which sounds like nothing for this case). Explain the benefits (mostly soft and squishy stuff, like contributing to the community and giving your company a good name, etc). Really pitch it.
I know this works on occasion, since I've done this myself: asked for, and received permission, to release programs I've written both internally and for paying customers as free software (in the latter case, our agreement with the customer allows this). You can go download it yourself: JavaSock.
It was simply a matter of talking to our commercialization director, pointing out to him that realistically, we probably wouldn't make much revenue off of selling this code, but would make several people (including the client that paid for it) happy, and it might give us some good press in certain circles. They agreed, and we uploaded it to sourceforge.
But don't try to do an end-around. Many things can happen, and most of them aren't good.
I'm not being high and mighty here, my contract says the same. I don't mind, they compensate me well for it. If I didn't think this was a workable deal, well, I'd go find someplace else.
Hi (or she? :) ) just wants to TRY:
:) ), one of the original advocacy documents (could it be appendix to GPL itself?) specifies a (boilerplaite) waiver to present to your employer in just such a case.
:) ).
I've looked online to try to find a legal document I could present to my employer to get them to sign off on it, but I'm not having any luck.
The answer to that is simple for us, old-timers: search FSF.org (or, your tarfile of GCC source
No, they do not have to sign it. Yes, they might (depending on how hip they are and programmer's status in the company -- who wants to keep your star programmer unhappy, after all?
My $0.02 ($0.1, adjusted for inflation).
Paul B.
Authorship, copyright, rights reserved under work-for-hire agreements, employment contracts, are all potentially very complex concerns that vary greatly depending on locale.
And you have asked for advice on a forum where the amateurs who think they know everything about the subject will be happy to respond, and the attorneys who practice labor, contract, and intellectual property law will neither be able to get a word in edgewise nor give anything but the most general advice, due to the very vague statement of your situation.
Perhaps before you start your next job you will have the foresight to arrange things so that your work is copyright you, all rights reserved to you, and licensed to the other party in your contract.
Then we can hear from THEM asking slashdot how they can abuse the careful terms of your license, rather than hearing from you about how you willingly entered into an abusive but legal labor situation.
-fb Everything not expressly forbidden is now mandatory.
Slashdot is not a lawyer.
Yes. That certainly explains the total lack of all law-related articles here. Around here we do NOT discuss copyright infringement, programmer unionization, corporate liability for software flaws, or anything even remotely like that. No sir.
In fact merely THINKING about discussing the intricacies of law, when all parties are not holders of law degrees, should be grounds for immediate imprisonment. How's that?
Assuming you want it to be purely open source (and not sell proprietary licenses to it, like MySQL, for example), just ask them to license it to you under the GPL or BSD license. Either of these gives you, as licensee (it doesn't matter that you wrote the original code) the rights that you want, and they're well-understood documents. If they can't understand those licenses, they really have no business licensing their software to customers. And if they're not okay with licensing the software to you under those terms, they won't be okay with any document that effectively allows you to get that license to the software (and may also transfer copyright).
As far as whether you should try to get the copyright, having this company own the copyrights and only license it to you under the GPL and then have you work on it and only license your changes under the GPL means that nobody can change the license, since neither of those two copyright holders are likely to agree on a change. This can be preferable for end users over having a single copyright holder who could legally take future versions closed-source.
when you can write a different way of doing it with new code that uses a different way of doing it on your own time, that isn't like the old code or the code they replaced it with?
I am sure that over time your coding has improved, and you might be able to find a different way to do the same thing that isn't the same as your old code or the code they used to replace it.
That is unless your employment contract states that even coding you do on your own time still belongs to the company. If so, wait until your contract is over, or the employer changes the contract to allow you to write code on your own time that belongs to you and allows you to open source it.
As long as the new code you write doesn't use code from the old code or the code that replaces it, nor is it written on company time or the contract doesn't somehow prohibit you from writing it so it isn't the property of the company you work for, you should be able to write open source code.
The old code can't be that good, as they replaced it with different code. Chances are that you can find a better way to do the same thing with different code that doesn't violate any contract you have with the company.
Anyway I agree with others, you should be talking to a lawyer instead of Slashdot.
Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
At least that's how I understand copyright to be...Just cause I write a book that has the same plot as another (man murders woman, policeman chases murderer, policeman gets murderer) doesn't mean I breach copyright. Patent and IP is different though and if the code is under IP/Patent then kiss goodbye unless you can get the company to agree.
I am not a lawyer, seek legal clarity from someone who knows the law.
Karem
When all is said and done, nothing changes...
I met a hot chick at a party recently, and I made out with her in the back seat of my car in the parking lot outside. Since then, my wife has nixed the relationship, but I would like to share the pictures and video online with the greater community. The easy part is cleaning them up in Photoshop and applying a Gaussian blur to my stomach and the pimples on the girl's butt. The hard part is making sure that my wife will not kill me if I post them. I might suggest to her that all her lady friends would be jealous of her if they could see my hot body and my superior lovemaking skills in action, but so far I haven't been able to convince her. Has anyone else been in this boat or can refer me to some legal documentation that may help out?
If however the code was written on company time, company resources, or as part of your job, or it's a derivative product of what you do at work, as seems to be the case, then it belongs to the company. There are no ifs ands or buts about this and there's no legal gray area. You don't own it you can't release it.
You can ask your company to transfer copyright of the code to you, or you can ask them to release the code GPL, but if they won't do either of those things then there's absolutely nothing you can do legally.
If you were to release this code as GPL without one of those two things happening then the license would be invalid and you, as well as quite possibly anyone else using your code could be held liable.
But, that doesn't solve anything. If anything, it would open him up for more liability.
There's the plausible deniability that he knew nothing, but if there had been a previous mention of intent to release it, that could show a motive. When it comes down to the corporations versus us little guys, and throwing lawyers in the mix, we'll almost always lose.
Serious? Seriousness is well above my pay grade.
You call a lawyer for the same reason you call a doctor.
You are paying for experience. You are paying for specialist skills. You are paying for someone who can look at the problem objectively.
You are paying to avoid the mistakes you make when you are trying to prove your manhood. You are paying to avoid being stripped to your shorts and pounded into mush by a team that knows its job.
Another waiver could be found from Java, OpenOfficeOrg or OpenSolaris. I think Sun requires such a waiver before your code is included into any of those.
I don't know, I always groan when I see stuff like this. I mean, you wrote the code and you obviously have a copy of it. So here's my question: what defines this particular code as a single entity, distinguishable from, say, if you were to run the code through astyle? What if you were to break up the code and split it around through a complicated set of macros not unlike techniques used in the Obsfucated C code contest? Can you argue software is the same because it provides the same functionality? Obviously this is impossible, and is in fact, discouraged, as often it's advantageous to formalize protocols for behavior so that different software can speak the same language. This fact didn't stop Blizzard from winning its case against [url=http://en.wikipedia.org/wiki/Bnetd]bnetd[/url]. What if you were simply to write the project from scratch and it turned to be shockingly similar to their code? Would it be illegal, then, considering it was a totally new creation? This is one of the reasons I support the GNU GPL. Because it is simply _impossible_ to come up with a reasonable way to license software. People are gonna steal it anyway if they can, and by sharing we promote the faster growth of the science as a whole, so why not just make code available anyway? That way rather than expending effort trying to conceal the fact that people have stolen code they just adhere to a very simple set of rules that anyone would be willing to and everyone's happy.
The problem is that 'Lawyering' has achieved critical mass. It's pervasive enough, and effective enough, that if you choose to forgo an advocate in any dispute, you lose. period. The other party is going to lawyer up and in the contest of lawyers vs. no lawyers, you're not going to win. Even if your case is obvious, you're still going to lose because you can't articulate its obviousness in the language of the court.
Therefore, if you know you're going into a situation in which there is a nontrivial chance of a dispute developing, it's unfortunately necessary to consult an expert to make sure you're not exposing yourself to unnecessary risk.
Can you be Even More Awesome?!
One big problem with the FOSS movement is that too many of its members don't understand that open-source software doesn't need to be free to be open-source. This misconception, I imagine, is part of the reason that companies have been so reluctant to make their products open-source. That is, they think that, in order to open-source their software, they have to give it (or at least the code) away at no charge. You are a large part of what's wrong with the FOSS movement. Shape up or shut up, and stop hurting the rest of us.
I own itburns.net. What should I put there?
Look, you can not put the code that you wrote originally out. You were paid to write it for somebody else. But you can re-write it and THEN put it out with a caveot. That is, did you sign a contract with the company saying that the IP belongs to them AND does this code compete against the company? The reason that I ask is that nearly all of us have signed contracts that says IP belongs to the company. In most states (I am assuming that you are in America; but that is not certain), that would be limited to IP that is relevant to the company's focus (though the contract may say that the company gets all your IP). If the code is within the companies focus, you would be screwed to put it out there. Of course, I do note that the company bought a similar code from somebody and put it in. That implies that your code is not in the companies focus.
The other choice is simply ask permission. It is sufficient to get your manager's permission. Of course, I doubt that he will go along with it or even ask up the chain. If the manager does not wish to ask up the chain, then you can always ask corporate legal. Once you do that though, be prepared to be watched. They may decide to take reverse engineering in a negative fashion.
I prefer the "u" in honour as it seems to be missing these days.
I own itburns.net. What should I put there?
He also specifically said his problem was with an agreement he signed that says they "own" everything he writes. I hate smart people not being allowed to build on the ideas they've had, so I rant. It's not like there's anything useful to be said to the guy anyways...
-1 Uncomfortable Truth
The company needs to retain copyright, but release the code under the GPL, and have their employee continue to work on it until it is so good that the competition has to steal it. Then they wait until their competition has sold their closed-source product with the stolen code into critical application areas of their customers, then sue the competition for copyright infringement.
Much, much cheaper than developing a complete product on your own.
At least, that's what any smart attorney for your company who bills by the hour would tell your company to do.
paintball
I used to be a programmer for someone else, and I too was under the same restrictions -- as one would expect. When I started my own company, I decided to change things a little bit. I don't like restricting my programmers from owning their own code because it does an excellent job of eliminating their passion and the loyalty that programmers tend to have for their own programs. I legally own my car, but it's my mechanic who really owns it. Same goes for programming -- the programmer is the one that really owns it, independent of the legal ownership.
So my employee contracts adjust that infamous clause to say something to the effect of: "any code entirely written by you is yours to use any way you see fit, forever, for as long as you don't restrict the company from using it". It amounts to the programmer granting the company unlimited usage rights, and does not stop the programmer from using it or selling it or doing anything else with it.
The big condition is, of course, that the programmer have written it alone. If two programmers work together on a feature, then neither gets it. But a) that's rare: I don't think that two programmers should be coding the same thing -- extreme programming doesn't count as that's more supervisory than co-programming; b) individual functions and algorithms are not complicated enough to warrant multiple programmers; and c) my product is the entire package, not the individual functions, algorithms, and subroutines; so if my excellent custom e-mail client has an amazing sorting algorithm, my product is the application, not the sorting algorithm; in cases where my competitive advantage is indeed the sorting algorithm, then I promise that not only did it not rest in the hands of a sole programmer, but that I too was a part of its inception and design.
You are an employee, therefor everything you write for them is considered "work for hire" and therefor owned by them en toto in just about every state and that is pretty much the end of it. The ONLY exception to this that I know if is by a contractual arrangement. I am a consultant and depending on the project I have written contracts where I own the code but grant the customer an unlimited license in perpetuity to distribute the code within their organization and have all the usual language that binds all "assigns and receivers" yadda yadda yadda
As another poster said, don't let that stop you from making the request. Make your case in writing, but up front and honest about the upside AND the downside. Start with your immediate manager and ONLY if that person says yes, proceed with h(er/is) backing. If the answer is no, then like the other poster said, thank them for their time, be gracious and don't push it.
Hey KID! Yeah you, get the fuck off my lawn!
Read your employment contract and check what it says about software you write yourself, not on company time, at night and on weekends, and whether your company has any rights or might have any rights to that code. It is obvious that code you wrote _for_ the company is theirs, but any future work you want to do to that software might be theirs, too. They probably don't care, until they start to care, and then this might cause problems. For example, you might get a new manager at some time, and he might not like your face, and look how to cause you trouble.
I was about to post the same.
If the code is abandonware, tell your company that you are willing to maintain support on your free time if you can get the copyright on this obsolete code. IANAL but if you get the copyright, I believe it gives you the right to change the license and it may be easier to agree on than an open source licence that most IP people ignore or dislike.
The Wise adapts himself to the world. The Fool adapts the world to himself. Therefore, all progress depends on the Fool.
Why do people always say these questions don't belong on Slashdot? This question is the perfect example of how Slashdot *actually* works vs. how people *imagine* it works.
The question: I want to open source some code I wrote for work that the company is scrapping.
Expected Slashdot answer: Just do it! Don't ask The Man, he'll only push you down... OSS FTW!!1!
Actual Slashdot answer, overall: It's possible, but you definitely don't have the rights to that code, and it's probably not in the company's best interest to give them to you... so it probably won't hurt to ask, but chances are you'll need to find another project.
Included in that actual answer: details from other developers who've been in the same situation, and comments from actual IT lawyers who work with these issues.
So -- wrong place?
Yes, none of this is "official" legal advice (though about as close as you can get for free & online), and if the questioner wants to try something risky, he should pay to get that legal advice... but now he knows what "risky" even means in this situation (he didn't know before) and has some idea of if it's worth pushing for it (probably not).
So: can we just hash out a new feature for Ask Slashdot postings? Have the editor just flag the question as "responses might contain legality discussions"... and automatically include regular disclaimer text saying "reminder: comments in this discussion are not legal advice." Or add a checkbox to the reply form, next to "No Karma Bonus" and "Post Anonymously", called "Include Not-Legal-Advice Disclaimer"?
Then we don't need to fill the comments with all of these disclaimers and warnings, and the actual lawyers don't have to worry about someone pointing back to their comment as "rendered legal advice" and holding them responsible for it being a complete and accurate answer. And (this is not a response to the parent) we can start smacking down the people who always post "Don't ask Slashdot - get a lawyer!" to every single Ask Slashdot story, looking for cheap karma.
Since it was not related to the primary product of the company, I simply asked if I could release it to the public. They agreed, so I slapped a company copyright on the file with a BSD-style clause and released it. Unlike you, I was not concerned about ownership - I just wanted to make it available. Now, this was at a startup run by engineers, so it was a pretty easy sell, but it's probably still worth a shot. Just ask - worry about the paperwork after you ask.
I'm a leaf on the wind. Watch how I soar.
Or, do not tell anything to your boss. Change the code; like changing names of the files, variables, functions. Add more features, cut some features and release it as open source.
I wrote a perl library for work that has nothing to do directly with the business we're involved in. (Imagine we make car parts (we don't), this library makes it easy to add text to PDF files (it does))
I felt that the work I'd done might help other people, and as we use many pieces of open source software, I felt it might be nice to "give back". So I asked the boss if there was any way they'd consider open-sourcing the library.
He went one step further and said not to bother putting the company name on it at all. He understood completely that as we use open-source software all over the place, opening something that wasn't business critical made good sense.
Maybe the OP's boss would see the same logic -- or even retain the copyright but GPL the code for the OP to work on in his/her own time.
There isn't even any question here. If you do work for an employer, then they have paid you for your labour. So anything you did while working for them is owned by them 100%. No question unless you have a different agreement.
The only way you can legally and morally open source this project is if they give you ALL rights to it.
You would have to have them sign something like...
"ABC Company hereby releases all rights legal and otherwise, responsibility and liability for Software X (see definition below) to John Smith from this date - Feb 6, 2008 forward. Etc etc."
A lawyer could help you with this... or you could write it yourself and they would have their lawyers look over it.
Either way, you aren't able to touch this without a signed release - then keep copies of this in several safe places forever... because you know damn well that when this becomes the next big thing (if), then they'll be coming after a piece of your pie.
Just steal the code and do not use your real name when using it.
Medsphere calls itself the "leading provider of open source software in the healthcare industry". However it sued its CTO (Steve Shreeve) for 50 Million dollars after he released code to the open source http://blogs.zdnet.com/open-source/?p=858 Eric Raymond and I attempted to help negotiate a "peace agreement" to no avail. Recently this lawsuit was settled in such a fashion that it leaves the validity of the release up in the air. Thats troubling when you consider the details involved. Remember that *none* of these facts made the release valid in Medspheres eyes. * Steve Shreeve was the Medsphere CTO when he released the code. In a best-world scenario, that is who you would want to get to sign your papers. If you merely got your boss to sign off on your release, what is to stop your company from saying that the two of you collaborated to rip off the company? * The CEO claimed in the lawsuit that he was not informed, even though he had received an email about the release several months before hand. Just because you "tell" the higher ups means nothing, you must be able to "prove" that they released the code. * Medsphere says it is an "open source" company, your company is a proprietary company. If Steve Shreeve cannot get a fair shake at an open source company what hope do you have? * Medsphere claimed that the Board of Directors should have been informed about the release. Under this logic, even your CEO is not enough. Strictly speaking this is not legal advice. If your company is loyal to you, then you do not need to worry about any of this, the problem is that companies are rarely loyal to their employees. The issue becomes not "how do I avoid legal problems" but rather " how do I put the company in a position that a legal attack would be laughable". Here is what I suggest. * do not use your company email for proof. Use a personal email address so that you will have access to the emails if your employment abruptly ends. * Get something in writing signed by at least two different people who are both above you in the organization. * Make a public announcement that you will be releasing the code and make sure that your boss and others see the announcement before making an actual code release. Of course you will have to prove that they had knowledge of this announcement. HTH, -FT
No, the worst that can happen is you gain a reputation for being a radical or a would-be pilferer, and gain the ire (or questioning eye) of management. You might start missing promotions and raises - even a more overt demotion of responsibility (with or without accompanying change in job title) isn't out of the realm of possible. A lot of this depends on your company.
Make sure you consider all the options (and the associated risk you're willing to take) before bringing up such things.
There is a lot of grey area with open source. Sometimes open source becomes closed, or has a closed fork. Companies compile open source in their closed source products. At least one Internet mail gateway vendor includes a closed source, proprietary version of Sendmail. If open source becomes closed, then why couldn't closed source become open?
That having been said, some battles are not worth fighting. Why make your employer suspicious about source code leaks?
It's very likely that they won't want the competition from your old code with their new product.
"It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
I bet you guys actually did real work in HS English class. Did you not learn how to properly plagiarize?
:-)
10 PRINT "Hello world."
20 END
*** BECOMES ***
13 REM \\\This code originally created by ME!
16 MESSAGE_PART_ONE$ = "HELLO"
17 MESSAGE_PART_TWO$ = "WORLD"
21 MESSAGE_CONCAT$ = LCASE$(MESSAGE_PART_ONE$) + " " + LCASE$(MESSAGE_PART_TWO$) + "."
25 MID$(MESSAGE_CONCAT$,1,1) = UCASE$(MID$(MESSAGE_CONCAT$,1,1)
28 OPEN "TXT.OUT" FOR OUTPUT AS #1
31 PRINT #1, MESSAGE_CONCAT$
33 CLOSE #1
36 SHELL "TYPE TXT.OUT"
39 GOTO 500
500 END
Guess what you open source. Let someone else make it efficient again, and it becomes original code and if it happens to look identical to what you had at the company, you have version differences to back up that you came up with it on your own.
It's a very BASIC skill, really.
See, in copyright law, it is perfectly fine for two people to have a copyright on exactly the same text, so long as they came up with it independently.
Now a patent is another ball of wax...
"They said I probly shouldn't fly with just one eye," "I am Bender. Please insert girder."
http://en.wikipedia.org/wiki/Work_for_hire
0100111001100101011100100110010000100001
Present it as a business opportunity for them. Essentially you should try to sell the idea of open sourcing the code. Try to make it look like an advertisement for the company etc. If it doesn't work, just forget the whole affair.
I had my boss sign that disclaimer when I worked at AT&T. It was not difficult.
He needed 5 seconds to read it, and then 5 additional seconds to convince himself that AT&T had absolutely no economic interest in an Emacs mode for mapping between Danish and US keyboard layouts. And at that point it was easier for him to just sign it, than to come up with a reason not to (or convince himself that he doesn't need to give a reason).
If you make it longer or more complicated than that, your boss will have to think about it and look for traps, and then it will be easier to invent an excuse for just say no.
It is a general hint for dealing with a bureaucracy (and any organization is a bureaucracy): Make it less work for the bureaucrats to make the decision that goes your way, than to make a decision that goes against you.
[disclaimer IANAL]
You may try to litigate the employment agreement but basically as it stands everything you write they own. Some states such as California have a "what you do on your own time with your own gear" exemption however that has been subverted by companies who offer to "pay for your internet access". The reasoning goes (and I know at least one person trapped by this) that they paid for your internet access, thus they "own" your network connection, thus any work you do that uses that network connection they also own under the terms of their employment contract. Ever since I had a friend burned by this I refused to have my employer pay for my internet connection.
You need to go to your boss and make a request for transfer of ownership and rights of the code you wrote that the company is now shoving in the proverbial bin. If they accept then you need to get that transfer in writing then you can safely open source the code. More likely they will refuse, citing some bogus reason like "but people will expect us to support it" or some such, but what they really mean is that if your code is successful and begins to dominate its little market segment they will look like buttheads for going outside for this other bit of code which cost the company money to acquire and time to integrate. No, it is so much simpler just to say no.
--ChuckThis is the type of thing the Software Freedom Law Center exists to help with. Visit our site at http://www.softwarefreedom.org/ or email help@softwarefreedom.org to ask for advice.
That's actually worse than the usual request for legal advice. Not only is he making the usual assumption, that Slashdotters are competent to give legal advice, but he's making an additional assumption, that he already knows the general legal issues. Both assumptions are wrong.
And that's why you don't go to non-lawyers for legal advice, or trust your own knowledge of the law, not when the consequences of getting it wrong are serious. People who consider themselves experts on the law, but haven't actually passed the bar, usually know just enough to get themselves (or anybody foolish enough to listen to them) in serious trouble. I speak from personal experience.
If the issue is a parking ticket or a small-claims action, then OK, play the amateur lawyer, it's not that big a deal. But if you're in a situation where the wrong move can cost you your job, make it hard for you to get a new one, cost you civil penalties, or even earn you jail time (all are possible if you're accused of stealing from your employer) then you need to be fucking careful. Put your ego away and go talk to an expert.
They original poster never said the company owned the new product; only that they are using a new product. If the company purchased a product (from another company) and is using that due to requirements, it's a different story. Suppose, as someone above suggested, the poster argues to open source the software and develop it on the side, while promising the software will be royalty free to the company forever. Eventually, it is conceivable, that the features of this open source software will satisfy these requirements, and the company will no longer need the product they purchased, thereby saving the company money.
Read the US Copyright Faq again if you don't believe me.
'Copyright does not protect facts, ideas, systems, or methods of operation, although it may protect the way these things are expressed. See Circular 1, Copyright Basics, section "What Works Are Protected."'
'What Is Not Protected by Copyright?
Several categories of material are generally not eligible for federal copyright protection. These include among others:
*
Works that have not been fixed in a tangible form of expression (for example, choreographic works that have not been notated or recorded, or improvisational speeches or performances that have not been written or recorded)
*
Titles, names, short phrases, and slogans; familiar symbols or designs; mere variations of typographic ornamentation, lettering, or coloring; mere listings of ingredients or contents
*
Ideas, procedures, methods, systems, processes, concepts, principles, discoveries, or devices, as distinguished from a description, explanation, or illustration
*
Works consisting entirely of information that is common property and containing no original authorship (for example: standard calendars, height and weight charts, tape measures and rulers, and lists or tables taken from public documents or other common sources)'
Apparently ideas cannot be copyrighted. Not only that but an employment contract cannot violate copyright law or the Constitution that copyright law is based on.
I know this because I used to work for a law firm for almost five years. They knew that ideas cannot be copyrighted, and told me to develop programs for them, even if they didn't own the ideas to them. Besides in my years not working for them anymore, I came up with new ideas to do things differently anyway that are not even based on the ideas I used when I worked for them. In fact, I have much better ideas than they could even hope to have that work better than what they had.
Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
And when you're facing the difference of not being able to feed your family tomorrow or taking the job, the job is going to win.
So as I said before, keep quiet about your cool ideas, and "innovate" them after you can escape that environment.
Serious? Seriousness is well above my pay grade.
My Dad used to work for GE and did some work for them that they elected not to pursue and when he retired, he wanted to see if he could do something with it. He had to fill out several forms and shepherd them through several offices, but it was all standard stuff at GE, and they released the project to him.
Obviously, the way GE did it involved some overhead expense, but that appeared to be true with anything GE ever did. So the question is, can you make it worth the company's while to go through that for you.
If you can get them to sign a simple release, as some here have suggested. But as others have pointed out, they are in no way obliged to do so. In my Dad's case, he wouldn't be competing with anything GE was doing, so they went along with it. They maintained the program because they thought it improved morale of their engineers.
Good luck. If they understand open source, there are a lot of good points you can make to convince them.
Early in my career as a software developer, I signed contracts with clauses that said the company owned all IP that I created while working with them, period. Eventually I cottoned on to this. Now, I always make sure those contracts are modified to only give the company IP that I create while working for the company, in the course of my work for the company (ie: during my paid working hours). So I can develop my own stuff in my own time, without my employers having any legal claim to it.
This wouldn't help you with the ownership of code you developed at work, that's another issue of course. There's also a sticky problem if you create open source code, then introduce it to your workplace (as you might with any other decent open source software, "here's a free thing that solves problem X"). What if it subsequently needs modifications for use in your workplace (fair use of paid work time if management agrees), and then that code is to be contributed back to the open source project? What if a fork is made and used by your employer, and they don't want to contribute back, and they pay you to create the new code, but you also want the same features in the open source product? etc.
The usual company "agreement" (sign or work elsewhere) says they own anything and everything you do while you work for them. Some may limit themselves to the area you work in or that the company deals in, but I've seen agreements that essentially any idea you while working for them is theirs. I tried to alter one of these and the pressure to conform was intense and not at all subtle.
Only boring people are ever bored.
... Don't.
If you signed a document saying they own it, you simply can not put it out in the open without their written permission. END OF STORY.
Now many folks here will probably offer up ways that you could work through that, but if you put it out without their permission you make anyone who works on or speaks about the benefits of open source code, look like just another fool... because businesspeople don't take kindly to developers posting their property on the Internet for all to see/use/whatever.
If it's not yours, it's not yours to publish. Period. Go to the boss, who will go to the lawyers, and get permission FIRST. And realize that you're probably "wasting their time" in their eyes, so do it wisely. If they're not interested, drop it.
The only reasonable thing you may get out of the discourse is the same thing many people have done -- ask the lawyers to amend your contract to allow you to work on open source products in your free time. They'll probably want concessions that stipulate that none of this coding can be done on company time, and that none of the things you create off-hours compete in any way with your own company's products. I got such a clause written into one of my NDA contracts with a previous employer, and when handled correctly.
Example: "I need help. I am trying to contribute my time to a volunteer software writing project, but I am bound by the terms of my contract that all software I create is owned by the company. Can you help me? This project I'm working on in my free time as a hobby in no way competes with our products and services."
But in your case you've described, you didn't have that first, and the code sounds like it may be older but working code that directly competes with your current product. In that case, you'll probably never get permission to post it anywhere, and doing so could get you fired. Your call, but don't make the rest of us out to look like idiots who steal code and post it in public. We did our homework and already worked on changing our contracts. If you didn't, leave that code where it is, and talk to legal before working on open source projects. It's not hard.
+++OK ATH
Probably the best option is to get the company to GPL the code, but to retain copyright ownership of it. That way you and others can use it outside of the company, even contribute code back to the company. If it becomes popular, the company can sell it under a commercial license as well.
I don't know the legal ramifications or how the GPL stands on it but it seems to me that if it's GPLed and others contribute code the code then can't be closed, they could sell it with a commercial license but the GPL would allow anyone else to sell it commercially as well.
FalconShould there be a Law?
Well, my company provides space and a small allowance for us to organize off-work activities. They get no tax breaks for that.
It also organizes charity work (they don't donate necessarily) providing facilities and equipment while they are unused. NO tax breaks there neither.
In the ultra-cynical times we live I know all the "reasons" that a cynic will argue about why the above activities are to enhance profitability.
I know better: I know some of the people supporting these activities, they are really nice and principled and am sure when they have these ideas they were not looking at the balance sheet.
IANAL but write like a drunk one.
I used to work for Novell. Now, I know they're an open source company, owning a linux distro and all, but I worked for several years on the eDirectory team. The database used by eDirectory was minded by a couple of my friends. Eventually, eDirectory moved off into the dark corners of the company, and the FLAIM database was still being maintained by these two fellas. They asked, and were granted permission to open source FLAIM. It's a great tool, and we had a lot of great response to this move. I myself used to work on the foundation layer for eDirectory - an abstraction and portability layer that we called SAL. I asked, and SAL is now open source. You can find both of these projects on the Novell forge site at http://developer.novell.com./
Novell is a pretty forward thinking company, and has a vested interested in open source and the open source world. Your company might be different, but as many have commented so far, it can't hurt to ask. Just present your argument in a rational manner - and it wouldn't hurt if you could present some benefit to the company for making your project open source. If they say no, well, they have that right. Don't get angry with them, but don't feel ashamed for asking either.
Having talked to MySQL about licensing the proprietary version, all I can say is you're full of shit.
Do you even lift?
These aren't the 'roids you're looking for.