Line 44: | Line 44: | ||
The effort will also require help and resources from across Fedora, including Fedora Infrastructure, Release Engineering, QA, Security Team, and more. Members of those groups should be included on the new Working Groups. | The effort will also require help and resources from across Fedora, including Fedora Infrastructure, Release Engineering, QA, Security Team, and more. Members of those groups should be included on the new Working Groups. | ||
=== Base Working Group === | === Base Working Group === | ||
Line 68: | Line 67: | ||
The Working Group will also '''produce tooling for module production and maintenance, and guidelines for modules''', as the FPC does for RPMs. | The Working Group will also '''produce tooling for module production and maintenance, and guidelines for modules''', as the FPC does for RPMs. | ||
The effort will also require help and resources from across Fedora, including Fedora Infrastructure, Release Engineering, QA, Security Team, and more. Representatives of those groups should be included on the new Working Group. | |||
== Notes (draft) == | == Notes (draft) == |
Revision as of 17:48, 10 March 2016
Objective: Fedora Modularization, Prototype Phase
Also known as: the Let's Get Real Phase, or, Less Talk, More... Modules
Goal
The goal of this phase is to deliver a functional implementation of modular Fedora. We will be able to create, demonstrate, and deploy Fedora-based solutions made from independent modules which can move at their own paces yet still be trusted to work together and to be kept secure.
Logic Model
The basic idea: planning flows from right to left, and actual effort back from left to right. To the left of the double line is stuff we can actually do; to the right of that line, stuff we expect to be true as a result. See this blog post for more on this planning tool.
Todo: expand Activities, fill out Resources
More Details
See Modularization for background and oh so many details.
Deliverables
The primary deliverable will be a functioning prototype of "modular Fedora", in the Fedora 25 timeframe. This need not be perfect, but it needs to be functional enough that people can use it, understand it, hammer on it, and improve it.
As part of making this prototype, other deliverables include:
- Working modules of various types, including a minimal base module
- a automated testing and continuous delivery system for modules
- a better way of dealing with different versions of the same software
- minimized dependencies (ongoing work)
Modules Working Group (to replace Base and Env & Stacks)
Effort on this Objective will be undertaken by a new "Modules Working Group". This will replace the existing Base Working Group and Environments and Stacks Working Group.
The goal of the Modules Working Group is to define and maintain the Fedora Base Module and guidelines and tools for other modules.
This includes releasing the Fedora Base Module in artifact form on a regular schedule — as a Docker base image, as an installable minimal system, and possibly in other ways in the future. This will not be a Fedora Edition, but rather be the thing people constructing custom versions of Fedora can start from — including both advanced end-users and Fedora Spins and Editions. (See interesting background discussion on the Fedora Server mailing list].)
The Working Group will also produce tooling for module production and maintenance, and guidelines for modules, as the FPC does for RPMs.
The effort will also require help and resources from across Fedora, including Fedora Infrastructure, Release Engineering, QA, Security Team, and more. Representatives of those groups should be included on the new Working Group.
Notes (draft)
For the Fedora Base Module
- Target 50MB on disk
- Create pagure repo for experimentation with specs and rpms should
- COPR build repo
- Specific changes proposed to and ratified by FESCo (FPC?)
- Proven packagers to make changes to all affected packages in Rawhide
- Monitor changes to packages to ensure no “growth”
For the Tooling and Guidelines and Beyond
- Should include members of Fedora Rel-Eng and Fedora Security Team
- Phase 1 (Roughly until F24 release)
- Figures out what a “module” actually is in practice
- Required stakeholders
- Fedora Release Engineering
- Fedora Security Team
- Base WG
- Creates whatever tools needed to produce and use modules
- using existing tooling and systems where possible
- rely on Fedora Release Engineering for changes to infrastructure where required
- Fedora Infrastructure may also need changes
- Defines & creates demo modules other than base
- Phase 2 (F25 timeframe)
- Defines guidelines for module definition
- Approved and ratified by FeSCO
- Changes to packaging guidelines as needed
- Approved and ratified by FPC
- Module definition storage and hosting
- relies on implementation by Fedora Release Engineering
- CI infrastructure for modules, relies on work by
- Fedora Infrastructure
- Fedora QA
- Fedora Release Engineering
- Defines guidelines for module definition
- Phase 3 (ongoing)
- After all this is done, become some sort of Fedora Module Guidelines Committee in parallel with (or as part of) FPC
- Actually, parallel to Phase 1 & 2
Objective Lead
Timeframe
This phase should be complete by the Fedora 25 release. The re-chartered Base and Env & Stacks Working Groups will be ongoing.
History
Follows from Objectives/Fedora Modularization, Requirements Phase