DCOP interface in kicker broke compatibility?
Aaron J. Seigo
aseigo at kde.org
Wed Feb 2 17:42:00 GMT 2005
On Wednesday 02 February 2005 03:09, Adriaan de Groot wrote:
> On Wednesday 02 February 2005 02:43, George Staikos wrote:
> > It seems to me that the DCOP interface in kicker has changed, which
> > means that my existing scripts (and pre-programmed memory for typing dcop
>
> ..
>
> > kicker kicker restart". Given that we publish these things as public
> > API, I think we need to be keeping compatibility on them. Anyone know
> > more about this?
>
> Lauri noticed something similar recently -- has quit() moved as well? It
there never was a quit(). there was configure(), and it's back too.
> As George points out, a DCOP interface should be considered a published,
> public API for which compatibility is required to be preserved. (I remember
> KNotes' interface change, which even caused data loss in some cases with
> applications still expecting the old interface).
as this ends up putting the sort of restrictions usually associated with
libraries only upon applications, i think this is a rather strict and not
entirely useful position. i say this because suddenly application developers
are required to consider interface compatability where they usually don't
have to, which makes application development more laborious.
of course, we also want applications maintain settings compatibilities across
versions, ergo kconfig_update scripts. and there are benefits to maintaining
DCOP interfaces across versions, as has already been noted.
therefore i'd like to suggest we consider a few things for IPC in KDE4 (some
of which Waldo has already noted):
- a set of written, agreed upon guidelines, just as we have for library BC
concerns on developer.kde.org. is it enough to keep the call, but change the
functionality of the call, for instance?
- examine if _all_ applications using DCOP need to fall under DCOP "Call
Compatibility" (CC?), or if it's just apps that ship with the core desktop or
are part of a larger group of cooperative applications.
- the ability to mark/flag DCOP calls as not public. they may still be
visible, but have no guarantees for being carried forwards, perhaps. or maybe
public, stable calls need to be white-listed as such: "stable, compatibility
guaranteed"
- looking at defining sets of standard DCOP interfaces for various classes of
applications. we have a few already, for instance for media and IM. but it
seems a little silly to be talking about interface stability when the
interfaces are a house of babel. if we want interface stability, that means
we intend for them to be used, and if we intend for them to be used we should
start treating them (and therefore designing them) in such a manner.
a lot of this seems to point towards moving away from ad-hoc "this looks like
a cool call to expose" development of IPC interfaces, and towards putting a
bit more thought into it.
--
Aaron J. Seigo
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA EE75 D6B7 2EB1 A7F1 DB43
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20050202/b3769b07/attachment.sig>
More information about the kde-core-devel
mailing list