Liblicense
Contents
System Overview
Purpose
To provide a simple way for developers to make their applications license aware. Additionally, supplemental modules aim to provide a method for users to track licenses of files on their system. This project complements Companion File metadata specification and Tracker CC Indexing.
Architecture
Config Modules
- in_use() - returns whether or not the corresponding config system exists on the computer
- get() - returns the current default license uri
- set(uri) - sets the default license uri and returns 0 upon success (non-zero for errors)
I/O Modules
- mime_types - null terminated list of handled mime-types (all indicates external storage method which works for any file)
- read(filename) - returns the license uri for the given file (embedded license takes precedence)
- write(filename,uri) - writes the license uri for the given file
License Files (.rdf)
Attributes
- cc:license
- about
- permits
- requires
- prohibits
- dc:title - The human readable name of the license.
- dc:description - Description of the license.
- dc:coverage - The jurisdiction of the license. (country code from ISO3166)
- dc:language - The language of the license. (language code under RFC3066)
- dc:relation
- dc:type - always "License"
- dc:creator
- dc:publisher
- dc:identifier - URI of license (URI)
Example
<rdf:RDF
xmlns="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
>
<rdf:Description rdf:about="http://creativecommons.org/licenses/by-nd/2.0/za/">
<dc:title>Creative Commons Attribution No Derivatives</dc:title>
<dc:description>This license allows for redistribution, commercial and non-commercial,
as long as it is passed along unchanged and in whole, with credit to you.</dc:description>
<dc:coverage>
<dcq:ISO3166>
<rdf:value>za</rdf:value>
</dcq:ISO3166>
</dc:coverage>
<dc:language>
<dcq:RFC3066>
<rdf:value>en</rdf:value>
</dcq:RFC3066>
</dc:language>
<dc:hasVersion>2.0</dc:hasVersion>
<dc:isReplacedBy>
<dcq:URI>
<rdf:value>http://creativecommons.org/licenses/by-nd/2.5/za/</rdf:value>
</dcq:URI>
</dc:isReplacedBy>
<dc:isBasedOn>
<dcq:URI>
<rdf:value>http://creativecommons.org/licenses/by-nd/2.5/</rdf:value>
</dcq:URI>
</dc:isBasedOn>
<dc:type>License</dc:type>
<dc:creator>iCommons</dc:creator>
<dc:publisher>Creative Commons</dc:publisher>
<dc:identifier>http://creativecommons.org/licenses/by-nd/2.0/za/</dc:identifier>
<rdf:type rdf:resource="http://creativecommons.org/ns#License"/>
<permits rdf:resource="http://creativecommons.org/ns#Distribution"/>
<permits rdf:resource="http://creativecommons.org/ns#Reproduction"/>
<requires rdf:resource="http://creativecommons.org/ns#Attribution"/>
<requires rdf:resource="http://creativecommons.org/ns#Notice"/>
</rdf:Description>
</rdf:RDF>
Example (i18n)
<rdf:RDF
xmlns="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:dcq="http://purl.org/dc/terms/"
>
<rdf:Description rdf:about="http://creativecommons.org/licenses/by-nd/2.0/">
<dc:title>
<rdf:Alt>
<rdf:li xml:lang="x-default">Creative Commons Attribution No Derivatives</rdf:li>
<rdf:li xml:lang="es-cl">Creative Commons Atribución-SinDerivadas</rdf:li>
</rdf:Alt>
</dc:title>
<dc:description>
<rdf:Alt>
<rdf:li xml:lang="x-default">This license allows for redistribution, commercial and non-commercial,
as long as it is passed along unchanged and in whole, with credit to you.</rdf:li>
</rdf:Alt>
</dc:description>
<dc:coverage>
<dcq:ISO3166>
<rdf:value>us</rdf:value>
</dcq:ISO3166>
</dc:coverage>
<dc:language>
<dcq:RFC3066>
<rdf:value>en</rdf:value>
</dcq:RFC3066>
</dc:language>
<dc:hasVersion>2.0</dc:hasVersion>
<dc:isReplacedBy>
<dcq:URI>
<rdf:value>http://creativecommons.org/licenses/by-nd/2.5/</rdf:value>
</dcq:URI>
</dc:isReplacedBy>
<dc:type>License</dc:type>
<dc:creator>Creative Commons</dc:creator>
<dc:publisher>Creative Commons</dc:publisher>
<dc:identifier>http://creativecommons.org/licenses/by-nd/2.0/</dc:identifier>
<rdf:type rdf:resource="http://creativecommons.org/ns#License"/>
<permits rdf:resource="http://creativecommons.org/ns#Distribution"/>
<permits rdf:resource="http://creativecommons.org/ns#Reproduction"/>
<requires rdf:resource="http://creativecommons.org/ns#Attribution"/>
<requires rdf:resource="http://creativecommons.org/ns#Notice"/>
</rdf:Description>
</rdf:RDF>
Frontends
Timeline
6/18
- Finalize liblicense API.
6/25
- Write liblicense.
- Stub config and IO modules.
7/2
- liblicense python bindings.
7/9
- Gconf config module.
- Nautilus IO module.
7/16
- Nautilus GUI frontend.
- Gnome control panel frontend.
7/23
- Sugar Journal backend.
- Sugar frontend.
7/30
- Bug hunting.
- Frontend polishing.
8/6
This article is a stub. You can help the Creative Commons by expanding it.
8/13
This article is a stub. You can help the Creative Commons by expanding it.
8/20
This article is a stub. You can help the Creative Commons by expanding it.
