Overview: Zeroconf (aka Rendezvous, Bonjour) is an open-standard IETF protocol design for user-transparent network resource (e.g., printer) discovery over DNS multicast. It is extensively implemented in Macintosh OS X, is slightly patent-encumbered, and has (a/o 2006) multiple beta-level implementations in Linux and other open-source OSes.

The comparable protocol in Microsoft's proprietary protocol stack would be uPNP.





Date: Wed, 7 Dec 2005 12:29:24 -0800
To: sulug-discuss@lists.Stanford.EDU
From: Rick Moen <rick@linuxmafia.com>
Subject: Re: New print queue appears

Quoting Joe Little (jlittle@cs.stanford.edu):

> Yes, RHEL4 and like distros, including new Fedora releases, now
> support Rendevous/Bonjour/Zeroconf networking via multicast DNS. This
> is something that Stanford's own Stuart Cheshire spearheaded, and
> got Apple to adopt first, along with Microsoft. Linux is join the
> party, as long as you have a recent vintage of Red Hat or SUSE. I
> believe Ubuntu may also have it. My cursory understanding is that
> CUPS broadcasting is using this.

Any *ix that has KDE 3.4 or later thereby gains base-level Zeroconf/DNS-SD functionality, via a "zeroconf:/" ioslave: http://dot.kde.org/1114696139/

It's not difficult to get that level of functionality from smaller codebases, too (packages: zeroconf, mDNSResponder, howl-utils, libhowl-dev libhowl0, mt-daapd, nss-mdns, avahi-daemon, avahi-utils, GNOME panel service-discovery-applet, zcip, Gobby collaborative editor, MateEdit collaborative editor), e.g., on Debian-unstable:

http://www.sherman.ca/archives/2005/03/19/zeroconf-under-debian-linux/
http://www.gnome.org/~jdub/debian/
http://packages.debian.org/unstable/net/zeroconf
http://wiki.tryphon.org/ZeroConf
http://wiki.kde.org/tiki-index.php?page=Zeroconf+in+KDE
http://kitenet.net/~joey/blog/entry/zeroconf_networking_in_debian-2005-08-25-04-25.html
http://wiki.thiesen.org/page/ZeroConf
http://interreality.org/software/debian/howl.html
http://zeroconf.sourceforge.net/
http://www.zeroconf.org/
http://sandy.mcarthur.org/code/zeroconf/>
http://www.enterprisenetworkingplanet.com/netos/article.php/3618026
http://tips.linux.com/tips/06/06/15/2012219.shtml?tid=100
http://www.spack.org/wiki/ZeroConf
https://wiki.kubuntu.org/KubuntuEasyZeroconf
http://www.oreillynet.com/pub/wlg/6067

Note that Apple's APSL2/BSD-licensed "mDNSResponder" mDNS package should not be confused with Debian's package of the same name, which provides Howl/libhowl instead of Apple's code. And there is also a third implementation from Novell, "mDnsResponder.Net", written in C# for Mono/.NET: http://forge.novell.com/modules/xfmod/project/?mdnsresponder

Article detailing use of Gobby, describing its architecture, an optional server component called "Sobby", and Emacs integration using ebby.el: http://www.linux.com/article.pl?sid=06/06/27/1837234

US patent # 6,101,499, owned by Microsoft Corporation, is said to encumber some of the link-local addresses used in multicast DNS (mDNS), one of two network-level protocols used in Zeroconf (the other being "DNS-SD" = service discovery -- not to be confused with resource-discovery protocol SLP = Service Location Protocol, RFC 2608, which is not Zeroconf-related and is used primarily by Novell). That firm is said to have committed to granting "royalty-free licenses provided there's reciprocity".




Specific codebases with Zeroconf relevance: