From Creative Commons
Revision as of 18:21, 27 September 2008 by Greg Grossmeier (talk | contribs) (Add link to License Tagger (thanks Steren!))
Jump to: navigation, search

What is liblicense?

In short: Low-level license metadata integration for applications.

liblicense provides a straight-forward way for developers to build license-aware applications. liblicense utilizes a pluggable module system for reading and writing metadata from specific file types, allowing extensibility for specific content types.

  • To see liblicense in action take a look at License tagger, the cross platform file metadata editor.


  • Extract and write license information for files
  • Supports enumeration of available licenses
  • Wraps internationalized license information for Creative Commons licenses
  • Bindings for dynamic languages (currently Python and Ruby)
  • Extensible support for file types using module system
  • No specific GUI library dependency allows applications to build the graphical chooser most appropriate for their platform.

Future Improvements


System architecture.png

Liblicense Architecture - SVG



See Operating System Mockups for ideas on how liblicense could be integrated into various platforms.


Developers: Using git

If you want to check out the source code and develop on it, use this command:

git clone git://
git submodule init
git submodule update

That should give you a working copy you can commit to. See Git for information on switching to a working copy you can push using.

More Information

Table of File Metadata Information

Format Form of Metadata Location of Metadata Links
MP3 XMP / Native id3 tags The PRIV,XMP field / WCOP tag XMP Spec ID3v2.3 Spec
Vorbis XMP / Native comment field XMP comment field / LICENSE comment field Ogg Vorbis Docs
FLAC Native comment fields (id3v2 or vorbis-style comments) Same as with MP3 for id3v2 or Vorbis for vorbis-style comments FLAC Format Spec
Monkey's Audio (APE) Native Vorbis-like comment field AFAIK, there is no standard tag spec
JPEG XMP APP1 Markers XMP Spec
TIFF XMP XMLPacket tag XMP Spec
PNG XMP iTXt, XML:com:adobe:xmp field XMP Spec
GIF XMP Application block XMP Spec
SVG RDF /svg/metadata/rdf CC Wiki, SVG, based on Inkscape
PSD (Adobe Photoshop) XMP Resource block XMP Spec
AVI ? ? XMP Spec
Matroska Native tag COPYRIGHT tag Matroska Tagging Spec
Quicktime Native tag kMDItemCopyright(old)/kUserDataTextCopyright(new) tag Quicktime 7 API Reference XMP Spec
OGG No metadata standard Ogg Metadata Draft
Theora Theora comments (similar to Vorbis comments) Theora Spec
Flash RDF ?
PDF XMP metadata field XMP Spec
Postscript/EPS XMP Document-level metadata XMP Spec
HTML RDFa <a rel="license" href="..."></a> CC Wiki, RDFa
SMIL RDF /smil/head/metadata@id="meta-rdf"/RDF CreativeCommons SMIL Module
RSS 1.0 /RDF/channel/license or /RDF/channel/item/license CreativeCommons RSS 1.0 Module
RSS 2.0 /rss/channel/cc:license or /rss/channel/item/cc:license CreativeCommons RSS 2.0 Module
Atom /feed/entry/link@rel=license Atom License Extension
Any XML XMP Wherever valid XMP Spec (OASIS) CC License Add-In SoC Project is working on the spec
MS Office (2003) DocumentSummaryInformation Infile CreativeCommons_LicenseURL property Office Add-in
MS Office OpenXML (2007) ? ? OpenXML Spec Relevant mailing list post

See Also

Have an idea about this page? Want to help build the CC ecosystem? Check out the challenges related to Liblicense, or add one of your own below.
Open Challenges
{{#ask: Is Complete::no

Related To::Liblicense|format=table}}

Completed Challenges
{{#ask: Is Complete::yes

Related To::Liblicense|format=table}}

{{#forminput:Challenge|35 Challenge[related_to]=Liblicense }}