Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Apple Businesses

Apple Plans To Release Rendezvous As Open Source 348

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."
This discussion has been archived. No new comments can be posted.

Apple Plans To Release Rendezvous As Open Source

Comments Filter:
  • by XBL ( 305578 ) on Thursday August 29, 2002 @09:46PM (#4167780)
    Recent interview post here [slashdot.org]. Stuart is awesome (he wrote Bolo).
  • Umm. (Score:1, Informative)

    by Anonymous Coward on Thursday August 29, 2002 @10:16PM (#4167898)
    I'm holding a copy of Mac OS X version 10.2, aka Jaguar, in my hands right now. It includes a functional implementation of rendezvous/zeroconf.

    It was released last week, and my copy just arrived in the mail. I am going to install it just as soon as i've glanced through slashdot. I will be running it within the hour.

    Is this what you call "vaporware"? Because that is not what it seems like to me.

    Perhaps you should clarify yourself.
  • what is it good for? (Score:5, Informative)

    by j h woodyatt ( 13108 ) <jhw@conjury.org> on Thursday August 29, 2002 @10:25PM (#4167930) Homepage Journal
    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.

    --
  • Re:uPnP (Score:2, Informative)

    by gamorck ( 151734 ) <jaylittle AT jaylittle DOT com> on Thursday August 29, 2002 @10:38PM (#4167961) Homepage
    They are similar because they are one in the same. Go check out http://www.upnp.org for more information on this. Zeroconf is actually a smaller part of the Rendezvous/uPNP pie. Zeroconf is essentially a standard for a serverless DHCP hybrid. I think its great Apple implemented this - but since its been present in one form or another since Windows 98 as I recall, I dont think Apple has enough marketing muscle to push it assuming Microsoft could not.

    Perhaps MS just implemented it because they thought it was a good idea and didn't actually try to push it in the marketplace. Either way - I think its nice that uPNP/Rendezvous is starting to look like a level playing field for all applicable platforms.

    J
  • by dhovis ( 303725 ) on Thursday August 29, 2002 @10:41PM (#4167971)
    Sorry, No.

    Rendezvous is the ITEF standard "zeroconf". It is not uPNP. It might have some things in common, but it is very much a different standard.

  • discovery != access (Score:4, Informative)

    by El ( 94934 ) on Thursday August 29, 2002 @10:56PM (#4168036)
    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.
  • by gamorck ( 151734 ) <jaylittle AT jaylittle DOT com> on Thursday August 29, 2002 @11:05PM (#4168065) Homepage
    Wrong. Zeroconf is a very small portion of the pie that is Rendezvous/uPNP. Check out the standards sites for each - both mention zeroconf (a standard for serverless DHCP which Apple is wholly responsible for). uPNP = Rendezvous. This has been wholly hashed out on numerous other technical sites whose information is a bit more timely than that of /.

    Try the forums at http://www.arstechnica.com for more information. The Battlefront contains several threads on Jaguar and the new iMacs. One of the posts contain information and links to back all this up

    J
  • by oaklybonn ( 600250 ) on Thursday August 29, 2002 @11:06PM (#4168072)
    On your Jaguar CD, CFNetServices adds a higher level abstraction on top of zeroconf; this part most likely won't be open source, since it is in one of the higher level frameworks on the sytem (CFNetwork in CoreServices) The relevant headers are: /System/Library/Frameworks/CoreServices.framework/ Frameworks/CFNetwork.framework/Headers/CFNetServic es.h Using these, I was able to get my server application Rondesvousing in about 10 minutes...
  • by epeus ( 84683 ) on Thursday August 29, 2002 @11:14PM (#4168105) Homepage Journal
    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.
  • by eswierk ( 34642 ) on Thursday August 29, 2002 @11:17PM (#4168113)
    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.

  • by mcc ( 14761 ) <amcclure@purdue.edu> on Friday August 30, 2002 @12:17AM (#4168120) Homepage
    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 [tux.org] 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. [gnu.org] However, debian is more aligned with OSI [opensource.org] 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 [debian.org]. The APSL is on the OSI approved license list [slashdot.org] meaning it fits the DFSG and APSL code could be included in Debian's main codebase, no problem.

    Incidentally, Debian does maintain [debian.org] 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.
  • by keithmoore ( 106078 ) on Friday August 30, 2002 @12:42AM (#4168167) Homepage
    and there are several problems with it.

    zeroconf breaks applications in several ways, for instance:

    • v4 linklocal addresses are unstable and subject to change at any time without notice to the parties using them
    • they don't work well on machines with multiple network interfaces.
    • existing apps don't know to avoid using linklocal addresses when they're not appropriate, and in general neither apps nor hosts have any good way to tell whether a linklocal address associated with a host is accessible without trying it and waiting for the connection to time out, or connecting and then verifying if it's really the right host (since the host you really want to talk to might be on a different network).
    • nobody has figured out how to ensure consistency between multicast DNS and real DNS, so different machines talking to each other can have different ideas of what a DNS name means or even whether a name is valid at all. so applications that pass DNS names around (like the web or email or anything that uses URLs) and rely on consistency of DNS may break in strange new ways if some of the hosts are using multicast DNS and others aren't, or if the hosts using multicast DNS are on different network links.
    • DNS-based service discovery is even less well understood.

    zeroconf will be really nice when we figure out how to make it work well without breaking apps. It's unfortunate that Apple is trying to deploy a technology widely that has several serious known flaws and claim that it is a standard before those flaws are fixed.

  • by syd02 ( 595787 ) on Friday August 30, 2002 @01:43AM (#4168333)
    I found this at zeroconf.org:

    A final requirement is that the solutions in the four areas must coexist gracefully with larger configured networks. ZEROCONF protocols MUST NOT cause harm to the network when a ZEROCONF machine is plugged into a large network.
  • by keithmoore ( 106078 ) on Friday August 30, 2002 @01:56AM (#4168359) Homepage
    no, the .local TLD isn't in the current proposal,
    it's been removed.

    see draft-ietf-dnsext-mdns-12.txt
  • by Farley Mullet ( 604326 ) on Friday August 30, 2002 @02:24AM (#4168401)

    As I understand it (and by no means am I any sort of expert here), Stallman's main objection is that the APSL is asymmetric, in the sense that Apple, as the original creator of APSL'ed code, has more and different rights then subsequent modifiers of the code. Specifically, if you change ASPL'ed code, even if you don't publicly release the changes, you still have to notify Apple of the changes. In the eyes of GNU/FSF/Stallman, this is a violation of privacy which free software licenses should protect, and represents a central control over code which free software licenses should prevent. For more info, see This commentary on the GNU site [gnu.org].

  • by knarf ( 34928 ) on Friday August 30, 2002 @03:15AM (#4168472)
    OTOH, I seem to have picked up a flaw in the GPL...[deletia]...The reason being is many companies develop their own
    private modifications to software...[deletia]...If under a GPL license the company would have had to opensource their modifications

    BZZZT... you're wrong.

    The GPL does not require modifications of modified versions of software to be 'opensourced' if the modified program is not distributed to a third party, as explained in the GPL FAQ [gnu.org].

  • by plaa ( 29967 ) <{if.iki} {ta} {nenaksin.opmas}> on Friday August 30, 2002 @09:04AM (#4169165) Homepage
    ... the GPL policy [which I understand to be, if you modify the code, your modifications have to be open source and GPLed and anyone should be allowed to use them]

    Slight correction, which is often forgotten: If you modify the code and distribute the resulting program, you have to make it GPL. If you don't distribute the stuff, there's no requirement to make the changes available. I believe this is actually a requirement of the Free Software and/or Open Source definition (though I'm not absolutely sure).
  • by Melantha_Bacchae ( 232402 ) on Friday August 30, 2002 @09:32AM (#4169298)
    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"
  • by Anonymous Coward on Friday August 30, 2002 @11:00AM (#4169869)
    Heres my favorit part..
    http://www.gaeldesign.com/ib/mw0702_stuart.php

    Now the ZEROCONF Working Group that is part of the IETF is responsible for developing and maintaining the open-standard Zeroconf networking protocols, dubbed Rendezvous by Apple. Can you give us a brief overview of these protocols and the history behind them?

    The initial seeds of Zeroconf started in a Macintosh network programmers' mailing list called net-thinkers, back in 1997 when I was still a PhD student at Stanford. We were discussing the poor state of ease-of-use for IP networking, particularly the lack of any equivalent to the old AppleTalk Chooser for browsing for services. I proposed that part of the solution might be simply to layer the existing AppleTalk Name Binding Protocol (NBP) over UDP Multicast.

  • by leandrod ( 17766 ) <{gro.sartud} {ta} {l}> on Friday August 30, 2002 @11:38AM (#4170122) Homepage Journal
    >
    if the so-called "community" would spend less time playing wannabe lawyers arguing about licensing minutiae

    We care for freedom, including yours. Because no one can be free in a slave society. If you want to be enslaved to proprietary software, unable even to read your documents without paying a license to a corrupt, greedy corporation, your problem.

    >
    The users you need to attract have never heard of Richard Stallman, buy shrinkwrapped software (including Linux, if and when they do use it), and judge an OS by the quality and range of applications available to run on it.

    It's very difficult to produce quality software when you have to spend most time reverse engineering proprietary file formats, APIs and protocols, and hardware interfaces.

    >
    Endless iterations of the same traditional Unix toolset

    Forking is a real problem. GNU GPL is a good antidote, but not enough if people don't agree on what they want. Stop whining and help build consensus.

    >
    tools for the server side, and attempts to mimic Office and the Windows interface, won't cut it. Be imaginative.

    What's the problem with server side? People need servers. The world isn't made only of desktops.

    >
    attempts to mimic Office and the Windows interface, won't cut it. Be imaginative.

    Why be imaginative? People need a migration path, including an at least partially familiar interface.

    >
    When I've tried to explain Linux to people who make corporate buying decisions

    Try understanding free software next time. Linux yet another Unix kernel clone is pretty interesting. But you will never understand freedom if you ignore basic realities about society and the market, like suits usually do.

    >
    Why buy a cheap knock-off when the real thing is available?

    Because it's not a cheap knock-off, but frequently better than the original. And because the original is proprietary. What's the price of freedom?

    BTW, no need of buying. Use Debian and buy services instead.

    >
    refrain from the usual /. insults to users as too stupid to know what's good for them

    Few people now what's good for themselves, because few people are both wise and informed enough. Learn History if you think otherwise.

    >
    In reality, they decide your future.

    We are building a new future. Please get out of the way, troll.

  • by keithmoore ( 106078 ) on Friday August 30, 2002 @02:22PM (#4171648) Homepage
    keith, can rendezvous-based packets be routed across a wan using multicast routing (like dvmrp or pim) to enable applications to function?

    no, mDNS/LLMNR is supposed to use link-local multicast scope for queries, and linklocal IPv4 is not supposed to be routed. however another problem with rendezvous/zeroconf is that (at least in the current specs) it's not clear that mDNS/LLMNR and linklocal IPv4 have the same scope - so you could end up finding IP addresses via mDNS that aren't usable to you, or conversely
    you could end up having local hosts that are accessible but which you can't find using mDNS even though they support it.

    i.e. this is nowhere nearly ready for prime time
  • Re:Money Making (Score:3, Informative)

    by IamTheRealMike ( 537420 ) on Friday August 30, 2002 @02:37PM (#4171803)
    This might be a bit redundant, but it seems to me that the most interesting thing about all this is that Apple seems to have hit on a business model that actually makes money off open source software.

    Indeed they have. They write their own OS but use parts of open source code to make their work easier, then sell their proprietary OS on top of proprietary hardware. Remember Apple make most of their money out of hardware, not software.

    There seems to be a common misconception that somehow MacOS is really an open source OS with some closed artwork/widget toolkit on top. Er, no. In fact, the vast majority of OS X is closed source. The kernel is open, but all the rest, the graphics/widget toolkit, the Cocoa APIs, Quartz, the finder, the applets, the dock, in short most of what makes MacOS X MacOS and not UNIX is closed source.

    Making money out of open source code is easy. You just take somebodies code, don't tell them and use it in your own product. Voila, work saved, money made. See the company that ripped off the XVid guys for an example (except they got caught).

    What's hard is actually making your own products open source (entirely open source) and still making money. RedHat manage it. CodeWeavers manage it. Apple do tell people when they use their code (well, mostly, G-Force anybody?) and they do contribute code back. However, their software is not in fact open source. It's hardly a revolutionary business model.

    Mod me as a troll if you like, but that doesn't make my points any less valid.

  • Re:Latest IETF Draft (Score:3, Informative)

    by keithmoore ( 106078 ) on Friday August 30, 2002 @02:47PM (#4171914) Homepage
    actually there are several drafts you should look at:

    draft-ietf-zeroconf-ipv4-linklocal-07.txt
    draft -ietf-zeroconf-reqts-11.txt
    draft-ietf-dnsext-mdn s-12.txt

    and I think there's another one somewhere about
    DNS service discovery, but I don't recall it offhand.

The moon is made of green cheese. -- John Heywood

Working...