Difference between revisions of "Liblicense"

From Creative Commons
Jump to: navigation, search
(More Information)
(removed table of file metadata, created a new page for it, linked to it from here)
Line 56: Line 56:
 
* [[Liblicense/Screenshots|Screenshots]]
 
* [[Liblicense/Screenshots|Screenshots]]
 
* [[License RDF|RDF Reference]]
 
* [[License RDF|RDF Reference]]
 +
* [[Liblicense/Metadata_Table|File Metadata Information]]
 
* [http://labs.creativecommons.org/~nathan/liblicense Library Documentation] (generated from source)
 
* [http://labs.creativecommons.org/~nathan/liblicense Library Documentation] (generated from source)
 
* [[Buildbot]] helps test out liblicense on various platforms.
 
* [[Buildbot]] helps test out liblicense on various platforms.
 
=== Table of File Metadata Information ===
 
<table border="1">
 
<tr>
 
<td><strong>Format</strong></td><td><strong>Form of Metadata</strong></td><td><strong>Location of Metadata</strong></td><td><strong>Links</strong></td>
 
</tr>
 
<tr><td colspan="4"><strong>Audio</strong></td></tr>
 
<tr>
 
  <td>MP3</td>
 
  <td>XMP / Native id3 tags</td>
 
  <td>The PRIV,XMP field / WCOP tag</td>
 
  <td>[http://partners.adobe.com/public/developer/en/xmp/sdk/XMPspecification.pdf XMP Spec]
 
[http://www.id3.org/id3v2.3.0 ID3v2.3 Spec]</td>
 
</tr>
 
<tr>
 
  <td>Vorbis</td>
 
  <td>XMP / Native comment field</td>
 
  <td>XMP comment field / LICENSE comment field</td>
 
  <td>[http://xiph.org/vorbis/doc/v-comment.html Ogg Vorbis Docs]</td>
 
</tr>
 
<tr>
 
  <td>FLAC</td>
 
  <td>Native comment fields (id3v2 or vorbis-style comments)</td>
 
  <td>Same as with MP3 for id3v2 or Vorbis for vorbis-style comments</td>
 
  <td>[http://flac.sourceforge.net/format.html#metadata_block_vorbis_comment FLAC Format Spec]</td>
 
</tr>
 
<tr>
 
  <td>Monkey's Audio (APE)</td>
 
  <td>Native Vorbis-like comment field</td>
 
  <td>AFAIK, there is no standard tag spec</td>
 
  <td></td>
 
</tr>
 
<tr><td colspan="4"><strong>Images</strong></td></tr>
 
<tr>
 
  <td>JPEG</td>
 
  <td>XMP</td>
 
  <td>APP1 Markers</td>
 
  <td>[http://partners.adobe.com/public/developer/en/xmp/sdk/XMPspecification.pdf XMP Spec]</td>
 
</tr>
 
<tr>
 
  <td>JPEG 2000</td>
 
  <td>XMP</td>
 
  <td>UUID Box</td>
 
  <td>[http://partners.adobe.com/public/developer/en/xmp/sdk/XMPspecification.pdf XMP Spec]</td>
 
</tr>
 
<tr>
 
  <td>TIFF</td>
 
  <td>XMP</td>
 
  <td>XMLPacket tag</td>
 
  <td>[http://partners.adobe.com/public/developer/en/xmp/sdk/XMPspecification.pdf XMP Spec]</td>
 
</tr>
 
<tr>
 
  <td>PNG</td>
 
  <td>XMP</td>
 
  <td>iTXt, XML:com:adobe:xmp field</td>
 
  <td>[http://partners.adobe.com/public/developer/en/xmp/sdk/XMPspecification.pdf XMP Spec]</td>
 
</tr>
 
<tr>
 
  <td>GIF</td>
 
  <td>XMP</td>
 
  <td>Application block</td>
 
  <td>[http://partners.adobe.com/public/developer/en/xmp/sdk/XMPspecification.pdf XMP Spec]</td>
 
</tr>
 
<tr>
 
  <td>SVG</td>
 
  <td>RDF</td>
 
  <td>/svg/metadata/rdf</td>
 
  <td>[http://wiki.creativecommons.org/SVG CC Wiki, SVG, based on Inkscape]</td>
 
</tr>
 
<tr>
 
  <td>PSD (Adobe Photoshop)</td>
 
  <td>XMP</td>
 
  <td>Resource block</td>
 
  <td>[http://partners.adobe.com/public/developer/en/xmp/sdk/XMPspecification.pdf XMP Spec]</td>
 
</tr>
 
<tr><td colspan="4"><strong>Video</strong></td></tr>
 
<tr>
 
  <td>AVI</td>
 
  <td>?</td>
 
  <td>?</td>
 
  <td>[http://partners.adobe.com/public/developer/en/xmp/sdk/XMPspecification.pdf XMP Spec]</td>
 
</tr>
 
<tr>
 
  <td>Matroska</td>
 
  <td>Native tag</td>
 
  <td>COPYRIGHT tag</td>
 
  <td>[http://www.matroska.org/technical/specs/tagging/index.html Matroska Tagging Spec]</td>
 
</tr>
 
<tr>
 
  <td>Quicktime</td>
 
  <td>Native tag</td>
 
  <td>kMDItemCopyright(old)/kUserDataTextCopyright(new) tag</td>
 
  <td>[http://developer.apple.com/documentation/QuickTime/Conceptual/QT7UpdateGuide/Chapter03/chapter_3_section_1.html#//apple_ref/doc/uid/TP40001163-CH314-553378 Quicktime 7 API Reference]
 
[http://partners.adobe.com/public/developer/en/xmp/sdk/XMPspecification.pdf XMP Spec]</td>
 
</tr>
 
<tr>
 
  <td>OGG</td>
 
  <td>No metadata standard</td>
 
  <td></td>
 
  <td>[http://wiki.xiph.org/Metadata Ogg Metadata Draft]</td>
 
</tr>
 
<tr>
 
  <td>Theora</td>
 
  <td colspan="2">Theora comments (similar to Vorbis comments)</td>
 
  <td>[http://www.theora.org/doc/Theora_I_spec.pdf Theora Spec]</td>
 
</tr>
 
<tr>
 
  <td>Flash</td>
 
  <td>RDF</td>
 
  <td>?</td>
 
  <td></td>
 
</tr>
 
<tr><td colspan="4"><strong>Documents</strong></td></tr>
 
<tr>
 
  <td>PDF</td>
 
  <td>XMP</td>
 
  <td>metadata field</td>
 
  <td>[http://partners.adobe.com/public/developer/en/xmp/sdk/XMPspecification.pdf XMP Spec]</td>
 
</tr>
 
<tr>
 
  <td>Postscript/EPS</td>
 
  <td>XMP</td>
 
  <td>Document-level metadata</td>
 
  <td>[http://partners.adobe.com/public/developer/en/xmp/sdk/XMPspecification.pdf XMP Spec]</td>
 
</tr>
 
<tr>
 
  <td>HTML</td>
 
  <td>RDFa</td>
 
  <td>&lt;a rel="license" href="..."&gt;&lt;/a&gt;</td>
 
  <td>[http://wiki.creativecommons.org/RDFa CC Wiki, RDFa]</td>
 
</tr>
 
<tr>
 
  <td>SMIL</td>
 
  <td>RDF</td>
 
  <td>/smil/head/metadata@id="meta-rdf"/RDF</td>
 
  <td>[http://web.resource.org/cc/modules/smil/ CreativeCommons SMIL Module]</td>
 
</tr>
 
<tr>
 
  <td>RSS 1.0</td>
 
  <td colspan="2">/RDF/channel/license or /RDF/channel/item/license</td>
 
  <td>[http://web.resource.org/rss/1.0/modules/cc/ CreativeCommons RSS 1.0 Module]</td>
 
</tr>
 
<tr>
 
  <td>RSS 2.0</td>
 
  <td colspan="2">/rss/channel/cc:license or /rss/channel/item/cc:license</td>
 
  <td>[http://backend.userland.com/creativeCommonsRssModule CreativeCommons RSS 2.0 Module]</td>
 
</tr>
 
<tr>
 
  <td>Atom</td>
 
  <td colspan="2">/feed/entry/link@rel=license</td>
 
  <td>[http://ietfreport.isoc.org/idref/draft-snell-atompub-feed-license/ Atom License Extension]</td>
 
</tr>
 
<tr>
 
  <td>Any XML</td>
 
  <td>XMP</td>
 
  <td>Wherever valid</td>
 
  <td>[http://partners.adobe.com/public/developer/en/xmp/sdk/XMPspecification.pdf XMP Spec]</td>
 
</tr>
 
<tr>
 
  <td>OpenOffice.org (OASIS)</td>
 
  <td colspan="2">OO.org CC License Add-In SoC Project is working on the spec</td>
 
  <td></td>
 
</tr>
 
<tr>
 
  <td>MS Office (2003)</td>
 
  <td>DocumentSummaryInformation Infile</td>
 
  <td>CreativeCommons_LicenseURL property</td>
 
  <td>[http://www.microsoft.com/downloads/details.aspx?FamilyID=113b53dd-1cc0-4fbe-9e1d-b91d07c76504&displaylang=en Office Add-in]</td>
 
</tr>
 
<tr>
 
  <td>MS Office OpenXML (2007)</td>
 
  <td>?</td>
 
  <td>?</td>
 
  <td>[http://www.ecma-international.org/publications/standards/Ecma-376.htm OpenXML Spec]
 
 
[http://lists.ibiblio.org/pipermail/cc-devel/2007-June/000466.html Relevant mailing list post]</td>
 
</tr>
 
 
</table>
 
  
 
== See Also ==
 
== See Also ==

Revision as of 20:25, 9 October 2008

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.

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

Architecture

System architecture.png

Liblicense Architecture - SVG

Bindings

Media

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

Download

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

See Also


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 }}