Em Segunda-feira 09 Novembro 2009, às 15:09:36, nf2 escreveu:
> * Just compare this to libdbus: The IPC protocol is standardized, but
> almost everyone uses the libdbus as "the real interface".
And that library links to libc, libpthread and libexpat (statically). That's
one of its strengths, since it can be integrated into any event loop, not just
Qt's and glib's. (And trust me, integrating that into the event loop is NOT an
easy task)
And yet I've considered more than once dumping the libdbus-1 library and
writing the protocol myself. The marshalling and demarshalling is basically
the only code that I use from that library.
The reason being that the performance bottlenecks left now in D-Bus code are
all inside that library. And I, as a C++ coder, don't have the motivation to
go into it and fix it. Nothing against C -- and if I put my mind to it, I'd
probably manage to do it. But the fact is that, when it's my spare time we're
talking about, if it just too difficult, I will find something else to do.
Besides, glib is only a dependency of Qt on the X11 platform. I can justify a
VFS API that requires D-Bus to work properly (with some effort, on some
platforms other IPC mechanisms would be preferable), but I cannot do it if it
requires using glib & gobject in platforms that its own maintainers currently
don't support.
Think of it this way too: it's possible to port the KDE ioslaves to speak on
D-Bus by just modifying libkio. I've investigated that possibility already. So
we could bring all of the current ioslaves into the party too.
As for your argument on "living on the same apartment", I disagree a bit. I
think we're still at the "same building" stage, where we share our piping,
heating, electricity, we cooperate in the building council, but we haven't yet
moved into the same unit.
Another way to see it is from the "Innovator's Solution" book. The author
expresses a theory in which companies and entities go through cycles of
interdependency and modularity. I think that applies to us: we're still in the
state of interdependency, where the product is "not good enough" yet and we
need a high level of flexibility and the ability to make non-standard
interfaces, in order to stay competitive.
--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
Senior Product Manager - Nokia, Qt Development Frameworks
PGP/GPG: 0x6EF45358; fingerprint:
E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
Attachment:
signature.asc
Description: This is a digitally signed message part.