What is Modularity?
Modularity is an exciting, new initiative aimed at resolving the issue of diverging (and occasionally conflicting) lifecycles of different “components” within Fedora. A great example of a diverging and conflicting lifecycle is the Ruby on Rails (RoR) lifecycle, whereby Fedora stipulates that itself can only have one version of RoR at any point in time – but that doesn’t mean Fedora’s version of RoR won’t conflict with another version of RoR used in an application. Therefore, we want to avoid having “components”, like RoR, conflict with other existing components within Fedora.
Although RoR can be thought of as a component, the definition of “component” is actually a work-in-progress. In other words, another example of a component might be a “LAMP module”, where module is defined as a well-integrated and well-tested set of smaller components that provide functionality. The LAMP module would contain the necessary smaller components required to build and deploy a dynamic, high-performance Apache web server that utilizes MariaDB and PHP. Such a module would be completely independent of all other modules.
When we have module “independence”, we avoid the issue of conflicting lifecycles, such as the RoR lifecycle issue discussed earlier. For example, if we chose to update the LAMP module, updating this module would not interfere (or conflict) with the functionality of other components within Fedora . This independence is the prime benefit of Modularity.
Staying up to date with Modularity
Currently, there are three fantastic ways to keep up to date with the Modularity effort:
The first way is, of course, to read our blog posts! We will provide you with updates whenever we write new documentation, create videos, or have more exciting information to share with you.
The second way is to watch videos on our YouTube channel, which provides numerous short demos of the ongoing work in Modularity. Since our YouTube channel is updated on a biweekly basis, you can be sure to find regular, detailed updates in all of our videos. Just watch our updates by playlist.
The third and final way is to read our wiki pages on Fedoraproject.org, which hosts documentation for all of our work. Reading these wiki pages are a great way to view progress of the Modularity effort since new pages are added as new functionality/infrastructure is added.
And don’t forget – if you are interested in playing around with any of the Fedora Pagure repos discussed in our YouTube videos, blog posts, or wiki pages, we highly recommend for you to check them out here. Any and all of our work will be hosted on Pagure for your viewing and coding pleasure.
How can I get involved?
Are you interested in the Modularity effort and would like to contribute or learn more? If so, you can always find us on #fedora-modularity on freenode (to join freenode and chat with us, see freenode.net).