Possible licensing change ?

You are right @afre, this needs clarification :

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.

The G’MIC core includes the code of the G’MIC interpreter as well as all the filters defined in the gmic_stdlib.gmic file, so basically all the stuffs located in the main G’MIC repository on git.

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 :slight_smile:

1 Like

I guess this answers your question. No changes for the community but possibly more project, funds for the lab …sounds like a no brainer. :wink:

1 Like

How does a licence change work with regard to all existing code? Does your current CeCILL-A licence permit changing the licence without agreement from all contributors?

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

1 Like

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.

We already tried that with one company, but without success. At the end we got nothing, and no further collaborations with this company (which is a shame because the topic was quite interesting IMHO).

Yes, that’s the point. G’MIC allows us to speed up the implementation of new image processing filters/algorithms, potentially tailored to the needs of a company. This could be financially valuable.

I’d be really interested to get also feedback from developers of some of the ‘external’ filters we have.
@grosgood, @garagecoder, @Jerome_Boulanger, @Iain, @rich2005, @KaRo, @Souphead, @samj and others. Also @Tobias_Fleischer have probably something to say about it :slight_smile:

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.

1 Like

I’m not aware of a distros that would only package software with a copyleft license. Do you have an example of such a distro ?

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 :wink:. 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 started to think about the possibilities, especially regarding my filters, but then I realised I’m happy for someone else to make those decisions, so I don’t have to worry about it.

As long as I can still make filters and someone doesn’t take credit for my filters, I’m pretty happy.

In fact, I would like my moire reduction method more widely used. It works as a proof of concept but I don’t actually use it because it doesn’t fit into my workflow for RAW processing

1 Like

I share the same thoughts as @chris and @Iain.

I also agree with what @chris and @Iain said. A more permissive license would make things easier, I think :slight_smile:

I agree with Morgan. Time’s not free; looks like a good way to get some much needed fund to make G’MIC even better. Win/win for all. Just don’t let those potential vendors give you the shaft, David. :slight_smile:

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!

1 Like

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.