KF5 in Release Mode: C++11 and dates

Kevin Ottens ervin+bluesystems at kde.org
Mon Jul 22 11:42:59 BST 2013


Hello people,

As planned, we had the "KF5 in Release Mode" BoF at Akademy. Quite a lot of 
information on the current status got shared, but I'm not going to focus on 
that in this email. I'm writing this email to let everyone know about the two 
main novelties which got discussed during this meeting.

First topic is about the C++11 support in KF5. Volker added an email about 
that, but I thought I'd run through it again. So far, no C++11 feature was 
used in KF5. The default rule on that topic was "let's do it the same way than 
Qt" since one of the main goals of KF5 is to make our technologies desirable 
for Qt application developers. After revisiting how it is done in Qt, it turns 
out that the situation there is less than clear... We agreed on supporting the 
following minimal versions for the compilers: gcc 4.5, clang 3.1 and VS2010.

That means the new rule is as follow:
 * We're not supporting the full extent of C++11 in KF5 (although I encourage 
people to use more higher up in the stack);
 * We're white listing some of the C++11 features in KF5, namely are now 
allowed:
   - auto;
   - rvalue support (except for "*this");
   - lambdas.
 * If you want to use more than the above:
   - it must be made optional by the use of #ifdef or the Q_* macros (e.g. 
Q_DECL_OVERRIDE);
   - both the binaries built with or without those extra features must be 
binary compatible.

Note I also added the above to the policies for Frameworks:
http://community.kde.org/Frameworks/Policies#Frameworks_compiler_requirements_and_C.2B.2B11

Second topic, more to the point of the BoF, is about getting ourselves in 
release mode. The situation in KF5 is getting clearer by the day and as such 
we're seeing progress toward meeting a releasable state. This is why we've 
been already filtering the type of tasks we distribute to focus only on the 
"must have" tasks. Every other type of tasks are put on a waiting list for 
post 5.0 work.

With this ongoing shift of strategy and mindset, we can play a bit the 
prediction game. At the current pace and amount of effort put into the 
project, it is feasible to roll out a technology preview in December 2013 
latest with a good confidence level.
If the tooling supports it, that preview probably won't be released in one go 
but in batches (to be confirmed later) in order to find the problems along the 
way. With such a strategy we might be able to be very close to a final release 
in March 2014.
It's clearly not a given, we'll reevaluate in December if we're still on 
track, as you know in volunteer projects the amount of available effort can 
vary greatly (and those estimates assume it will be constant). Still, that 
makes March 2014 a very worthwhile goal to pursue, so let's try to meet it 
nonetheless.

That's it for now, thanks for your attention.

Regards.
-- 
Kévin Ottens, http://ervin.ipsquad.net

KDAB - proud supporter of KDE, http://www.kdab.com
-------------- 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/20130722/89c0fc1c/attachment.sig>


More information about the kde-core-devel mailing list