[Kde-pim] Akonadi as a freedesktop.org PIM infrastructure
Kevin Krammer
kevin.krammer at gmx.at
Mon Jul 30 23:01:44 BST 2007
Hello PIMsters,
at aKademy I talked to at least Cornelius and Till about Akonadi becoming a
freedeskop.org "standard" for PIM data handling.
Basically fd.o has two kind of "roads":
=======================
(1) shared specification: examples would be menu specification, desktop-entry
specification
and
(2) shared implementation: examples would be D-Bus, HAL
Both can result in the other, e.g. D-Bus also specifies protocol and semantics
and there are independent implementations for client lib and server.
Each option has its own advantages and disadvantages. In the context of
Akonadi I came up with these (definitely not complete):
For (1) "shared specification":
===================
Advantages:
- Akonadi, the code, stays a KDE project
* we are in control of release dates
* we have access to KDE infrastructure (we already have commit access)
* we can have KDE dependencies
- less political issues, e.g. dependencies
- extensions can be added as KDE specific enhancements and specified later
Disadvantages:
- complex problem domain
* makes it hard to implement based on just a spec
* makes it unlikely to be implemented soon outside Akonadi
- different implementations
* need to be cross-tested
- different release cycles
* independent projects (e.g. ISVs) need to wait for all to be completed
For (2) "shared implementation":
=====================
Advantages:
- single codebase
* might get outside KDE contributions
- one release data
* one version per distribution
* might become part of LSB
- more testing
* different client implementations will trigger different bugs
- marketing
Disadvantages:
- political issues
* "KDE project"
* dependencies
- foreign infrastructure
* need to get respository access on fd.o
* no l10n or doc-team on fd.o as far as I know
- risk of not being used anyway (see aRts)
- no nifty kdelibs stuff (e.g. KLocalSocket)
- (likely) no sync with KDE releases
Personal notes:
==========
>From an engineering point of view the option (1) "shared specification" is
probably the better choice. It allows us to proceed on our side as we see
fit, only have to make sure we implement the share stuff properly,
Basically this is why KDE usually takes this approach, i.e. offering the
documentation of our implementations as the input for a problem domain.
Basically this is also why KDE is quite always seen as the follower
regarding "standards", while most current "standards" are either based on KDE
specs (e.g. desktop-entry) preceeded by KDE's work (e.g. DCOP/D-Bus).
See also item "marketing" in the lists above.
Cheers,
Kevin
--
Kevin Krammer, KDE developer, xdg-utils developer
KDE user support, developer mentoring
_______________________________________________
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