The case for a kdelibs 4.8

Aaron J. Seigo aseigo at kde.org
Fri Sep 30 09:07:27 BST 2011


On Thursday, September 29, 2011 14:01:50 Kevin Kofler wrote:
> 1. This puts kdelibs 4 into maintenance mode even before KDE Frameworks 5 is
> anywhere near a release, let alone versions of the workspace and
> applications actually using it. As a result, we will fail to deliver new
> features to our end users for months if not years. 

we will deliver no new features in kdelibs, yes. but certainly we will be 
shipping new features in applications (including the workspaces) using those 
libraries. so our users will indeed be getting new features and we will indeed 
be improving the software our users get.

bug fixes and performance improvements also continue, and those are things 
that our users really do care about as well. features are valuable, but they 
aren't the only thing of value. as 4.7 is still being actively maintained, 
even kdelibs is very much still being improved from a user's POV.

> And no, kdelibs features
> do not only target developers: Some application or workspace features
> require kdelibs changes, or in some cases, even consist of kdelibs changes
> only, e.g. my Plasma PackageKit integration work is entirely in kdelibs
> (libplasma).

many application and workspace features do not require changes in kdelibs. 
though, as you note, some do. there are already many improvements in 
libplasma2 that the workspaces will only get to take advantage of when 
frameworks is released. in the meantime, we're still rolling out new features 
and even whole new shells (the Contour work and plasma-device shell, for 
instance) using the 4.7.x platform libraries.

so some features will indeed have to wait .. and that's not a horrible thing 
because it means that frameworks will get more developer attention and the 
attention it is getting already will not be slowed even further by having to 
deal with bringing over features from 4.7.x into the re-arranged libraries in 
frameworks. the result will be that the time between now and 5.0 libs being 
available will be shortened, which is exactly what we, as application 
developers, need.

> 2. It will be confusing to our users, and even to some packagers, to have a
> KDE SC 4.8 on kdelibs 4.7. The rule so far has always been that the kdelibs
> version must be the same as the KDE SC version. 

that's not a rule anymore, and hasn't been for a while now.

other than the packaging specfile changes that seem to be required in the 
Fedora packages, i'm not sure what the real world confusion would be. when we 
release apps and workspace 4.8, we'll also do a platform 4.7.x release. the 
release communication will not say "SC 4.8" it will say "Platform 4.7, Plasma 
Workspaces 4.8 and application updates" (or something along those lines). that 
was not just a marketing ploy, but an attempt to align our public 
communication with the realities that already existed in KDE development.

> backported to the compatibility libraries as well. For example, when we
> switched our default spell checker in Fedora from aspell to hunspell in
> Fedora 9 (i.e. 4.0 era), I had to add support for hunspell to kdelibs3, or
> our users would have had to install 2 spell checkers to use KDE apps! (Even
> several apps in the default KDE installation hadn't been ported to kdelibs4
> yet in Fedora 9.) That change never got upstreamed because kdelibs3 is no
> longer maintained, yet it would have been useful to many distributions.

there is apparently a fundamental misunderstanding here: KDE Platform 4.7 is 
being maintained. but "only" maintained. if such a spell checker thing 
happened right now, we could enable that in the 4.7 branch. many of us are 
still committing bug fixes and other improvements to that branch, which are 
then merged regularly into the frameworks branch.

what we aren't doing it focussing new feature development efforts in the 4.7 
branch. that is happening in frameworks instead, but 4.7 is still very much 
maintained. as such, there should be zero reason for downstream packaging 
efforts to require patching bugfixes into their builds themselves.

> 4. The core developers, for whose convenience this change was made, are not
> the only ones working or willing to work on kdelibs. 

it wasn't convenience, which sort of makes it sound like we weren't trying 
hard enough ;), but necessity. the necessity is driven by resource constraints 
and the need for changes in kdelibs that require changes to the ABI (and which 
will happen anyways with Qt5)

> The main reason that
> was given for dropping kdelibs 4.8 is that this means one less branch to
> worry about for the people working on kdelibs, but the people who'd work on
> 4.8 and 5.0 are NOT the same people!

which begs the very good question: why aren't they? they should be the same 
people. we need the 5.0 release, and that will happen faster if we don't split 
our resources. remember how long the 4.0 development took, in part because we 
kept equivocating between more 3.x releases and getting on with 4.0?

> I understand that the developers who
> are pushing forward towards the new "frameworks" are not interested in 4.8,

but we're very interested in kdelibs. that's the important thing.

> but you should understand that many other KDE contributors are not
> interested at all in 5.0 at this time. 

understandable. these developers are probably more interested in one of two 
things:

* applications, and want to rely on new library features in making these 
applications

* the instant gratification of "i want this feature now", which trumps 
thinking about the long term needs of kdelibs

neither of those things is "wrong". they also aren't in kdelibs best 
interests. as such, they should be reevaluated since what is in kdelibs best 
interests are in the best interests of that which builds on them.

> I, for one, will start caring about
> 5.0 the day some application (be it a Plasma workspace or a regular
> application) using it will enter Rawhide (Fedora's trunk), and I guess
> other distro folks are feeling the same. 

some people need to care about 5.0 otherwise it never happens. those who don't 
care until it is out (and that's valid, of course) will need to focus on the 
4.7 branch of kdelibs until then.

> OTOH, I'm very much interested in
> working on 4.8, and in fact I already did (see my Plasma PackageKit GSoC
> work), but my patches are now stuck in reviewboard and cannot be committed
> due to the deep freeze.

they can be committed to the frameworks branch. in my eyes, those patches are 
not 4.x efforts at all, but things that belong in frameworks.

> Do you really want to encourage wild patching by
> distributions, adding or backporting a patchwork (pun intended) of
> features?

of course not. and imho collaborative packaging efforts would mean not 
threatening upstream development in this way.

> I remember Aaron Seigo complaining on his blog about the feature
> backports done by distributions in 4.0, 4.1 and 4.2 era, but if you aren't
> going to allow any new features upstream, you will be leaving us no choice.

the choice that packagers have is to actually work with us instead of against 
us. the idea that "it sucked when we did it before, and now we're going to do 
it again!" is a little twisted. :)

the features you offered as needing to be in kdelibs are not so critical or 
fundamental that Bad Things will hapen if they aren't available right away. if 
we are more conservative about the value assessments we make on these 
features, it becomes apparent that those features can indeed wait, just as 
they already have for some 3 years now.

> 5. We have a master branch which is unused.

this isn't a reason for or orgainst a 4.8 release, and there is good 
development reasons for that decision. yes, it has been a source of confusion 
for those who build from git sources who didn't follow the frameworks decision 
and so got caught out by not changing their kdelibs repo to the 4.7 branch. 
that seems to be fixing itself and people learn about these changes.

having read and (at least tried my best to :) understand your concerns, i 
don't believe any of the supporting points you raised are of the sort that 
leads to the conclusion that we should re-open 4.x kdelibs for feature 
development.

-- 
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20110930/799bed50/attachment.sig>


More information about the kde-core-devel mailing list