Currently programming a new software, I’m searching for information about protecting my concept and my source-code. I precise I’m quite new in licensing.
As I’m feeling very concerned by Open-source and sharing with the community, I’m puzzled on the other hand because I want to make some profit of my work (around 1 year of free-time, you can imagine the amount of missed beers in pub!). So I’m looking for a double license, that is compatible, and allows software source-code distributing, but force companies to get a commercial license, or to negotiate directly with me. But I think it is totally contradictory with GPL like licenses.
What are you thinking about that?
2
This is pretty common. Plenty of companies offer to dual license their products, with an open-source license and a commercial license. Companies who wish to modify the source code without distributing the source themselves will pay for the commercial license, since open source prohibit this (thought there’s a web app loophole in some open source licenses). Also, some companies will pay for the license because their legal department doesn’t like dealing with open source software.
Just make sure you don’t accept code contributions that aren’t licensed back to you (and if someone forks due to this limitation, don’t look at it).
For example, I suggest examining the old licensing strategy of YAF.Net (archive.org), a GPL forum application.
A common additional revenue source is paid support (include some free support with a paid license).
Disclaimer: I’m not a lawyer and this is not legal advice. Consult a lawyer. Even if this information is accurate in my jurisdiction, it might be inaccurate in yours.
Just adding to Brian’s answer:
-
“force companies to get a commercial license”: As you guessed, you won’t be able to do that with any open source license. Sell support, integration, services, and enterprise plugins.
-
If you use any third-party library, check that these libraries can be re-distributed in proprietary software. LGPL: OK GPL: not OK.
-
If you want to make money out of it, I would recommend making your dual license proprietary+GPL. While some opt for a dual-license proprietary+LGPL, it makes it easier for bigger companies to extend/repackage/resell your product with no compensation to you.
6
If you want to stop companies from using your freely-available software, no free or open license (i.e., FSF- or OSI-approved) will be suitable, because, as stated in the OSI definition:
The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business…
To prevent your software from being used by a company, you’d need to come up with your own license that restricted “corporate use” or similar (you should seek qualified legal advice for this). Bear in mind also the practical issue of detecting and stopping a company that uses your freely available program.
If you want to control how companies may redistribute your program (or modified forms of it), then you’re on much firmer footing — dual licensing will serve you well. The GPL might be a perfectly suitable free license option, alongside your own proprietary licensing option: companies who opt for the GPL license could only redistribute your softwre under the GPL. If they wanted to augment your program and sell it as their own proprietary product, they would likely rather negotiate with you than be forced to place their own modifications under the GPL.
(Bear in mind that you should still seek legal advice when drafting your proprietary license. If you’re interested in this, but not able to bear the legal expense up front, you might invite companies to negotiate a non-GPL license with you directly and retain legal counsel whenever a company epxresses interest.)