[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-release-team
Subject: Re: Fwd: KDE Frameworks Release Cycle
From: Scott Kitterman <kde () kitterman ! com>
Date: 2014-05-20 20:38:26
Message-ID: 398c44e2-7e30-4946-9e72-9a3ccf82de23 () email ! android ! com
[Download RAW message or body]
On May 20, 2014 10:38:54 AM EDT, "Aaron J. Seigo" <aseigo@kde.org> wrote:
> hi ...
>
> it would be interesting to see a true cost/benefit analysis using real
> data of
> the benefits of the monthly bug fix releases.
It would. I've no idea how to do it. My impression is providing them is popular with \
our users. At one point it was popular with KDE developers too.
> in support of what Kevin is going after here:
>
> the monthly bugfix releases sound awesome on paper, but they don't
> always work.
> i've seen significant regressions in recent releases due to patches
> being
> backported with poor judgment, resulting in bug reports by users. this
> has
> also happen less recently, of course. it just simply _happens_. the
> monthly
> bug fix releases are NOT a panacea, they are just better than not doing
> anything at all for N months. this is something everyone ought to
> accept: it
> is reality.
Agreed.
> there is, however, a high rate of success for backported patches. the
> overwhelming majority do what they are supposed to. that is also
> reality.
>
> the actually interesting question is how many of those successful
> patches are
> so important that users need them now versus 6 months from now, and how
> bad
> regressions are. those measurements are not objective. they require
> some
> values to be expressed and applied to them. some may not think the odd
> regression is a big deal, some might think it is THE thing to avoid.
> quantity,
> quality, flow, reliability, etc...
For Kubuntu, we're in the no regressions camp. After one of our releases we consider \
we have a "contract" with our users not to break stuff that's working.
> keeping in mind that this thread is not about Plasma or any of the KDE
> applications, the expectations and goals of the *Frameworks* developers
> _and_
> users (app devs) are probably unique in this case.
It doesn't do app devs any good to use releases that their users aren't going to \
have.
> the Frameworks team would probably do everyone a favor by clearly
> stating
> their goals in terms of stability expectations and rate of change so we
> know
> how to weight the different outcomes that happen.
>
> anyways, on to Scott's (re-)proposal:
>
> On Tuesday, May 20, 2014 09:45:36 Scott Kitterman wrote:
> > This or something very like it was already suggested by someone else,
> so I'm
> > not claiming this as my idea, but I think a reasonable compromise
> would be
> > something like:
> >
> > - Monthly feature releases as proposed.
> >
> > - Select one release every 6 months as long term support (I'd
> suggest
> > March/September) which has a stable branch.
>
> has anyone sat down and done a proper "best time" measurement? 6 months
> is
> thrown out there probably because we know 6 months and certain
> distributions
> have made it a popular number. but what is the *actual* largest number
> that
> reaches as many distribution releases as possible?
For non-rolling distros, 6 months seems like a pretty standard interval. I picked \
the end of Q1/Q3 just because an end of December release would hit a non-productive \
time of year for a lot of people.
> in any case, having long term stability branches is not the worst thing
> in the
> world imho and is a good idea. it's not popular amongst many
> developers,
> admittedly. i tried to advocate for this for both kdelibs 4.7 and kde-
> workspace 4.11 .. the former was rejected, and problems ensued; the
> latter was
> adopted and it has worked very nicely, though there was some degree of
> skepticism. so that's a hump to climb over which Scott is evidently
> hitting.
I have this hope months of stable will be an easier sell the TBD until KF5 is out.
> as a user, i'd love to see such stable branches, fwiw, and i'd be just
> happy
> with a single new kdelibs long term release every year. 6 months feels
> a bit
> like luxury.
>
> ("long": you keep using that word, but i don't think it means what you
> think
> it means. ;)
It's possible there's some irony my word choices. I have zero objections to lots of \
interim releases if that works for KF5, but having something stable is essential.
> > - Developers backport "safe" fixes to the stable branch.
>
> this is a critical issue. not enough developers who backport are able
> to
> accurately judge this consistently enough. many reasons exist for this
> (tooling, testing, experience, blah blah) but reasons are just reasons
> -> if
> we rely on developers to backport safe fixes, it's going to break
> (because it
> does already) and that will defeat one aspect of what Kevin is trying
> to
> achieve: higher quality
>
> there are ways around this, however! it is not uncommon in other
> projects for
> people to "own" a long term branch and only they merge in patches.
> period.
> that person needs to be disciplined (so they don't just become a
> rubber-stamp
> bureaucrat), but this is one area where having a bottleneck is actually
> good:
> you don't WANT lots of changes. you WANT a slow rate of change. you
> WANT every
> change to be justified.
>
> for it to work that person(s) needs to be able to say "no". they also
> need to
> be allowed to say "no". if they won't say "no" when necessary, there is
> no
> point in having them there. if developers submitting patches rebel
> whenever
> they do say "no", then there is no point in having them there.
>
> that implies the need for an explicitly defined position and probably
> have an
> initial public "show of hands" vote of support by the existing
> contributors to
> Frameworks to grant the position legitimacy.
>
> i honestly don't see having a long term branch working otherwise. and
> perhaps
> that's were some of the tension arises: one party is asking for
> something that
> doesn't work but which they feel a need for, and the other party
> doesn't want
> to do something that doesn't work ;)
This is a great idea.
> > - For complex changes the can't safely be applied to the stable
> branch, a
>
> ALL complex changes are in the set of "can't safely be applied"
>
> > new branch off of stable is created and the developer issues a call
> for
> > testing (maybe on this list). If testing succeeds, it gets merged
> back to
> > stable.
>
> my recommendation: no. don't even try this. such changes get folded
> into the
> next feature version. users will survive.
>
> (btw, to keep this grounded in reality: when was the last time we had
> such a
> patch for kdelibs or kde-runtime?)
I added this due to a suggestion from (I think Martin) in the last thread that this \
would be helpful. I think it's something we could experiment with.
> > - Updates to the stable branch get released monthly at the same time
> as the
> > monthly feature release.
>
> that's a lot of overhead to cater to a subset of KDE's audience. since
> the
> stable branch is supposed to be always stable, is there any reason why
> distributions that desire that stability couldn't just grab a snapshot
> whenever their release schedule deems it suitable?
>
> yes, different distros would be running different versions of the same
> branch,
> but they'd all be stable. (if the branch isn't stable, then there is no
> point
> in the first place.) if the update packages are appended with a git
> hash (e.g.
> 5.3-deadbeef) then for developers it becomes a simple matter of using
> git (or
> a little script that does) to know whether a particular bug fix is in
> that
> package or not. (i know that i certainly do not remember the precise
> bugfix
> release number of every fix and often have to resort to git with the
> current
> mechanisms..)
>
> assuming the stable branch owner does a proper job with their commit
> messages, a simple `git log ` command could produce an easy-to-grep /
> ctrl-f
> list. since it is a stable branch, the number of commits ought to be
> small. it
> also resets every "stable branch" cycle. this is not something that
> needs to
> scale.
It's a good point. Programmatically it's easier for me if there's a point that \
upstream has blessed, but I think with your stable release management proposal it's \
possible to manage this without it being high overhead. Maybe "release" is a script \
that is run monthly that adds a tag for a common snapshot across all of KF5, but no \
travails?
Scott K
_______________________________________________
release-team mailing list
release-team@kde.org
https://mail.kde.org/mailman/listinfo/release-team
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic