F41 Change Proposal: GIMP Version 3 (self-contained)

:link: GIMP version 3

This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.

Wiki
Announced

:link: Summary

This change introduces the upcoming major version 3 of the GNU Image Manipulation Program in Fedora Linux.

:link: Owner

:link: Detailed Description

The GIMP project intends to release the major version 3 of the GNU Image Manipulation Program later this year.

This new version involves substantial changes to the technologies used, which in turn means that third party plugins have to be ported to be compatible. Therefore, this change will add the new version as a new package gimp3 which can be installed side-by-side with the existing version 2.x package, so people can continue working on existing projects with the old gimp version and its plugins.

In order to make upgrades seamless for users (and avoid having to go through an exception process for a “new” gimp2 package needing Python 2.x), the existing package will remain named gimp and it plus gimp3 will obsolete the version 2.x packages from Fedora Linux <= 40 in version 41.

:link: Feedback

Alternative proposals were made, e.g. in the respective thread on the devel mailing list:

  • Replacing version 2 with version 3 wholesale, without possibility for parallel installation, starting in Fedora Linux 41.
    This would force users to choose between using either using version 2.x or 3.x of GIMP, and it might make users with existing GIMP projects stay longer on an older version of Fedora Linux than they would do otherwise.
  • Add gimp2 for the old version, let gimp become version 3 in Fedora Linux 41 …
    This would need an exception for the gimp2 package, as it needs Python 2.x.
    • … and introduce version 3 as gimp3 in Fedora Linux <= 40. This would come along with even more packaging churn, it would introduce gimp3 only for two existing Fedora versions and then obsolete the package, also makes the upgrade obsolete dance from 40 to 41 more complicated than it needs to be.
    • … and only introduce GIMP version 3 in Fedora Linux >= 41. This would withhold the benefits of the new GIMP version to users of older Fedora Linux versions without a technical need to do so.

:link: Benefit to Fedora

This change upgrades GIMP to a version which doesn’t use ancient 2.x versions of both GTK and Python anymore. Other than many new features including better color management and the support of CMYK import/export, it greatly improves user experience with certain input devices such as tablets and on displays with very high resolutions. Developers of plugins using Python can now use packages and language features which simply don’t exist in Python 2.x.

:link: Scope

  • Proposal owners:

    • Make (pre-releases) available as gimp3 in Rawhide and existing Fedora Linux versions.
    • Ensure users of gimp get both versions when upgrading their OS to Fedora Linux 41.
    • Ensure comps is updated to refer to the new GIMP version from Fedora Linux 41 on.
  • Other developers: Maintainers of third party plugins work with their respective upstreams to either find out if they have been ported to GIMP 3.x, or assist in porting and make such ports available in Fedora.

  • Release engineering: This is a self-contained change and doesn’t require that release engineering is involved.

  • Policies and guidelines: N/A (not needed for this Change)

  • Trademark approval: N/A (not needed for this Change)

  • Alignment with the Fedora Strategy: This change doesn’t particularly relate to the the current Fedora Strategy, but it aligns well with “Freedom”, “Features” and maybe ”First” of the Fedora Foundations.

:link: Upgrade/compatibility impact

The plan is that existing users of gimp end up with both this package and the new version as gimp3. It should be possible to install either version without pulling in the other on Fedora Linux >= 41 (if technically feasible).

:link: User Experience

A number of third party GIMP plugins are available to be installed as packages on Fedora Linux. With the continued availability of version 2.x of GIMP, these packages can still be installed and used with the old version. Whether or not these plugins will support the new GIMP version very much depends on the particular plugin, or rather the upstream projects for these plugins. Therefore it’s a bit early to make plans for packaging plugins available for both GIMP versions at this point.

:link: Contingency Plan

  • Contingency mechanism: Not ship the package, bump “seamless update” measures to be effective in Fedora Linux 42.
  • Contingency deadline: Beta Freeze
  • Blocks release? No

:link: Documentation

:link: Release Notes

This release of Fedora Linux ships version 3 of the GNU Image Manipulation Program, with many new features and improved user experience. The package is called gimp3, the old version will still be available under the old name, gimp for users who need it for existing projects.

Last edited by @amoloney 2024-06-16T16:26:52Z

6 Likes

How do you feel about the proposal as written?

  • Strongly in favor
  • In favor, with reservations
  • Neutral
  • Opposed, but could be convinced
  • Strongly opposed
0 voters

If you are in favor but have reservations, or are opposed but something could change your mind, please explain in a reply.

We want everyone to be heard, but many posts repeating the same thing actually makes that harder. If you have something new to say, please say it. If, instead, you find someone has already covered what you’d like to express, please simply giving that post a :heart: instead of reiterating. You can even do this by email, by replying with the heart emoji or just “+1”. This will make long topics easier to follow.

Please note that this is an advisory “straw poll” meant to gauge sentiment. It isn’t a vote or a scientific survey. See About the Change Proposals category for more about the Change Process and moderation policy.

I’m opposed to this plan, as I think gimp3 should be delivered through gimp package (and optionally provide a gimp2 package).
This way the entire gimp git changelog and RPM changelog would be preserved.

Also, I strongly disagree that users upgrading to F41 will have by default both Gimp installed on their systems. It’s a waste of bandwidth and disk space and I suppose it will be confusing for users ending up in having two Gimp icons in their start menu. And will require a manual operation to remove gimp2 (or gimp3, I doubt the vast majority of users needs both).

7 Likes

Most graphics depending users need latest builds usually to keep up for main edge development and if need then get older versions to test compatible productions. It is easier to build latest first and the. Start backwards when need

1 Like

I also disagree with the plan to package gimp3 and leave gimp at 2.x. Users expect to install gimp and get the latest version, and version 3 won’t be “new and different” for long. This is how compatibility packages work almost everywhere else in the distribution. It makes eventually retiring the old version less disruptive, it makes the latest version the implicit default (Fedora is “First”), and consistency with the usual practice in the distribution reduces user confusion.

How would we feel if we had to install gimp2 today because someone decided back in 2004 that gimp should stay at 1.x?

3 Likes

I kind of agree with this. Fedora as a desktop covers the “Basic” user experience with an Office Suite, and the typical Gnome Software packages. Browser, Video Player, Text editor, and basic Utilities. Including an Image manipulation tool “could” add to the experience, but is not a necessary tool to enhance the Desktop experience. Most Users who need such a tool would know what they need and search for it’s download either through the Software Center of The Publisher’s website.

Note : GIMP is published in a Flatpak, I assume would then need to be republished in a Flatpak by Fedora as well? :thinking:

GIMP3 is long awaited among artists who were turned off by the GIMP2 UI and crashes and who have been waiting for 3 to provide a proper FOSS alternative to Photoshop. I think shipping GIMP2 as default will turn people off fedora who perhaps switched due to hearing that GIMP is better.

This seems like it will introduces complexity for end-users who will now have two separate versions of gimp installed. I don’t think this will be well understood by most users and will likely lead to confusion.

Could we not leave the support of Gimp 2 to a flatpak? In this way we would not have to carry gimp2 or it’s dependencies in the repos at all.

1 Like

I am not in favor of keeping GIMP 2 in the distribution. We want to retire Python 2 from Fedora after CentOS 7 EOL, RHEL 7 maintenance support 2 end, RHEL 8 Python 2.7 application stream retirement date. All of that is scheduled to happen at the end of this month.

9 Likes

Was there consideration (and rejection?) of the idea that gimp2 and gimp3 come in their own (named) packages with their own named commands (gimp2 or gimp3), and use the alternatives mechanism (or new gimp[23]-unversioned-command packages?) to select what the gimp command should open.

In that case, yes, the current python2 exception for gimp (version 2) would need to be passed along to the new gimp2 package, but while I really really want python2 to be removed entirely, I do believe that it would be reasonable for FESCo to pass along the exception for a rename without great objection if that approach was chosen.

Was there also consideration that gimp should just be the new gimp3, and that those that need gimp2 run it via a flatpak (FD: I only run gimp in a flatpak, as I don’t want anything to do with python2 to exist on my systems).

I also would prefer that we upgrade gimp to 3.x and if we really need to have GIMP 2.x, we can get the exception in place relatively quickly as part of this Change for gimp2 to depend on Python 2.

3 Likes

Based on mostly all the replies, maybe the packaging guidelines should be updated to specify that in these situations upgrading the existing package and provide the older version in a new compatibility package SHOULD be the preferred way?

From my memory, this is not the first time such a discussion arise…

2 Likes

Just because it’s a pet peeve of mine: GIMP never was intended to be a Photoshop substitute.

This is not what I proposed: GIMP version 2 is the default until Fedora Linux 40, from 41 on the default would be version 3.

I don’t know if GIMP as a flatpak is going to cut it, but my experience is with packaging RPMs (not flatpaks), so take the following with a grain of salt.

  • Running flatpak search gimp, I get that not all 3rd party plugins available in Fedora can be installed as Flatpaks from Flathub. What’s the remedy for users of such unavailable plugins? Can they build them themselves (how, without gimp-devel?) and put them into ~/.config/GIMP/2.10/plug-ins like they can with the RPM package?
  • How about RPM packages that provide GIMP plugins – can they work with the flatpak version? I’m thinking of RawTherapee (because it’s what I use for developing RAW image files), with both GIMP and RawTherapee installed as Flatpaks, the latter still can’t be used to load RAW image files (at least that’s what GIMP tells me).

I am worried that users will have to jump through hoops to get “their plugins” back when switching from the RPM package to a flatpak (not sure if it’s completely possible even), having to discover that GIMP version 3 is packaged as gimp3 instead of gimp would be a piece of cake in comparison.

2 Likes

To me, whether or not a package name contains the version or not is more of an implementation detail. I have no hard data on it, but I suspect many people don’t install apps from the command line nowadays but rather through GNOME Software or the respective equivalent in other desktops where the RPM name isn’t that prominent. Even so, I’m confident that someone attempting to install GIMP using dnf would find the right package regardless of if it’s called gimp, gimp2 or gimp3.

I don’t think old RPM changelog entries are all that useful, especially of a version so far removed from the current one as gimp 2.x is from 3.x. Mind, installed RPMs only carry changelog entries younger than 2 years anyway. The GIT histories will be preserved, so anybody interested in forensic spelunking can still do it, but I don’t think there is much value in this kind of continuity.

1 Like

Maybe I’ve been around for too long or my memory is playing me tricks, but I don’t think the practice of not including the version number in current versions has been all that consistent. Some counter examples: SDL2, dnf5, glib2, gnupg2, grub2, gstreamer1, gtk4, python3, qt6, rosegarden4, udisks2.

That “someone” would have been me, and I have a strong hunch that the world would have kept turning either way – Provides: gimp = %{epoch}:%{version}-%{release} would have been an option back then as well. Correction: a provides alone doesn’t cut it (just tried it out), but a meta package would have been an option then (as it is now).

1 Like

Maybe it’s worthwhile to make it clearer then what you proposed, and what you mean by “make the default”. There are several items:

  • the name of the package (versioned or unversioned)
  • which package provides gimp (in rpm terms)
  • the name of the installed programme (plus aliases, if any)
  • the name appearing in the desktop entry

Apparantly, you want to do things differently in F40 and F41 per your answer?

Note that, e.g., gimp currently stores its config (including plugins) in $HOME/.config/GIMP/$VERSION by default already, so that part is taken care of.

Is Python 2 slated to be axed in Fedora Linux 41? If so, I would rework this change proposal of course, I don’t want GIMP 2 to block this. While it’s still available, I would want to continue using it, though. :wink:

1 Like

No there wasn’t, but I’m also not sure that the alternatives mechanism is a good fit. I’m a dyed-in-the-wool command line user and even I don’t start GIMP from the terminal often :slightly_smiling_face:.

1 Like

That is mostly depending on GIMP 2. We need to axe them together and I was planning on proposing a change proposal depending on what is the outcome of this discussion.

1 Like