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.

Some time ago I wrote a BlackBerry application. I find that I now want to release it under an open source license. I am strongly considering the GPL v3 license. All the code is mine; there are no third-party libraries (with the exception, of course, of the all the standard BlackBerry/Java libraries that I am "linked" to).

This is the first open source project that I will be maintaining or starting. I find myself a bit lost about how to handle contributions. It seems to be more-or-less standard to expect some kind of copyright assignment from contributors so that the project has a unified copyright. I could either assign all copyrights to the FSF or assign all copyrights to myself.

How should I handle this? The most important features of whatever implementation I use are:

  • Protects me from being sued for any unintentional violations of the GPL in my own code
  • Protects others' contributions from being misused by me if I become evil
  • Encourage others' contributions to the project (or at least does not discourage such contributions)

For assigning all copyrights to myself, the most promising strategy for copyright assignment seems to be one based on Oracle's contributor agreement, located here: http://openjdk.java.net/legal/oca.pdf. However, I feel like expecting any contributors to sign a legal document, providing me with fairly personal information is asking for a lot, especially given that my project is very small.

Should I proceed with requiring contributors to sign a document similar to Oracle's agreement? Should I just accept contributions and cross my fingers that I won't have any trouble down the road? Is there another strategy that I should employ?

share|improve this question

2 Answers 2

The main reason for asking for copyright assignment is that it gives you the right to change the license on your code. This might be desirable if you later want to sell the same code under a proprietary license.

Trolltech did that with great success for many years, by releasing Qt under the GPL while selling the same code with a proprietary license to commercial developers who wanted to keep their source private.

However, sometimes companies ask for copyright assignment for nefarious purposes. The code that now drives Sourceforge was once GPL, but the main copyright owner, at the time VA Linux, asked all the contributors for copyright assignments without telling any of them that they were doing so so they could close the source completely and sell the code as a purely proprietary product. That's just plain wrong.

If you don't plan to ever sell your code under a separate proprietary license - known as "dual licensing" and you think you will be happy with the license you initially choose, there's not that much point in asking for copyright assignments.

share|improve this answer

I would not recommend GPLv3 if you wanted contributions back. If we take a pragmatic look at the license it discourages any commercial company from using your product. And commercial companies have the time and money to put into something that will help them in the long run. Whether this is a legitimate reason for companies to be discouraged doesn't mean there isn't a stigma with GPL . I don't see many (or any) Apache v2 lawyers floating around but i've seen my far share of GPL ones.

That being said, it is not unreasonable for you to have any contributors "sign" a page stating they release their contributions under the same license you are using. Many OSS projects do something similar.

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.