65 lines
3.5 KiB
Text
65 lines
3.5 KiB
Text
= Minimization Action Plan
|
||
|
||
This is a short-term action plan for the Minimization effort. The objective is in an early stage and doesn’t have a proper tracker, yet. At this time, everything is tracked at and reported back to this space in Fedora Docs.
|
||
|
||
There are four main focus areas at this moment:
|
||
|
||
1. **Prototyping simple tools**
|
||
** Developing (or documenting existing) tools that help with exploration and analysis.
|
||
|
||
2. **Ecosystems exploration**
|
||
** Identifying specific use cases (specific package installations) to optimize. Comparing Fedora with other ecosystems for reference.
|
||
|
||
3. **Use case analysis**
|
||
** Digging into dependency trees of specific use cases (specific package installations), and finding ways for potential minimization.
|
||
|
||
4. **Content strategy**
|
||
** Defining an effective way to let the world know about the cool things we do!
|
||
|
||
== Prototyping simple tooling
|
||
|
||
Developing (or documenting existing) tools that help with exploration and analysis.
|
||
|
||
Two main classes:
|
||
|
||
* **Use case analysis** — Tools that help with looking at specific use cases installed in various context such as an empty root, the Fedora base container image, or the "Fedora Minimal" installation, and finding ways how to optimize the size. Visualising the dependency tree, showing sizes of various parts, offering alternative packages as dependencies from the Fedora repos and showing the impact of choosing an alternative, potentially even showing dependencies on the file level and suggesting package splits in cases a tiny portion of an otherwise large package is used as a dependency, etc.
|
||
* **Monitoring and feedback** — Monitoring the sizes of relevant use cases over time as new versions of packages are built, reporting potential size increases. Also monitoring for specific dependencies that have been removed in the past but could come back, and reporting those.
|
||
|
||
=== In progress:
|
||
|
||
* https://pagure.io/minimization/dependency-visualiser[**The __showme__ tool**] — Dependency visualisation of an RPM-based installation.
|
||
|
||
|
||
== Ecosystems exploration
|
||
|
||
Identifying specific use cases (specific package installations) to optimize. Comparing Fedora with other ecosystems for reference.
|
||
|
||
Talking to other groups in Fedora such as https://docs.fedoraproject.org/en-US/iot/[IoT] and finding what use cases are relevant for them to minimize, what their goals are, and helping them with minimization.
|
||
|
||
There are also many different ecosystems other than Fedora — other linux distributions, various container images, etc. We’ll look at those to compare what sizes and features are available in the universe. This will help us get a better idea about where we stand, and what our goal should be.
|
||
|
||
|
||
== Use case analysis
|
||
|
||
Digging into dependency trees of specific use cases (specific package installations), and finding ways for potential minimization.
|
||
|
||
Important part of this will be working closely together with the maintainers as they are the subject matter experts.
|
||
|
||
=== Use cases to focus on
|
||
|
||
* The Apache httpd web server (`httpd`)
|
||
* The Nginx web server (`nginx`)
|
||
* The DNF package manager (`dnf`)
|
||
* __... more to be added__
|
||
|
||
|
||
== Content strategy
|
||
|
||
Keeping the world up-to-date about our efforts is an essential part of this objective. We need to have a simple content strategy to make sure that there is information flowing consistently.
|
||
|
||
We need to consider readers with various amouts of time and levels of interest. Some of the things we may publish is:
|
||
|
||
* Digests of conversations that are happening
|
||
* Weekly updates — both on a very high level and deep dives
|
||
* YouTube videos?
|
||
* Twitter accounts with digests?
|