Possible licensing change ?


(G'MIC staff) #1

Hello folks,

I’m interested in your opinion about a possible license change that could apply to the G’MIC software.
We actually thinking about some ways to improve the diffusion of G’MIC, and one of them would be to allow companies to integrate the G’MIC core in their proprietary software, without requiring they open their source code (contamination clause of the CeCILL/GPL license).
Of course, we want to keep G’MIC available as an open-source software, just switch to a more permissive
license. This would actually apply only on the G’MIC core, not the plug-in code for now.
Any thoughts on this ?

  • Keep a copyleft license (CeCILL, GPL).
  • Switch to a more permissive license (LGPL, CeCILL-C).

0 voters

Feel free to share your viewpoints, particularly if you are a user or a contributor of the software !


(Pat David) #2

Do note that this is an attempt to allow some more flexibility in funding to G’MIC and to hopefully help accelerate some of the development in some way. (I’d imagine most folks would just flat-out choose to keep copyleft, but be mindful of a means to help G’MIC generate support beyond donations if possible).

Q: What would be the impact for users now and in the future with how they’re currently using G’MIC?


(http://4232.cf) #3

AGPL serious better


(darix) #4

This is probably about integrating gmic into commercial tools?


#5

How would this change compare with ImageMagick? Yes, I could read their licensing (though I would still have trouble understanding) but I am talking more about the comparative implications. For the sake of the less versed please elaborate. Also, which part is the G’MIC core? ATM, my vote shall be on the copyleft side.


(G'MIC staff) #6

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.


(G'MIC staff) #7

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.


(G'MIC staff) #8

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:


#9

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:


(Morgan Hardwood) #10

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?


(G'MIC staff) #11

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


(Jonas Wagner) #12

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.


(G'MIC staff) #13

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.


(G'MIC staff) #14

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:


#15

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?


(G'MIC staff) #16

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.


#17

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.


(G'MIC staff) #18

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 ?


#19

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.


#20

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