|Fedora contributors (vendors and individuals) can collaborate within the Fedora community on exploring and developing open source solutions to problems of the future|
|Fedora is a popular platform because its ecosystem is both cutting-edge and well optimized for modern deployments such as IoT and containers. That makes many people use Fedora rather than to build and assemble their own artifacts directly from upstream projects. And that relieves the pressure on open source developers caused by users who would otherwise ask for their specific security and other issues to be fixed quickly.|
|Fedora Minimization Objective|
|Feedback Pipeline actively monitors each use case and records the size and the dependencies required for it to run. Data history is kept and shown to see changes over time. And to keep things small over time, Feedback Pipeline also automatically detects size increases and potentially automatically opens Bugzilla bugs to track/fix/justify such increases transparently.|
|First Phase Accomplishments|
|__GO for container apps__|
|Helping open source developers, sysadmins, and Linux distribution maintainers to focus on what's relevant for them.|
|https://minimization.github.io/reports/[**Feedback Pipeline**] — A service that monitors use cases for size and dependencies. Includes various views in tables and interactive dependency graphs.|
**Identify relevant use cases** and allow the community (meaning not just the Minimization Team) to define their own. We think of a use case as a set of packages installed in a specific context, having a specific purpouse — such as __Apache HTTP Server Container__. Define use cases at least for:
**Implement process and policy changes** reflecting bigger, more general changes. Again, a good example is using Systemd in containers, or the general issue of creating users in containers.
**initial-setup** — If an image is built without users, there needs to be some way to add a user at startup. initial-setup does a good job of that, but at the expense of size. It pulls in anaconda-tui and anaconda-core. Those two packages then commence to pull in alot of other, rather large, packages. This is for the IoT images, as well as others.
We currently do not have a recommendation, but it is being worked on.
|Mailing list discussion: https://email@example.com/thread/6YX6CEFBPU3XVZZEHTN6CBH2F7JDF35N/#EJD4BNBE52JTEOPKAT6HFOO4HVUPBTCH|
**Minimize** the installation size of the use cases by optimizing RPM dependencies, features, software architecture, and other factors. Specifically, look for:
|Monitor size changes over time|
|Multiple implementations of the same functionality required by various packages — try to make them use the same one|