Hedgehogs and the Military
A couple of days after Ubuntu released warty, I had a look at how warty and sarge compared at least so far as how current their packages were. With hoary freshly released, and some more discussion underway, it seems worthwhile doing another comparison.
To review, Ubuntu creates a new release by synchronising various packages against Debian unstable, doing development of their own, freezing, fixing bugs, then releasing. Hoary is split into a few components, the most significant of which are “main”, which contains the supported software, and “universe” which contains the unsupported software. Packages that are modified for Ubuntu usually have “ubuntu” in the version string, though that’s not the case all the time.
Debian, by contrast, does continual development in unstable, synchronising packages into sarge as they become suitable. A base+standard freeze has been in effect since around August last year (so about eight months) with changes to those packages requiring review by the release management team; and an effective freeze has been imposed recently by the arm autobuilders lagging behind. Debian’s testing distribution is called sarge, and will form the next stable release. Debian’s unstable distribution is called sid, and is the first stop for package uploads.
So, let’s run the numbers. We’re doing this with binary packages on i386, since that’s probably what users are most likely to see.
In hoary/main there are 3136 packages. 49% of them modified for Ubuntu. 663 (21%) of those packages are the same as sarge, 630 (20%) are the same as sid. 1565 (50%) are newer than sarge, though only 1337 (43%) are also newer than sid. 908 (29%) are newer in sarge than hoary, and 1169 (37%) are newer in sid than hoary.
If you exclude the packages that Ubuntu have apparently modified explicitly, there are 405 packages that are newer in sarge than hoary compared to 140 that are newer in hoary. Adding sid into the mix, we get that 91 of those 140 packages are newer in hoary than sid as well as sarge; and only 462 packages are newer in sid than hoary.
To look at that another way: of 462 packages updated in unstable since hoary/main froze that were not modified by Ubuntu, testing’s been able to update 372 of them (80%) beyond what Ubuntu has managed, while Ubuntu’s freeze unstable approach has captured 59 packages at more recent versions than testing has in the intervening time.
There was a different 80% figure for warty; related to how much of the “freeze” process testing would “handle for you”, as measured by what proportion of the packages that you didn’t modify by hand would end up at least as recent. In this case that’s (663+372)/(663+372+140-91), or 95%. So the advantage of branching unstable seems to be diminishing, though there’s no obvious way to compare that against the disadvantages of working from unstable (ie, getting random bugs that you then have to fix before releasing).
In any case, at least at a statistical level, the comparison of warty/main and hoary/main to the sarge of the day seems fairly steady; about 50% of packages have been modified for Ubuntu, and testing continues to handle updating the remaining packages fairly well.
Well, as far as testing goes anyway. At the moment, as of a couple of days after hoary’s release, 43% of hoary/main is newer than the corresponding packages in sid, by a pure version number comparison (or else, not present in sid at all). For the warty analysis, only 16% of hoary/main was newer than what was in sid.
Of course, main is where Ubuntu focusses is strengths. So the comparison to universe makes an interesting contrast.
For universe, there are 12654 packages, 16% modified for Ubuntu. 6798 packages are the same in hoary and sarge (54%), and 3490 (27%) are newer in sarge than hoary, leaving 2366 packages that are newer in hoary. For comparison with sid: 6461 (51%) are the same, 4536 (36%) are newer in sid, and 1657 (13%) are newer in hoary.
Ignoring the Ubuntu specific changes, and the packages in common, we get 2829 packages newer in sarge, 79 packages newer in hoary than sarge, 496 packages present in hoary and sid but not sarge, and 427 packages not present in sid. So if you’re looking for pure currency, Debian’s still doing significantly better when it comes to universe.
However, it’s interesting to compare this to warty. In that case, hoary is up from 6% Ubuntu specific versions to 16% (with an additional 3% of packages in hoary/universe not present in sid). It’s also moved from 36% of packages being older than sarge to 27%, and 50% of packages being equal to 54%.
All in all, 23% of hoary is currently definitely an Ubuntu package rather than something pulled from Debian, and possibly another 5% of hoary is Ubuntu specific packages that just don’t have “ubuntu” in the version. For a distribution that’s under a year old to be maintaining about a quarter of Debian’s packages seems pretty impressive.
Of course, pure package count and currency isn’t everything; there’s the question of support and security updates (universe is “best effort”, as is all of sarge, but not stable); and of course a higher version number means different things — it can mean anything from a spelling fix, or to adding download authentication to apt.
Anyway, one other statistic: 47.45% of hoary is exactly the same as sarge of today. Back when I was looking at warty, 47.27% of it was the same as sarge at the time.