May 29, 2007

Adobe relicenses XMP toolkit as open source

Author: Nathan Willis

Adobe has released a new version of its Extensible Metadata Platform (XMP) toolkit, and for the first time it is under an open source license that allows the code to be incorporated into free software. XMP is Adobe's XML-based specification for metadata geared toward digital images and multimedia.

In April we reported on two independent open source XMP projects, the Nautilus add-on XMP Manager and the library exempi. At that time, the then-current version (3.5) of Adobe's XMP software development kit (SDK) was incompatible with the GPL due to the attached license. Consequently, both projects had to implement their own XMP reading and writing functionality from scratch.

The latest SDK release is numbered 4.1.1, and is available under the BSD license. Adobe's XMP product manager Gunar Penikis says the change was made in response to requests from the developer community, which wanted to see the code released under a well-known, existing open source license instead of yet another single-company variation.

"We primarily get feedback from non-open source developers," Penikis explains, "but I have heard from a few open source ones. Together it made sense to clarify the license to both customers."

The BSD license was close to the SDK's preceding license, Penikis says, making it the obvious choice. It also has the benefit of both being compatible with GPLed software and available for use in commercial products. Hopefully, he adds, the change makes the code more accessible, and "gets the community excited to use the SDK and build some interesting projects."

Apart from the change of license, the 4.1.1 SDK brings two significant additions. The first is the new XMPFiles component, a set of file handling routines for locating, reading, and adding XMP metadata packets inside common media file formats. This release provides handlers for JPEG, TIFF, PNG, Photoshop, InDesign, PostScript, MOV, MPEG, AVI, MP3, and WAV files. XMPFiles complements the XMPCore routines for parsing and manipulating XMP data itself.

The second addition is a Java implementation of XMPCore, in the form of Eclipse project files. Eclipse joins Visual Studio, Apple XCode, and Unix GCC as a supported build environment.

Hubert Figuiere has already announced that the next version of exempi will be built directly on top of the Adobe SDK rather than "reinventing the wheel," and will move from the GPL to the BSD license for simplicity. The Adobe packages still require some patching to build reliably under Linux, but Figuiere is at work on it and has promised both C and C++ implementations.

Click Here!