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 devel
mailing list