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.

Let's say I start and develop some project under open-source license, and accept some community contributions. How shaky is the ground I stand on if I decide to take the project commercial and closed-source (or split license)?

This question doesn't directly address the issue of a project with community contributions, which feels like different territory, at least as far as ethics are concerned. Legally, this might be iffy as well, because I'm not sure whether contributions fall under my copyright, or whether the contributor hold the copyright to the part of the project he added.

Am I safe (ethically and legally) as long as I'm up front with the possibility that I may take the project commercial in the future?

share|improve this question
5  
Largely depends on the type of license of the project - if it's GPL you're kind of stuck. –  JohnL Aug 9 '12 at 14:58
    
Remember to prefix every answer with IANAL –  zzzzBov Aug 9 '12 at 19:50
1  
Ethically or morally? Or both? (-: –  hippietrail Aug 9 '12 at 19:52
2  
You could avoid a lot of pain by deciding which parts of the project will be your "secret sauce" and which won't, then developing the latter open source and leaving them that way. That cuts your workload and lets you keep the secrets to yourself. –  Nathan Long Aug 9 '12 at 20:34
    
I don't think you can change a project under license like the BSD after you licensed it. The thing you can do is also license under another license, but the project will also have BSD license. –  Pieter B Aug 16 '12 at 16:42

7 Answers 7

up vote 22 down vote accepted

In general, community contributors would retain their copyright to the code they contributed to the project. They license the contribution to you when they contribute the code. If you want to retain the possibility of changing the license terms in the future, you would generally need contributors to assign their copyright to you (either personally or a corporate entity you create to own the copyrights for this project) or the changed terms would need to be compatible with the new license terms. Of course, if you require this sort of copyright assignment paperwork before you can accept a contribution from the community, it is much less likely that the community will decide to contribute and you'll have to do a fair amount of work getting the legal forms in order before accepting each contribution. Plus, there is a strong chance that your project will get forked if and when you decide to change the license terms. It strikes me as unlikely that a new open source project is going to get a lot of contributions from the community under those circumstances.

It would generally be easier if you licensed the product under the split license terms initially or if the initial license terms were compatible with a future closed-source product. Code that is under the BSD license, for example, can be incorporated into a commercial product at any time so if the project and contributions are under the BSD license, you could easily release a commercial version of the same product. Your intention (or option) to produce a commercial product, though, will likely decrease interest in making contributions to your project-- most open source developers are uninterested in making unpaid contributions to a commercial product.

Of course, as with any legal issues, you'd want to talk with a lawyer rather than relying on a forum post before taking any sort of definitive action. You'll almost certainly want that lawyer to draft the copyright assignment document you'll need people to sign and you'll need to discuss your plans for the future with the lawyer to ensure that everything is set up correctly.

share|improve this answer
    
Contributor retention of copyright seems like it would be problematic then, even with something like split licensing. Contributors could potentially decide that they no longer wanted to permit me to use their contribution commercially (or at all, i suppose). Am I off base in that conclusion? –  Chris Bye Aug 9 '12 at 18:33
5  
@ChrisBye - When a contributor contributes code, they are giving you a license to use it under the terms of the project license. Just as you can't retroactively prevent people using the open source version of your product, contributors can't prevent you from using their contributions under the terms they originally contributed them. Making subsequent changes to the license terms is where you have problems because you have to go back and get everyone's permission. That's true even for something relatively minor like going from GPL v2 to GPL v3. –  Justin Cave Aug 9 '12 at 18:39
    
That makes MUCH more sense. (I'm about to tread the "should be a new question" line) This suggest to me that if I were to offer split-license from the beginning, (as suggested in comments on simon's answer) I would probably have to deal with copyright assignment. –  Chris Bye Aug 9 '12 at 18:46
2  
@ChrisBye - Offering the split license from the beginning is a much easier proposition from a legal standpoint-- it is much harder to change the license terms in the future than to specify the license terms you eventually want initially. Of course, that also means that it is likely to be harder to attract community contributions since most open-source contributors aren't interesting in making unpaid contributions to a commercial product. –  Justin Cave Aug 9 '12 at 19:04

Also, you may want adopt a model similar to Redhat's. Building closed source plugins but leaving the core open source. This can lead to better innovation as well since you will still get community support for a product that can benefit the open source community. Offering training, consulting, and support can also sweeten the deal for you.

share|improve this answer

Legally, if you use a license open enough that anyone involved can take it commercial I would imagine (not being a lawyer) that you would also be able to do so.

Ethically you would have a stronger obligation. You would have to be very open and clear about your intentions both initially and over time as your plans change.

share|improve this answer

Any contribution I make to your project remains my copyright unless I assign it to someone else. Being the copyright holder means I get to decide what licence my work is available under.

So licensing is a related, but separate, issue. If I contribute to your project, I should be agreeing to release my work under the project license (or perhaps a compatible one).

Many open source licenses would not allow you to close the derivative source later, but some will. If I understand correctly, none would allow you to close the current (open) code base, so that is also something you would need to consider.

So you'll either need to start with a license that lets you close future development, or have an agreement to that effect with all contributors. Best to take the latter up with a lawyer before there are significant contributions, and to be very up front about what you are trying to do.

share|improve this answer
    
Temporary -1. Your answer is confusing. By contributing to a project, you're submitting to the terms of its encompassing license. Are you implying otherwise? –  Craige Aug 9 '12 at 15:45
1  
@Craige my understanding is that ownership of copyright and licencing are separate issues –  jk. Aug 9 '12 at 16:30
    
@Craige, no I am not implying that but I will edit to make more clear. Copyright and licensing related, but not the same. –  simon Aug 9 '12 at 18:31
    
+1 And -1 to @Craige, with all respect. jk is correct here and you are wrong –  MarkJ Aug 9 '12 at 18:32
1  
@Chris, the split-license projects I have seen work through copyright assignment. If I hold the complete copyright to a project, I can offer it under as many licenses as I choose. –  simon Aug 9 '12 at 18:39

Majority of OS projects seem to have a commercial arm attached to them, like an Enterprise version. Basically, they offer SLAs, support, etc. I think if the project is open source, fundamentally you can't just close it. You may be able to make future versions closed source and rename them, or make addons closed source, but the actual projects as far as I understand must remain Open Source. I think the enterprise is a better way to go though, you still get open source benefits, and can generate revenue.
Out of curiosity why do you want to close source your project?

share|improve this answer

If the project is licensed under one of the more permissive licenses (BSD, MIT, Boost or Apache are the ones that I know allow this) then legally you are allowed to distribute object code and have no requirement to provide any modifications you have made to the source code back to the community. You can also license the derivative work under a different license. Please note that you still need to include the license text as per the license requirements.

Whether this is ethical or not is something that is quite controversial. I tend to think that if a developer licensed their code under one of these more permissive licenses then they want the software to be used in both open source and commercial projects. If they didn't want commercial use of their code then they should have licensed it under the GPLv3.

share|improve this answer
    
This is why, IMO, strong copyleft such as GPL is better than hippie do-as-you-wish BSD, MIT, et al ;) –  Andres F. Aug 9 '12 at 18:58
1  
Even if the project has a non-permissive license, it may be possible to close it if contributors have assigned copyright to you. Some open source projects do require contributors to assign copyright, although usually do that they can change from one license to another (e.g. when GPL is updated) –  MarkJ Aug 9 '12 at 19:22
4  
@AndresF. not necessarily... if a TCPIP stack hadn't been licenced under BSD code then Microsoft wouldn't have used it in Windows NT and we'd all be using MSNetwork right now :( Don't write the benefit of the BSD licences off just because someone can make money from it. I like to think BSD licence is best for libraries you want to become a standard, and GPL licence for products. –  gbjbaanb Aug 9 '12 at 22:03

If you want to change the license of your project either you requested all contributor to sign a "Contributor agreement" or you have to request permission of every one of the contributors.

which is quite difficult and the reason why the Linux kernel is still under gpl v2

share|improve this answer

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.