Apple's Bonjour Available for Windows
inblosam writes "Apple's Bonjour ('also known as zero-configuration networking, enables automatic discovery of computers, devices, and services on IP networks') is now available for Windows! A Bonjour icon shows up in Internet Explorer to enable Bonjour browsing, along with the Bonjour Printer Wizard. Developers can download the Bonjour SDK. The benefits would appear to be for Apple customers (more Bonjouring with more networks) and to gain Apple switchers by enticing Windows customers."
The name. Apple got sued by Tibco about the Rendezvous trademark, so they changed the name to "Bonjour".
A pride of lions.
A gaggle of geese.
A murder of crows.
A vista of bugs.
KDE added support with 3.4, for example the public file server advertises itself over zeroconf (same protocol, different name). So this is starting to look like a good technology for those in a heterogenous environment
I am trolling
Here's a good comparison of UPnP and Zeroconf. Zeroconf is the base of Apple's Bonjour.
Note that I am far more familiar with ZeroConf than with UPnP, so I may have miss-characterised UPnP in this post.
I am TheRaven on Soylent News
It made me very happy to find that Linux has support for it and that even better support is under way. http://dot.kde.org/1114696139/
9/11: Never forget it was a false-flag operation
There is a Posix-compatible version of Zeroconf for Linux. Just download it from Apple's CVS (You will need an ADC account). Under bash: export CVS_RSH=ssh export CVSROOT=:ext:apsl@anoncvs.opensource.apple.com:/cv s/apsl
cvs co mDNSResponder
Then use your ADC ID and ADC password as a password, like this: my_adc_email@host.com:my_adc_password
I've been using Zeroconf on my Linux laptop with no problems whatsoever, eg. Safari sees my laptop as a web server (I run Apache for site demos) and there is no need to manually enter the server's IP. Unfortunately, there is no Printer Wizard bundled. Duh.
Apple already released their ZeroConf stack for POSIX-like systems under an open source license.
I am TheRaven on Soylent News
Apple already released their ZeroConf stack for POSIX-like systems under an open source license.
Except it's under Apple's APSL, which isn't DFSG free. KDE uses it anyway, but I assume Debian strips it out before packaging it. Avahi is a GPL'd implementation of zeroconf, and AFAIK Gnome is waiting for it to mature before integrating it. The web page has a progress update added today.
ZeroConf is the official name, Apples used to use Rendezvous, now it's Bonjour.
You won't have seen it advertised explicitly, it simply sits and works.
It is used for sharing in the iApps:
iTunes
iPhoto
chatting in iChat
Finding servers to use in the Server Admin tools,
Transmit (the Panic FTP client) supports it,
It is used to find file shares on the network, using AFP
Anywhere networking just happens, without having to do anything more than simply turn it on chances are Bonjour is behind it.
Alex
Actually, zeroconf is more than service discovery.
zeroconf consists of:
- automatic allocation of IP address without DHCP
- name resolving without a central DNS server
- service discovery without a central directory service
A monkey is doing the real work for me.
Why, in this day and age, is it necessary to 'restart' the whole friggin machine?
/user:administrator".
It's necessary when you're trying to change a file that's currently in memory. But the windows installer framework, for several years now, gives you the chance to shut down applications using locked files so you don't have to reboot. You can refuse and you'll have to reboot.
In this case I can't imagine it needs a reboot; it's probably hooking something into IE or explorer, or maybe installing a device driver or service - they're probably skimping on testing by only supporting service start-up on reboot, it's cleaner environment to work from. Even if they're hooking something deep into the IP stack they could easily restart all networking on the machine.
Is there a multi-user version of windows yet? Why do I have to log out as 'user' before I can log on as 'administrator'?
Yes, Windows XP lets you switch between users and separate desktops unless it's attached to a domain. But you can only be one user at once, and remote-desktopping in (XP Pro only) kicks off the console user.
You can always use "runas
On my Mac, I can can browse bonjour sites on my local network in Safari. What is really cool is that my TiVo shows up. If you have the latest TiVo software (the version that added support for TiVoToGo) You can actually browse and download the .tivo files without using TiVo Desktop. If you are already doing this by http://ip/ you may like that bonjour makes it so you don't need to know the IP address, you just bookmark the *.local address. I assume that this also works with bonjour for windows. It's very useful.
The source code of Bonjour has been available since August 2002, including implementations for BSD and Linux.
o ur /
http://developer.apple.com/darwin/projects/bonj
Bonjour Source Code
The Mac OS X mDNSResponder source code is available from the Darwin CVS repository. This package includes platform specific code for implementing Bonjour on Mac OS X, Windows, Windows CE, Linux and VxWorks, and also includes helper applications for browsing and advertising services. Hardware device manufacturers are encouraged to embed the Darwin open source mDNSResponder code directly into their products.
This is some of the coolest use of the technology: SubEthaEdit lets a group of people work on a document at the same time using Bonjour. This is the way networking should work. If the boys there get their act together and create a Windows (and Linux) version, this app could be used everywhere!
Actually, the client library portion has been re-licensed under the terms of the BSD license, largely to allow it to be used by software which is licensed under the terms of the GNU GPL.
The mDNSResponder daemon remains under the terms of the APSL, which is not only OSI-approved but also accepted by RMS himself as being a valid Free Software license. The only problem he noted with it was that it is GPL-incompatible - but since the client library for Bonjour is GPL-compatible that shouldn't be a problem.
To be honest, I'd be surprised if the APSL is not DFSG free. On what grounds is it not?
The APSL gives you an automatic royalty-free license to any Apple patents which might cover any of the code, too.
From http://www.gnu.org/philosophy/apsl.html:
... The FSF now considers the APSL to be a free software license with two major practical problems, reminiscent of the NPL:
0 527.html. It seems that the reason it is incompatible with the GPL, is also the reason it can not be considered DFSG-Free: it requires users of its software to distribute the source code available under certain circumstances.
"The Apple Public Source License (APSL) version 2.0 qualifies as a free software license. Apple's lawyers worked with the FSF to produce a license that would qualify.
* It is not a true copyleft, because it allows linking with other
files which may be entirely proprietary.
* It is incompatible with the GPL."
Debian-legal has reviewed the APSL 2.0, in http://lists.debian.org/debian-legal/2003/08/msg0
"What's wrong with DHCP?"
It needs a DHCP server.
This is why MS invented APIPA (automatic private ip addressing), in the 169.254.0.0/16 range, which made its debut with Windows 98. If a network adaptor is set to DHCP but no DHCP server responds, it picks an IP in that range. This allows ad hoc local networks to form.
ZeroConf takes APIPA and adds to it multicast DNS (again, because ad hoc networks don't have DNS servers that they can publish names to). Any machine on the local network can listen to the mDNS requests and respond accordingly; it uses specially formed DNS names to publish services (in a manner broadly equivalent to, but IIRC incompatible with, SRV records).
UPnP uses a different mechanism for service discovery (it uses multicast HTTP instead of multicast DNS). It also goes a step further and allows devices to publish known, standardized interfaces.
ZeroConf lets iTunes search for other local iTunes and share media libraries. IIRC only iTunes knows how to talk to these other iTunes instances, because there's no ZeroConf standard "media library" facility.
UPnP lets *media players* search for other local *media players*. These media players are, as long as they conform to the right interface, mutually compatible; it doesn't matter if a "Media Library" is a SAN or a program like Winamp or WMP or some putative networked iPod or hifi system; it just conforms to a standard "Media Library" interface and can stream files accordingly. Likewise the "Media Renderer"; I can control a Media Renderer without caring about its exact nature (it might be a hifi or a PC or something else entirely).
UPnP works well, and can do everything ZeroConf does and then some; it's probably most widely used for Internet Gateway Devices; you get your nice cheap combined cable modem/router box from Linksys, and Windows can see and recognize the device, allowing it to report on connection status, provide a "built-in" link to the device's management web page, and so on and so forth.
Andrew Kuchling wrote a very nice overview of the Zeroconf technology.
Complete with a pure Python module implementation and some example programs.
Can somebody explain to me what ZeroConf has got over UPnP?
UPnP is patent encumbered. It does not do auto discovery over a network. UPnP works like a piece of crap. On my mac I have a usb printer plugged into another machine or hub. Within seconds of turning it on it is available to every mac on my network with no configuration. I have to manually add it to each windows machine. I can automatically see other users running ichat, itunes, etc. and connect to the services they offer, just by being on the same subnet. Taking a mac to a conference became an amazing thing a few years ago. Imagine being able to chat with everyone else there, automatically, with no configuration or trading of info. imagine being able to listen to a steam from their mp3 player. imagine being able to collaboratively edit a document with no configuration. I do all these things redularly. It it so much more useful than UPnP that the comparison is ludicrous.
Because Bonjour is Apple and UPnP is Microsoft. Therefore, one works right and one doesn't.