Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm developing a suite of software tools that I need help with which is why I want to release my software open-source. People should be able to use and modify my code as they please while contributing to my project. Ultimately, the tools that I develop will require a paid commercial license, but may be free to those for non-commercial purposes. This software suite will consist mostly of website plug-ins. Other tools I develop open source be used for consulting.

What would you suggest as a license?

share|improve this question

closed as primarily opinion-based by Snowman, MichaelT, GlenH7, gnat, TZHX Apr 19 '15 at 10:00

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

You could have a look at companies that apply a similar licensing framework. Two examples: db40 (dual license at the top right: GPL vs. commercial license), mysql (community edition in GPL vs. commercial license). You can then check how they accept contributions from other parties to their source (copyright). – assylias Feb 11 '13 at 9:51
up vote 1 down vote accepted

Licensing some part of the code under open-source license means that this part will be always open-source. Then you can't control how the people will use it. If you choose copyleft license, you only can be sure that no one will be allowed to use this code for closed source projects. If you choose some permissive license - then everyone will be allowed to create whatever projects he wants based on the released code.

If you can keep all copyright for you (and this can be done only by additional agreement with the contributors) then you (and only you) can use this open source cpde for closed source projects. Also, later you can decide to stop releasing the new versions under open source license. (but not the already released versions) - in this case (if your project is really attractive) the project will be forked and all contributors will move to work on the open source fork.

share|improve this answer

Disclaimer: talk to an attorney. I am not an attorney.

You are contemplating the need to be able to dual-license your software someday down the road. The authority to licence something is derived (directly or indirectly) through owning the copyright to the materials.

Therefore, you NEED to get copyright assignments from all contributors, or at a minimum, have them sign an agreement which gives you the unlimited right to sublicense/relicense the materials.

As for the open source part of the dual licence, that is your pick. If you wish to prevent it from becoming part of a closed-source product, then you should pick a viral licence like the GPL. If you are not so worried about that, then the BSD or Apache license would be quite suitable.

In summary:

  1. If this matters to you, consult an attorney
  2. You need to have the legal authority from the copyright holder to licence the software as closed source. This means either they transfer the copyright to you or you are granted liberal rights to this.
share|improve this answer
Try considering applying multiple licensing schemes. Contacting to an attorney should be necessary if you want to get the licensing straight in the legal manners. – jj1bdx Feb 11 '13 at 9:22

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