From Fedora Project Wiki


Retire Modularity

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

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.