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.
The difference is (hopefully) they won't face a lawsuit for using the name "Bonjour."
By reading this you acknowledge that you have read it.
The first time? No. QuickTime, for one.
Yes, Bonjour is Rendezvous renamed. Here's some info on that.
itunes.
quicktime.
For exempel... When you got a OSX server up and running. And you got another OSX machine in the network. Just open Server Admin. The machine find the server just when you open the program.
Or when you are sitting in a network, open itunes. suddenly all the peoples that share there music with itunes pops up in the playlist. So you can play there songs...
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
Here's your answer.
The problem with this would be that the XGrid agents would need to be cross-platform. As you can see on Apple's intro page (http://developer.apple.com/hardware/hpc/xgrid_int ro.html) the controller creates these agents. At the moment XCode (which I assume is used to create the agents, or atleast gcc + the SDKs that get installed with XCode) is not able to compile for x86. I don't see Apple changing this any time soon.
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
Fedora Core 3 includes an mDNS responder, look for guides for installing itunes daap and using it to advertise to itunes
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.
*cough*
Looks like Bonjour is patent free. In todays sue happy corporate battle ground it looks like the clear winner is the one that is quick to market and has less overhead.
I predict Bonjour will win, even though Bill Gates will throw a fit.
I also predict that a new security update will make bonjour not work or crash. We really want the Old Microsoft back, from the days of DR-DOS, WordPerfect and Lotus 123.
Your Average Joe
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.
The plug-in they are talking about adds a sidebar to IE that communicates with the Bonjour backend to discover FTP and HTTP servers. This needs to be implemented per-browser, of course.
Hopefully, they will add a Firefox plug-in soon.
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?
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
- Switches, seeing them as regular ethernet multicasts, will forward them just fine, though switches (as in, a multi-port ethernet bridge) will never forward ANY traffic to "other networks"
- Routers, assuming they have the capability and are configured to do so, *can* forward the zeroconf packets to "other networks". Though you're right in that they typically won't by default, and some routers have no ability to forward them.
SEE uses Bonjour to discover documents on the local network, but that's all Bonjour does for it or any other program. That's nice, but all the stuff that really makes SEE cool-- the shared buffer, user highlighting, etc-- has nothing to do with Bonjour
...because I like to be the jerk who ruins jokes with a Snopes reference.
"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.
Look at the O'Reilly article referred to by wargolem above, comparing Bonjour with UPnP. Reading between the lines, it's pretty clear that one reason Apple developed Bonjour is to avoid the risk of being locked out by Microsoft somewhere down the line. For this to work, Bonjour will have to be nearly universally adopted, so of course it has to be free. Add to that the fact that Bonjour is easy to develop for and is not patented (unlike Microsoft's monolithic standard), and the prospects look good that Bonjour will be widely adopted.
Warning: The intelligence of this post may be larger than it appears.
Andrew Kuchling wrote a very nice overview of the Zeroconf technology.
Complete with a pure Python module implementation and some example programs.
So to sum up, Bonjour and UPnp are very similar in nature. Both solve the same problems.
Bonjour is light weight, uses smaller packets, and does not define any device types
UPnP uses XML and http, so it is more complex. It defines device types.
Bonjour was created and supported by apple around 2001.
UPnP has been around longer since 1999.
Personally it looks like Apple copied UPnP to create Bonjour.
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.
If you like, think of Bonjour/ZeroConf as finishing UPnP and making it play well with current Internet Engineering Task Force standards.
UPnP can be made to do similar things on it's own, if you write enough wrapper code...
Bonjour services are advertised on the local network segment, or if you have Mac OS X Tiger server, no more than 1 hop from the local network segment. So the likelihood of hackers find your machine by these means is tiny. And if you have a hacker on your local network aching to get at your printers then you have more problems than Bonjour can solve.
-"I'm one of those Mac people that will break a bottle on the bar and hold it to your throat for bad-mouthing my system"
Actually, in Tiger anyway, it looks like a Carbon/Cocoa thing. Every Cocoa app acts in the way that you describe as standard Windows behavior - a click on an out-of-focus widget will bring focus and activate the widget. iTunes is really the exception on OS X as well. (along with MS Office) It's probably because it is a Carbon app. My guess is the classic Mac OS worked this way, and something in the drawing model for Carbon apps is held over from that.
Because Bonjour is Apple and UPnP is Microsoft. Therefore, one works right and one doesn't.
Man, even I found this hilarious. Good job. :-D