# Netatalk

Netatalk (pronounced "ned-uh-talk") is a free, open-source implementation of the Apple Filing Protocol (AFP). It allows Unix-like operating systems to serve as file servers for Macintosh computers running macOS or Classic Mac OS.
Netatalk was originally developed by the Research Systems Unix Group at the University of Michigan for BSD-derived Unix systems and released in 1990. Apple had introduced AppleTalk soon after the release of the original Macintosh in 1985, followed by the file sharing application AppleShare (which was built on top of AFP) in 1987. This was an early example of zero-configuration networking, gaining significant adoption in educational and small to mid size office environments in the late 80s. Netatalk emerged as a part of the software ecosystem around AppleTalk.
In 1986, Columbia University published the Columbia AppleTalk Package (CAP), which was an open source implementation of AppleTalk originally written for BSD 4.2, allowing Unix servers to be part of AppleTalk networks. CAP also had its own implementation of AFP/AppleShare, but Netatalk appearing in 1990 claimed better performance due to software design advantages. CAP and Netatalk were also interoperable, the latter being able to be run on an AppleTalk backend provided by CAP.
As part of transitioning the software into an open source community project, the codebase was moved to SourceForge for revision control in July 2000, then re-licensed under the terms of the GNU General Public License with version 1.5pre7 in August 2001.
Since Classic Mac OS uses a forked file system, unlike the host operating systems where Netatalk would be running, Netatalk originally implemented the AppleDouble format for storing the resource fork separately from the data fork when a Mac OS file was transferred to the Unix-like computer's file system. This was required in order not to ruin most files by discarding the resource fork when copied to the Netatalk served AppleShare volume. With the release of Netatalk 3.0, the backend was re-implemented to use the Extended Attributes format that Apple had introduced with Mac OS X for backwards compatibility with Classic Mac OS resource forks.

## Development history

The original developer of Netatalk was Wesley Craig at the University of Michigan. In 1997 Adrian Sun created a popular fork, coding the initial implementation of the then-new AppleShare IP (AFP over TCP/IP) network layer. By the time the project started transitioning into an open source model in 2000, the "ASUN" fork had been merged back into Netatalk proper.
In October 2004 Netatalk 2.0 was released, which brought major improvements, including: support for Apple Filing Protocol level 3.1 (providing long UTF-8 filenames, file sizes > 2 gigabytes, full Mac OS X compatibility), CUPS integration, Kerberos V support allowing true "single sign-on", and a more reliable file and directory ID database backend.
Since version 2.0.5 in 2009, Netatalk supports the use of Time Machine over a network in a similar fashion to Apple's own Time Capsule. With version 2.2 released in July 2011, Netatalk introduced support for AFP protocol level 3.3, the penultimate revision of the protocol.
Version 3.0 of Netatalk was released in July 2012 and added ini style configuration, and Mac OS X compatible Extended Attributes as default, while removing AppleTalk networking support.
Netatalk 3.1, released in October 2013, added Spotlight support in addition to improved SMB interoperability. A subsequent bugfix release added support for AFP level 3.4 (introduced in OS X Mountain Lion) which is the final revision of the protocol from Apple.
Netatalk 4.0 was made available in September 2024, bringing back the support for AppleTalk removed in 3.0, while introducing support for tunneling TCP/IP traffic to MacIP, which allows LocalTalk-only Macs to connect to the Internet.
At the time of writing, Netatalk runs on the Linux, FreeBSD, OpenBSD, NetBSD, Solaris, illumos, and macOS operating systems.

## AppleTalk

In all Netatalk versions except the 3.x release series, the AppleTalk (DDP) protocol suite is used to allow Unix-like operating systems to serve also as print (PAP via a CUPS backend) and time (Timelord) servers for Macintosh computers.
Networked Apple IIe and Apple IIGS computers can be netbooted from a Netatalk shared volume. Additionally, a suite of tools for inspecting and manipulating AppleTalk networks, as well as printing to LocalTalk connected printers from modern systems is included.

## Commercial use

Netatalk is (or was previously) integrated into a range of NAS solutions, including Buffalo NAS systems, Exanet ExaStore, Iomega's Home Media Network Hard Drive, IXsystems TrueNAS, LaCie NAS OS, Lime Technology unRAID, Napp-it, Netgear ReadyNAS, QNAP NAS, Synology DiskStation, Thecus NAS, and more.
In 2010, a company called NetAFP run by a group of Netatalk maintainers started providing commercial support for enterprise deployments of Netatalk. The company merged with German Samba vendor SerNet in December 2013, signaling the end of commercial support for Netatalk in favor of SMB, which Apple had made the primary file sharing protocol with the release of Mac OS X Mavericks that same year. The NetAFP website was shut down in early 2022.

## Logo

While a project at the University of Michigan, Netatalk's logo was the head of the BSD Daemon on a daisy chained serving tray, mimicking the icon design language that Apple used for AppleTalk and AppleShare in Classic Mac OS.
Coinciding with the release of Netatalk 2.0, the logo was stylized into the Daemon head silhouette with overlaid networking cables logo that the project is presently using.