From Fedora Project Wiki
(→‎Scope: Link the fedora-repos pull request)
(→‎Scope: Policies and guidelines PR)
Line 132: Line 132:
The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication -->
The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication -->


* Policies and guidelines: N/A (not needed for this Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Policies and guidelines: https://pagure.io/fedora-docs/modularity/pull-request/107 <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- Do the packaging guidelines or other documents need to be updated for this feature?  If so, does it need to happen before or after the implementation is done?  If a FPC ticket exists, add a link here. Please submit a pull request with the proposed changes before submitting your Change proposal. -->
<!-- Do the packaging guidelines or other documents need to be updated for this feature?  If so, does it need to happen before or after the implementation is done?  If a FPC ticket exists, add a link here. Please submit a pull request with the proposed changes before submitting your Change proposal. -->



Revision as of 14:32, 14 July 2023


Retire Modularity

Important.png
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

Fedora will discontinue building modules for Fedora Linux 39 and further in the Fedora infrastructure and shipping modular content to users. The fedora-repos-modular and fedora-repos-rawhide-modular packages will be retired and obsoleted. The modular repositories will no longer be composed. Once Fedora Linux 38 reaches the end of life, Fedora's Module Build Service will be terminated. Whether or not dnf(5) would still support modularity from 3rd party repository is out of the scope of this proposal.

Owner


Current status

  • Targeted release: Fedora Linux 39
  • Last updated: 2023-07-14
  • devel thread
  • FESCo issue: #3027
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

Motivation

There are very few modules left in Fedora, nobody is developing modularity anymore and there is an everlasting infrastructure problem with building modules. Similarly to retiring a package that has no maintainers, we are retiring Modularity from Fedora, because it has no maintainers. The latest noticeable activity in pagure.io/modularity was 3+ years ago.

What will happen

  1. After Fedora Linux 38 branches from Rawhide, we will disable building modules for Rawhide and future Fedora Linux 39 and later.
  2. We will work with Release Engineering to disable composing of modular repositories, F39 Modular updates in Bodhi etc.
  3. The fedora-repos-modular and fedora-repos-rawhide-modular subpackages of fedora-repos will be removed and obsoleted by fedora-repos and fedora-repos-rawhide.
  4. Once Fedora Linux 38 reaches end of life, we will retire the Fedora instance of Module Build Service.

What might or might not happen

Whether or not the package manager in Fedora Linux (dnf and/or dnf5) will support modular repositories created by 3rd parties is not decided in this change proposal. It is up to the dnf maintainers to make this decision and we intentionally want to make the scope of this proposal as limited as possible.

For maintainers of modules

Please retire your modules appropriately, so users are migrated to suitable non-modular content. If you wish to continue shipping multiple different versions or editions of your packages, please follow Multiple packages with the same base name, as was a recommendation of the policy for many years.

Feedback

What will be offered as a replacement

We have been asked internally at Red Hat, what will be offered to users of Fedora Linux if we retire modularity. While we encourage anyone to share ideas they might have on the topic, we intentionally offer no new alternative to modularity as part of this change proposal. Replacing the retired modularity with something else is intentionally out of scope of this proposal.

Benefit to Fedora

Packager and Infra/Releng resources will not be wasted on Modularity. Instead, we can focus on delivering quality content to our users without it.

Scope

  • Other developers:
    • Modular packagers:
      • Retire your modules
      • Ideally package the content as nonmodular
  • Release engineering: #11480
    • Disable modular builds in f39+
    • Disable composing and mirroring of modular repos for f39+
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Community Initiatives:

Upgrade/compatibility impact

An RPM scriptlet fedora-release might be necessary to deactivate all Fedora-provided modular streams when upgrading to Fedora Linux 39 and 40. This will only happen if all other means of properly EOLing the modules still block upgrades.

How To Test

Has this landed?

  1. Check if fedora-repos-modular and fedora-repos-rawhide-modular are missing from the repository and Obsoleted.
  2. Check if the modular repositories are missing from download.fedoraproject.org and mirrormanager.

Does it work?

  1. Check if upgrading from Fedora Linux 37/38 to 39/40 with enabled modular streams (from the Fedora repos) is still possible.

User Experience

Users of Fedora Linux 39+ will no longer have access to the Fedora modular repos. They can still install non-modular packages instead.

Dependencies

Contingency Plan

  • Contingency mechanism: Revert the changes
  • Contingency deadline: Beta Freeze
  • Blocks release? No

Documentation

Ideally, all references to Fedora-provided modular streams should be removed from docs.fedoraproject.org, except for docs.fedoraproject.org/en-US/modularity which should be clearly marked as obsolete/archived.

Release Notes

Users of Fedora Linux 39+ will no longer have access to the Fedora modular repos. They can still install non-modular packages instead.