Netatalk

Netatalk
Original author(s)University of Michigan
Developer(s)Contributors to the Netatalk project
Initial release1990; 34 years ago (1990)
Stable release
4.0.0 / September 29, 2024; 33 days ago (2024-09-29)
Repositorygithub.com/Netatalk/netatalk
Operating systemPOSIX-compliant *NIX/*BSD systems
TypeRemote Access
License2001: GPL-2.0-or-later[a]
1990: Other permissive licenses[1]
Websitenetatalk.io

Netatalk (pronounced "ned-uh-talk")[2] 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[3] 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.[4] CAP also had its own implementation of AFP/AppleShare, but Netatalk appearing in 1990 claimed better performance due to software design advantages.[5] 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.[6]

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

[edit]

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.[7] 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.[8][9] 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

[edit]

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)[10] 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

[edit]

Netatalk is (or was previously) integrated into a range of NAS solutions, including Buffalo NAS systems, Exanet ExaStore,[11] Iomega's Home Media Network Hard Drive,[12] IXsystems TrueNAS, LaCie NAS OS, Lime Technology unRAID,[13] Napp-it,[14] Netgear ReadyNAS, QNAP NAS, Synology DiskStation, Thecus NAS,[15] and more.[16][17]

In 2010, a company called NetAFP run by a group of Netatalk maintainers started providing commercial support for enterprise deployments of Netatalk.[18] 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.[19] The NetAFP website was shut down in early 2022.

[edit]
Netatalk Logo, captured from the University of Michigan's website in 2000

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.[20]

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.[21]

See also

[edit]

Notes

[edit]
  1. ^ GPL-2.0-or-later since 2001-08-28, version 1.5pre7

References

[edit]
  1. ^ "Netatalk/COPYRIGHT at main · Netatalk/Netatalk". GitHub.
  2. ^ "Netatalk FAQ". Research Systems Unix Group. The University of Michigan. 19 February 1996. Archived from the original on 23 December 1996. Retrieved 11 January 2023. How do I pronouce [sic] netatalk? Ah, good question! The unenlightened often mis-pronounce this word \'net-'a-to.k\. The correct pronouciation [sic] is \'ned-*-to.k\ (the 't' is soft, like d, and the first 'a' is a schwa).
  3. ^ "Netatalk - Networking Apple Macintosh through Open Source". Archived from the original on 2007-01-27.
  4. ^ "Mabam/CAP". GitHub.
  5. ^ "Netatalk faq". Archived from the original on 2001-11-26.
  6. ^ "Netatalk-devel Mailing List". SourceForge. SourceForge. 28 August 2001. Retrieved 11 January 2023. As of 1.5pre7, netatalk is now being distributed under the GNU Public License (GPL). Versions up to 1.5pre7 can still be modified under the BSD License, and all terms of the BSD License that do not conflict with the GPL are still in force.
  7. ^ Bill McGonigle (2 March 2001). "Netatalk Faq-O-Matic". Netatalk Faq-O-Matic. Archived from the original on 2 March 2001. Retrieved 12 January 2023. Over the past couple years Adrian Sun has pretty much taken over the application development and has added a slew of new features, including AFP over TCP and bug fixes.
  8. ^ "Netatalk Release Notes". Retrieved 2014-01-02.
  9. ^ "11. Sharing". FreeNAS® 11.2-U3 User Guide. 11.1. Apple (AFP) Shares. Retrieved 2014-01-02.
  10. ^ "Mac Time Client/Server". The University of Melbourne. The University of Melbourne. 19 February 1996. Archived from the original on 3 March 2001. Retrieved 12 January 2023. The tardis/Timelord package allows the Macintosh time to be set over an AppleTalk network from a Macintosh or UNIX/CAP based time server.
  11. ^ P. V. Anthony (2005-09-19). "Netatalk / Re: [Netatalk-admins] Video Editing". netatalk-admins (Mailing list). Retrieved 2019-02-17.
  12. ^ "Serial port (Home Media)". NAS-Central Iomega Wiki. Archived from the original on 2018-08-17. Retrieved 2019-02-17.
  13. ^ "Release Notes". unRAID Wiki. Retrieved 2019-02-17.
  14. ^ "napp-it // webbed ZFS NAS/SAN appliance for OmniOS, OpenIndiana and Solaris : Extensions". Retrieved 2019-02-17.
  15. ^ "N0204 beta firmware V3.00.10.1". Thecus. Retrieved 2019-02-17.
  16. ^ Ralph Böhme (September 22, 2011). "Status of Netatalk and AFP support by NAS vendor, update". Retrieved 2019-02-17.
  17. ^ Ralph Böhme (January 18, 2011). "Status of Netatalk and AFP support by NAS vendor". Retrieved 2019-02-17.
  18. ^ "NetAFP Netatalk Support". NetAFP. 15 August 2010. Archived from the original on 15 August 2010. Retrieved 11 January 2023.
  19. ^ Ralph Böhme (11 December 2013). "SerNet expands Apple Support – NetAFP joins SerNet". SerNet. SerNet Service Network GmbH. Retrieved 11 January 2023. SerNet is joined by Ralph Böhme from NetAFP to further strengthen the SAMBA team. Böhme is the main developer of Netatalk, a free AFP implementation for Linux servers. [...] "Many users and manufacturers use Netatalk as Linux servers for Apple clients. Over the next two years, they need to migrate to SMB," says Ralph Böhme.
  20. ^ "Research Systems Unix Group: Netatalk". Archived from the original on 2019-03-14.
  21. ^ "Netatalk - Networking Apple Macintosh through Open Source". Archived from the original on 2004-08-25.
[edit]