Dual licensing can capture profits others generate using your open source project, but a few pitfalls make it tricky to get right.
Here's a quick thread (and blog post) summarizing my 10+ hours of research into popular projects that implement it (MongoDB, Qt, and JUCE):
Conversation
Replying to
Are there "single" licenses (or license templates) that allow this (getting profit from commercial use)? Do they save from all the trouble with CLAs (sending a PR == agreeing to the license)?
1
Replying to
Maybe, but those licenses wouldn't be "open source" if they exist. It would be proprietary software. But you are right that it would save CLA trouble. There would be no relicensing.
1
1
Replying to
The code still will be open source and open to contributions, even though the licence isn't "open source", so who cares :) Thanks for the answer! I wonder if there are licenses like this that I can use.
1
Replying to
The nuanced bit is that even the contributor wouldn't be able to freely use their own code because they are subject to the proprietary license. and technically you, the project owner, are also subject to it too, without a special self-exemption
1
Replying to
The license I have in mind would allow all contributors and everyone else to use the project or its parts for non-commercial purposes. But when it comes to commercial use — only the project owner can give permission. Including in exchange for a fee. Just thoughts, IANAL.
Replying to
That's what I mean– the contributor cannot use their own code freely in the sense that they cannot use it commercially. Although I guess the same is effectively true for GPL too, although it's not so explicit.
1
It's not usually a code license, but the Creative Commons NonCommercial might work for this.
Facebook Research does this for some projects on github which makes these projects are technically not "open source" :)
1

