There has been much discussion recently on the Fedora mailing list about how to improve Linux's ease of use in scenarios like printer setup. (Thank you, everyone, for picking up on the content of my rant so constructively when you very well might have dismissed it as carping.) I have just become aware of a technology which could represent a long step towards addressing the usability problem. It is a set of small patches to the IP infrastructure that support zero-configuration networking -- you just plug in an IP-capable device and it self-configures an IP address, becomes available in a local DNS namespace, and other devices automatically discover its presence and the services it offers. This technology is called "zeroconf", and is described at http://zeroconf.org. The first component of Zeroconf, self-assigned link-local addresses, has been shipping since Mac OS 8.5 in 1998, and the other two components, Multicast DNS and Service Discovery, shipped starting in OS X 10.2, a year and a half ago. Since then almost every maker of IP-over-Ethernet-capable printers printers has adopted Zeroconf and incorporated it into their firmware, and just about any network printer you can buy today has it. There is a mature open-source implementation which is part of the Darwin/OS X codebase. The zeroconf stuff uses existing services like DHCP and DNS if they exist -- and, just as importantly, doesn't mess them up when you plug a zeroconf-enabled device into a normal, manually-configured network -- but it doesn't need them. It uses a few simple, clever multicasting tricks and a technique for detecting IP address collisions. The total volume of code is not large, basically consisting of one zeroconf responder daemon and a handful of small patches to other services. Less than 100K all told, and that's *with* multihoming and IPv6 and all the bells and whistles. The effect is a lot like the Chooser application on the Mac (this is not accidental; zeroconf was written to replicate Chooser's behavior in a TCP/IP world). You plug Ethernet cables together and stuff just works -- no more complicated ritual dances with ifconfig, DHCP, and DNS. Your IP-enabled devices even magically appear in your DNS namespace, with a DNS name ending in ".local". Home networks using Linux would become zero-administration; Aunt Tille would love it. The inventor of zeroconf, Stuart Cheshire, tells me the technical problems are all solved and the solutions well tested, but he doesn't understand the politics of getting the Linux community to generally adopt zeroconf. He's anxious to help. I suggest that full integration of zeroconf should be added to Fedora's to-do list. For this to actually happen, somebody will need to step forward and become zeroconf's champion. Any volunteers? The source code (which already runs on Linux -- just do a "make os=linux; sudo make install") can be checked out from Apple's Darwin repository. Check out top-of-tree; Stuart tells me the tarball is a little out of date doesn't contain the latest fixes: <http://developer.apple.com/darwin/projects/rendezvous/> The documentation in the mDNSPosix folder should be fairly clear. If not, Stuart Cheshire requests that you email him <cheshire@xxxxxxxxx> and Marc Krochmal <marc@xxxxxxxxx> with any questions, or you can ask on the public Rendezvous list: <http://lists.apple.com/mailman/listinfo/rendezvous> -- <a href="http://www.catb.org/~esr/">Eric S. Raymond</a> Let us hope our weapons are never needed --but do not forget what the common people knew when they demanded the Bill of Rights: An armed citizenry is the first defense, the best defense, and the final defense against tyranny. If guns are outlawed, only the government will have guns. Only the police, the secret police, the military, the hired servants of our rulers. Only the government -- and a few outlaws. I intend to be among the outlaws. -- Edward Abbey, "Abbey's Road", 1979