Hi,
First let me point out that this question is more of a legal type rather than technical.
Here's a situation: suppose I develop a program. I write all the code myself, therefore I am the copyright owner. I wish most of my code to be GPL-licensed, except for some specific features which are to be paid for (and won't be open-source either).
I would like to put the commercial code into a separate library that the main program will link with. Those who paid for the software will get the real library while the free package will include a stub that does nothing (hence saving me the trouble of modifying the code of the main program between the versions, and also allow easy upgrade by simply replacing a .so or .dll file).
However I am not sure whether I can do this according to the GPL terms: Can a specific part of the program be commercial while the other is GPL? Is there any legal way in which this can be achieved. If it's not possible, please suggest another standard license that will.
Basically I look for a license that will -
1) Be a truly copyleft license.
2) Allow me to publish some of the code commercially and the rest as open-source.
3) Allow even derived work of the program to use the commercial part (as long as it has been paid for).
4) Not allow other people to create commercial features of their own.
5) Not require two separate versions of the main program.
6) If the license is not GPL itself, be GPL-compatible (I will accept a condition that users will not be able to use the commercial library in derived work if it is linked with GPL code).
Any thoughts?
Start Free Trial