Building a modular Linux OS

with multiple versions of components on different lifecycles.

Read the Docs

When you want a rolling release. But not really.

How do I get a cutting-edge runtime for my CI/CD front-end along with a stable database?

Rolling Release

new app runtime
unstable database
new kernel

LTS

old app runtime
stable database
old kernel

Modularity

new app runtime
stable database
new kernel

Modularity separates the HW part (Base Runtime) of the application part (Modules). Different modules can have different goals like new features, stability, or security. It's up to you to choose the right ones.

About Modularity

Modularity (formerly, Modularization) is an ongoing initiative in Fedora to resolve the issue of divergent, occasionally conflicting lifecycles of different components. A module provides functionality (for instance a web server) and includes well-integrated and -tested components (for instance Apache httpd and the libraries on which it depends). Modules can be deployed into production in various ways, for instance as "classic" RPM packages or a container image, and is updated as a whole. Different modules can emphasize new features, stability, security, etc. differently.

Learn about the project

Follow our progress

We post regular updates to our Fedora Modularity YouTube Channel.

Watch our videos

Get in touch!

Come to our regular meeting, ask us on the mailing list, or discuss on our IRC channel.

Modularity Working Group wiki page