About OS X Lion NAS Time Machine compatibility, Netatalk & GPL violations

While many NAS-vendors like QNAP updated their products to ensure compatibility with AFP-shares in OS X Lion 10.7, things look different when it comes to Time Machine support. Most NAS-vendors still use an older version of Netatalk which supports AFP-shares in Lion (at least when using the DHX2 authentication module) but not the new Time Machine features introduced in AFP 3.3 like “Replay Cache”.

In order to ensure compatibility with OS X Lion’s Time Machine, NAS-vendors will have to use the latest Netatalk v2.2. Users trying to connect to a NAS-based Time Machine volume using an older Netatalk version are greeted with this error message:

The network backup disk does not support the required AFP features

Now, here’s the catch: the current Netatalk maintainer NetAFP.com decided to make this important release closed source, only releasing it to customers who are paying for commercial support (looks like you’re lucky if you own a Netgear or Drobo NAS!). With this move the maintainer deliberately grossly violates the GPL license which Netatalk is based upon in order to blackmail NAS-vendors into paying for commercial support. Make sure to check out Matthew Keller’s insightful response to NetAFP’s new closed source strategy. While both sides have their points I agree with Matthew that violating the GPL in order to earn money doesn’t sound like a solid business model.

Since NAS-vendors who advertise Time Machine compatibility in their products are in a locked-in situation, they only have two choices:

  1. Fork the last available Netatalk version and continue the development on their own (or better: form an alliance between NAS-vendors to advance development of Netatalk)
  2. Pay the current maintainer for commercial support and in turn get access to GPL-based software

I just hope things get sorted out quickly so we can all continue to use Time Machine backups using our Linux-based NAS’ with OS X Lion.

12 thoughts on “About OS X Lion NAS Time Machine compatibility, Netatalk & GPL violations

  1. I think strictly speaking, netAFP is not (yet) violating the GPL. As I understand it, they are distributing binaries to the paying NAS product vendors. If one of these vendors asks for the source code, THEN netAFP would be obliged to provide it to the requester, who then has the discretion of doing anything they want with it, including posting on a public website. If netAFP does not provide the source, then they would be in violation.

    In addition, I believe this is also true, that if a customer purchases a product from one of the NAS vendors, and that product incorporates netatalk-2.2.0, the end customer can now also request the source code from netAFP, and netAFP would be obliged to provide it to them.

    So until someone who is in possession of the netatalk-2.2.0 binary requests the source from netAFP, and netAFP tells them to pound sand, THEN they are in violation of the GPL. Correct?

  2. I agree with tom.
    The only way around this would be to relicense the whole thing (that happened to ExtJS for example). But I doubt that they own the whole source or got the permission of all developers who commited something to the project.

  3. It would only be a violation of GPL if for instance 2.2 beta 4 differs from 2.2 p4… My hunch is they are one and the same.

  4. One slight correction to what tom said in that additional case… if you buy a unit that includes the netatalk-2.2.0 binary then you can request the source from whoever distributed (sold) you that unit. (This is typically the company that made the product, even if you bought it through a retail channel via some other company.) They are the ones required to give you the source since they are the ones that distributed the binary to you.

  5. Well ReadyNAS/Netgear have released an x86 update that provides support for OS X 10.7, so I guess that someone with an x86 device should grab the new firmware, run strings on it and request the source from the OEM.

  6. Personally, I think we would be better off without this guy. He knew the implications of the GPL when he started, he has no right to do this.

    I sincerely hope he quietly backs down. For his own sake. Those vendors have lawyers. Then a responsible vendor or vendors will be forced to take serious action to adopt the project themselves.

  7. Just posted

    Update (July-23-2011):

    Thanks to the new commitment of Data Robotics, Western Digital Corporation and QNAP, there’s hope! Also, we’re reopening development, pushing all sources to the official Netatalk git VCS at Sourceforge. We We expecet Netatalk 2.2.0 sourcecode tarballs to be available at the Sourceforge download site soon.

  8. Synology released disk station beta with lion support some days ago… Sylonogy always a foot ahead for software innovation and integration.

  9. This works on quite a few NAS (see http://nas-tweaks.net/) for which:
    Update firmware to 2.5 (specific for Acer Easystore & remember to backup your data)
http://support.acer-euro.com/drivers/storage/aeasystore.html
    install funplug (for Acer easystore fun_plug (not fun_plug.tar) to es_plug:
http://forum.dsmg600.info/viewtopic.php?id=5003 
http://wiki.dns323.info/howto:ffp
http://nas-tweaks.net/40/installation-of-the-fonz-funplug-0-5-for-ch3snas-ch3mnas-dns-323-and-many-more/
    Install nano
    / # cd /ffp
    /mnt/HD_a2/ffp # mkdir pkg
    /mnt/HD_a2/ffp # cd pkg
    /mnt/HD_a2/ffp/pkg # wget http://ffp.wolf-u.li/additiona......0.9-2.tgz
    /mnt/HD_a2/ffp/pkg # funpkg -i nano*
    Install Avahi and Bonjour:
http://www.noulakaz.net/weblog/2009/11/02/installing-avahi-and-afp-on-the-dns-323/
    http://www.inreto.de/dns323/fu.....6.24-1.tgz
    / # mkdir pkg
    / # cd pkg
    /pkg # wget http://www.inreto.de/dns323/fu.....0.13-1.tgz
    /pkg # funpkg -i libdaemon-0.13-1.tgz
    Installing package libdaemon-0.13-1 …

    /pkg # wget http://www.inreto.de/dns323/fu.....6.24-1.tgz
    /pkg # funpkg -i avahi-0.6.24*
    Installing package avahi-0.6.24-1 …
    Executing install script for avahi-0.6.24-1 …

    follow instructions in noulakaz.net link
    Install Netatalk
    /mnt/HD_a2/ffp/pkg # wget http://download376.mediafire.c.....1.10-1.tgz
    /mnt/HD_a2/ffp/pkg # wget http://download341.mediafire.c......5.0-1.tgz
    /mnt/HD_a2/ffp/pkg # funpkg -i libg*

    /pkg # wget http://www.inreto.de/dns323/fu.....8.30-1.tgz
    /pkg # funpkg -i db48*
    /pkg # wget http://download1011.mediafire......-2.2-1.tgz
    /mnt/HD_a2/ffp/pkg # funpkg -i net*

    follow instructions in noulakaz.net link above
    in afpd.conf add the following line (where es is your servername, change it to your servername):
”es” -uamlist uams_dhx2.so,uams_clrtxt.so -setuplog “default log_info /ffp/var/run/afpd.log” -cnidserver
    in /ffp/etc/netatalk/AppleVolumes.default add tm to the following line:
:DEFAULT: options:upriv,usedots,tm
    and add one or more of the follwing lines (depending on how many volumes you have
/mnt/HD_a2 Volume_1
/mnt/HD_b2 Volume_2
/mnt/HD_c2 Volume_3
/mnt/HD_d2 Volume_4

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>