From Fedora Project Wiki
m
 
Line 1: Line 1:
''And an attempt to get the vocabulary consistent''
+
{{admon/important|This page is deprecated| All Fedora Modularity Documentation has moved to the new [https://docs.pagure.org/modularity/ Fedora Modularity Documentation website] with source hosted along side the code in the [https://pagure.io/modularity Fedora Modularity website git repository]}}
 
 
Author: Stephen Tweedie
 
 
 
=== Building modular things TOC ===
 
# [[Modularity/Getting_Started/Building_modular_things/The_package|The package]]
 
# [[Modularity/Getting_Started/Building_modular_things/The_module|The module]]
 
# [[Modularity/Getting_Started/Building_modular_things/The_stack|The stack]]
 
# [[Modularity/Getting_Started/Building_modular_things/The_image_or_artifact|The image or artifact]]
 
# [[Modularity/Getting_Started/Building_modular_things/How_do_these_parts_fit_together|How do these parts fit together?]]
 
 
 
----
 
 
 
=== Summary ===
 
 
 
We have some basic terminology confusion around modules. Is a container image the same thing as a module? Is a software collection a single module, or a group of modules? We can often get away with being vague, but for technical planning we need to be able to distinguish between all these concepts.
 
 
 
I propose we use these terms:
 
* '''Package'''. Essentially, the same thing as an rpm. In the future it might be non-rpm content but should fit the same role.
 
* '''Module.''' A set of packages tested and released together as a distinct unit, complete with the metadata needed to manage it as a unit. May depend on other modules.
 
* '''Stack. '''A complete tree of modules. A stack can be thought of as a top-level module, with the understanding that we’re implicitly including all of that module’s dependencies in the stack.
 
* '''Artifact '''or''' image'''. An actual set of bits built out of modules, in a format intended to be distributed or deployed in some way.
 
 
 
Generally, these serve distinct purposes. A module is a building block; a stack contains all the software for a complete solution; an artifact is a concrete object containing a stack (or stacks) for distribution to users.
 
 
 
We will also distinguish between:
 
* A '''Build''' of a package: a process which involves compiling source code and creating a packaged output; and
 
* A '''Compose''' of a module: a process which assembles pre-compiled packages into an organised module, but which includes no compilation step itself.
 

Latest revision as of 07:53, 20 February 2017

Important.png
This page is deprecated
All Fedora Modularity Documentation has moved to the new Fedora Modularity Documentation website with source hosted along side the code in the Fedora Modularity website git repository