On updates and user experiences and so forth

So, the debate about update policies and user experience etc is spilling onto the Planet, with some constructive posts from Máirín and Jon so far. Thought I’d throw in a few cents.

In the end, it doesn’t matter hugely to me how this gets settled – I work QA, and as I figure it, our job is to do the best testing job we can in the context of the overall aims and development method of the project. You sometimes see cases where QA people want to dictate the way development happens on the basis of being able to test things properly, but I think that’s ass-backward; whoever is leading the project should set the goals and development methods, and QA should work within those. If whoever’s in charge is unhappy with the resulting product’s quality they might want to tweak the process, but it’s not really QA’s job to dictate that. So I’m fine with working with whatever process gets decided in the end.

From an entirely personal point of view, though, I have to say I kinda wind up on a slightly different side of the question to Máirín and Jon. Máirín has Caroline Casual User; Jon talks about what Windows and Mac OS do, what “users” want, and stuff like “can feel quite confident doing an update as a matter of best practice, even ten minutes before a big presentation, or even during the presentation if I want to”.

I’m kind of sympathetic towards the point of view that that’s a perfectly sound goal for an operating system, but it may not necessarily be the best goal for the Fedora operating system to pick. Just because that’s the target of Windows and OS X doesn’t mean it has to be ours.

For a start, there’s already plenty of Linux distributions besides Fedora with those goals. To put it bluntly, there’s Ubuntu, and Ubuntu’s doing a fairly decent job of being Ubuntu. I’ve argued before that it’s somewhat dangerous for the overall ecosystem for Ubuntu to drive out all competitors, and to an extent I stand by that, but OTOH, I’m not entirely sure that being Ubuntu’s token competition is the best thing Fedora can be. For a start, Fedora isn’t set up for it. Exactly this kind of debate makes the advantages of Ubuntu’s Benevolent Dictator model apparent; this just wouldn’t really happen in Ubuntu-land, or if it did, it’d be in a conference room with Mark and ten other people and it’d be over in an hour. The Fedora project is built in a different way; being run by a chain of partly-elected committees is great for openness and transparency and defending community values, but it does lose the benefits of focus and swiftness that come from having one person in charge and defining the project’s scope and vision.

I like the idea that’s mostly being proposed by the ‘radical’ side of the debate that the best and most efficient way to use the resources of the Fedora project going forwards is to be something different from what Windows and OS X and Ubuntu are. One of the advantages of the F/OSS world is that we’re supposed to be better at co-operation than competition. I think it would be kind of cool to have a world where everyone knows that Fedora is the distribution with the latest bleeding-edge stuff and Ubuntu is what you install on grandpa’s computer, or yours if you want to trade off a quiet life for not getting the latest everything all the time.

In fact I could be quite happy if we revised Fedora’s process completely. I can see a future where we aim to be a rolling distribution, and put out a point release only when we *have* to; when I asked people within Fedora a while back why point releases still exist, the only really valid answer was more or less ‘because sometimes changes happen that we can’t handle with an in-place update’. That’s fine, but in that case, there’s no real reason besides PR to schedule releases every six months; why not just do a release when some change means we *have* to do one? When such a change comes along we put out a set of images and give people six months to reinstall or upgrade, pushing security fixes for the previous codebase during that period, and then just declare it dead and say everyone needs to be on the new code now? Most of the objections to this kind of thing are about providing stable platforms and dependable updates and yadda yadda, but I already said, there’s no reason Fedora has to be that project. In a lot of ways I think Fedora could be a much more interesting and useful project in the long term if it wasn’t.

tl;dr summary: let’s let Ubuntu be Ubuntu, and let’s us be something different, and that should be the most efficient way for the whole F/OSS / Linux world to use its resources.

25 Responses

  1. Máirin Duffy
    Máirin Duffy September 2, 2010 at 6:32 pm | | Reply

    Hi Adam!

    I really screwed up. I made Caroline a composite of Fedora’s intended target user and the general public outside of that. That was a bad mistake on my part. I tried to correct it with a follow-up post:

    http://mairin.wordpress.com/2010/09/02/sweet-caroline/

    (but it seems I screwed that one up too, I updated the graphic in attempts to try to help)

    Anyhow, I just noticed you wrote:

    “it may not necessarily be the best goal for the Fedora operating system to pick. Just because that’s the target of Windows and OS X doesn’t mean it has to be ours.”

    I don’t think the actual Caroline I meant to write about (see the ‘yes’ section) is necessarily as broad a target as OS X and Windows.

    I am curious if you think the revised Caroline (again, revised to meet at least the letter if not the spirit of The Board’s target user definition) is a better target for Fedora.

    “Exactly this kind of debate makes the advantages of Ubuntu’s Benevolent Dictator model apparent; this just wouldn’t really happen in Ubuntu-land, or if it did, it’d be in a conference room with Mark and ten other people and it’d be over in an hour.”

    Thank you for that. The next time someone has the nerve to tell me I should give up on Fedora and move to Ubuntu I will link them to this blog post for that.

    While I do disagree with your final recommendation, thanks for the thoughtful post and the different perspective!

  2. Links 3/9/2010: GNOME 2.32 Beta 2, Android Tablets | Techrights

    [...] On updates and user experiences and so forth In fact I could be quite happy if we revised Fedora’s process completely. I can see a future where we aim to be a rolling distribution, and put out a point release only when we *have* to; when I asked people within Fedora a while back why point releases still exist, the only really valid answer was more or less ‘because sometimes changes happen that we can’t handle with an in-place update’. That’s fine, but in that case, there’s no real reason besides PR to schedule releases every six months; why not just do a release when some change means we *have* to do one? When such a change comes along we put out a set of images and give people six months to reinstall or upgrade, pushing security fixes for the previous codebase during that period, and then just declare it dead and say everyone needs to be on the new code now? Most of the objections to this kind of thing are about providing stable platforms and dependable updates and yadda yadda, but I already said, there’s no reason Fedora has to be that project. In a lot of ways I think Fedora could be a much more interesting and useful project in the long term if it wasn’t. [...]

  3. Aurélien
    Aurélien September 2, 2010 at 10:33 pm | | Reply

    Hell yeah. In the beginning of Fedora, there was “Core” with fixed releases and “Extras” with a rolling-release model. This was great: stability for the base OS, freshness for the applications. Of course the border is hard to set, but it’s a minor trade-off IMHO.

    I’d love Fedora to be going the route of the rolling release. This will upset Carolines though, and our designers who would probably rather design for the general public than for geeks. I guess I’m too Pamela-ish, but it’s true that not all distribs should be competing with Windows & MacOS.

  4. Alex Hudson
    Alex Hudson September 2, 2010 at 11:03 pm | | Reply

    I couldn’t disagree more, to be honest – and in a sense, I think you’re defining the problem in terms of itself.

    Yes, if it’s not the role for QA to influence development, then someone higher up the chain needs to take that role. That doesn’t mean that the Ubuntu SABDFL method is the only way to go: with a community of developers, QA people are as important as anyone else and it is precisely their role IMHO to say how things should change in order for them to be better able to do their job, and it’s for the community as a whole to attempt to balance those forces with everything else happening.

    I also don’t really agree with “Let’s us be something different”, because we’re already “different” – the target Fedora user base is people who are already relatively computer-friendly. Ubuntu are aiming at everyone, and although in practice the people they pick up are generally of a similar type, they definitely have a different aim.

    I haven’t seen anyone articulate a better vision for Fedora, and if we were to say that people should need to be ever-more technical in order to be users then we probably ought to pack up and go home, tbh.

  5. Colin Walters
    Colin Walters September 3, 2010 at 5:12 am | | Reply

    Some people appreciate Fedora because it doesn’t ship proprietary software (video drivers) or tie in by default to proprietary web services, for example.

    Both of those have nothing to do with update frequency.

    And in general, I vehemently disagree that it makes strategic sense for Fedora the project (and Fedora contributors) to say that Ubuntu is the OS for normal human beings, and for us to design an OS solely for enthusiasts.

  6. Alex Hudson
    Alex Hudson September 3, 2010 at 6:00 am | | Reply

    You’re still defining the question in terms of itself, though. When you talk of NASA’s QA, or RHEL QA, we’re still talking about teams which take external direction and do not set a standard themselves: if we think that would work in Fedora then fine, but I just don’t see the community being that hierarchical, or who this external actor would actually be.

    In a project where QA are just another set of developers I just don’t see how that model can possibly work. Of course it’s not for QA alone to define what “good enough” means, but similarly the people involved in QA are the ones most interested in this issue and (I would hope) have the most to say about it.

    Fedora QA is fundamentally different to any type of commercial QA you would find in most respects; there is no quality metric and no final quality requirement. It’s a continuous improvement process and the only people who know how much improvement is actually being seen is the people doing the QA, IMHO. No-one else is measuring this at all.

  7. Alex Hudson
    Alex Hudson September 3, 2010 at 6:46 am | | Reply

    Ah, I think we’re talking at cross-purposes. I’m not talking about the goals of the distribution, who it’s for, how it should be developed, etc.

    At the moment, we only have the most basic of metrics. One of those is the release blocker, which is the “level of brokenness we will not tolerate”. There don’t appear to be any bright-line tests for most of these, but there is a kind of we-know-it-when-we-see-it. And that’s about the only thing which influences release.

    But if we take a step back, is that the job of QA? To influence release? I don’t think it has to be, or even if that is the best thing. QA has to be more than a barrier to release, otherwise it’s just reacting to whatever’s going on in the project and not making things better.

    I don’t see this as a leadership problem. Right now, we have basically no metrics whatsoever. Until you can start measuring things, you cannot see improvement and you cannot set goals against them. I would struggle to see how a better vision for Fedora or better articulated “ultimate goals” would somehow lead to a set of metrics around which the QA processes could be formed.

  8. Alex Hudson
    Alex Hudson September 3, 2010 at 7:24 am | | Reply

    Given I specifically called out the blocker criteria, what makes you think I’m unaware of them? They’re not relevant to what I was speaking about.

  9. Alex Hudson
    Alex Hudson September 3, 2010 at 7:47 am | | Reply

    Right, but the release criteria are only one potential source of blocker bugs, and whether or not a criteria has been met isn’t a yes/no thing all the time anyway – you just need to look at go/no-go meetings to see the discussions about what should and shouldn’t block.

    But anyway, practically everything I was saying was about changing things *prerelease*, not just treating QA as some kind of release roadblock. So like I said, the release criteria aren’t relevant to what I was speaking about.

  10. Máirin Duffy
    Máirin Duffy September 3, 2010 at 7:58 am | | Reply

    @Colin agree 100%

  11. Alex Hudson
    Alex Hudson September 3, 2010 at 8:40 am | | Reply

    I’m talking about continuous metrics that reflect the actual workings of the software on a day to day basis. That could be crashers, it could be bugfix update frequency, it could be levels of bug reporting – on just a technical basis alone, measuring where work is going on in the distro is a reasonable metric for QA to watch (for example, the release criteria thing we keep getting dragged back to is basically inconsequential if large portions of the distro are updated past those versions soon after release).

  12. Alex Hudson
    Alex Hudson September 3, 2010 at 9:32 am | | Reply

    AutoQA is a continuous metric of exactly the type I talk about, except that it’s pretty much a bright-line test rather than a measurement, and thus it’s fail/pass rather than something you can improve on relatively.

    I disagree that there’s much value in the release being a known-good baseline to be honest; I’d love to know how many users know how to downgrade (another metric!) but I would bet it’s not particularly high. Would also be interesting to know how many people re-install cleanly rather than some kind of upgrade (metrics again…), but even if we limit things to the single case where someone has clean installed Fedora, the “known good baseline” only applies to the stuff on the LiveCD. Once you install anything outside of that, chances are good not long after release that you’re not getting the release version.

    Again it would be another metric, but knowing how long people spend on the release versions of Fedora packages would be interesting. I would venture to suggest they actually spend more time on subsequent updates that the maintainer feels are “tried and tested stable”, and the QA effort that goes into that process is likely more important.

  13. About Caroline! : nmarques
    About Caroline! : nmarques September 3, 2010 at 5:03 pm |

    [...] believe that Adam’s approach was very realistic, in fact Fedora has it’s own positioning and we should be faithful to it, [...]

  14. nmarques
    nmarques September 3, 2010 at 5:16 pm | | Reply

    Adam,

    I would take the opportunity to ask a sincere apology due to some rude hostile behavior in the past.

    That said… I strongly like you point. Máirín’s post and Caroline introduction made it brilliant. In a way Caroline demonstrates that the general audience is aware of ‘Lunix’ existence. The fact that it doesn’t make part of the Fedora’s targeted user base makes out of it a fine example why people like me should be ignored sometimes. Consumer satisfaction can’t be an obstacle for organizational goals. That said, we don’t really need to care much for Caroline, but it’s nice she is aware of us and that we can satisfy her needs.

    Another point, is the fact that ‘Cathedral and Bazaar’ points into update often and release often. Then you have First foundation, and in a way you can even introduce Features foundation. That said… Fedora remains loyal to the adopted model and to the FOSS philosophy. This is good and one of the reasons why Fedora can be very attractive to people more fond of the FOSS philosophy and contribute to Fedora.

    Updates, I like to have a battalion of people with far more knowledge than I to decide that for me. They have worked pretty fine (one or two packages with dependency problems, they didn’t installed, no harm to the system). I like the update process. It can be tweaked and given more functionality and some cool alternatives that make it more friendly and more objective in some users demands have been suggested. That’s pretty cool and if they ever get deployed, I’m sure many will be even more happy.

    Speaking only for myself… it might be easy to point the finger to QA, but really how many of us go to your ‘test days’, I know you are one of the people which would love to have more enthusiasts showing up and that you battle for such to happen. I believe in Fedora QA and I think it rocks.

    But remember, I’m just like Caroline.

    Also a brilliant post yours.

  15. Davide Repetto
    Davide Repetto September 4, 2010 at 11:22 pm | | Reply

    WHAT???
    Fedora as a rolling distribution?
    Now *THAT* would be cool!!!

    Also I believe defining the target audience in terms of demographics is a pointless exercise for a general purpose OS.
    Moreover, Fedora is a community effort and communities need a focused, possibly steady target.
    Smoky marketing mantras like target audiences based on subjective, aleatory factors as the familiarity with computers or the mental capacity of people is the opposite of that.
    It provides fog and wind that could only lead to infinite discussions on futile social-behavioral definitions that even if attained perfectly would still be practically impossible to translate into univocal policies for a project.

    A community can thrive upon a well defined practical project.
    Not so much around the rather obscure concept of Caroline the waitress, Judie the trucker or Bill the plumber (IMHO).
    On the other hand, endless discussion can. And forever last.

    Then again I rather don’t think that the target of an OS can be categories of people. It could be maybe some usage patterns, which by the way rarely match any specific demographics.
    So, as fun as it is to imagine the life of fedorans… not really useful to steer the project.

  16. Jaroslav Reznik
    Jaroslav Reznik September 7, 2010 at 8:26 am | | Reply

    Why not to combine it? Currently we have one development branch, unusable even for most of developers and two frozen so called semi-stable releases (with current restrictive updates policies). The question is why? Why not to have feature driven devel branches (not a single branch but with GIT I think it’s possible to do a lot of stuff on Fedora without breaking everything to everyone), one Rawhide rolling updates Fedora (with merges from -devel branches but in a better shape than todays) and then one real release, once a time, even more conservative. It would be really very nice. Or at least – we should use the strength of two point releases – make Fn more relaxed, Fn-1 strict – then you have nice and “stable” Fn-1 but with still quite a fresh software from former Fn. I don’t understand current policy at all even I understand what they want to achieve.

    Even if you compare to Windows, Mac OS X, iOS, Android – we are now much more strict and less flexible even compared to closed platforms!!!

  17. AdamW on Linux and more » Blog Archive » Board elections: vote Adam to revise the Fedora release process! Also, hot dogs.

    [...] yes, my idea. This will be a single-issue campaign. As I vaguely pondered back in September, I think it would be of value to Fedora to take a good look at the Fedora release [...]

You can comment without reCAPTCHA by using an OpenID as the URL, or logging in with an OpenID or an old site account.

Leave a Reply