I've a proprietary program which is using OOP classes which I want to publish as FOSS (only the classes).Which FOSS compatible license I can choose for the classes which will work with my proprietary program which I'm selling?I was thinking about GNU GPL, but if I understand correctly, I've to distribute my entire proprietary program as GNU GPL (since it's build on top of it, or maybe other way round), so it doesn't make sense.Which license would you recommend for these open-source OOP classes, so they may be compatible with my proprietary code (which is including them)?
Licence for open-source code which is part of proprietary code?
license recommendation;multi licensing;proprietary code;floss
Which FOSS compatible license I can choose for the classes which will work with my proprietary program which I'm selling?As the author of your code (or more accurately the copyright holder), you are free to release under any license you like including multiple licenses.I was thinking about GNU GPL, but if I understand correctly, I've to distribute my entire proprietary program as GNU GPL (since it's build on top of it, or maybe other way round), so it doesn't make sense.The same code could be used by you under your proprietary license or by others under the GPL. This is commonly called a dual license.Now the important decision on your part is about receiving contributions on these FOSS-released classes.If you accept contributions under the GPL, then read this thread Proprietary software using GPL modulesAlternatively you could use a CLA. See for instance What are the advantages of adding a Contributor License Agreement to a project?Which license would you recommend for these open-source OOP classes, so they may be compatible with my proprietary code (which is including them)?If I were in your shoes, my personal goal would be to make it easy for others to contribute and reuse my code. I would likely use a permissive or weaker copyleft license and accept contributions under that license. For instance a GPL with exception, an LGPL, or a BSD, MIT or Apache. In doing so, I would accept contributions under the same terms and would possibly reuse the improved code in my proprietary application under these same terms.