G'Mic is a popular image processing plug-in often used with the GNU Image Manipulation Program. It has been suggested by numerous people (including @chaomodus) that we should support this.
The plug-in could be provided by default with Glimpse Image Editor. This would require us to check for license compatibility and any code fixes that might be required to facilitate it.
N/A - elaborate in the comments section
Plug-in website: http://gmic.eu/
g'mic seems to have a lot of extremely nice tools, but suffers from a major UI problem in that it is a big window with a huge list of tools rather than being integrated into the filters (or other places) menu. I played around with it a bit and confirmed the latest git checkout does indeed work in Glimpse, so it's definitely doable, and it'd be really nice to have pervasive integration and/or possibly replace some existing plugins with g'mic versions which seem far faster and more useful (the denoise series are particularly interesting, and there is a substantial number of artistic effects that are more interesting and useful than the currently packaged ones).
We have confirmation from G'MIC project itself that if we want to bundle this plug-in we are allowed to do so, and making any change grants us the right to relicense it under GNU GPLv3: https://twitter.com/gmic_ip/status/1217899762554408960?s=20
I still recommend ensuring that we fully understand the CeCILL license though before proceeding.
https://en.wikipedia.org/wiki/CeCILL
https://cecill.info/licences/Licence_CeCILL_V2.1-en.html
It's been suggested that we might need to add build flags for packagers that don't want to bundle non-standard plug-ins by default. This would be handy for Linux/BSD distros that have already packaged G'MIC separately.
(We don't directly support third party distribution packaging, but it is our project's policy to make their lives easier and help them when they run into problems)
After having a fiddle around with this myself, I think it makes the most sense to add these third party plug-ins at the packaging stage.
That would mean that our officially sanctioned installation methods (Windows MSI, Flathub Flatpak & AppImage) would include G'MIC and GIMP Resynthesizer plug-ins. Third party packagers would then make their own decisions about whether they include it or not.
So long as we make it clear that we've bundled the plug-ins with those installation methods only I think that is fine.
Confirming that this will be something that is added in the packaging stage, not at the build stage.
This should help Linux distros make their own decisions about what is and isn't included.
This will be included as part of an optional installation package for Linux users.
I've pushed this out as a 0.2.x candidate as we're not re-using existing work that already does this, and would need to do some supplementary work. I will bring it back in if our AppImage packaging can be adapted for this.
In the meantime, I will document on our wiki how to install and use G'MIC with Glimpse Image Editor.
Bringing back in to scope for 0.2.0. I'll be raising a PR soon about including it in the 64-bit Windows installer, and I'd like to try and get it into the Flatpak/Snap if I can
Edit: I'm also trying to do Liquid Rescale at the same time, but we'll see how that works out!
Resynthesizer would have to be Linux-only, because we don't support Python 2 on Windows.
I've reduced the scope back to just supporting G'MIC because I think scope creep was setting in with this issue.
I will create new issues for specific plug-ins that we decide to pre-bundle and support. The support level for G'MIC in 0.2.0 is:
We should raise a new issue if we include it with a Linux AppImage or want to prebundle it with other app distribution mechanisms.
Most helpful comment
After having a fiddle around with this myself, I think it makes the most sense to add these third party plug-ins at the packaging stage.
That would mean that our officially sanctioned installation methods (Windows MSI, Flathub Flatpak & AppImage) would include G'MIC and GIMP Resynthesizer plug-ins. Third party packagers would then make their own decisions about whether they include it or not.
So long as we make it clear that we've bundled the plug-ins with those installation methods only I think that is fine.