Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share|improve this question
you need to give a bit more info about your software: how the customers would use it? is it a library or a program? would it be deployed in the web or is a desktop app? –  knocte Aug 17 '13 at 7:27
Program, and it's a sort of application manager (equivalent of alt+tab, but for dual screens). So indeed, it's a desktop application! –  Louisbob Aug 19 '13 at 17:04

3 Answers 3

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.

share|improve this answer

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.

share|improve this answer
If I understand correctly, the more-restrictive option proprietary+GPL is to exclusively enforce the free version in OSS and the commercially licensed version for non OSS uses? Does this mean if LGPL, is used, a company can create a derived work using the LGPL-ed version, that is then licensed with the LGPL and optionally with the company's license, thus bypassing the provider's commercial license? –  Ivaylo Slavov May 20 '14 at 10:47
@IvayloSlavov: No. Dual-licensed code has two separate licenses. A company which does not pay for the proprietary license only has the GPL license. You can think of a license as a set of conditional permissions. "I give you permission to do X, Y, and Z, so long as you do Q, R, and S." The company offering a proprietary license does not need to distribute it to everyone. –  Brian May 20 '14 at 13:39
@Brian, it wasn't very clear from my first comment, but I was actually asking about the 3rd point. I find it difficult to understand how a company can do this (quoting) extend/repackage/resell your product with no compensation to you - perhaps only if the free license is not restrictive enough and allows that? As for the dual licenses, I know the company has to choose one of the dual licenses (either the free or the commercial). In case of the second, the company can avoid disclosing the source of the derived work, and (possibly) make it a subject of the license of its product. –  Ivaylo Slavov May 20 '14 at 16:08
@IvayloSlavov: They can extend/repackage/resell the product as a closed source application. For example, the product may be used as a component in a larger, proprietary application. –  Brian May 20 '14 at 17:19
@Brian, sorry for bothering again, but would not this violate the free license? I really can't get my head around this, maybe because English is not my native language. Isn't the dual license supposed to make this: if you can disclose your code use the free license, if you want to sell the derived product, pay for the commercial license? If you can still package the final product as entirely closed-source without using the commercial license of the library, why would the library bother with dual licensing, as obviously the commercial license can be bypassed? –  Ivaylo Slavov May 20 '14 at 17:29

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.)

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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