I’m working on an open-source project and people can use it and modify it, no problems here. The only thing that I don’t want to allow is that people exploit it and earn money using my work (because that’s what my plans are!)
What kind of license should I use to cover these requirements?
4
The standard solution is dual licence. Release under GPL, retain the original copyright and when you’re ready re-release under some different licence. Profit!
However, if you want to stop people from using your code to provide a commercial service, you will almost certainly need a custom licence. Likely terms will include:
- free for private and non-commercial use
- no rights of redistribution
- no rights of sub-licensing
It’s not easy to stop people from making money (if they can). You’ll need a lawyer, but you’ll also have to be willing to sue people.
I think I’d focus first on making something good enough that people want to steal it, and then making it better but only for your customers.
1
The title of the question says you need a small(??) commercial addition while in the question text you say that you don’t want to allow people to earn money using your work. This seems to be contradictory.
Here are some ideas that can help you:
- If you are a creator you have the copyright on the code then you can publish your project under multiple (non-exclusive) licenses and still sell it yourself without restrictions
- Open source doesn’t disallow selling. It only means you have to deliver the source code too. For small commercial activities (like as part of a magazine) this might be sufficient.
- As long as your project is also open source, why would anyone buy the product if very probably he can get it for free from you (or someone else)? The market will be very small.
- If you want to allow people to use your open software project in their commercial closed source product – use a license that allows this (LGPL, …)
- If you want to restrict commercial usage to small(??) usages, define small and put that in a license (modify LGPL for example).
- If you cannot define small but want to have control, just state that upon request you might give away/sell commercial licenses (that do not require to distribute the source anymore).
- For all this make sure that either you are the only copyright holder (creator) or that you have the consent of all previous and present creators.
I advice to use one or more popular open source licenses like GPL and offer to issue commercial licenses upon request or to define what small should be.
See also this excellent FAQ from the Free Software Foundation and this comparison of open source licenses.
edit: Adding the information of the comment.
- If you don’t want others to use your software to make money you would need to restrict your license to non-commercial (something like CC-NC for programming code).
- It is questionable if it still is (fully) open source then anymore because it restricts the freedom quite a bit.
- So it seems you want a non-commercial license.
- A simple “free for private, non-commercial use” might be the right thing for you then.
3