Slashdot Mirror


Apple Plans To Release Rendezvous As Open Source

Snuffub writes "According to MacCentral, Apple announced during an interview today that they would be releasing Rendezvous, their implementation of the zeroconf standard, under an open source license. I can't see this as being anything but great news for everyone involved -- the community gets a mature implementation of an emerging technology, and Apple benefits as more devices are created to support Rendezvous. For everyone interested, you'll be able to download the source from Apple's site in a couple weeks." uglyhead69 adds: "The article is light on details and doesn't mention what license will be used, but it's probably safe to assume that it's the APSL."

7 of 338 comments (clear)

  1. Cheshire Interview about Rendevous by XBL · · Score: 5, Informative

    Recent interview post here. Stuart is awesome (he wrote Bolo).

  2. what is it good for? by j+h+woodyatt · · Score: 5, Informative

    Suppose you want to write a distributed system.

    Lots of processes running on an array of machines. Say for example you have a data center full of racks of 1U servers, and each one is cranking away on some part of the application code. You have redundant processes scattered around too, so if one machine takes a dive, you want the whole application to stay up and running anyway.

    Imagine you're the administrator of this system. How do you tell each little process in the system what IP address and TCP port to use so that every other process in the system knows where to find it?

    Without Rendezvous, you have several options-- all of them unappealing. You might start with some kind of application specific configuration file format and a cobbled-together system for distributing such data around to all the hosts in the system. You might instead store such network configuration in some directory server on the network, like DNS or LDAP or some kind of custom front end to some kind of evil database backend.

    Either way, you quickly encounter what we veterans like to call "the cache coherency problem," i.e. the information in the directory must be consistent at all times with the actual state of the processes in the system. Whenever processes start, stop, migrate or change their profile, you have to update the directory. Solving this problem with existing technology can be expensive. If you don't solve it, then single-point failure modes proliferate and the system becomes exponentially more difficult to manage the larger it gets.

    With Rendezvous, the network itself is the directory service. Since all the little processes in the system are responsible for their own advertisements, there is no cache coherency problem. You don't have to assign addresses and ports to all your processes because the application can simply assign itself a set of abstract service names and discover all the instances of those services on the network with Rendezvous service discovery. No configuration files to keep updated. No dynamic updates to LDAP or DNS servers that might get overloaded, or may not be running or in the right place when they need to be.

    Of course, there are alternatives to consider. You might think to use SLP (RFC 2608-2610), which you can download now from www.openslp.org, but strangely... SLP hasn't managed to get much traction in industry. Some say that's because it's too unwieldy to use effectively.

    You should compare Rendezvous with OpenSLP and see which one you think is better.

    --

    --
    jhw
    1. Re:what is it good for? by eswierk · · Score: 4, Informative
      You should compare Rendezvous with OpenSLP and see which one you think is better.
      SLP is actually part of Rendezvous/ZeroConf. The goal of ZeroConf is not to reinvent the wheel; perfectly good protocols already exist for service discovery (SLP) and name-to-address translation (DNS). The ZeroConf working group is attempting to define basic host requirements for autoconfiguration, and fill in the gaps where existing protocols are lacking.

  3. discovery != access by El · · Score: 4, Informative

    Just because you can find my address in the phone book, it does't make it any easier to break into my house. Rendevous doesn't ship any actual code around, so what's to carry the virus? About the worst that can happen is multiple machines come up with the same address -- but a malicious node on your network could make that happen WITHOUT Rendevous.

    --

    "Freedom means freedom for everybody" -- Dick Cheney

  4. Re:Autoconfiguration is Scary by epeus · · Score: 5, Informative

    I don't think you understand what Rendezvous does very well at all. It does not allow remote execution of code; it enables you to advertise and discover services on the network.

    This means you don't need to know IP addresses and well known ports, or run port scanners to discover services. If your machine doesn't want to be found by Rendezvous, don't advertise your services with it.

    One key thing that makes it smarter than UDDI and the like is that it is service-centric, not device-centric. You don't have to find a machine and try to open special ports to see if it has a webserver or SLP printer or SMTP relay or whatever, instead, you ask for a service that you already know the protocol for, and you find out if any devices that implement it are available.

  5. Re:I forsee a hiccup... by mcc · · Score: 4, Informative

    If Apple uses the APSL [apple.com], then the source code could not be used in Linux [kernel.org].

    The APSL is not compatible with the GPL. This means that you could not link the APSL code directly into GPLed code such as the linux kernel. However, i do not see why the rendezvous code would need to actually be in the kernel. It seems preferable to me that a linux implementation of rendezvous would be just a daemon or something, like inetd or any other number of things are, in which case it would just be a normal program and could be under any license at all.

    If for some reason i can't forsee it is somehow necessary for the rendezvous implementation to be in the kernel, it could just be done as a kernel module; there is some dispute as to whether it is okay for linux kernel modules to be non-GPL, but a lot of people, including Linus Tourvalds, interpret the GPL such that OS kernel modules do not have to be GPLed.

    I'm uncertain if Debian [debian.org] would accept any APSL submissions.

    The GNU foundation doesn't like the APSL. However, debian is more aligned with OSI than they are with the GNU foundation. (Correct me if this is incorrect.) Anyway, in order for Debian to include software in its core distribution, that software must fit the Debian Free Software Guidelines. The APSL is on the OSI approved license list meaning it fits the DFSG and APSL code could be included in Debian's main codebase, no problem.

    Incidentally, Debian does maintain a non-free portion to their distribution, it is just that this portion is not considered "part of the main distribution", and it is not always included with the install discs (it depends on how you obtain your copy of debian, as far as i can tell). But that's irrelivant here because the APSL is OSI certified!

    The only reason Apple's decision not to use the GPL would be a problem, as far as i can tell, is that some people don't like to release code under non-GPL licenses, and those people may decide not to contribute to a rendezvous implementation. But other than a few offended people, that's about the extent of the problems the APSL presents.

  6. Re:Does that also include using the dmca? by Melantha_Bacchae · · Score: 5, Informative

    Billy Gates wrote:

    > According to news.com [com.com]apple is using
    > the dmca

    Yesterday, I wrote a posting "First version of this story did *not* mention DMCA" (read it at http://slashdot.org/comments.pl?sid=38907&cid=4163 229) that gives my reasons for believing that Apple did not use the DMCA. If OWC wants to change my mind, they can show me the letter from Apple legal that mentions the DMCA.

    > to make sure its itools software does not work
    > with any other dvd player but there own internal
    > ones

    This has nothing to do with iTools (which kinda indicates that you might not have read the article you are refering to). Apple created *iDVD* to sell their SuperDrive equipped Macs. OWC was trying to warp iDVD so they could use it to sell OWC's own DVD drives. OWC was stealing Apple's work, against Apple's license, in order to compete with Apple in the DVD drive market. Apple is the victim here.

    > Apple does not care about the opensource
    > community

    Ha! They have released Darwin and Quick Time Streaming Server (and next month Rendevous) as open source.

    OS X includes such well loved open source and free software as GCC, Emacs, Apache, and Perl.

    They provide documentation on using open source, such as this page (http://developer.apple.com/internet/macosx/osdb.h tml) on open source databases.

    And Apple ships with Macs (compressed on the hard drive but available and free for install) and in the OS X retail boxes a free copy of their development suite (which now includes GCC 3.1). Upgrades are free for the download, or $20 for a FedEx-ed CD. This enables any Mac user that wants to, to develop as much open source as their little heart desires, without having to pay for development tools.

    > like Enron care about profits above all else.

    Companies have to care about their profits because their first duty is to their shareholders. But in order to get those profits (and they have to be real, not cooked books), they have to care about their customers and keeping them happy.

    Apple does care about their customers, their shareholders, and even tries to benefit the industry as a whole (Firewire, Rendevous). In contrast, Microsoft takes their customers for granted, uses them, manipulates them, treats them like criminals. Microsoft also doesn't pay shareholders dividends, and their stock prices are no longer going up and up. Microsoft acquired more congresscritters than Enron, because they donated three times what Enron did in the 2000 elections. You can compare one of these two companies to Enron. The one isn't Apple.

    BTW, thank you Apple, for gifting Rendevous to the open source community. It was an unexpected, and most pleasant surprise.
    Yatta Jaguar!

    "It's a miracle! The sea water has once again created new life."
    Moll, "Rebirth of Mothra 2"