Re: Observations and personal conclusions on the KDE release process since 4.0

2010-07-01 Thread Sebastian Kügler
Hi,

On Thursday 01 July 2010 02:37:30 Maciej Mrozowski wrote:
> On Wednesday 30 of June 2010 20:23:18 Simon Edwards wrote:
> > The main issues for this cycle, IMHO, have been:
> > 
> > * branches - Things being branched off earlier than expected, or work
> > branches being merged later in the process make it harder to keep track
> > of what exactly is going to be in 4.5.
> 
> My thoughts exactly. But it's not only that.
> Why do you guys branch off before minor release? (4.x.0).  Time between rc1
> and release is important as important fixes usually are commited in this
> period. And while trunk and recently branched off code doesn't really
> differ much, 

That's an incorrect assumption actually. As soon as you re-open trunk, people 
start committing larger patches (makes complete sense, it's the beginning of a 
development cycle, meaning plenty of time to test and stabilize these 
features). Also, as Aaron points out often UI changes that have been held back 
go in.

> any fixes *have* *to* be applied to both branches, otherwise
> trunk will be affected again. And while back/forward porting fixes is
> troublesome I suppose some fixed simply don't make it to both branches
> (forgotten, people being unaware of the need to fix both branches etc).
> 
> Branching off relatively late (maybe even after minor release, not tagging,
> just in any case) would also (hopefully) mean a little shift towards
> "maintenance" from "new features" seemingly forcing developers to focus on
> polishing not-yet-released version instead of "working in trunk".
> (which I believe may upset many developers and they'll choose to work in
> playground/local branches nevertheless).

Freezes come at a cost, because they force developers to hold back on their 
work, to share it later. We need to find a good balance between "frozen, only 
critical fixes (which ist what the RC period is for), and ongoing development.

As to the bindings problems you've talked about, I think this cycle's API 
freezes (which we introduced exactly to tackle that problem) seemed to work 
quite well. Of course we can only tell once 4.5.0 has working bindings out of 
the box without Dirk going out of the way or calling Simon in to fix last-
minute problems). We've introduced a freeze for dependencies as well, so let's 
see how this goes.

Wulf, thanks for your analysis by the way. I think it's critical to look at 
our own processes this way. I do think, however, that we're quite aware of at 
least some of the problems, and we're well underway improving on it.

Cheers,
-- 
sebas

http://www.kde.org | http://vizZzion.org | GPG Key ID: 9119 0EF9
___
release-team mailing list
release-team@kde.org
https://mail.kde.org/mailman/listinfo/release-team


Re: Observations and personal conclusions on the KDE release process since 4.0

2010-06-30 Thread Aaron J. Seigo
On June 30, 2010, Maciej Mrozowski wrote:
> Branching off relatively late (maybe even after minor release, not tagging,
> just in any case) would also (hopefully) mean a little shift towards
> "maintenance" from "new features" seemingly forcing developers to focus on

speaking as an app developer: we just spent the last 7 weeks doing this. 
there's no need to force anything here.

thanks to the branching, i was able to commit 2 bug fixes that required string 
changes. others can start merging their feature branches which were happening 
anyways (no amount of time in extra freeze would change that). and we're still 
seeing numerous commits to the 4.5 branch.

-- 
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43

KDE core developer sponsored by Qt Development Frameworks


signature.asc
Description: This is a digitally signed message part.
___
release-team mailing list
release-team@kde.org
https://mail.kde.org/mailman/listinfo/release-team


Re: Observations and personal conclusions on the KDE release process since 4.0

2010-06-30 Thread Maciej Mrozowski
On Wednesday 30 of June 2010 20:23:18 Simon Edwards wrote:

> The main issues for this cycle, IMHO, have been:

> * branches - Things being branched off earlier than expected, or work
> branches being merged later in the process make it harder to keep track
> of what exactly is going to be in 4.5.

My thoughts exactly. But it's not only that.
Why do you guys branch off before minor release? (4.x.0).  Time between rc1 
and release is important as important fixes usually are commited in this 
period. And while trunk and recently branched off code doesn't really differ 
much, any fixes *have* *to* be applied to both branches, otherwise trunk will 
be affected again. And while back/forward porting fixes is troublesome I 
suppose some fixed simply don't make it to both branches (forgotten, people 
being unaware of the need to fix both branches etc).

Branching off relatively late (maybe even after minor release, not tagging, 
just in any case) would also (hopefully) mean a little shift towards 
"maintenance" from "new features" seemingly forcing developers to focus on 
polishing not-yet-released version instead of "working in trunk".
(which I believe may upset many developers and they'll choose to work in 
playground/local branches nevertheless).

-- 
regards
MM
___
release-team mailing list
release-team@kde.org
https://mail.kde.org/mailman/listinfo/release-team


Re: Observations and personal conclusions on the KDE release process since 4.0

2010-06-30 Thread Simon Edwards
Hello,

On 06/29/2010 09:52 PM, Wulf C. Krueger wrote:
> Having been a KDE packager for several years now, I've looked at the
> releases
> of KDE since 4.0.0. I "felt" that the overall KDE release quality has
> become
> noticeably worse than it was during the 3.x days (during which I was most
> active).

Thanks for the input, and the summary.

After the 4.4 release cycle which don't go so great, we tightened up the 
freeze schedule somewhat with regard to no-commits before tagging, 
clearer dependency freezes and better communication when changes to 
header files are done (i.e. mail kde-bindings@). So far my impression is 
that the release cycle which we are in right now has been running much 
smoother than in the past. I'm saying that with my bindings hat on. From 
my point of view there have been less last minute surprises.

The main issues for this cycle, IMHO, have been:

* unclear dependency requirements - i.e. exactly which versions of 
things are required by KDE. This info doesn't seem to be collected in 
one place. The problem is actually getting worse since KDE has more 
dependencies than in the past, and because components/subprojects have 
been migrating out of svn to git elsewhere.

* branches - Things being branched off earlier than expected, or work 
branches being merged later in the process make it harder to keep track 
of what exactly is going to be in 4.5.

I guess there is still work to do.

cheers,

-- 
Simon Edwards | KDE-NL, Guidance tools, Guarddog Firewall
si...@simonzone.com   | http://www.simonzone.com/software/
Nijmegen, The Netherlands | "ZooTV? You made the right choice."
___
release-team mailing list
release-team@kde.org
https://mail.kde.org/mailman/listinfo/release-team


Re: Observations and personal conclusions on the KDE release process since 4.0

2010-06-30 Thread Stephan Kulow
Am Dienstag 29 Juni 2010 schrieb Wulf C. Krueger:
> Having been a KDE packager for several years now, I've looked at the
>  releases of KDE since 4.0.0. I "felt" that the overall KDE release quality
>  has become noticeably worse than it was during the 3.x days (during which
>  I was most active).
> 

Hi Wulf,

Thanks for your effort to give a feedback on the status quo. I'm sure there
are points in your analysis to improve the process. But I can't get one thing
left uncommented: we _did_ rerelease KDE 3 tar balls a lot to the packagers
and most of the times, KDE3 _tar balls_ were untested too (developers update
their svn, recompile and if it worked, they assume it works good enough to 
create tar balls).

And KDE4 is not only much bigger, also e.g. the interest in working bindings 
is much higher. In KDE3 times, it was very often only noticed far after 
release and still not many cared. 

To not release ready tar balls to the packagers, means hours and hours that
are wasted with only one guy testing when many more could test at the same 
time. And hopefully it's clear to every packager, that prerelease tar balls
are prerelease. If not, your mail is a good start to clarify that :)

Greetings, Stephan
___
release-team mailing list
release-team@kde.org
https://mail.kde.org/mailman/listinfo/release-team


Re: Observations and personal conclusions on the KDE release process since 4.0

2010-06-29 Thread Tom Albers

On Tue, 29 Jun 2010 21:52:00 +0200, "Wulf C. Krueger"
 wrote:
> Hello! 
> 
> Please don't take any of the following personally - it's not meant to
> offend  
> 
> anyone.  

Hi, 

Thanks for the overview, it was a nice read. While you have valid points,
some are not. The biggest problem you seem to have is with announcing
untested tarballs. You have to understand that we are announcing them to
the packagers. They help to find problems with the tarballs. That's
perfectly fine.

If they have a problem and don't want to run into the chance of starting
from scratch, they can wait untill we officially announce the tarballs. At
that point the tarballs are ready and with help of the distro's that do
have tried to build it, we know for a fact that it will build on almost
every machine.

The option to prevent this is, as you suggested, to first build everything
our self. Then pass it to the packagers so they can prepare packages, then
announce it. That will set us back a week in every release. This is not
possible as in that case there would for example be a week between release
and the next tagging, which gives no time to incorporate bugs from a
previous release. QA-wise even worse. 

Last point I would like to comment about is your statement that an
increase in minor releases says something about the quality. That's untrue,
the minor releases are time based (released at the first Wednesday of the
month iirc) and or not based on the amount of bugs solved at all.

Again thanks for the overview, I'm sure I'll scan through it again when
making the next round of schedules and see if we can improve some items.
-- 
Tom Albers
KDE Developer
___
release-team mailing list
release-team@kde.org
https://mail.kde.org/mailman/listinfo/release-team


Observations and personal conclusions on the KDE release process since 4.0

2010-06-29 Thread Wulf C. Krueger
Hello!

Please don't take any of the following personally - it's not meant to offend 
anyone. 

Having been a KDE packager for several years now, I've looked at the releases 
of KDE since 4.0.0. I "felt" that the overall KDE release quality has become 
noticeably worse than it was during the 3.x days (during which I was most 
active).

I've wanted to compare this feeling to reality, though, and so I consulted my 
(incomplete) -packager archive. I wanted to look at release issues, tarball 
re-rolls, etc. for KDE4.

Since I didn't want dig through everything and avoid a "data overload" for 
both me and in this mail, I applied the following restrictions:

- Ignore alpha, beta, rc and snapshot releases (I looked at them at times, 
though, to verify findings in regular releases and, in general, they supported 
my views.)
- Ignore non-Linux failures, e. g. if things broke for *BSD or Windows, I 
didn't count those in.
- Ignore the KDEPIM situation with respect to KDE SC 4.5.
- I don't have detailed data from the 3.x days anymore. Whenever I'm referring 
to those, I'm relying on a) bugtracker data from the distros I've worked on 
and b) my memory. :-)
- I'm missing data about the releases from 4.1.0 to 4.1.3.
- I didn't re-read every single mail (but mostly those from the tarball 
announcement threads) so I might have missed some issues.
- The following conclusions are my own; they are my personal opinions even if 
not stated explicitly or implicitly in every single case. YMMV.

What I observed is this (details at the end):

- Uploaded tarballs are almost always untested. From a QA perspective this is 
really bad. Yes, we're packagers and we'll find and report any issues found in 
those tarballs to you guys. Nevertheless, build issues - in many cases - could  
easily be spotted if a simple build test had been done.
Most of the time, packager feedback was promptly acted upon and the issues 
were resolved with the final tarballs. Sometimes, though, reported issues are 
not followed-up and make it through till the release is out.

- On average ca. 2,5 tarballs are re-rolled per release. That means that those 
who start the packaging process early will have to start over with the 
respective tarballs. Yes, not all work has to be re-done but again, from a QA 
perspective, one should start as cleanly as possible.
Furthermore, having to re-roll that often, more often than in 3.x days, IMHO, 
are an indicator for a rushed and/or flawed release engineering process.

- Another (side-)issue I noticed is the increased number of post-release 
bugfixes (compared to KDE3 again) we, as packagers, are asked to apply. This 
in itself is very useful and helpful for us, no doubt, but, again, I believe 
this indicates release engineering issues.

- In several cases, there were more or less trivial (and yet important) 
reasons for re-rolling tarballs, e. g. wrong version indicators in the 
sources. 
A similar issue are the conflicts between oxygen-icons and other KDE 
components. I wonder if those issues couldn't be tested for automatically to 
avoid such pitfalls.

- In at least 6 (~30%) of all releases kdebindings were at least partly broken 
(quite a few more if I had counted pre-releases, too). This can have lots of 
reasons and I've not analysed them. It's just an observation.

Now, what would I suggest to do about these issues? I'll keep the next part 
short - the reasoning can be found above.

- Before announcing the tarballs, build the whole thing once.
- Freeze earlier and use the time to do more (systematic!) developer testing.
- Improve the test cases. They *do* help in catching bugs.
- Implement more trivial code screening (e. g. for bogus versions).
- Re-think the release engineering process. (No actual, hard suggestions 
here.)

Again: Don't be offended, please. My only intention is to hopefully help 
improving the quality KDE (yes, yes, I know KDE is people! ;) ) releases. 


Last and least, my notes of observations my above comments are based upon.

Best regards, Wulf


4.0.0 
- kdebase-runtime and kdebase-workspace missing, then cmake checks broken, re-
rolled
- kdeedu re-rolled (non-free icon, kstars has wrong version)
- kdebase-runtime re-rolled (xine-lib check is bogus)

4.0.1
- kdebase re-rolled
- kdebase-workspace re-rolled

4.0.2
- kdebase re-rolled (kinfocenter modules moved incompletely)
- kdebindings re-rolled

4.0.3
Mostly ok.

4.0.4
- kdelibs re-rolled (version number was still 4.0.3)

4.0.5
- kdebase re-rolled ("crash really often")
- kdebindings re-rolled (compatibility with SIP 4.7.6)

4.1.4
- kdelibs re-rolled (almost no content before)
- kdebase re-rolled (Copy&Paste files within Dolphin borken)
- kdebindings re-rolled (left-over svn stuff)

4.2.0
- kdelibs re-rolled three times (klockfile fix; kate fix; plasma security)
- kde-l10n-et broken (parser error : Entity 'turtlelang' not defined)
- kdebase-runtime (licensing issue)

4.2.1
- kdelibs re-rolled
- kdebase-workspace re-rolled 
- Phonon mess (Qt /