Avahi (software)
history| latest preview version = | latest preview date = | frequently updated = | programming language = C | operating system = Cross-platform | platform = | size = | language = | status = | genre = Networking | license = LGPL | website = »avahi.org }}
Avahi is a free Zeroconf implementation, including a system for multicast DNSDNS-SD service discovery. It allows programs to publish and discover services and hosts running on a local network with no specific configuration. For example, you can plug into a network and Avahi instantly finds printers to print to, files to look at and people to talk to, as well as advertising the network services running on your machine. It is licensed under the GNU Lesser General Public License (LGPL).
Avahi is an implementation of the Apple Zeroconf specification, and implements mDNS, DNS-SD and RFC 3927
Avahi provides a set of language bindings (Python, Mono, etc.) and ships with most Linux and *BSD distributions. Because of its modularized architecture, Avahi is already integrated in major desktop components like GNOME's Virtual File System and the KDE input/output architecture.
The Avahi project was originally started due to Apple's Zeroconf implementation, Bonjour, being licensed with the non GPL compatible Apple Public Source License. Since then, Bonjour has been relicensed under the less controversial Apache License. However, Avahi had already become the de-facto standard implementation of mDNS/DNS-SD on free operating systems such as Linux.
Avahi's performance is recognized as being similar to that of Bonjour, sometimes exceeding it, however Avahi was found to lose services when managing large numbers of requests simultaneously.»Analysis of Peer-to-Peer Protocols Performance for Establishing a Decentralized Desktop Grid Middleware
Stuart Cheshire (creator of Zeroconf) has stated that Apple works with the Avahi team and is impressed with their progress; so much so that Avahi might "overtake Apple's implementation".»Stuart Cheshire speaks about Zeroconf at Google
History
Avahi has been developed by Lennart Poettering and Trent Lloyd. It is the result of a merger of Poettering's original mDNS/DNS-SD implementation called "FlexMDNS", and Lloyd's original code called "Avahi" that happened in 2005. While most of today's code originates from the former project, the name of the latter was used for the joint project. Development on "FlexMDNS" started in late 2004, and work on the original "Avahi" began in early 2004.
Avahi was originally developed under the freedesktop.org umbrella, but has now become a separate project. Avahi, however, makes use of freedesktop.org's D-Bus IPC layer.
The name Avahi refers to the woolly lemur, a family of primates indigenous to Madagascar. Trent Lloyd found the name, liked it, and it stuck. The logo reflects this. »http://mirror.linux.org.au/linux.conf.au/2007/video/monday/monday_1150_GNOME.ogg
- freedesktop.org - the site that formerly hosted Avahi
Standards
- Zeroconf - the standard upon which Avahi is based.
Other Implementations
- Bonjour (software) - a mDNS implementation by Apple Inc., used in Mac OS X, iTunes, and other software.
Protocols providing similar functionality
- Service Discovery - list of protocols that provide similar functionality
Other Links
- »Avahi project
- »Avahi talk by Poettering/Lloyd at linux.conf.au 2007.