Re: [Modularity] A proposal for stream naming

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2017-07-06 at 13:39 -0400, langdon wrote:
> On 06/29/2017 11:30 AM, Matthew Miller wrote:
> > On Thu, Jun 29, 2017 at 10:49:20AM -0400, Owen Taylor wrote:
> > > So my expectation is that the number of "collections modules"
> > > that have no strong connection to a particular upstream release
> > > process will be small and well defined - say Platform, Runtime,
> > > System Tools, and a few more. As such, I think it *would* be
> > > reasonable to say that they all are versioned at the same tempo
> > > and even keep the F<N> stream naming.
> > 
> > Langdon? Rebuttal? :
> 
> I think containers are just a packaging type. In other words, whether
> the "thing" is delivered as a docker container, flatpak,
> rpm,  something-not-though-of-yet, it is still the same module. This
> is kind of the point, we want to disconnect the "content needed to
> provide the service" from the "packaging mechanism to deliver the
> content" (very loosely). As a result, we may see many different
> module collections of stuff even if they are only being shipped as
> containers (or whatever).

I think you make different decisions depending on how you expect your
module to be packaged/deployed.

> So, I am not sure. I think Owen may have a point, but I think whether
> we have "many" collections will evolve over time. However, I
> definitely would not agree with the f<n> naming because why would it
> need to "stream change" because of the fedora base? In other
> words,  a new stream indicates a new ABI/API but, I can tell you, no
> matter how many versions of fedora go by, we are never gonna drop
> emacs OR vi from the system-tools type collection so why would the
> stream change? The module should be allowed to make decisions on its
> content based on its own timescale not an arbitrary release boundary.
> I think this applies to "collections of stuff" just as much as the
> more obvious "single applications."

But dropping emacs out of the system-tools collection would only be one
form of ABI/API breakage. The following can also be breakages:

 * Upgrading a package, if the package changes its ABI, API,
   configuration files or command line options.
 * Adding a new package (the new package may conflict with packages
   from other modules with unpredictable results)

And if module A depends on module B, and module B changes its ABI/API,
that also effectively changes the ABI/API of module A in the general
case.

One of the main ways we have of handling this fragility is to
distribute in a container (or container-like thing). If you design for
distributing in a container, and always distribute in a container, then
 consumers can ignore a lot of things that happen inside the module.

But for a module that is not containerized, that has a lot of packages
in it, that depends on the Fedora Platform module, I think that the
only realistic model that provides API/ABI stable streams is to release
new streams often, probably in sync with the Platform model, and not
change the streams much after release.

Whether those streams are called F<n> or 201806 or whatever is a
somewhat arbitrary choice.

Owen
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux