why kdelibs?

Diederik van der Boor vdboor at codingdomain.com
Mon Nov 1 20:27:00 GMT 2010

Op zaterdag 30 oktober 2010 22:43:50 schreef Stephen Kelly:
> Alexander Neundorf wrote:
> > I think BC is less important that SC.
> > If a KDE5 would just require a recompile, and maybe some changes in the
> > cmake scripts (like additional find_package(SomeKLibrary)), this
> > shouldn't be a too big problem for KDE.
> > If it would mean people have to rewrite their apps, as they just did for
> > KDE4, it might be deadly for KDE I'm afraid.
> I think the big difference is that KDE4 introduced many new and different
> technologies that needed to be ported to (akonadi, plasma for example),

Let's not forget that Qt4 changed a lot of behaviour in classes.
This tore out the remaining solid foundation of apps.

> whereas reorganizing kdelibs involves shuffling things around and renaming
> libraries. So you'de use, for example, KPlatform::Locale instead of KLocale
> (which uses KConfig, KStandardDirs etc), whereas Gregory would use
> KLibs::Locale (which uses possibly self implemented or contributed
> interfaces which use QSettings, etc).

I think this is being taken a bit too light.
If things are just search/replace that's all fine, but moving stuff to Qt 
could mean behaviour changes unless some compatibility wrapper is set.

Some rough statistics on porting an app of 120 source files: (KMess)
From KDE 3 version to KDE 4 alpha we needed 654 commits, of which:
- 190 commits to get things to fully compile again
- 80 commits before basic chat worked again.
- 180 commits until the essentual porting was fully done
- 200 commits until an alpha could be released.

This is 120 source files and the only new thing it used was the QModel* stuff.
Eventually we voluntary improved a lot of other stuff, but the porting effort 
is not something to be repeated ;-)

I can't stress enough it needs a good plan to limit impact on apps.
Perhaps in the form of some compatibility layer, i.e let those kdelib classes 
become wrappers/adaptor classes for the stuff that's been moved to Qt.

> Until we try some things out we won't know what the impact on kde apps
> would be.

Making things concrete would certainly help :)


More information about the kde-core-devel mailing list