Bonjour provides a general method to discover services on a
local area network. The software is widely used throughout macOS and allows users to set up a network without any configuration. it is used to find printers and file-sharing servers. Notable applications using Bonjour include: •
iTunes to find shared music •
iPhoto to find shared photos •
Adium,
Pidgin implementing a local version of
XMPP also called "Bonjour", originally from the Mac OS X Messages app but since removed • Vine Server and
Elgato EyeTV to communicate with multiple clients •
SubEthaEdit to find document collaborators •
Solidworks and PhotoView 360 to manage licenses •
Things and
OmniFocus to synchronize projects and tasks across the Mac desktop and the iPad, iPhone or iPod touch •
Safari to find local web servers and configuration pages for local devices Software such as
Bonjour Browser or
iStumbler, both for macOS, can be used to view all services declared by these applications. Apple's "Remote" application for iPhone and iPod Touch also uses Bonjour to establish a connection to iTunes libraries via Wi-Fi. Bonjour only works within a single
broadcast domain, which is usually a small area, without special DNS
configuration. macOS, Bonjour for Windows and
AirPort Base Stations may be configured to use Wide Area Bonjour, which allows for wide area service discovery via an appropriately configured DNS server. Applications generally implement Bonjour services using standard
TCP/IP calls, rather than in the operating system. Although macOS provides various Bonjour services, Bonjour also works on other operating systems. Apple has made the source code of the Bonjour
multicast DNS responder, the core component of service discovery, available as a
Darwin open source project. The project provides source code to build the responder daemon for a wide range of platforms, including
Mac OS 9,
macOS,
Linux,
*BSD,
Solaris,
VxWorks, and
Windows. Apple also provides a user-installable set of services called Bonjour for Windows and Java libraries. ==Licensing==