Zeroconf in KDE4

Jakub Stachowski qbast at go2.pl
Wed Feb 21 16:59:08 GMT 2007


Hello,

As some may remember one of new features in KDE 3.4 was Zeroconf support - 
abstraction layer for libdns_sd that makes publishing and 
discovering network services really easy. It is now used by several 
applications: krfb/krdc, kio_zeroconf, kftpgrabber, amarok, kpf and several 
games from kdegames module. Unfortunately, I stopped taking care of this code 
several months ago. 
There were several causes: getting full time job, starting living on my own 
and as most important loss of motivation. So, to not leave dnssd stuff in 
uncertain situation, especially when kde4 is coming, I officially resign as 
its maintainer.

Current state:
'Main' part of zeroconf support is kdnssd library from kdelibs. In 3.5 branch 
it wraps Apple's mdnsd daemon. Because mdnsd and libdns_sd was licensed under 
APSL (not accepted by some distributions), alternative called Avahi emerged 
and started gaining market share really fast. To support it alternative 
implementation of kdnssd (drop-in replacement for libkdnssd.so.1 from 
kdelibs) wrapping avahi was developed in kdeplayground - at 
first for Kubuntu (thanks J.Riddel for idea) and later also other 
distributions started using it. Both implementations work and I am not aware 
of any big problems with them. 
I guess most pressing short-term goal for KDE4 would be to bring both backends 
(mdnsd and avahi) into kdelibs and make it possible to select one at compile 
time. Simply removing mdnsd stuff is not a good idea, because it is native 
dnssd implementation for macosx and avahi does not work on windows at all. 
Also there is a wish in bugzilla to add zeroconf support to knotes. 
Implementing it should take not more than hour.

I had some long-term ideas about unification of various service discovery 
protocols like slp, samba, lan:/ and zeroconf into one, easy to use API. 
There is even some old code under branches/work/service-discovery, but it got 
abandoned as well. Still, if it can give someone a good idea then all the 
better.

If someone wants to take over maintenance, I will be sure to answer any 
questions about this code. If not, and other developers think that kde's 
zeroconf stuff is not really that useful, transition to kde4 would be good 
moment to remove it.


Regards, Jakub




More information about the kde-core-devel mailing list