According to the ImageMagick license page, ImageMagick uses a permissive (non copyleft) license, which allows companies to include ImageMagick code and libraries into closed-source products. They just needs to put a mention they used ImageMagick somewhere.
This is pretty much the same as the CeCILL-C license I’d like to propose for G’MIC. The major difference with the currently used license (CeCILL-A) is, it would allow a company to use the features of the G’MIC library directly in their closed-source products without having to open their sources (no contamination clause).
The consequences could be:
For the user, no consequence. G’MIC will continue to be open-source and free to use.
For companies : they could be interested in using G’MIC features. Today, the contamination clause is a no-go for them.
For the G’MIC project itself (us, more precisely the lab I’m working at) : In a near future, we could get collaborations with companies to develop specific filters or features for them, if needed. Several ways to do this are possible, but at the end, this would probably mean more financial resources for us for developing the software (with potential for everybody).
That’s what comes to my mind right now. Do not hesitate to discuss about it.
For users, the only impact I see would be they could potentially use G’MIC filters and features in more different products, including possibly closed-source products.
Apart from that, the proposed license being more permissive, it gives just more rights to the users
No, a license change theoretically requires the approval of all contributors.
But in our case, it is quite easy. By the way, I’m the only developer of the G’MIC core (i.e. all the code contained in the gmic repo on github).
All ‘external’ filters have been put in another repo gmic-community, and are not included by default in the distributed G’MIC binaries. It would be easy to disable some of these ‘external’ filters for the users of a permissive license, while keeping them available for the users of the current license (we can think about dual-licensing the use of the software in this case).
I would expect that the limitations on linking that at least the GPL imposes (and I think also CeCILL) are fairly counter productive and prevent what at least I would call good use of G’MIC. Then again, it makes selling licenses easier.
So I guess the questions is do you want to try to make money licensing the code, or offering consulting, development and other services around it.
As a user I would certainly appreciate a more permissive license.
Why not double license to allow for maximum flexibility? As long as the project stays with you I cannot see any drawback, or do I miss something? Only if the project gets forked things may get complicated … Or do I miss something?
Double licensing would be only useful if one contributor does not agree with switching to the more permissive license. Otherwise, I don’t see the point of having two licenses, one being more permissive than the other. We just have to keep the more permissive.
I thought about inclusion in collections, e.g. distros, which may require a less permissive license. That way, you would always be able to fork a “commercial” spinoff while there’s a baseline which has the possibility of inclusion in more restrictive collections.
It’s more a hypothetical thing, it may not play a role for a program/library that is not linked against a mission critical subsystem such as the linux kernel . I have no clue about the current licensing policies of distros and other collections, I only know it’s always a lot of discussion and leads to weird situations where e.g. documentation is not included with the software due to licenses and other bizarre stuff.
I am a big fan of the idea of the GPL but understand your reasons, for me, double licensing would therefore keep a backdoor to revert the decision if it does not work out. Own developments of the companies would not get back to the project, but they wouldn’t anyway, since the other option would be not using G’MIC. As long as all the code is yours or if you have ensured that all contributors agreed beforehand to license changes, you would always have the possibility to change back to GPL again, but if not, things might get complicated again …
Just some random thoughts, I am not an expert in license stuff.
I support any change which you consider best for G’MIC core… would also be happy to change the license in my own community file. Whether I get credit or otherwise for anything I write is no concern to me, if somebody else finds it useful that’s good!
G’MIC next release (v.2.1.9), planed on next monday will integrate a change of license.
Some of the source code files will be dual-licensed CeCILL / CeCILL-C. This includes all the source code of the C++ libgmic, as well the implementation of the image processing filters and commands from the G’MIC stdlib.
I hope this will raise interest and contribute to get fruitful collaborations with developers around the world.