1

I am developing a framework, and want it to be dual-licensed:

  • free for non-commercial use; if someone improves the code, then the only way to publish it is by a pull request on Github (he cannot make his own "branch" and develop it basing on my code). Then all the copyrights of the modification are acquired by me.
  • paid for commercial use

Do you know maybe adequate, common licenses?

  • 3
    You should read more about open source and free software. Your model seems to be inadequate; in practice, it is very likely that nobody will care about your framework. – Basile Starynkevitch Jan 30 '16 at 7:15
  • 1
    I am up-voting this. It seems to be a very common misunderstanding on what open-source can do, based on desire to maintain control/ownership of a project. IMO, the site would benefit from a canonical Q&A for this type of question, to handle duplicates. The question text does not have any baggage, and the answers here seem pretty good to me. – Neil Slater Jan 14 '17 at 12:12
10

There is no open source license that allows you to do this.

The fact that you're looking to prevent people modifying your software without going through you restricts some of the freedoms that are essential to open source. That's not necessarily a bad thing, but the license you want isn't an open source license.

Additionally, if you're looking to be open source, you can't discriminate based on fields of endeavour, or commercial viability, etc. that means you can't make it free for personal use and paid for commercial use using an open source license.

5

It is not open source software anymore, and your code is very unlikely to be often used (unless you build some way to sell it otherwise, and that requires a lot of time and money in marketing), see this. Probably, nobody will care about your framework. BTW, you are quite unlikely to get contributions if you are a commercial entity requiring a copyright assignment (notice that the FSF requires a copyright assignment, but it is non-profit, and that assignment is a big stopper to occasionally contribute to GNU projects).

I know an example (academically interesting) of such code: the CompCert project (a certified and proven C99 compiler). For academic (or personal) usage, the source code is freely available. But commercial licenses are available from AbsInt.

However, INRIA folks working on CompCert never claimed that it is open source software. AFAIK they don't want (or don't care about) external contributions (except perhaps by few selected academic partners).

For a framework or library, I would suggest to use the GPLv3 (not the LGPL) license. It is then restricting the free software to free software projects (since a GPLv3 library cannot be linked to a proprietary software without additional permission), but you won't own the improvements contributed by others.

You probably should hire a lawyer, and of course I am not a lawyer (and details depend upon the country, legal system, etc...)

1

You want a closed source license, with the provision that any changes have to be shared with you giving you full copyright ownership (or at least a license to use it as you see fit). Not open source at all. Ask a lawyer expert in the relevant area.

Yes, this can work. But that means you need a huge community of knowledgeable users (and a lot of handholding for those who screw up futzing around with the code, or just want to come up to speed), people doing the vetting/cleanup/integration of the patches by the community. Only very few users do go and add features, most of the time those will (at least as you get them) be extremely narrow-focused, scratch-my-local-itch type changes. It means a very diverse user base, and that in itself is a huge problem for any particular package.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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