RPM packages are powerful as they are and there is no need to do any changes at this level.
Packages are grouped into modules — a representation of an application, a language runtime, or any logical group. That makes the content more granular and easier to navigate.
Modules can be available in multiple streams, usually representing a major version of the software they include. Choose the right version of the piece of software you need. Coming right from Fedora.
To simplify installation, we have introduced installation profiles — package subsets representing a specific use case of the module.
In case that all sounds overwhelming, there are defaults for both streams and profiles — so you only need to make choices when you really want to.
And when you make a choice, we make sure it's being respected during both regular updates and even major distribution upgrades. So things keep working the way you expect.
There are few new commands you'll need to learn in order to leverage Modularity in its full potential. But don't worry, they're completely optional and the system keeps working the way it used to even without these new commands.
$ dnf module list
Shows you list of all module streams available for your system. Also indicates which ones are already installed.
$ sudo dnf module install dwm
Installs a default stream of dwm — a tiling window manager. Each Fedora release can have a different default.
$ sudo dnf module install nodejs:8
Installs Node.js version 8. This might be a different version than the one available by default.
$ sudo dnf install mongodb/client
Installs client tooling for MongoDB. Server is also available and can be installed at the same time if desired.