In the service of Aunt Tillie -- Zero-configuration networking

Prasanth Kumar lunix at comcast.net
Sat Mar 6 18:42:22 UTC 2004


On Sat, 2004-03-06 at 08:04 -0800, Stuart Cheshire wrote:

> Sorry for the delay replying. My first attempt to send this mail did not 
> go though because I was not subscribed to the list. Now I've subscribed 
> and I'll try again.
> 
> There seem to be some misunderstandings about Zeroconf, which I will try 
> to correct. It would be a pity if red herrings impeded the spread of a 
> good technology that has the potential to make people's lives a lot 
> easier. Actually, I should clarify that. It's more than just "potential". 
> Zeroconf has been making Mac users' lives easier for a couple of years 
> now. Now that HP is shipping Apple software like iTunes preinstalled on 
> its Windows PCs, Zeroconf is making Windows users' lives easier too. 
> Products like TiVo use Zeroconf, so users of consumer electronics 
> customers are also benefiting. I'd like to bring these benefits to the 
> broader Linux community too, but... it seems to be an uphill struggle 
> sometimes.
> 
> There seem to be two concerns, the trade mark law suit, and the patent.
> 
> 
> 1. Trade Mark Law Suit
> 
> The Darwin mDNSResponder project existed long before Apple's marketing 
> people even thought of the word "Rendezvous". "Rendezvous" really doesn't 
> have a rigorously defined narrow meaning. "Rendezvous" is Apple's 
> marketing term for the broad idea that "computers should suck less". 
> Technologies like self-assigned addressing, IPv6, mDNS, DNS-SD, etc., are 
> all contributing components towards that broader goal.
> 
> The CVS project is called "mDNSResponder", not "Rendezvous". The word 
> "Rendezvous" does not appear in any header file names, variable names, 
> function names, or library names. In fact there are only TWO occurrences 
> of the word "Rendezvous" in the mDNSPosix directory, and both are in the 
> ReadMe file:
> 
> >Apple uses the brand name "Rendezvous" to describe our implementation of
> >zeroconf technologies. This sample is designed to show how easy it is
> >to make a device "Rendezvous compatible".
> 
> I should point out that other trade mark names like "Solaris" also appear 
> in the ReadMe file, and in fact Microsoft's registered trade mark 
> "Windows" appears more times in the source code than the word 
> "Rendezvous" does, in the form of checkin comments like "2003/08/06 
> 21:33:39 Fix compiler warnings on PocketPC 2003 (Windows CE)", and so on.
> 
> Is the mention of trade mark names in the ReadMe file and checkin 
> comments really a valid reason to reject a technology? I think not.
> 
> 
> 2. The Patent
> 
> Eric Raymond wrote, "This stuff was invented by Stuart Cheshire".
> 
> I'll respectfully decline that honour. The algorithm for self-assigned 
> link-local addressing is as follows:
> 
>   Pick an address; if someone is already using it, pick a different one
> 
> To claim to have invented that would be some kind of hubris. MacTCP did 
> that in 1990; AppleTalk did it in 1985, probably many things did it 
> before that too, and every five-year old child finding a place to sit in 
> the classroom uses the same algorithm.
> 
> Nonetheless, Microsoft applied for, and in August 2000 was granted, 
> United States Patent 6,101,499 "Method and computer program product for 
> automatically generating an internet protocol (IP) address". I'm not sure 
> whether it should have been granted, and I don't know that it would stand 
> up in court. Even ignoring the other prior art, at the time Microsoft 
> applied for this, version 6 of IP already had self-assigned link-local 
> addresses, and nowhere in the patent claims does it restrict the scope of 
> the invention specifically to an older version of IP. The claims describe 
> the patent as applying generically to "IP" as a whole, yet at the time of 
> the application, "IP" as a whole already had self-assigned link-local 
> addresses, as specified in Standards Track RFC 1971, August 1996 (and 
> published in Internet Draft form long before that). Furthermore, UPnP, 
> which claims to be some kind of semi-open standard, also requires IPv4LL 
> (see <http://upnp.org/resources/specifications.asp>).
> 
> If we all scurry away in fear any time Microsoft files a patent 
> application, no matter how valid or otherwise it may be, then we're 
> handing victory to them on a plate.
> 
> Regardless, even supposing this patent is sufficient reason to scurry 
> away in fear, it doesn't make much difference. If we're afraid of 
> Microsoft's patent, then:
> 
> (a) don't do self-assigned addresses at all. The interesting part of this 
> is, after all, mDNS and DNS-SD. If you have a DHCP server on the network 
> (as most Linux users do) then you have a working IP address anyway, 
> without self-assigned addresses. The part that's still missing is mDNS 
> (for local naming without a DNS server) and DNS-SD (for browsing to find 
> what's out there). That's what's provided by Apple's Darwin mDNSResponder 
> code.
> 
> (b) or, implement a local DHCP server on Linux which listens for its own 
> DHCP DISCOVERs, and then, if they're not answered by some other server 
> within 5 seconds or so, sends back a DHCP OFFER containing a 169.254/16 
> address. The DHCP client will do its usual ARP probe (as required by RFC 
> 2131, March 1997) and send back a DHCP DECLINE if it finds the address 
> already in use. Can Microsoft's patent prevent us from implementing an 
> RFC 2131-compliant DHCP server?
> 
> (c) or, do self-assigned addresses, but only IPv6 self-assigned addresses 
> (RFC 1971), not IPv4 self-assigned addresses. Back in 1998, IPv4 was 
> still very important. Today it is becoming less so, as more and more 
> systems gain IPv6 capability. The fact that most ISPs don't provide IPv6 
> service is not a problem here. Remember that the main focus of Zeroconf 
> today is on the small home network, the local link. Regardless of how 
> much or how little IPv6 support your ISP may provide, you can *always* 
> use IPv6 on your local link, using self-assigned link-local addresses, 
> and indeed this is exactly what OS X does today. Even with absolutely no 
> other working infrastructure, you can *always* use IPv6 with Multicast 
> DNS ("dot-local") names on the local link. I believe that IPv6+mDNS may 
> actually be one of the catalysts that helps jump-start adoption of IPv6, 
> by making IPv6 begin to be something that suddently starts to be useful 
> to everyone, everywhere, instead of having to wait for everyone's ISPs to 
> start offering IPv6 support.
> 
> 
> Eric Raymond wrote, "The inventor of zeroconf, Stuart Cheshire, tells me 
> ... he doesn't understand the politics of ... the Linux community".
> 
> It's true. I don't. I've worked hard to make a technology that makes 
> people's lives easier, and I've worked hard to get my employer to make 
> that technology available to everyone on the most liberal terms I could 
> possibly manage. If someone can tell me what I'm doing wrong, I'm happy 
> to listen.
> 
> Stuart Cheshire <cheshire at apple.com>
>  * Wizard Without Portfolio, Apple Computer, Inc.
>  * www.stuartcheshire.org

I think one of the problems is that there are hardly any devices that
support Zeroconf presently that there is not much demand for its
implementation on Linux or pretty much any PC. Most of the peripherals
used by a home user are USB or Firewire based. Perhaps wireless devices
might have some use for Zeroconf but most wireless hubs act as DHCP/NAT
anyway.

-- 
Regards,
Prasanth







More information about the fedora-devel-list mailing list