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.

I have been working on a framework for years. It is solid, extensive and tested. It is exactly what the employer needs for the foundation of its new project. There is no point in rewriting the whole thing from scratch or using a competing open-source alternative.

My desire is to give a free, non-exclusive, non-redistributable license to the employer for access to the binaries and sources, so the employer can change the code. I understand that the employer cannot depend on closed-source code so I am willing to give my sources to the employer for free (the equivalent to two years of my work for free). I just want to protect my copyright and prevent the employer from giving the code to someone else. I believe many programmers will find themselves in this situation when starting a new job.

However, making it open-source is out of question for a variety of reasons that do not matter for the purpose of this question. I want to keep the source closed, but provide a free copy under a non-exclusive, non-redistritubable license.

So my questions are:

  • When do I bring it up that I have a framework that I would like to use? Probably before I take the job because if they don't want to use it OR don't accept my license I am not taking the job.

  • What kind of license should I use to make this deal with my employer?

  • Any other considerations or comments?

UPDATES:

  1. One thing I can say is that there are other companies using the software (with licenses) so I cannot make it open-source or simply transfer the copyright to my new employer, which is what actually happens if you use it in your job without having this discussion.
share|improve this question
    
If you give the sources and binaries to the employer to "own and change", they can do what they want with it. And why would you be willing to work for 2 years for free? –  JohnP Aug 2 '13 at 22:16
2  
@JohnP: That's a pedantic distinction. You can change GPL'd source code, but that doesn't mean you can do what you want with it. I think the intent is clear. –  recursive Aug 2 '13 at 22:19
1  
@asyncio So in other words you technically could open source it, but you don't want to open source it because you want to make more money off it? Its just good to clear what is really happening here as this may change how your prospective employer will see the situation. (This particular fact wouldn't look good, if it was me. I would worry you would try and bill me later.) –  James Aug 3 '13 at 17:34
2  
@asyncio You asked this question presumably because you want to know how the business will react when you present them with this situation? This is how they will react. They will worry about every detail - because they have to. Personally, I couldn't care less about your bank account and I'm carefully not stating my very different personal opinion because it's irrelevant & I don't see any point in starting a fight :-) But I won't comment again - instead you should look at everyone's reply, note that everyone apart from you has reservations and think carefully. –  James Aug 3 '13 at 20:45
1  
@asyncio As should be obvious by now, you've left some important elements out of the question. And quite frankly, while you've asked some very basic business questions, you don't appear to want to hear the answers that those of us with business experience have to share. While I disagree with some of what James says in these comments, he is absolutely correct when he says "This is how they will react. They will worry about every detail - because they have to." –  Ross Patterson Aug 4 '13 at 14:23

3 Answers 3

up vote 2 down vote accepted

As the use of your framework is a condition for you in accepting the job, you really must discuss this before you (even verbally) accept any kind of offer.

As to the licensing question, the fact that you give a 'customer' access to your source code does not imply that you must make your project open-source. It is entirely possible to provide the framework (including source code) to your employer under the same license as you used for the other companies. Unless the license explicitly permits it, they can read the source code, but not modify or re-distribute it.
You can also choose to give your employer a more relaxed license that allows modification, but not re-distribution.

As for other things to consider:

  • Would you give them a license if the want your framework, but don't offer an acceptable job for you?
  • Have you considered the possibility that you make a nice enhancement on behalf of your employer that you might want to distribute also to your other customers? Doing so without consent from your employer might land you on a legal slippery slope.

Instead of entering into a standard employment contract and bringing your framework along, you might also consider some more unusual constructs. For example, you enter into two contracts. One is an employment contract for the work you will do for your employer, with the difference that any work you do on your framework on request of your employer is excluded from the terms of that contract, but your employer is required to give you the opportunity to perform that work under working hours. The other is a service contract for your framework under which you perform the work excluded from the regular employment contract.
The advantage of such a construct is that it remains clear that you are, and remain, in full control of the framework. In return, your employer gets their requested updates fast (as you don't have to do it in your spare time).

As this all is a rather uncommon situation, I strongly advise you to seek proper legal advise.

share|improve this answer
    
This is TOO complicated. It is like discussing marriage with a girl in the first date. There is a gap that needs to be filled so that employees don't find themselves giving up their whole life for the employer for free. Clearly things that you have developed PRIOR to employment and you now want to bring to the table should NEVER belong to the employer. This is INFRASTRUCTURE CODE. It is not a PRODUCT. It is a framework. –  asyncio Aug 3 '13 at 16:54
    
@asyncio: If your framework is something usable, then it really is a product. It might not be a complete, finished, product, but it is as much a product as a library would be. –  Bart van Ingen Schenau Aug 3 '13 at 17:07
1  
@asyncio: An employer can't claim ownership on anything you wrote prior to your employment for them. In that way, the framework in its current state is yours and remains yours. The question becomes complicated with any updates you create after the employment starts, unless it is fine with you that those might belong to your employer. –  Bart van Ingen Schenau Aug 3 '13 at 17:14

As a potential employer, this would set off a lot of red flags for me.

  • Proprietary frameworks are typically significantly less used, documented and tested than their competition. More eyes = more bugs found/fixed, more documentation written, etc.
  • It shows you oppose standardization in your community. What's wrong with the existing frameworks? You are assuming yours is better. Unless you're hiring for a lead role, this is usually a negative for me.
  • You're already causing legal problems for you and the company. I'd only consider this if it was MIT or similar licensing (I can do whatever I want) - anything else is severely limiting in the future. Nobody wants to deal with IP issues, and creating them at hiring-time is a horrible idea. Considerations: what if the company or product changes ownership? What if they try and raise money? If you've already left, there is a potential law suit waiting to happen.
  • It suggests you like to hoard knowledge and do things that better you rather than the community or your company. If you leave the team, are they left in a tight spot?

Typically, these types of frameworks are useful for you, but actually detrimental to the technical team working with it -- no matter how good it is.

share|improve this answer
3  
Upvoted. I'm not saying I agree ewith everyone of these points but everyone would be a concern and I'd be asking careful questions. Also "prevent the employer from giving the code to someone else" - I would worry that somehow this would prevent me selling software build using the framework to my customers in some unspecified way in the future and I would demand a full license to do whatever I wanted with it before I even considered it. (Sorry to sound harsh but that's my honest answer) –  James Aug 3 '13 at 7:46
4  
@asyncio Actually, no, it isn't obvious without the licence saying so. I would, personally, hire a lawyer to write a licence that did what I wanted, then hire a second to confirm. –  Vatine Aug 3 '13 at 7:53
4  
If the company raises money, merges or gets acquired, they need to clear all of their intellectual property before anything can happen. It is a big deal. It puts them at risk of being sued 10 years later when they are worth 100x more. –  Adrian Schneider Aug 3 '13 at 17:11
3  
@asyncio Just because right now you are being all reasonable about only wanting to protect your ownership, that doesn’t necessarily need to be the case in 5 years. If there is an opportunity that you could sue them later if they handle the license differently, then it’s definitely a very high risk to accept it in the first place. So yes, it really is a big deal. –  poke Aug 3 '13 at 17:29
2  
+1, "You're already causing legal problems for you and the company" - bingo. –  GrandmasterB Aug 4 '13 at 2:32

If you won't take the job if they won't use the framework then you must bring it up before accepting an offer.

If I was the company there is no way I would use your code without a license that allows the company to do pretty much anything it wants to with the code. Restrictions that seem reasonable to you now might cause problems for the company in the future as business needs change.

The BSD or Apache license might be acceptable to the company but it sounds like that might be more free than you would like.

But, in any case, because money is involved (directly or indirectly) I would recommend you get a lawyer involved in the details of the negotiation if it gets that far.

share|improve this answer
    
Things don't need to be that complicated. I guess it depends on the style of management. Imagine if open-source software were that complicated. It is obvious that I don't want to cause any trouble to the company, i just need to protect my previous work and re-use it. A small license document would be signed. That's it. I bugs my mind how there is no such standard for this procedure in the market, to protect private IP. –  asyncio Aug 2 '13 at 23:56
1  
There are standards. They are called license agreements. –  recursive Aug 3 '13 at 0:47

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.