3 ms·
How would we easily quantify the coherence of a software platform, pre release? So we can state some subsystem is completely coherent or the overall platform i
by froh 4y ago
How would we easily quantify the coherence of a software platform, pre release? So we can state some subsystem is completely coherent or the overall platform is slightly incoherent?
In that terminology, Linux distributions are "mostly coherent" in their rolling beta release and the strive to become globally coherent for their release forks, right?
- dsr_ 4y agoIn an ideal universe, Debian Stable is globally coherent minus declared Conflicts. That is, there are packages that are mutually exclusive, but they are expected to perform similar functions such that they are reasonable alternatives for each other. What do we call NixOS, where different users can have incompatible package versions but the whole system allows for that? 'Tolerance' rather than 'coherence', perhaps?
- Mathnerd314 4y agoNixOS is globally coherent: the packages are specified using global identifiers like "python3", "vlc", etc. and each of these identifiers corresponds to a "blessed" version. But it is not locally coherent, because the hashes allow installing multiple versions of a package at once. So NixOS would be "locally tolerant", to use your terminology.
- froh 4y agoAnd namespaces are used to make them runnable simultaneously? So "dependence hell" is escaped with sufficient ram?
- gmfawcett 4y ago"Joyfully incoherent" comes to mind. :)
- Mathnerd314 4y agoA rolling release is not a "pre release" but rather a continuous succession of releases, one for every package update. To the extent the rolling release has no broken packages it is completely globally coherent. And I don't think a failing package is necessarily a failure in coherence either - it just means the blessed version is broken. Incoherence is when you have A depending on C-1.0 and B depending on C-2.0 and the two versions of C not simultaneously installable (local coherence of C) - it is only the complex constraint-solving package managers that would be able to function with such a dependency tree. Such a situation is unlikely to occur in a rolling release - it is more likely to have two C package C1-1.0 and C2-2.0 which do not conflict.
- froh 4y agoGood point. We have to distinguish if it has been built coherently or if it actually works. I was obviously thinking of the latter, it's the one that's uaefzl. In that sense a rolling release may _claim_ coherence, buld coherence that is, while it still is locally incoherent (some packages don't work).
- froh 4y agoOh. I have no idea how autocorrect transmogrified "the one that counts" into "the one that uaefzl".