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 a library that makes architecture to load data from server and display all controls in table layout. It works great but it have a lot of TODOs there. Also, this library in 99% created by me. I starts developing it in when I working in one company, continue developing in in other company - I just move code prototype to new working place. Library contain large amount of iPhone features/hacks/fixes that write again make no sense. All created iOS business applications by me, based on this library.

When library become needed in few projects simultaneously, I wanted to make library open source on GitHub but my Team Lead ask to create private repository for it. Library contains and uses 12 open source libraries.

  • So:
    1. Is it a good idea to make such library open source? It contains all my iOS development experience.
    2. How to argue my wish to make library open source for Team Lead?
    3. If I can't make this library open source - can I use it in other company? In contract, thats I work with, said that I assign all copyrights to employer.
share|improve this question

migrated from stackoverflow.com Mar 15 '12 at 15:29

This question came from our site for professional and enthusiast programmers.

add comment

5 Answers

up vote 11 down vote accepted

First, you need to make sure you can legally do this. If any of it qualifies as a work for hire, you need to get permission from any company that owns some of the copyright. This applies not just to the current company but to any past ones.

To answer your specific questions:

  1. Probably, particularly if you can generalize it to be useful for other people.
  2. Tell him you can get outside contributions. If it's really good, tell him the company can sell support.
  3. You at least need a license from any company that owns part of the copyright to those using the library (e.g. your next company). It doesn't necessarily have to be an open source license.
share|improve this answer
    
From previous company I got only prototype. From prototype (5-10 classes) in result library(150 classes) remaining only name of some classes. –  Yanny Mar 15 '12 at 15:39
    
1. Library like tree20, but with blackjack and other... I think - it can be usefull –  Yanny Mar 15 '12 at 15:41
    
@Yanny - It still sounds like a legal nightmare. –  Ramhound Mar 15 '12 at 16:31
add comment

Preamble

Even if that code is the result of all your knowledge about iOS please do not forget that you're paid for knowledge in your head not for the size of a .zip file in your usb drive.

Answer

I think you should check this with a lawyer (or some specialized forums) but at first sight:

  • To make or not a library Open Source can be a good idea (I think whenever possible it's always a good idea, I guess that's the reason we're all here on this site: to share knowledge) but it's your choice. Start reading something about Free Software Movement if you have any doubt. I don't want to start a debate here about this topic (even in the Open Source world there are a lot of different points of view).
  • Even if you write it by yourself probably you can't make it free: your employer paid you for that work, you used his structures and moreover your contract explicitly assert that he is the copyright owner. Imagine if people that wrote, for example, Microsoft Windows kernel release the source code in the Open Source community; do you think it's possible? Legally a company has the tools to protect from that. To do that you should provide the evidence that you did not write that software at work, that it's part of another personal/private project and you have been paid to integrate that library in the company product.
  • Even if everything above is satisfied you have to consider what you didn't write of that library. No matters if 99% or 50%, you can't steal someone else efforts. This is very important because it implies respect for their work (it doesn't matter how small compared to the total). Think that Open Source doesn't mean free of any rule; Open Source licenses grant rights to owners (and they decide what you can do with that software).

Ok, I'm not an expert about this and I'm not a lawyer so these are only few considerations about this topic but I hope they helped a little bit to understand what you can do.

share|improve this answer
    
Its likely really simple. It sounds like he worked on it AT work. If this is the case, what he has written is not his property, the company won't care if it on HIS personal USB device. –  Ramhound Mar 15 '12 at 16:32
    
I agree, he should rewrite everything to make it public available. –  Adriano Repetti Mar 15 '12 at 16:36
    
So, can I reuse some classes or whole Library in other office? Can it be tracked? –  Yanny Mar 15 '12 at 16:39
1  
Probably they don't even care to do it but strictly speaking it's not legal. –  Adriano Repetti Mar 15 '12 at 16:41
add comment

In management speak:
If it's not core to your activity outsource it.
Opensourcing a library is equivalent to outsourcing it for free.

share|improve this answer
    
Yes, but only if you make a large initial investment, can you actually exploit the free labor of the open source community. There's too many failed and abandoned open source projects out there. –  Baker Kawesa Mar 16 '12 at 1:49
    
@BakerKawesa hard to guess in advance potential contributor's interest in the project. Github won't fill up, anyway. ...or will it? :philosoraptor: –  ZJR Mar 16 '12 at 2:35
add comment

IANAL
If you generated the first part of the code in the first company on their time they can probably already have you prosecuted for theft of the prototype. Making it open source may lay you open to charges of theft from both employers.

share|improve this answer
    
Yep, theoretically you should get a waiver of rights from all the companies you worked for. I always found that part of being full-time employed pretty sucky. –  ZJR Mar 16 '12 at 2:40
    
This depends on employment agreements, the local laws, and how the code was written. If there's any doubt, I'd suggest talking to a lawyer familiar with the appropriate law. A single consultation is a whole lot cheaper than being sued and/or prosecuted. –  David Thornley Mar 16 '12 at 15:44
add comment

Do this:

  1. Encumber it and sell licenses (the old model) or open it and sell support (the new model)
  2. Don't assume that you own any work that you're hired to do (so tuck your good ideas away).
  3. Use your open source work to as it were, "earn your street credibility" (and massage your ego).
  4. Exploit the enthusiastic community for free labor (as in Oracle doesn't care about MySQL).
  5. Ask contributors to relinquish ownership of their works (to better screw the community later on).
  6. Use a commercially-friendly liberal license like Apache, MIT, or BSD (since GPL is bad for business)
share|improve this answer
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.