Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Assume that in my free time I have developed library X before signing a contract or being employed by company A.

I then sign a contract with company A and begin working. It becomes apparent that library X will be incredibly useful and save the company lots of time and money.

What is the industry standard practice in this area in terms of bringing this code into the company? Would it be possible to license library X to company A?

share|improve this question
add comment

4 Answers

up vote 10 down vote accepted

If the library is your work, and you still have rights to it, you are free to sell it to anyone that wants it. If A wants it, and is prepared to pay the asking price for a license, its a valid transaction.

Where these can get tricky is where you bring IP you gained working for A and put it into X.

Make sure that the contract clearly specifies who owns rights to changes made at the request of A, and other changes made to X, subsequent to the contract (an subsequent to your employment with A). Also come up with rules for when you are allowed to work on X (if in company time, then the work typically belongs to A). Make sure you cover what happens if you and A part company on less than amicable terms.

See a lawyer.

(Disclaimer, I am not a lawyer)

share|improve this answer
6  
+1 for 'sell it to them'. –  Steve Evers Jun 8 '11 at 2:11
5  
Sell them a license. –  Dan Ray Jun 8 '11 at 12:30
add comment

Make your lib opensource! I don't know what CC license is exactly appropiate, but it may sound like "you may use it in any product, even if you sell the product, you shouldn't ask money for the lib itself, you don't need to mention authorship, and you can change it". So, A (your employer) will be happy with it, and you too, when you move to B.

share|improve this answer
7  
He may wish to actually make some money from his private work. Money is good. –  dave Jun 8 '11 at 6:23
    
Then work on some private project; use the opensource library to perform it quickly. I think a library is something you can't sell alone - and the opensource covers that. –  ern0 Jun 8 '11 at 11:54
3  
"A library is something you can't sell alone"? Are you serious? There's an entire industry that sells third-party components "alone". –  John Saunders Jun 8 '11 at 13:35
add comment

This is not only a licensing problem - which has already been adressed by the other answers - but it possibly creates also problems within your team.

Bad case: The library you created is not known to anybody but you, so nobody but you can estimate how useful it is. Now you go to your boss and propose to buy it, from you, for a relatively high price. Somehow you manage to convince your boss to buy it for USD 2000, but then your coworker argue that it isn't as good as you have asserted; to make it worse, someone finds a commercial lib that does the same for USD 250,- and an open source version the does mostly the same for free with a liberal license that allows usage in your project. In the end, it looks like you have tricked to boss to buy something too expensive from you for your own benefit, so your boss will never ever again listen to your proposals.

For that reason, I'd be extra careful that your peers unanimously confirm the big advantages of using your lib before you go to your boss. Otherwise, the chances of running into political troubles probably outweight the advantage of getting extra money for your lib.

share|improve this answer
2  
+1 Moreover, some people might suggest that you applied for this job only to sell your stuff. –  mouviciel Jun 8 '11 at 9:41
    
I think what Ammo was saying is basically don't crap where you sleep. –  Ramhound Jun 8 '11 at 12:52
    
There is a possible conflict of interests between when you sell something and also trigger the acquisition of said something. –  user281377 Jun 8 '11 at 13:35
add comment

If it's some seriously wicked code that you own the rights to completely, then it's very reasonable to license it to the company.

If it's just something neat-o that you developed in an afternoon, I wouldn't bother. Just bring it to the boss and get some kudo's and high-fives. They will remember the extra effort later on.

share|improve this answer
    
If you give it to the boss make sure to put a OSI approved license on it so you don't loose the rights to it. If they plan to include it in a product, the BSD/Apache license it good. –  Johan Jun 8 '11 at 6:52
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.