KDE's rough edges... what are your experiences?

Duncan 1i5t5.duncan at cox.net
Wed Oct 30 08:59:34 GMT 2013


Kevin Krammer posted on Tue, 29 Oct 2013 22:02:12 +0100 as excerpted:

> Hi Duncan,
> 
> as usual thanks for the thorough explanations.
> I've noted a couple of minor inaccuracies, so here we go :)
> 
> On Tuesday, 2013-10-29, 14:35:29, Duncan wrote:
> 
>> Both the kde foundations and the qt it's based on are becoming a lot
>> more modular, with the ability for developers to pick and choose the
>> dependencies they want/need without having to bring in the whole big
>> currently monolithic qtlibs and kdelibs.
>> 
>> Qt itself is maturing as a developer-community-based toolkit in its own
>> right, and qt5 is far more community-driven than any qt ever before in
>> history.  As part of that, it's both expanding and going modular, with
>> most of its components becoming optional -- developers only pull in
>> what they need, and will no longer have to depend on (and ship, for
>> platforms where bundling is common) the parts they don't pull in.
> 
> The modularisation of Qt5 compared to Qt4 is mostly on the respository
> level though. Qt4 is already split into several modules which can be
> used individually, e.g. a program can choose to use QtCore, QtGui and
> QtNetwork and not choose to depend on QtXml, QtSql and so on.
> 
> That change already happened at the Qt3 to Qt4 transition.

Agreed, but I think that misses a part of the overall picture just as I 
did, because we're focusing on different close-ups of the overall picture.

At least here on gentoo, qt4 has in fact already been for some time a 
convenience metapackage that simply pulls in all the separate qt4 module 
packages, while individual apps depend on the individual qt4 modules the 
need, tho I'm unaware to what extent other distros have split up qt4.

But with a quick check (on 4.8.5) confirming it, qt4 is still shipped as 
a single tarball, much as early kde4 still shipped many of its category 
packages (such as kdegames and kdepim) as monolithic tarballs, even when 
they were already split into individual packages internal to the tarball.  
(FWIW, in an ongoing process, those big kde category tarballs have been 
splitting into individual package tarballs as kde4 has matured, with a 
lot more but much smaller tarballs for say 4.11 as compared against say 
4.5.)

For both kde and qt, those tarballs generally reflect upstream 
development repo layout altho I guess there are some exceptions.

But I don't believe "mostly on the repository level" fully reflects the 
reality of the situation, however, tho you're correct in that it's part 
of an ongoing process.  The repository splits do indeed reflect an 
ultimate separation that has in other regards already occurred, yes, but 
it's my belief that despite the earlier conceptual separation, the 
combined repositories were holding the otherwise mostly separate modules 
hostage to a combined immediate future, and that fully separating them 
not only reflects evolving reality, but will in fact free them from the 
limits that were being artificially imposed on them due to that current 
situation and immediate qt4 future, such that we will now see the 
individual modules evolving further now that those restrictions are 
lifted.

In the qt realm, that's likely to result in the individual modules 
becoming far more popular as library dependencies, since it'll be much 
more like pulling in an individual library dependency to take care of a 
specific function, instead of having to pull in the whole heavy ecosystem 
when most of it wasn't to be used.

Of course that's mostly at the dev level, as will be the changes at the 
kdelibs and base frameworks five level.  The far more visible results at 
the user level will be as I said, individual kde apps chosen for their 
genre leading features and/or because they are the best match for a 
specific need, as users are able to pull them in with just their direct 
deps, instead of having to pull in an entire kde and qt ecosystem just to 
support a single app they want, thus making it less likely they'll use 
ANY kde apps, unless they happen to be willing to standardize on nearly 
ALL kde apps.

> The Qt5 transition splits QtGui into two (QtGui and QtWidgets) but most
> other modules remained the same (library wise, some got their own
> respository source wise as noted above).

As I said, while (AFAIK) that's literally true, I believe it's missing 
the larger picture, and that now freed from the heavyweight bonds of 
having to depend on the entire qt package in many cases, individual qt 
modules and libs will likely see dramatically increased use over the 
coming years, as more distros (generically, not just Linux) split up qt 
into these modules and thus dramatically lower the dependency cost to 
depend on the functionality of just one or two of them.

>> Up the stack at the application level, kde5 is breaking up and shipping
>> most individual apps with their own version tagging and release timing,
>> so apps that are evolving fast can ship updates every month or even
>> every week if they wish, while already mature apps in primarily
>> maintenance mode might ship an update a year, mostly just to keep them
>> building on current libraries with current tools, with the occasional
>> security update as well when necessary.
> 
> I am not sure that this has been fully established as the new procedure
> yet, but it is one of the possibilities.
> Applications might still be released together or in sets, etc.

Thanks for pointing that out.  I did mention in passing, but arguably 
should have given more emphasis to, the likelihood that some category-
modules (I gave the example of kdegames, but kdepim is likely one of the 
more obvious ones due to a common dependency on akonadi) will remain 
unified.

So instead of everything being part of say kde 5.1.2, we might have 
kdegames 5.3.5, kdepim 5.4.3, and plasma-workspaces 2.1.2, but still 
possibly have dolphin 5.2.0 and konqueror 5.0.3.  (This takes into 
account the elsewhere mentioned plan of plasma going with a 2.x version 
number for frameworks five, but other apps or category-modules may 
similarly choose "non-five" majors or start with 5.x but evolve to 6.x 
and beyond during the life of frameworks five.)

>> the full-featured alternative.  And then there's lxde, formerly a gtk-
>> based "lite" desktop, that's switching to qt and cooperating with
>> razor- qt in some development areas.
> 
> I think they actually are planning to merge. But I could be
> misinterpreting things.

I had heard similar rumors, but chose not to explore /that/ whole angle 
of things in an already long post, when their merging or not didn't have 
much bearing one way or the other on the point I was making in any case. 
=:^/

>> So the qt5/kde-frameworks-five generation is going to bring with it an
>> entirely new level of choice and flexibility, both at the developer and
>> user levels, and it's going to be very interesting indeed to watch how
>> that ends up working, and what the fallout is in terms of app
>> popularity say five years from now.
> 
> Indeed!

=:^) and thanks!

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman

___________________________________________________
This message is from the kde mailing list.
Account management:  https://mail.kde.org/mailman/listinfo/kde.
Archives: http://lists.kde.org/.
More info: http://www.kde.org/faq.html.




More information about the kde mailing list