Liblicense
Revision as of 18:14, 27 September 2008 by Greg Grossmeier (talk | contribs) (→More Information: added Buildbot to the More Information section)
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)
- Buildbot helps test out liblicense on various platforms.
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 (copied above).
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 }} |