While Apple made a Windows version of iTunes years ago, they still haven't seen fit to roll out any official syncing solution for our Linx friends. That leaves unofficial solutions, which according to Marcan's Abort, Retry, Hack? blog, are finally on their way:

  • libusb-1.0 provides an advanced API to access USB devices under Linux, replacing the old libusb-0.1 API
  • usbmuxd coordinates application access to the device and talks the specific iPhone/iTouch USB protocol
  • libiphone implements the Apple-specific protocols that are tunneled through usbmuxd: it can launch services through lockdown, retrieve device info, send notifications, and access the filesystem via AFC.
  • iFuse and gvfs-backend-afc both provide access to AFC to regular Linux apps. iFuse does this by mounting via FUSE, while gvfs-backend-afc is obviously a backend for gVFS.
  • libgpod (the library that traditionally has managed music databases for iPods) is being extended to support the new SQLite format, the new hash, and also to talk to libiphone to properly put the device in to and out of sync mode.
  • Theoretically, actual music players such as Amarok and Rhythmbox will need none or very few modifications to work.

If you've got your FOSS-on, and you're eager to check out this solution, head on over for the details, and then let us know what you think!

[Thanks Brian for the tip!]