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:


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: