OVERVIEW ========
As the modularity work starts to enter Fedora with the Fedora 27 release, a typical Change Proposal did not seem to do justice on capturing the moving parts and dependencies for the work to successfully land. As a result, this document attempts to capture, at a high level, the goals and deliverables for F27. We are also providing links to the details to most aspects. Some of the details are still in progress and will change over the F26 lifecycle (e.g. which modules will be included for F27 Server).
THE GOAL ========
The Modularity and Server Working Groups plan, with the help of many other groups in Fedora, to deliver a fully modularized version of the Fedora Server Edition. As an equal and complementary goal, the tooling for module creation/development, deployment and automatic testing will be as simple and automated as possible. [*Change*](https://fedoraproject.org/wiki/Changes/Modular_Server)
CAVEATS =======
- Although modularity allows for lifecycle changes, there is no plan for anything besides the normal 13 month lifecycle at this point. - Available content as modules will be less than a typical Server release - Only components that are a part of a module will be available - Any RPM that is a part of module will be available to be installed directly or in addition to the “install profile” install of the module
ASPECTS TRACKED ===============
- Infrastructure Changes/Improvements: - Bodhi: changes to support updating & tracking modules: [*Change*](https://fedoraproject.org/wiki/Changes/ModularRelease) - Arbitrary branching: enables modules to versions bound to something other than Fedora release number: [*Change*](https://fedoraproject.org/wiki/Changes/ArbitraryBranching) - Bugzilla & ABRT module-awareness are still in progress - COPR: support for building modules has been added and will be improved over the F26 cycle - Automation (Freshmaker) - On Demand Compose Service (for testing and container rebuilds) - Greenwave: for policy/gating in Bodhi. User interactions take place in Bodhi. - Installation & System Management - Anaconda: still in progress - DNF: Work underway to support modules, additional features need to be added. Please report comments/features/bugs in the [*normal manner*](https://github.com/rpm-software-management/dnf/wiki/Bug-Reporting). - Gnome Software: still in progress - Host & Platform module(s): Base components that provide the “operating system” aspects of Modular Fedora: [*Change*](https://fedoraproject.org/wiki/Changes/Host_and_Platform), [*Content tracker*](https://github.com/fedora-modularity/hp) - Application modules ([*Content Tracking*](https://github.com/fedora-modularity/f27-content-tracking)): - TBD language modules (1 or more versions each) - TBD database modules (1 or more versions each) - TBD web server modules (1 or more versions each) - TBD utility server modules (1 or more versions each) - Applications as System Containers ([*Content Tracking*](https://github.com/fedora-modularity/f27-content-tracking)): - TBD system integrated containers - Module Guidelines and Processes: [*Ticket*](https://pagure.io/Fedora-Council/tickets/issue/123) - HowTos, Examples, and Tools for Modules: [*Website*](https://docs.pagure.org/modularity/)
BENEFITS FOR USERS ==================
- Content available in multiple streams - good examples needed - Software Collections done the right way - Languages, Databases - No visible change to dnf/yum unless you want to select non-default versions
FURTHER DETAILS ===============
- [*Bodhi Milestone*](https://github.com/fedora-infra/bodhi/milestone/4) for Modularity - Bodhi Changes [*Focus document*](https://fedoraproject.org/wiki/Infrastructure/Factory2/Focus/Bodhi) - Freshmaker Focus doc [*https://fedoraproject.org/wiki/Infrastructure/Factory2/Focus/Freshmaker*%5D(...) - ODCS Focus doc [*https://fedoraproject.org/wiki/Infrastructure/Factory2/Focus/ODCS*%5D(https:...) - Branching Focus doc [*https://fedoraproject.org/wiki/Infrastructure/Factory2/Focus/ArbitraryBranch...)
Langdon White Fedora Modularity Objective Lead
devel-announce@lists.fedoraproject.org