Avahi is a
free zero-configuration networking
Zero-configuration networking (zeroconf) is a set of technologies that automatically creates a usable computer network based on the Internet Protocol Suite (TCP/IP) when computers or network peripherals are interconnected. It does not require manu ...
(zeroconf) implementation, including a system for
multicast DNS
In computer networking, the multicast DNS (mDNS) protocol resolves hostnames to IP addresses within small networks that do not include a local name server. It is a zero-configuration service, using essentially the same programming interfaces, pac ...
/
DNS-SD service discovery
Service discovery is the process of automatically detecting devices and services on a computer network. This reduces the need for manual configuration by users and administrators. A service discovery protocol (SDP) is a network protocol that hel ...
. It is licensed under the
GNU Lesser General Public License
The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
(LGPL).
Avahi is a system which enables programs to publish and discover services and hosts running on a
local network. For example, a user can plug a computer into a network and have Avahi automatically advertise the
network service
In computer networking, a network service is an application running at the network application layer and above, that provides data storage, manipulation, presentation, communication or other capability which is often implemented using a client� ...
s running on its machine, facilitating user access to those services.
Software architecture

Avahi implements the Apple
Zeroconf
Zero-configuration networking (zeroconf) is a set of technologies that automatically creates a usable computer network based on the Internet Protocol Suite (TCP/IP) when computers or network peripherals are interconnected. It does not require ma ...
specification,
mDNS,
DNS-SD and RFC 3927/
IPv4LL
In computer networking, a link-local address is a unicast network address that is valid only for communications within the subnetwork that the host is connected to. Link-local addresses are most often assigned automatically with a process known as ...
. Other implementations include Apple's
Bonjour
Bonjour is a French word meaning (literally translated) "good day", and is commonly used as a greeting.
Bonjour may also refer to:
People
* Laurence BonJour (born 1943), epistemologist and professor of philosophy at the University of Washington
* ...
framework (the mDNSResponder component of which is licensed under the
Apache License).
Avahi provides a set of language bindings (
Python,
Mono, etc.) and ships with most
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
and
BSD
The Berkeley Software Distribution or Berkeley Standard Distribution (BSD) is a discontinued operating system based on Research Unix, developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Be ...
distributions. Because of its modularized architecture, major desktop components like
GNOME Virtual file system
A virtual file system (VFS) or virtual filesystem switch is an abstract layer on top of a more concrete file system. The purpose of a VFS is to allow client applications to access different types of concrete file systems in a uniform way. A VFS ...
and
KDE
KDE is an international free software community that develops free and open-source software. As a central development hub, it provides tools and resources that allow collaborative work on this kind of software. Well-known products include the ...
input/output architecture already integrate Avahi.
Avahi vs. Bonjour
The Avahi project started in 2004 because
Apple
An apple is an edible fruit produced by an apple tree (''Malus domestica''). Apple trees are cultivated worldwide and are the most widely grown species in the genus '' Malus''. The tree originated in Central Asia, where its wild ances ...
's Zeroconf implementation,
Bonjour
Bonjour is a French word meaning (literally translated) "good day", and is commonly used as a greeting.
Bonjour may also refer to:
People
* Laurence BonJour (born 1943), epistemologist and professor of philosophy at the University of Washington
* ...
, used the GPL-incompatible
Apple Public Source License
The Apple Public Source License (APSL) is the open-source and free software license under which Apple's Darwin operating system was released in 2000. A free and open-source software license was voluntarily adopted to further involve the communit ...
. In 2006 Apple
relicensed parts of Bonjour under the
Apache License.
Avahi's performance resembles that of Bonjour, sometimes exceeding it; however Avahi can lose services when managing large numbers of requests simultaneously.
History
Avahi was developed by
Lennart Poettering
Lennart Poettering (born 15 October 1980) is a German software engineer working for Microsoft and the original author of PulseAudio, Avahi and systemd.
Life and career
Poettering was born in Guatemala City but grew up in Rio de Janeiro, B ...
and Trent Lloyd. It is the result of a merger in 2005 of Poettering's original mDNS/DNS-SD implementation called "FlexMDNS", and Lloyd's original code called "Avahi". 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
In computing, D-Bus (short for "Desktop Bus")
is a message-oriented middleware mechanism that allows communication between multiple processes running concurrently on the same machine. D-Bus was developed as part of the freedesktop.org project, ...
IPC layer.
The name ''Avahi'' is the
Malagasy native name and scientific Latin name of a genus of
woolly lemur
The woolly lemurs, also known as avahis or woolly indris, are nine species of strepsirrhine primates in the genus ''Avahi''. Like all other lemurs, they live only on the island of Madagascar.
With a body size of and a weight of , the woolly lem ...
, a family of
primate
Primates are a diverse order (biology), order of mammals. They are divided into the Strepsirrhini, strepsirrhines, which include the lemurs, galagos, and lorisids, and the Haplorhini, haplorhines, which include the Tarsiiformes, tarsiers and ...
s indigenous to
Madagascar
Madagascar (; mg, Madagasikara, ), officially the Republic of Madagascar ( mg, Repoblikan'i Madagasikara, links=no, ; french: République de Madagascar), is an island country in the Indian Ocean, approximately off the coast of East Africa ...
. Trent Lloyd found the name, liked it, and it stuck. The logo reflects this.
Perhaps in coincidence, Avahi backwards is "I-hav-a", a description of a discovery advertisement.
See also
*
Linux on the desktop
*
Lightweight Directory Access Protocol
The Lightweight Directory Access Protocol (LDAP ) is an open, vendor-neutral, industry standard application protocol for accessing and maintaining distributed directory information services over an Internet Protocol (IP) network. Directory serv ...
*
Network Information Service
The Network Information Service, or NIS (originally called Yellow Pages or YP), is a client–server directory service protocol for distributing system configuration data such as user and host names between computers on a computer network. Su ...
*
OSGi
OSGi is an open specification and open source project under the Eclipse Foundation. It is a continuation of the work done by the OSGi Alliance (formerly known as the Open Services Gateway initiative), which was an open standards organization for ...
Alliance
References
External links
*
Talkan
slidesby Poettering/Lloyd at
linux.conf.au 2007
{{Freedesktop.org
Freedesktop.org
Applications using D-Bus
Free network-related software
Free software programmed in C
GNOME
KDE