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
- Name: Miro Hrončok
- Name: Martin Čurlej
- Name: Petr Písař
- Email: mhroncok@redhat.com, mcurlej@redhat.com, ppisar@redhat.com
Current status
- Targeted release: Fedora Linux 39
- Last updated: 2024-05-20
- devel thread
- FESCo issue: #3027
- Tracker bug: #2226798
- Release notes tracker: #1016
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
- After Fedora Linux 38 branches from Rawhide, we will disable building modules for Rawhide and future Fedora Linux 39 and later.
- We will work with Release Engineering to disable composing of modular repositories, F39 Modular updates in Bodhi etc.
- 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.
- Once Fedora Linux 38 reaches end of life, we will retire the Fedora instance of Module Build Service. https://pagure.io/releng/issue/12116
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: https://src.fedoraproject.org/rpms/fedora-repos/pull-request/121
- Remove fedora-repos-modular from comps: https://pagure.io/fedora-comps/pull-request/857
- (once f38 is EOL) Work with infra to sunset MBS
- Other developers:
- Modular packagers:
- Retire your modules
- Ideally package the content as nonmodular
- Modular packagers:
- Release engineering: #11480
- Disable modular builds in f39+
- Disable composing and mirroring of modular repos for f39+
- Policies and guidelines: https://pagure.io/fedora-docs/modularity/pull-request/107
- 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?
- Check if fedora-repos-modular and fedora-repos-rawhide-modular are missing from the repository and Obsoleted.
- Check if the modular repositories are missing from download.fedoraproject.org and mirrormanager.
Does it work?
- 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.