5

I am trying to choose the right license for a project that I would like to release as open-source later this year but I am unsure as to what the most appropriate license would be. I was originally thinking of the GPLv2 license, but I don't think that it is what I am after.

I have been working on this project for over a year now (on and off) for my company. I figured that it would be great to give something back to the community and would like to release the project as open-source, but I want to retain full custody of the project. My company will be providing both free, commercial and community contributed content (perhaps with GitHub).

Here is basically what I am after:

  • Original source can be distributed and re-distributed (verbatim) both commercially and non-commercially as long as the original copyright information, website link and license is maintained.

  • License of original source cannot be changed.

  • Original source can be modified and distributed (commercially & non-commercially) for a specific application, but cannot be re-distributed without written consent from the original author (me). For example, a developer could change the source for their client, but they cannot redistribute that change. The developer may, however, choose to submit their modifications for integration into the original source.

  • Themes and extensions must be covered by an open-source license. It must be possible for any developer to modify, distribute and re-distribute all themes and extensions (commercially & non-commercially) should they choose to do so.

I am aware that it is unlikely that there is a license that will cover all of these points, but something along those lines would be fantastic. I have put a lot of hard work into this project and whilst I am happy to share it, I do not want to loose it to a big company who has loads of money to splash at it.

Lea Hayes
  • 1,043

5 Answers5

12

Hey, This weekend I was having exactly the same constrains that you want. After doing some research, I chose the MIT license for my open source project as well. I use the Open-source-license (OSL) flow chart to weed out the ones that I didn't wants. The only thing that might be a concern is that MIT license is less restrictive than GPL, but it allows people to sublicense. On the other hand, you want people let you know about a change for redistribution, so I think EPL is what you are looking for.

Good luck!

Open-source-license (OSL) flow char

Armando
  • 1,736
6

Not sure if this matters for you but I think a licence that would do all those things, and more specifically:

but cannot be re-distributed without written consent from the original author (me)

might not meet the Open Source Definition. Check out the section about 'derived works'.

Gyan
  • 2,835
3

I would say the GPL (or AGPL) is probably the best license to cover most of those points. There's no existing license that covers all 4 entirely, and it's questionable whether you can actually enforce all those points, since they don't quite add up. For example, you want people to push modifications to you, but you still want the right to determine who can redistribute the work. This can only happen if you require that all committers hand over copyright of their modifications to you. This might dissuade some potential committers.

On you're third point, you are worried about other's redistributing, but you want people to submit their changes back. With the GPL, these are effectively the same thing - because distribution of modifications can be taken back into the main branch by you anyway. It is required that anyone distributing a modification does so in source form.

As for requiring that all extensions be redistributable, this conflicts with the idea of being used commercially (assuming you mean in proprietary software. It does not restrict commercial use though, provided the source is still distributed).

Mark H
  • 2,538
1

See the CKEditor licensing model:

http://ckeditor.com/license

They use three ones: MPL, GPL and LGPL, and it seems that it satisfies everything.

If you want to retain the control of the project, Creative Commons seems to be the only way:

http://en.wikipedia.org/wiki/Creative_Commons_licenses

Use Share-Alike, Attribution - CC-BY-SA.

1

For fork-prevention, the QPL might meet your needs, but it has been retired for some time now, its restrictions made it very unpopular (and GPL-incompatible). I don't think any license could both meet all your requirements and be considered a proper open source license.


The GPL is IMHO your best bet, although it is both more and less restrictive than you require. But please add open source exceptions, a vanilla GPL is not appropriate for an open source project.

Where the GPL is too restrictive, you could add exceptions to grant additional permissions. See the GPL linking exception or the mentioned open source exceptions for how this is done. I believe you would need exceptions to allow commercial use (use and distributions with closed source code that is not covered under the GPL) under some conditions, but specifically not for themes/extensions, which you should clearly define.

I don't see a way to prevent redistribution of modified source under the GPL. The GPL reqires that the modified code to be covered by the GPL, of course.

Waquo
  • 2,561