From Fedora Project Wiki
(submitting change to fesco)
(Rework according to FESCO requirements)
Line 49: Line 49:
The [https://gimp.org GIMP project] intends to release the [https://developer.gimp.org/core/roadmap/#gimp-30-development-branch-roadmap major version 3] of the GNU Image Manipulation Program [https://gitlab.gnome.org/GNOME/gimp/-/issues/10373#timeline later this year].
The [https://gimp.org GIMP project] intends to release the [https://developer.gimp.org/core/roadmap/#gimp-30-development-branch-roadmap major version 3] of the GNU Image Manipulation Program [https://gitlab.gnome.org/GNOME/gimp/-/issues/10373#timeline 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 <code>gimp3</code> 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.
The new version involves substantial changes to the technologies used, which in turn means that third party plugins have to be ported to be compatible. Normally, this would be addressed by a compatibility package with the previous major version; however, version 2.x depends on Python 2.7 which is long out of maintenance and [[Changes/RetirePython2.7| slated to be removed in Fedora Linux 41]]. Therefore, GIMP version 3 should replace GIMP 2.x in Fedora Linux 41 altogether.
 
In order to make upgrades seamless for users (and avoid having to go through an exception process for a “new” <code>gimp2</code> package needing Python 2.x), the existing package will remain named <code>gimp</code> and it plus <code>gimp3</code> will obsolete the version 2.x packages from Fedora Linux <= 40 in version 41.


== Feedback ==
== Feedback ==
<!-- Summarize the feedback from the community and address why you chose not to accept proposed alternatives. This section is optional for all change proposals but is strongly suggested. Incorporating feedback here as it is raised gives FESCo a clearer view of your proposal and leaves a good record for the future. If you get no feedback, that is useful to note in this section as well. For innovative or possibly controversial ideas, consider collecting feedback before you file the change proposal. -->
<!-- Summarize the feedback from the community and address why you chose not to accept proposed alternatives. This section is optional for all change proposals but is strongly suggested. Incorporating feedback here as it is raised gives FESCo a clearer view of your proposal and leaves a good record for the future. If you get no feedback, that is useful to note in this section as well. For innovative or possibly controversial ideas, consider collecting feedback before you file the change proposal. -->


Alternative proposals were made, e.g. in [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/A3UCMVXIEHZ3L6GGZCW7ZEYHOZZBQTRJ/#JXF6I6DYW4RBVDLPTSSCN52RMFJ63VVA the respective thread on the devel mailing list]:
The author of this proposal originally planned to offer parallel-installable packages for both versions 2.x and 3.x, this was before he was aware that the old GIMP version was the major component blocking the removal of Python 2.7 from the distribution. On that basis, FESCo voted against the original proposal and [https://pagure.io/fesco/issue/3233#comment-918374 asked for it to be reworked accordingly].
 
* ''Replacing version 2 with version 3 wholesale, without possibility for parallel installation, starting in Fedora Linux 41.''<br/>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 <code>gimp2</code> for the old version, let <code>gimp</code> become version 3 in Fedora Linux 41 …''<br/>This would need an exception for the <code>gimp2</code> package, as it needs Python 2.x.
** ''… and introduce version 3 as <code>gimp3</code> in Fedora Linux <= 40.'' This would come along with even more packaging churn, it would introduce <code>gimp3</code> 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.


== Benefit to Fedora ==
== Benefit to Fedora ==
Line 95: Line 88:
== Scope ==
== Scope ==
* Proposal owners:
* Proposal owners:
** Make (pre-releases) available as <code>gimp3</code> in Rawhide and existing Fedora Linux versions.
** Make (pre-releases or git snapshots) available as <code>gimp3</code> in Rawhide and existing Fedora Linux versions.
** Ensure users of <code>gimp</code> get both versions when upgrading their OS to Fedora Linux 41.
** Ensure users of <code>gimp</code> get the new version when upgrading their OS to Fedora Linux 41.
** Ensure comps is updated to refer to the new GIMP version from Fedora Linux 41 on.
** Ensure comps is updated to refer to the new GIMP version from Fedora Linux 41 on.
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
Line 117: Line 110:
== Upgrade/compatibility impact ==
== Upgrade/compatibility impact ==
<!-- What happens to systems that have had a previous versions of Fedora installed and are updated to the version containing this change? Will anything require manual configuration or data migration? Will any existing functionality be no longer supported? -->
<!-- What happens to systems that have had a previous versions of Fedora installed and are updated to the version containing this change? Will anything require manual configuration or data migration? Will any existing functionality be no longer supported? -->
The plan is that existing users of <code>gimp</code> end up with both this package and the new version as <code>gimp3</code>. It should be possible to install either version without pulling in the other on Fedora Linux >= 41 (if technically feasible).
Existing users of <code>gimp</code> should be upgraded to the new version of GIMP. Availability of third party plugins might be impacted.


== User Experience ==
== User Experience ==
<!-- If this change proposal is noticeable by users, how will their experiences change as a result?
<!-- If this change proposal is noticeable by users, how will their experiences change as a result?


With Fedora Linux 41, users who install GIMP as an RPM package will get the new version by default. It contains many new features and improvements in the handling of input devices such as tablets and when used on high resolution displays.
With Fedora Linux 41, users who install GIMP as an RPM package will get the new version. It contains many new features and improvements in the handling of input devices such as tablets and when used on high resolution displays.


== Dependencies ==
== Dependencies ==
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this change depends?  In other words, completion of another change owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel change)? -->
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this change depends?  In other words, completion of another change owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel change)? -->
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.
A number of third party GIMP plugins are available to be installed as packages on Fedora Linux. Whether or not these are available to be used with the new version 3 depends on if these plugins have been ported.


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
Line 133: Line 126:
== Contingency Plan ==
== Contingency Plan ==


* Contingency mechanism: Not ship the package, bump “seamless update” measures to be effective in Fedora Linux 42.
* Contingency mechanism: Because of [[Changes/RetirePython2.7]], drop GIMP 2.x anyway and continue shipping the current pre-release or an intermediate git snapshot as <code>gimp3</code> until a final version is available.
* Contingency deadline: Beta Freeze
* Contingency deadline: Beta Freeze
* Blocks release? No
* Blocks release? No

Revision as of 20:58, 28 July 2024

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.

Summary

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


Owner


Current status

Detailed Description

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

The new version involves substantial changes to the technologies used, which in turn means that third party plugins have to be ported to be compatible. Normally, this would be addressed by a compatibility package with the previous major version; however, version 2.x depends on Python 2.7 which is long out of maintenance and slated to be removed in Fedora Linux 41. Therefore, GIMP version 3 should replace GIMP 2.x in Fedora Linux 41 altogether.

Feedback

The author of this proposal originally planned to offer parallel-installable packages for both versions 2.x and 3.x, this was before he was aware that the old GIMP version was the major component blocking the removal of Python 2.7 from the distribution. On that basis, FESCo voted against the original proposal and asked for it to be reworked accordingly.

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.

Scope

  • Proposal owners:
    • Make (pre-releases or git snapshots) available as gimp3 in Rawhide and existing Fedora Linux versions.
    • Ensure users of gimp get the new version 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)

Upgrade/compatibility impact

Existing users of gimp should be upgraded to the new version of GIMP. Availability of third party plugins might be impacted.

User Experience

A number of third party GIMP plugins are available to be installed as packages on Fedora Linux. Whether or not these are available to be used with the new version 3 depends on if these plugins have been ported.


Contingency Plan

  • Contingency mechanism: Because of Changes/RetirePython2.7, drop GIMP 2.x anyway and continue shipping the current pre-release or an intermediate git snapshot as gimp3 until a final version is available.
  • Contingency deadline: Beta Freeze
  • Blocks release? No


Documentation

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.