Difference between revisions of "Liblicense"

From Creative Commons
Jump to: navigation, search
(System Overview)
Line 1: Line 1:
 
== System Overview ==
 
== 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 ===
 
[[Image:Liblicense_system_architecture.png]]
 
[[Image:Liblicense_system_architecture.png]]
  

Revision as of 18:53, 22 June 2007

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

Liblicense system architecture.png

svg version

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.
  • dc:language - The language of the license.
  • dc:relation
    • hasVersion - version number
    • isReplacedBy - indicates retired license
    • isBasedOn - indicates ported version
  • dc:license - license the license is available under
  • dc:type - always license
  • dc:creator
  • dc:publisher
  • dc:identifier - URI of license

Example

Frontends

See Desktop Integration

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

8/13

8/20