While referencing this answer on how Ubuntu and Debian releases align I noticed that the corresponding Debian releases are happening a year after Ubuntu has already released their LTS based on that particular version of Debian. How does it make sense to release an OS focused on stability when the OS you're building on top of us doesn't even feel it is worthy of actually releasing? Do a lot of bugs get fixed in the first year of an Ubuntu LTS because of fixes bubbling up from the Debian community?
I noticed that the corresponding Debian releases are happening a year after Ubuntu has already released their LTS based on that particular version of Debian.
That is not really a correct assessment. You would need to look at the actual package names and version numbers and not as a whole system. In some parts Ubuntu is ahead at some given moment and in others it is Debian.
There is roughly a 6 months gap between the "unstable Debian" and "stable Ubuntu".
Unstable Debian -> Unstable Ubuntu -> testing, fixing, and feedback to Debian -> beta release Ubuntu -> final Ubuntu release.
Do a lot of bugs get fixed in the first year of an Ubuntu LTS because of fixes bubbling up from the Debian community?
Between the beta and final release you will see more bugs getting fixed. And after the release you often see some extra updates but a lot less than before the final release. And the updates after that also get less and less. Just before the next releases you will also see a bit of an increase in updates (we already got 3 this week :) )
This sort of question pops up several times each year.
And it usually occurs because the term "stable" can have more than one meaning.
LTS releases are stable in the sense that "the software does not change". Enterprise customers found that new releases of Ubuntu with up-to-date software included changes and new features...but tended to create headaches by breaking their established workflows. LTS releases were originally intended to address this issue by promising to not change the software beyond High/Critical bugfixes and security patches.
- Example: Ubuntu 18.04 LTS shipped with Gnome 3.28. It still runs Gnome 3.28, no matter how many upgrades you install, though Gnome recently released 3.40.
- There are a couple exceptions to the-software-does-not-change. Example: Firefox, which has a large attack surface, is updated to the latest version in all supported releases of Ubuntu.
LTS releases are NOT stable in the sense that "there are no bugs". The Ubuntu Developers work very hard to ensure that there are no release-critical bugs (which also happens to be similar to the Debian standard for a new release). There is often a lengthy set of Release Notes detailing issues that were discovered during testing. And, yes, there are indeed a lot of bugfixes, especially during the first year after an LTS release...but most of those bugs are discovered after release. (LTS releases have a LOT of users)
Example: weekly Desktop Team Update. Take a look at how much effort the engineers are putting into coordinating bugs, fixes, and plans with upstream projects...including Debian. These folks work hard to be good citizens of the Open Source ecosystem. Most Canonical Engineers are open-source enthusiasts, and many are Debian Developers too. and this is at the frantic pre-release end of a release cycle; much more upstream coordination will happen in a month at the beginning of the next cycle.
Exception to the calendar cycle: Ubuntu 06.04 was famously delayed two months to 06.06 due to several release-critical bugs. It's the only delayed release in Ubuntu's history.
Ubuntu and Debian are different projects with a different focus. Ubuntu puts more focus on timeliness and on a limited selection of software. Debian puts more focus on spending time polishing releases.
It's worth noting at this point, that the idea that ubuntu releases are "based on Debian releases" is fundamentally wrong. Each Ubuntu release is based first and foremost on the previous Ubuntu release. There is a process that automatically imports changes from Debian but it only applies to packages that are in sync between Debian and Ubuntu.
It's also worth noting that if you plan to support something for a long time, freshness is helpful because it means a reduced delta between yourselves and upstream if you need to back-port a patch, or even if you need to hire someone familiar with the code.
Given the lack of alignment between Ubuntu and Debian release schedules, importing from Debian stable is really not a viable option. They did import from testing instead of unstable for lts releases in the past, but stopped doing so after introducing the "proposed migration" filter.
Ubuntu maintain many of the most visible packages themselves, often being ahead of Debian. Being ahead of Debian is possible for several reasons, firstly Ubuntu has paid full time staff who can put more time into Grinding through problems. Secondly Ubuntu supports less architectures than Debian. Thirdly Debian is driven more by individual maintainers, where as ubuntu is driven more by strategic goals.
For more Niche packages in the Universe section though, it's very common for them to just be whatever was in Debian unstable at the time of the Debian import freeze, as noone is maintaining them in Ubuntu.
You certainly aren't the first to see this automatic import from Debian regardless of the time in Debian's release cycle as problematic. I've seen a fellow Debian developer complain about it before when a package containing a pre-release version of a program that they intended to be superseded shortly ended up in a Ubuntu release (may well have been a lts release, I can't remember for sure) but it's difficult to see what else Ubuntu could do other than giving up on Universe entirely (which would be throwing the baby out with the bathwater) or syncing their release cycle with Debian (as I discuss below, the way the release cycle is defined is one of the most fundamental differences between Debian and Ubuntu).
I think when comparing Debian and Ubuntu it's important to know the history, history that newer users won't remember but goes a long way towards understanding why this are the way they are.
Back in 2004, Debian had a problem. Each release had been taking longer than the last. Slink took 8 months, Potato took 17, Woody took 23, people were wondering if Sarge would ever be released.
It was in this environment that Ubuntu was introduced. There were a few key differences from Debian including.
- Time based releases, rather than a "when it's ready" approach with people left wondering if it would ever be ready Ubuntu committed to a regular release schedule releasing every 6 months.
- A business behind it started by a very rich guy that was able to pay staff to maintain packages. There was a hope of eventually making a profit, but that was a long term goal, not a short term imperative.
- A split between "main" and "universe", packages in "main" would be maintained and supported by paid Canonical staff. Packages in "universe" were down to the community to maintain or fail to maintain.
Since then, things have converged a bit Debian was able to get it's release process back under control releasing sarge in mid 2005, and making a release roughly every two years thereafter. Ubuntu started designating one release out of four as a long term support release and supporting those releases for longer periods but the basic ideas remain. Ubuntu has only once missed their regular release month, while Debian's release date since Sarge has varied between Febuary and August.