Remnant: A new release process for Ubuntu?
My proposal is a radical change to the Ubuntu Release Process, but surprisingly it would take very little technical effort to implement because all the pieces are already there including the work on performing automated functional and verification tests. I believe it solves the problem of landing unstable features before theyre ready, because it almost entirely removes releases as a thing. As a developer you simply work in a PPA until youll pass review, and land a stable feature that can replace what was there before."
Posted Sep 9, 2011 17:55 UTC (Fri)
by imgx64 (guest, #78590)
[Link]
(Yes, I realize this proposal isn't about rolling releases, but it's close enough)
Posted Sep 9, 2011 18:05 UTC (Fri)
by AlexHudson (guest, #41828)
[Link] (34 responses)
I'm choosing a distro to install for a family member, who is IT literate but needs something stable that works. Ubuntu and Fedora are right out; they're just not usable. OpenSUSE I have no experience of, maybe it's better. RHEL/SLED is definitely in the running but $50/year is too steep (IMHO).
So at the moment it kind of looks like Debian, or CentOS/SL. Debian, at this point, is kind of "Ubuntu, done right", which is desperately ironic. It's releasing more regularly, but at extremely high quality, and I could say similar things about the RHEL derivatives.
In many ways, I agree with Scott: releasing regularly is definitely important. But, imho, most important is releasing something worth using - and both Ubuntu and Fedora fall down hard there, right now.
Posted Sep 9, 2011 18:35 UTC (Fri)
by halla (subscriber, #14185)
[Link] (1 responses)
Posted Sep 9, 2011 20:34 UTC (Fri)
by tonyblackwell (guest, #43641)
[Link]
Posted Sep 9, 2011 19:00 UTC (Fri)
by dowdle (subscriber, #659)
[Link] (28 responses)
Posted Sep 9, 2011 19:41 UTC (Fri)
by AlexHudson (guest, #41828)
[Link] (27 responses)
F15 lost parallel printer support almost completely it seems, and network printing is not much better: the Gnome system settings cappet for it simply does not work, and s-c-p works insofar as I can configure the printer and see toner levels (useful!) but not yet print.
I can name tonnes of other issues, like the fact pino made it into the default install despite not working in any obvious way, even though this was known before release. Of course, there are bugs in all software: what it comes down to, though, is "Are there sufficient numbers of bugs that they cut across most users' experience?" In the case of Fedora, that's almost certainly true: even if the "Gold" tested release works; hundreds of updates are released within a couple of days which will almost certainly break something crucial.
I use Fedora on all my machines, I try to help develop it. But it's busted beyond fixing right now, and I'd never let a "normal user" anywhere near it for any extended period of time.
Posted Sep 9, 2011 21:14 UTC (Fri)
by jspaleta (subscriber, #50639)
[Link] (21 responses)
I've seen someone report that a 3rd party gtk theme they installed ended up breaking gtk based apps when trying to print. Uninstalling the gtk theme fixed the issue. Maybe you have something like that on your syetem?
I don't have a parallel printer anymore so I can't provide any feedback on that.
As for F16...well...its pre-release still...meh.
-jef
Posted Sep 9, 2011 21:57 UTC (Fri)
by AlexHudson (guest, #41828)
[Link] (20 responses)
I'd love to be able to tell you why my setup simply doesn't work and yours does (gnome capplet notwithstanding; I assume that doesn't work for anyone, but maybe there is a small group for whom it's awesome). I've no idea, and I've looked hard. I have a colord warning in CUPS but the printer is mono, maybe there's an issue there - but it's all chatting over dbus and I have no idea how to turn that off or whatever. I'll just keep waiting until the maintainer gives me some clue in the bug I opened months ago.
The "As for F16" attitude is exactly why Fedora doesn't get tested properly - because no-one gives a flying monkey about the prerelease. I know plenty of Fedora packagers who simply do not use it, because it's broken crap. So what happens is that people don't bother even trying it until alpha or beta at best.
I'm one of the few who persists in using F16 as a day-to-day system, because you cannot test stuff properly without running it more or less full time. And I get bitten on the ass regularly for my trouble. And let's be honest, there's no consensus within the project that *releases* are even suitable for anyone outside of hobbyist hackers anyway.
To finish this on a positive note: AdamW is probably one of the best value hires Red Hat has made in recent years, and the QA and test day stuff keeps getting better in a large part (it seems to me) due to him. It's not like progress isn't being made; it's just that stuff keeps being broken.
Posted Sep 9, 2011 23:33 UTC (Fri)
by jspaleta (subscriber, #50639)
[Link] (17 responses)
I expect breakage to happen somewhere in the chosen distribution release model. I also understand that "time-release" models versus "when its ready" models will absolutely positively allow more breakages through into the distribution release due to the nature of complexity of the integration process and the existence of finite resources. We can beat on that reality with better tooling and better resource management, but I take it as a true fact that there are unsolvable conflicts of interest in aggressive time based releases and the needs of integration testing.
Holding up Debian as the gold standard that it is, they have experimental and unstable to do integration work in a more granular fashion...but they also "release" at a much longer timescale. They live with the same conflicts they have chosen a different point of the curve to live on.
For Fedora specifically I expect most (but not all breakage) to happen in the pre-release tree. I'm not going to get overtly upset when my pre-release F16 install falls over and dies due to an pre-release update mistake. Should I be mad when it happens? Should I spit bullets and rage at the sky? How does that help?
I also think your conjecture as to why few people are running pre-release is probably overly simplistic. The chosen release cycle and the lifetime cycle put additional constraints on package maintainers. But let's cycle back to Debian. Do you know what percentage of Debian users/maintainers run Experimental or Unstable on a day-to-day basis?
-jef
Posted Sep 10, 2011 2:07 UTC (Sat)
by imgx64 (guest, #78590)
[Link] (8 responses)
I don't have any statistics, but my guess is that mostly everyone not running a server is running Unstable. Experimental is rarely used as a whole, but people often install individual packages from Experimental in an Unstable system.
Posted Sep 10, 2011 9:43 UTC (Sat)
by bobbytables (guest, #65908)
[Link] (1 responses)
I'm running stable - although I have some very few key packages (non-free firmware, virtualbox and wireless hacking tools) from stable-backports, testing and unstable.
I'm sure there are plenty people more as me. The simple fact that stable-backports exist can attest this, not to mention the bugs which are filed against desktop software by people who use stable. All bug reports done through the reportbug tool have a "apt prefers" section which tells which release they are using.
Posted Sep 10, 2011 20:32 UTC (Sat)
by przemoc (guest, #67594)
[Link]
Well, not exactly same, because over time not only key packages have been upgraded in my box (like tmux from backports, nvidia-* from testing/wheezy), but even less important ones. OTOH due to bumped versions of dependencies in testing+ (like in case of okular, it needed though lowering KDE4 ver requirement and removing some unsupported &jovie; in index.docbook) or lack of maintainership (like in case of pan), you're sometimes enforced to do your own builds. I also use external repos (for virtualbox or google-chrome).
I don't like adding repos of testing+ in stable explicitly, so I've crafted handy oneliner for getting all packages built from given source one.
PKG=git REL=wheezy ARCH=amd64 PKGHOST="http://packages.debian.org" MIRROR="ftp.pl.debian.org"; wget -q "$PKGHOST/source/$REL/$PKG" -O - | sed '/.*<dt><a href="/!d;s,,'"$PKGHOST"',;s,'"$REL"'/,&'"$ARCH"'/,;s,".*,/download,' | xargs wget -q -O - | sed '\,'"$MIRROR"',!d;s,[^"]*",,;s,".*,,' | xargs -n1 wget
It will surely break with next upgrade of debian sites look, but works for now (for me).
Posted Sep 10, 2011 16:44 UTC (Sat)
by tajyrink (subscriber, #2750)
[Link] (1 responses)
Posted Sep 10, 2011 16:45 UTC (Sat)
by tajyrink (subscriber, #2750)
[Link]
Posted Sep 10, 2011 18:28 UTC (Sat)
by andrel (guest, #5166)
[Link] (2 responses)
Posted Sep 10, 2011 19:56 UTC (Sat)
by jspaleta (subscriber, #50639)
[Link] (1 responses)
Historically, in the first 6 months after a stable debian release goes gold, is there a noticeable drop off in the number of people using unstable? Or conversely as stable becomes more stale does the unstable users population grow?
Or to ask a more general question, is the unstable population in debian popcon a somewhat constant percentage or does it have statistically significant seasonal variations related to the debian stable release process?
If there was a way to estimate the usage of testing and experimental I'd appreciate any effort along those lines as well.
-jef
Posted Sep 10, 2011 23:01 UTC (Sat)
by andrel (guest, #5166)
[Link]
FTP/HTTP logs at one of the major download servers could also be used to answer your questions. But I don't have access to that.
Posted Sep 14, 2011 15:02 UTC (Wed)
by man_ls (guest, #15091)
[Link]
Now there is a compromise here: if nobody uses testing on their desktop then it will not get the exposure it needs to become a good stable release. But I am happy because I have two good releases for the desktop; and one (testing) is basically a rolling release.
Posted Sep 10, 2011 6:52 UTC (Sat)
by AlexHudson (guest, #41828)
[Link] (6 responses)
That simply isn't true: the nature of the release cycle makes absolutely no difference whatsoever. What makes the difference is people racing to a deadline to fit certain things in - there's no reason that the decision to release a package to a distribution for either cycles needs be different. Sure, Debian has a ~24 month cycle compared to a ~6 for Fedora. That's not the comparison. Debian Testing is pretty much continuous/rolling (bar freezes and stuff), and is generally both a. more up-to-date than the released Fedora and b. more stable (obviously neither of those things are totally quantitative). As for getting upset: I don't think it's right to get upset at other packagers for any reason, pretty much. But setting aside your prejudicial words: is this an ok situation? You might be happy with F16 breaking continually, seeing it as a cost of the integration work. I'm not. F16 breaking stops other people getting work done. It's like someone submitting code into the trunk of a repository that doesn't compile. Yes, accidents happen. No, it's not a good situation. This is plain and obvious to me. (BTW, comparing F16 with Debian Unstable is also clearly a false comparison. Unstable and Rawhide are more directly comparable; F16 is a release branch and more akin to Debian's testing - which large numbers of people use extremely happily).
Posted Sep 10, 2011 7:45 UTC (Sat)
by rahulsundaram (subscriber, #21946)
[Link] (5 responses)
Posted Sep 10, 2011 10:03 UTC (Sat)
by AlexHudson (guest, #41828)
[Link] (4 responses)
Fedora hasn't got to that point: the question isn't, how do we do it better? The question is vastly more fundamental than that: what is the end goal?
It's not clear to me that there's a broad consensus that Fedora is aimed at people beyond Fedora contributors and 'enthusiasts' (a code-word for 'people who know how to fix things when we break them').
Without coming to a consensus about whether or not Fedora should be useful to people who don't necessarily know how to fix everything, there's no point talking about "how to do it better".
Posted Sep 10, 2011 15:22 UTC (Sat)
by rahulsundaram (subscriber, #21946)
[Link] (3 responses)
Posted Sep 10, 2011 16:43 UTC (Sat)
by AlexHudson (guest, #41828)
[Link] (2 responses)
That aside, I disagree that this is an issue of man-power or participation, but even assuming that it is: why is it that enough people are not participating? I would venture that it's because the prerelease OS is just not generally usable, and that "testing" in this instance doesn't just mean using the stuff you usually would do and reporting the papercuts, it means "expect your system to break horribly". The canary in the coal mine form of testing.
Posted Sep 10, 2011 17:45 UTC (Sat)
by rahulsundaram (subscriber, #21946)
[Link] (1 responses)
You are guessing that pre-release breakage is turning off people from testing and that might well be the case but going a little bit further, have you thought about why there is pre-release breakage and what can be done to break out of that cycle? There is always a shortage of resources in people in quality assurance for distributions with a short release cycle. For instance, AutoQA could prevent a number of breakages and they have been repeatedly asking for help in writing tests. Certainly a resource shortage there.
Posted Sep 15, 2011 15:35 UTC (Thu)
by mrshiny (guest, #4266)
[Link]
As a long time Fedora user myself, I constantly encounter problems (certain releases were worse than others, I'm running F14 and it's doing ok). I always worry when I sit down at my computer, 10 times in 8 days, and EACH TIME there are new updates to install. What is going to break this time? I know how to fix things but I'm not interested in trying something even more temperamental than the "stable" releases. And if the only solution to my problem is to become a fedora developer or QA person, then you're saying that Fedora is only for the people who make it.
Posted Sep 10, 2011 10:44 UTC (Sat)
by rleigh (guest, #14622)
[Link]
Perhaps the main difference between unstable and Fedora is that unstable is used to package new versions of upstream stable releases; packaging unreleased or development releases of upstream software is not the norm, and that's not what unstable is for. Occasionally beta releases prior to release are uploaded (e.g. postgresql 9.1 recently), but this is generally only done when it's known good (it was tested in experimental for several months). Experimental exists to allow testing and integration/staging of bleeding edge stuff without breaking unstable, and I think it does a fairly good job in that regard.
Regards,
Posted Sep 10, 2011 0:32 UTC (Sat)
by j1mc (subscriber, #56848)
[Link] (1 responses)
Say what you will about Ubuntu, but their pre-releases post-alpha 3 are serviceable. They boot. There might be crashes, but they are application crashes, not things that will keep you out of your system.
To me, it seems like a negative cycle of sorts. Fedora pre-releases break, so they don't get the testing they need, so they don't get the attention and fixes they need, either.
Posted Sep 11, 2011 23:00 UTC (Sun)
by cjwatson (subscriber, #7322)
[Link]
I guess the buzzword here is velocity: the better your development release works, the easier it is for people to work with it and land their own work based on it. While I don't agree with all of Scott's proposed solution, I generally agree with his problem statement and I think we can probably find common ground around things like using QA to gate the promotion of packages between channels. This certainly doesn't need to be an all-or-nothing discussion.
Posted Sep 9, 2011 21:24 UTC (Fri)
by dowdle (subscriber, #659)
[Link]
Pre-release versions are a completely different issue. They have to meet a certain set of criteria... which is basically they should be installable enough to allow for testing and bug reporting. They aren't really supposed to be usable. Of course it would be nice if there were never any bugs and nothing to report.
Lots of updates? There sure are. I like that. I do agree with you, I don't really recommend Fedora to a newbie. I recommend it to computer / Linux literate person who has already been using Linux for a while. It is an innovator's distro... where you can get your hands on the latest and greatest stuff. While they would like it to be for everyone even the newbie, their development model / cycle does not lend itself to that really.
Fedora is totally awesome for people who want to give back / contribute, not just in software development but in documentation, bug reporting, testing, etc. It reminds me for the good old days when someone sent out an email asking if you were tired of your computer just working and wanted some adventure and excitement. :)
Posted Sep 10, 2011 3:57 UTC (Sat)
by rahulsundaram (subscriber, #21946)
[Link] (2 responses)
Posted Sep 10, 2011 7:20 UTC (Sat)
by AlexHudson (guest, #41828)
[Link] (1 responses)
However, I would note that it only got removed on the 10th May, which was the original Fedora 15 gold release date: so it was removed in time by virtue of the release being two weeks late. Arguably it would have blocked release, but it really should not have got to that point.
Posted Sep 10, 2011 7:43 UTC (Sat)
by rahulsundaram (subscriber, #21946)
[Link]
Posted Sep 10, 2011 17:39 UTC (Sat)
by nirik (subscriber, #71)
[Link]
/boot was blown away? By what?
Printing works fine here in f15 (although network, not parallel).
I'd suggest for f16, 'yum groupinstall xfce-desktop' (or kde, lxde, whatever), so when you run into gnome issues you have something you can at least use and debug from.
f15 has been perfectly usable for my Girlfriend day to day (though we did run into a issue with ipw2200 module a while back).
Posted Sep 10, 2011 17:01 UTC (Sat)
by tajyrink (subscriber, #2750)
[Link] (1 responses)
LTS releases also have the good thing that Update Manager starts to mention upgrade possibility to LTS+1 only when the .1 release has been released. For 10.04 LTS users, this means that upgrade 12.04 LTS will start to be mentioned in July/August 2012, 3-4 months after actual well tested (compared to half-yearly) stable release.
Posted Sep 16, 2011 14:54 UTC (Fri)
by Cato (guest, #7643)
[Link]
This illustrates how broken some LTSs really are, for some users/hardware at least... Some more here: https://lwn.net/Articles/446264/
Posted Sep 13, 2011 16:55 UTC (Tue)
by ceplm (subscriber, #41334)
[Link]
Posted Sep 9, 2011 20:08 UTC (Fri)
by osma (subscriber, #6912)
[Link]
It took Debian quite a long time to decide that the testing distribution requires security updates independently of the unstable distribution and to find the resources to provide that.
I guess security updates could be provided on a separate channel for the newest (and only the newest) monthly release. Still, someone has to think the process though thoroughly taking into account security upgrades as well as new features.
Posted Sep 9, 2011 21:28 UTC (Fri)
by xxiao (guest, #9631)
[Link] (3 responses)
Posted Sep 9, 2011 22:08 UTC (Fri)
by jspaleta (subscriber, #50639)
[Link] (2 responses)
It worked great when Canonical was primarily an integrator and not trying to do active software development tied to the Ubuntu distribution.
But tying an upstream project's roadmap so tightly to Ubuntu release schedule (including freezes) instead of treating it as an independent distro neutral release process (that is synced loosely with Ubuntu release management) comes at a real development cost.
But things have been changing. Canonical has taken on more and more client-side software projects as in-house development instead of relying on external "upstream" projects. Unity, Ensemble, Software Center, Uone all are being driven and developed on an Ubuntu distribution release cadence internally in canonical.
Look closely at what Scott is talking about. Look past the proposed solution and look at his problem statement..about how Canonical is choosing to organize manpower. What should be 6 months of development time for an upstream project is compressed into 13 weeks of usable development time because the "upstream" project development road map is tightly constrained by the distribution release needs.
I don't think you can say that approach to running "upstream" projects is working great for Canonical's business interest or for Ubuntu's project interests.
I'd propose a completely different solution. Canonical should divorce upstream project development from distribution release management as firmly as possible. Every single Canonical led upstream project should make it a goal to equally support Debian Experimental and Ubuntu as release targets in their project roadmap work. If they find that the internal Canonical project managers are pressuring employees to land features specifically for the Ubuntu target...that is a red flag for project health.
How a project does that, is an implementation detail. Some very well might want to use the rolling trunk model Scott suggests. Some might not. The point is is to let the upstream projects actually be upstream projects and not do their development _in_ ubuntu's compressed 13 weeks of usable pre-release out of every 6 months.
And as a counterpoint to this, Canonical's Launchpad team already understands the development cycle Scott is trying to layout. Look at how they have restructured their feature development and deployment model to be more responsive to stakeholders inside Canonical. They've been given more leeway to set their own cadence which is not tied to Ubuntu's release model even though as a service they are crucial to the Ubuntu release process that all the stakeholders are tied to. Fascinating bit of cadence management there.
-jef
Posted Sep 11, 2011 23:29 UTC (Sun)
by cjwatson (subscriber, #7322)
[Link] (1 responses)
We've been talking with Launchpad people about using a common crash database implementation; they can do automatic daily analysis of the crashers people are currently hitting, whereas we have to wade through a bug swamp. I think that will make a nice difference when it happens.
Posted Sep 12, 2011 1:31 UTC (Mon)
by vonbrand (subscriber, #4458)
[Link]
My Fedora has been reporting kernel oopses for quite some time, and the (rare) crashed application gets reported automatically in bugzilla for a year or so at least.
Posted Sep 10, 2011 23:30 UTC (Sat)
by richo123 (guest, #24309)
[Link] (2 responses)
Anyway great to see Scott initiating sensible and thoughtful debate. First encouraging thing I've heard from Ubuntu in a while.
Posted Sep 11, 2011 12:56 UTC (Sun)
by BenHutchings (subscriber, #37955)
[Link] (1 responses)
Posted Sep 11, 2011 15:04 UTC (Sun)
by andrewsomething (guest, #53527)
[Link]
Posted Sep 12, 2011 10:11 UTC (Mon)
by etienne (guest, #25256)
[Link] (1 responses)
The problem with keeping a package untouched is that when you want to make an insignificant change, you get the source but that does not compile/work with the current toolchain (changes in make, gcc, binutils,...), probably because the source was not "conforming" and was using undocumented behaviour.
The problem with full release is that you will change the source of working packages to get them to compile with the distribution updated toolchain, or the GCC new optimisations will trigger some unintended behaviour, and you get more bugs to your costumers.
Posted Sep 12, 2011 15:08 UTC (Mon)
by vonbrand (subscriber, #4458)
[Link]
Fedora has semi-regular "mass rebuilds" for new compiler or glibc versions, or new policies that affect everything, like random placement of shared libraries, shiping position independent executables, or new default architecture (don't optimize for i386, optimize for i686). "Keep the same binary package indefinitely" doesn't really work, even when the source doesn't get updated.
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
Mageia is another alternative
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
We can estimate the percent of Debian users on Unstable from popularity contest. Out of 111870 reports 49936 (45%) were running Stable and 15655 (14%) were running Testing/Unstable. Contrast that with 33756 (30%) running Oldstable!
(Submission of data to popcon is voluntary, so obviously that's a source of bias. Still, it's the best data we've got.)
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
The graphs on the popularity contest homepage hint at the answers to some of your questions. Unless the raw time-series data is posted somewhere, I can't provide you with anything better.
Remnant: A new release process for Ubuntu?
A few years ago almost everyone used testing (not unstable) on their desktops, and stable on the servers. But the latest stable release was so good that people stuck to that; now it is more popular than testing. Perhaps if stable releases are delayed then people will again migrate to testing further down the road, but right now the hardware changes are not so significant that it seems necessary. Last I looked the popcon graphics told this exact story.
Testing and stable
Remnant: A new release process for Ubuntu?
"I also understand that "time-release" models versus "when its ready" models will absolutely positively allow more breakages through into the distribution"
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
Running development distributions
Roger
Fedora pre-releases
Fedora pre-releases
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
What about security updates?
Remnant: A new release process for Ubuntu?
the LTS and half-year release cycle worked greatly so far, IMHO
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
Remnant: A new release process for Ubuntu?
With a rolling release, you keep a compiled package untouched if it is working, indefinitely.
With a full release, you regenerate all packages at release time.
You always have the solution to get the initial toolchain, but it is not The Right Way(tm).
But at least everything is generated with the same compiler, and all source is "up to date".
Remnant: A new release process for Ubuntu?
