[Kde-pim] kdepim-plasma

Aaron J. Seigo aseigo at kde.org
Thu Nov 27 11:48:45 GMT 2014


On Wednesday, November 26, 2014 17.27:30 Sebastian Kügler wrote:
> Yes, exactly. I get now that "Akonadi 2" is a different thing, and an
> implementation detail in PIM. The proposal in the slides mentioned to not
> release a Qt5/KF5 version before "Akonadi 2" is done, that's what worries
> me. I understand that's off the table? It contradicts a lot of other

The exact details of the release schedule was not decided on at the sprint. 
(Only so much we could get through in 2.5 days ;) As with the rest of the 
items in the presentation, only a proposal was made.

The reasons behind the proposal to not do a release as soon as the port is 
done include:

* time spent on user support and bug fixes in code that is going to be 
replaced is time robbed from the replacement; for a large project with 
substantial resource constraints, that matters quite a bit

* the port is, for a sufficiently lose definition of the word, done but there 
are quite a few things left to clean up and polish. do we focus on getting 
code into a releasable state even if it might be changed again, or do we focus 
on moving the code base to new foundations and clean up as we do that?[1]

* if users begin using the Qt5 port early and we change the storage engine, 
they will have to migrate twice, and the second time will be the tricky one 
(data migration and/or re-sync). It would be nice to avoid the multiple-false-
starts that plagued KDE PIM 4.x and pretty well ruined its reputation for 
many.

* we don't particularly have the luxury of saying "we won't support that 
release we made two years ago" when people migrate to a Qt5 version. it holds 
people's data which means no room for error, and we can't force people to stop 
using what we've shipped. In fact, a first release with a new storage engine 
is unlikely to have all resources ported with it, so some would have to stay 
"behind" until the resources they rely on are ported. so even if we do an 
interim release, we'll end up maintaining that release for years ... or else 
risk disappointing our users and downstream partners.

* breaking ABI in libraries which are released independently is a good way to 
anger both users and distributions (rightfully so), so it would be nice to 
avoid putting out ABI-incompatible Qt5 versions only to then change them 
again[2]

Obviously the porting needs to be done first before we attempt to change other 
parts. We could turn that into a "technology preview" release, but I'm still 
of the opinion that doing a "proper" release which the average user will not 
be able to differentiate from being "ready and reliable for the next N years" 
and "a port to Qt5 with many significant changes yet to come" is just asking 
for problems and risking slowing down reaching the new storage system.

That said, there is one other datapoint that is missing which is probably 
going to be key in tipping the scales one way or the other: when we could 
realistically expect the new storage engine.

At this point, it is too early to know exactly what the reality of the new 
storage engine is. That may sound dramatic given how many of the team support 
the concept, but we're only at the beginning of implementing the prototype. 
Once we have a better idea of the timeline for that, we can make better 
decisions. That probably hinges on how well the prototype advances between now 
and the end of the year.

It could turn out that we feel we can get to a new storage engine in a similar 
amount of time (e.g. +/- 3 months) that polishing the current code base into 
releasable form would require and then it probably becomes a simpler decision. 
It may also turn out that we could push out a "good enough" version of the 
port by early next year while we expect the new storage engine to be 2 years 
away, and then it also becomes a simpler decision. I expect the reality will 
lie somewhere in between, and the issues listed above will need careful 
consideration and weighing.

There are also many other non-detail items such as if/once the new storage 
engine is in place, will current Akonadi be shipped with a resource backend to 
the new storage layer to ease migration and transitions .. these things are 
also not 100% known yet.

I think the best we can do at this point is say that we recognize the needs 
and desires of other teams such as Plasma and that we will take those into 
consideration as we make decisions and move forward, and keep people informed 
of those decisions.

[1] there are some things that need work that will not be affected one way or 
the other, such as getting rid of some of the deprecated kdelibs 4.x classes 
that are used. these things do not weigh one way or the other

[2] as with [1] above, there are some libraries which are likely to not be 
affected

-- 
Aaron J. Seigo
-------------- 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-pim/attachments/20141127/116536d2/attachment.sig>
-------------- next part --------------
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/


More information about the kde-pim mailing list