Liblicense
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.
Features
- 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
- Supports verification URLs for metadata verification
 
Architecture
Bindings
Media
See Operating System Mockups for ideas on how liblicense could be integrated into various platforms.
Download
- Latest Release from Sourceforge.net
 - Debian and Ubuntu repositories.
 - Read the tutorial.
 
Developers: Using git
If you want to check out the source code and develop on it, use this command:
git clone git://code.creativecommons.org/liblicense.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
- Release History and Roadmap
 - Desktop Integration
 - Screenshots
 - RDF Reference
 - Library Documentation (generated from source)
 - Table of File Metadata Information:
 
| Format | Form of Metadata | Location of Metadata | Links | 
| Audio | |||
| 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 | |
| Images | |||
| JPEG | XMP | APP1 Markers | XMP Spec | 
| JPEG 2000 | XMP | UUID Box | 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 | 
| Video | |||
| 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 | ? | |
| Documents | |||
| 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 | 
| OpenOffice.org (OASIS) | OO.org 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
- Companion File metadata specification
 - Tracker CC Indexing - also there is a great chart showing progress on reading/writing different filetypes...
 
| Liblicense | |
|---|---|
| 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 }} | 
