fedora-devel-list digest, Vol 1 #475 - 13 msgs

Stuart Cheshire cheshire at apple.com
Tue Mar 9 00:06:04 UTC 2004


>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.

This is one reason why progress in networking is so hard:

Printer vendor: "Why should I adopt this new thing when there are no 
clients for it?"

Client vendor: "Why should I adopt this new thing when there are no 
printers that support it?"

If we want to make progress in networking, someone has to be willing to 
go first, and deploy something even though they reap no immediate benefit 
from it.

Apple was willing to make that first move, two years ago. Apple was 
willing to ship client software that used mDNS-SD to browse for printers, 
even though there were ZERO network printers at that time that would 
answer those queries. Imagine how hard it was to sell management on the 
value of implementing a feature that offered absolutely NO immediate 
benefit to users.

What happened after this is that Brother said, "Hey, this is cool. If we 
put this Darwin mDNSResponder code in our printer, it magically shows up 
in the print dialogs." Brother shipped their first products doing this in 
January 2003, swiftly followed by Epson, Canon, Lexmark, HP, and every 
other printer vendor I can think of.

I don't know a single network printer on sale today that doesn't ship 
with mDNS-SD, and ship with it turned on by default, so you just plug it 
in, turn it on, and it shows up in your Mac's print dialogs.

The question I'm asking now is whether Fedora wants to provide the same 
out-of-the-box printer experience, or not?

>Most of the peripherals used by a home user are USB or Firewire based.

And why is that? If you could buy a $50 Ethernet printer that was as easy 
to use as a $50 USB printer, which would you pick? One of my goals in 
creating Zeroconf was to help accelerate the trend away from locally 
tethered devices to networked devices. Especially when you have 802.11 
wireless on your laptop and you can use it sitting on the couch, do you 
want to have to plug in USB cables every time you want to print, or scan, 
etc.?

The other aspect of this discussion is that mDNS-SD is not just
for computer-to-device communication. It's also for peer-to-peer
communication, as used by iChat, iTunes, iPhoto, SubEthaEdit,
VNC remote screen viewing, games, databases, as well as such mundane 
workaday protocols as telnet, ssh, ftp, etc. You can see the list of 
registered mDNS-SD protocols at <http://www.dns-sd.org/ServiceTypes.html>.

Any Linux application that currently has a text box in its UI where the
user is expected to type in an IP address or host name, could be enhanced
by putting a little popup menu next to that text box where the user can
click to select from a list of valid choices on the local network.
For an example, see the Transmit 2.6 ftp client from Panic Inc:
<http://www.panic.com/transmit/>

>I think you understand more of it than you give credit for.
>It's not like you haven't contributed kernel driver code 8)

It's true I wrote Linux kernel code back around 1995, but that doesn't 
change this fact:

The mdnsd daemon for Linux is written, tested, debugged, and ready to go, 
yet it's not in any of the standard distributions. What we keep hearing 
from application developers (like people working on CUPS) is, "We'd love 
to use mdnsd, but it's not in any of the standard Linux distributions." 
What we keep hearing from the people working on the distributions is, "We 
don't know any Linux applications today that use mdnsd, so that must mean 
there's no demand for it."

There are four files: A library, a header, a daemon, and a script to 
start it at boot time. You put those four files in, and CUPS can start 
using it. Support of link-local addressing is not necessary for CUPS to 
start using this, and neither is the "dot-local" gethostbyname() name 
lookup support.

I stand by my original statement: I don't understand what more I need to 
do to convince the Linux community of the benefit of this. It runs on OS 
X, OS 9, Windows, VxWorks, FreeBSD, etc. It runs on Pocket PC devices 
like the HP iPaq 5555, and PalmSource is working on adding it to Palm OS 
6. It runs on every current network printer and an increasing list of 
other devices, like TiVos, Roku HD1000s, etc. Why isn't it already in 
standard Linux distributions so things like CUPS can start using it?

Stuart Cheshire <cheshire at apple.com>
 * Wizard Without Portfolio, Apple Computer, Inc.
 * www.stuartcheshire.org





More information about the fedora-devel-list mailing list