Releases/FeatureKDE4

= KDE 4 in Fedora =

Summary
We plan to include the KDE 4 workspace as the default KDE in Fedora for Fedora 9. We also plan to upgrade most of the kde* modules to their KDE 4 versions in Fedora 9.

Owner

 * Names:  KDE SIG

Current status

 * Targeted release: Fedora 9
 * Last modified: 2008-04-16
 * Percentage of completion: 100%

The KDE 4 development platform, workspace (kdebase-workspace) and applications, version 4.0.3, are available in Rawhide and have been changed to make the KDE 4 versions the default. Qt 4 has also been made the default. All core KDE modules (except the ones listed under "Packages which will not be upgraded", of course) have been updated to 4.0.3 in Rawhide. kdegames3 (for the games not yet ported to KDE 4) has been imported. Most packages which have moved out of the core KDE modules to extragear (kcoloredit, kiconedit, kgrab, kmid, konq-plugins, ksig) and some new extragear (extragear-plasma, kaider) and kdereview (okteta) modules have been packaged, imported and built for Rawhide. The release notes have been updated.

Rawhide as Test Ground
After Rawhide opens for F9, we should get the KDE 4 betas into Rawhide as soon as possible, so they can get enough testing. This is similar to what has been done for other major changes. We should keep the versions up to date with upstream releases and forward bug reports to upstream so they get fixed for the final release.

KDE 4 as Replacement for KDE 3
Unlike KevinKofler's original developer preview packages and the development platform only packages for F7 updates and F8, which were all designed not to disturb existing stable KDE 3 installations, the goal here will be to ship KDE 4 as the main version of KDE (with some compatibility packages for KDE 3, see the next section). This means:
 * all modules should be packaged (except for modules which are not available or not complete or stable enough in 4.0, where we will have to keep the KDE 3 versions, see below)
 * packages will not be renamed, e.g. kdebase 4 will be packaged as kdebase (or kdebase-*), not kdebase4
 * Obsoletes for the development platform packages (kdelibs4, kdelibs4-devel, kdebase4 and kdebase4-devel) will be provided, the packages will also Provide the *4 names to ease transition (and make common specfiles for F9 and earlier Fedora releases easier)
 * KDE 4 will install into the regular /usr prefix, not a special one like /opt/kde4
 * config files will stay in ~/.kde

Compatibility Packages
In order to support existing KDE 3 applications which aren't ported to KDE 4 (and won't be in time for F9), we will ship the following compatibility packages:
 * kdelibs3: all of the KDE 3 kdelibs (that doesn't conflict with kdelibs4)
 * kdebase3: the parts of kdebase useful for applications. In particular, I'm thinking of the KControl modules in %{_libdir}/kde3/kcm_*.so which won't conflict with the KDE 4 versions in %{_libdir}/kde4 and which are used by some applications for their configuration dialogs. There may be other useful and non-conflicting libraries in kdebase. The KDE 3 versions of applications like Konqueror will not be shipped, as the KDE 4 version should be used instead.

Packages which currently !BuildRequire kdelibs-devel will then have the options of: We will have to send a heads-up to all affected maintainers. As the current KDE 3 packages in Fedora 7 and newer Provide kdelibs3, kdelibs3-devel, kdebase3 and kdebase3-devel, respectively, maintainers are encouraged to change their !BuildRequires right now. Please note that the versions for the *3 names do not include the Epoch 6.
 * getting updated to a (possibly prerelease) version for KDE 4 or
 * building against kdelibs3-devel instead.

kdegames3
As not all games in kdegames 3 have been ported to KDE 4 yet, it is useful to ship a kdegames3 built against kdelibs3 for the games which won't be in kdegames 4.0. (Another option would be to ship the incompletely-ported versions from playground (in most cases, what's missing is simply using SVG instead of bitmaps for graphics, but there may also be stability issues or other bugs due to the port, because those games are lacking an active maintainer to do the port), but just shipping the stable version is a better idea than shipping an incomplete port.) There will also be an atlantikdesigner package built from the KDE 3 kdeaddons, or we might just keep kdeaddons 3.5 entirely as there will be no kdeaddons in KDE 4 anymore.

Packages which will not be upgraded
The following packages will not be upgraded to KDE 4 versions in Fedora 9:
 * kdepim: Upstream says it's not ready and has decided not to include it in 4.0.0 and not to branch it for 4.0. (It is scheduled for inclusion in 4.1 only.)
 * kdewebdev: Quanta will only be available in 4.1 (as it is not ready, it also now depends on the kdevplatform library which is being developed together with KDevelop), a kdewebdev without Quanta is mostly useless. (Only KFileReplace and KLinkStatus are ready for 4.0.)
 * kdevelop: KDevelop will not available in 4.0 at all, the first release is planned to go together with KDE 4.1.

kdeaddons
The kdeaddons package as such no longer exists in KDE 4, it has been split into several extragear modules. Therefore, kdeaddons will be obsoleted at RPM level by the extragear-plasma package.

One special case is the Atlantik Designer currently in kdeaddons-extras: Atlantik is one of the games in kdegames3, and as such we want to ship the KDE 3 atlantikdesigner too. We will provide a kdeaddons-atlantikdesigner package which will obsolete kdeaddons-extras.

kde-settings
As in Fedora 7 and 8, instead of stuffing Fedora-specific settings into kdelibs and kdebase, we will have a separate kde-settings package for distribution-specific defaults.

Maintainership
Maintainership will be handled primarily by ThanNgo, RexDieter, KevinKofler, and LukasTinkl.

Benefit to Fedora
KDE 4.0 will be released a few months before Fedora 9, and is already feature-frozen now, therefore we expect this to be a relatively low-risk upgrade (as low-risk as a move to a new major version with significant changes can be). We believe that it is necessary to make this move now to keep in line with Fedora's mission of showcasing leading-edge technology.

Furthermore, relying on KDE 3 (as more than just a compatibility library) for another release cycle means we'd rely on a permanently frozen KDE 3, based on a completely unmaintained Qt 3 library (EOL was on July 1st ).

Scope
Requires upgrading all of KDE in Rawhide, adding compatibility KDE 3 packages and rebuilding dependent packages against the compat packages where needed (or upgrading them to a KDE 4 version where available).

Test Plan
KDE-based Fedora installations will need to be tested very carefully because of the major changes. Anything which doesn't use KDE shouldn't be affected and will thus need no or only minimal retesting.

User Experience
Users will get the long-awaited new features and user experience improvements in KDE 4, while still being able to run their existing KDE 3 applications in a seamless way.

Dependencies

 * Releases/FeatureFedoraKDE (already went into Fedora 7)
 * redland and soprano (already in Rawhide)

Contingency Plan
Given how the KDE 4.0 and Fedora 9 schedules align, there should be plenty of buffer time between the KDE 4.0 and Fedora 9 releases. We therefore hope to be able to provide a stable KDE 4 desktop in Fedora 9. As the choice of the default KDE desktop and the versions of individual application modules are mostly independent, it is possible to revert either the desktop workspace or individual problematic modules with Epoch bumps. Worst case, we could in principle revert everything, though that scenario is not part of our expectations.

Documentation

 * KDE 4.0 announcement
 * KWin 4.0 release notes
 * Kubuntu KDE 4 Plan (for comparison)

Release Notes
The following items are now mentioned in the release notes:
 * the old "KDE 4 Development Platform" section has been replaced with a "KDE 3 Backwards Compatibility" section
 * inclusion of KDE 4
 * pointer to the upstream release information
 * new workspace: Plasma, System Settings, ..., what is replaced by what
 * package-level changes: kdebase split, kdelibs3/kdebase3, kdegames3, no more kdeaddons, ...
 * application-level changes: KBabel replaced by Kaider, KHexEdit replaced by Okteta, Dolphin, ...
 * Fedora-specific configuration/adjustments to KDE: /usr/lib(64)/kde4/devel documented as part of the KDE 3 backwards compatibility section, /usr/share/kde4 and /usr/include/kde4 currently not mentioned (probably not noteworthy, just a CMake setting and CMake handles this automagically)

Comments
I've built Ktorrent's KDE 4.0 version and it is already in Rawhide. Could be included in the release notes I think. - RolandWolters

Old Comments (pre F8)
I think the fall back plan should be clearly described too just in case KDE 4 schedule gets delayed or the beta's end up being badly broken - RahulSundaram
 * That assumes we have one. ;-) - KevinKofler
 * We have a contingency plan now. - KevinKofler

It would be good to have a special spin of KDE 4 on Fedora on the same day KDE 4 is released. Installable Live cd images are good to demonstrate KDE 4 in Fedora features as well as get some additional testing and interest in Fedora integration. Since KDE 4 is planned to be the default unlike other major distributions, we should do what we can do to highlight the efforts - RahulSundaram

What's about Kopete? Afaik they will not be ready with a release for KDE 4.0 (although it is hard to get information about that). Therefore it could be useful to package KDE3-kopete for Fedora 8. - RolandWolters
 * You mean it won't be in kdenetwork 4.0? Then it makes sense to treat it the same as kdegames3, are you volunteering to maintain it? If it's in kdenetwork, we'll probably just ship whatever is in there, unless it's completely unusable. - KevinKofler
 * I tried to get more information about kopete for KDE 4.0 but there are no news yet. However, despite the announcements it is still part of SVN and was released as part of KDE 4.0 Beta 1 (admittedly, the same is true for kicker)- RolandWolters