From Fedora Project Wiki
(releng, ChangeReadyForWrangler)
Line 74: Line 74:
<!-- 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. -->


TBD
=== 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 ==
== Benefit to Fedora ==

Revision as of 11:00, 15 June 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-06-15
  • [<will be assigned by the Wrangler> devel thread]
  • FESCo issue: <will be assigned by the Wrangler>
  • 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

  • Proposal owners:
    • Work with releng to disable modular builds in f39+
    • Work with releng to disable composing and mirroring of modular repos for f39+
    • Work with Bodhi admins to disable F39+ Modular updates
    • Submit changes to fedora-repos package to remove and obsolete the modular subpackages
    • (once f38 is EOL) Work with infra to sunset MBS
  • 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+
  • Policies and guidelines: N/A (not needed for this Change)
  • 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.