While Apple provides support for the iPod and iPhones on Mac OS X (of course) and even Windows, complete with iTunes support, they provide no such love for those wishing to use their gadgets on Linux. This has led the Linux community to reverse-engineering Apple's USB protocol for the iPod/iPhone devices, developing different hacks, and in some cases even needing to "jail break" the product in order to use it fully under Linux. There's a few different projects around that seek to implement iPhone/iPod support on Linux, but one of them that takes an entirely free software approach and does not depend upon any DRM or proprietary libraries is libimobiledevice. This week the libimobiledeviceproject is celebrating their version 1.0 release after being in development for nearly three years.
The libimobiledevice 1.0.0 release is compatible with Apple's iPod Touch and iPhones of the 1G, 2G, and 3G generations running up through the very latest iPhone OS 3.1.3 firmware. This library provides support for reading the device's file-system, reading device information, backing up and restoring data, manage screen icons, manage installed applications, retrieve addressbook/calendars/notes and bookmarks, and synchronize both audio and video.
The 1.0.0 release of libimobiledevice and ifuse occurred on Sunday while yesterday was the 1.0.3 release of usbmuxd. The libimobiledevice library is in turn used by other components like GVFS, libgpod/gtkpod, and libusb to provide a pleasant experience when connecting your iPhone or iPod to a Linux desktop.
The open-source library can be downloaded at libimobiledevice.org
. There's also additional information on this 1.0 release on Martin Szulecki's blog
. Martin has taken over the maintainership role of libimobiledevice project from Matt Colyer who started this project in late 2007.
Still left to accomplish with this iPhone/iPod mobile device library is software updating/restoration, camera/photo synchronization, and profiling/debugging support. There's also touch-up work left to do with regard to synchronizing the calendar, contacts, notes, bookmarks, and backup/restoration feature.