<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.creativecommons.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Scott+Shawcroft</id>
		<title>Creative Commons - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.creativecommons.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Scott+Shawcroft"/>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/wiki/Special:Contributions/Scott_Shawcroft"/>
		<updated>2026-04-15T05:57:35Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense&amp;diff=8470</id>
		<title>Liblicense</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense&amp;diff=8470"/>
				<updated>2007-08-24T17:12:47Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: /* Interface */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Developer]]&lt;br /&gt;
[[Category:Metadata]]&lt;br /&gt;
[[Category:Desktop]]&lt;br /&gt;
[[Category:Labs]]&lt;br /&gt;
[[Category:Tools]]&lt;br /&gt;
[[Category:Specification]]&lt;br /&gt;
[[Category:Operating System]]&lt;br /&gt;
[[Category:Technology]]&lt;br /&gt;
A library for managing license metadata, in particular CC licensing information.&lt;br /&gt;
&lt;br /&gt;
The idea of this library started out on the [[IRC]] channel, in a discussion on how to best help boost the community of software&lt;br /&gt;
developers working with things related to CC - mostly the metadata format.&lt;br /&gt;
&lt;br /&gt;
Basically, the idea is to write a portable C library that manages metadata for CC licenses, and a bunch of other licenses of interest to the community.&lt;br /&gt;
&lt;br /&gt;
The library will produce licensing information based on the specifications of calling libraries and programs. In addition to generating text for specific licenses, it will also allow an application to enumerate which licenses are currently available and provide descriptive text for each license, and for license features. It should also provide an easy way to specify &amp;quot;verify at&amp;quot; URLs.&lt;br /&gt;
&lt;br /&gt;
The benefit of this library is that applications linking to it can correctly offer licensing choices, and these choices can be transparently updated through package managers as license versions are updated. Human readable descriptions will also be internationalized, preferably using the same .po files used by the CC web site. Hence liblicense will take advantage of package updating and i18n systems to allow applications to always provide c&lt;br /&gt;
current and correct licensing choices and license text.&lt;br /&gt;
&lt;br /&gt;
Part of the project is also to provide wrappers for the library for other languages, and to help external developers add metadata support to their projects. A good start will probably be to wrap the library for Python, and use it for ccpublisher.&lt;br /&gt;
&lt;br /&gt;
We will also integrate a module system so that libraries can be used to embed and extract metadata in/from common formats.&lt;br /&gt;
&lt;br /&gt;
As liblicense itself deals only with text strings, we can also make GUI libraries to provide dialogs which present these strings to the user in desktop or web applications. This layering ensures that such dialogs present consistent licensing choices.&lt;br /&gt;
&lt;br /&gt;
== Get liblicense ==&lt;br /&gt;
&lt;br /&gt;
* [https://sourceforge.net/project/showfiles.php?group_id=80503&amp;amp;package_id=238700 Latest Release from Sourceforge.net]&lt;br /&gt;
* Checkout liblicense module from [[SVN]]&lt;br /&gt;
* Debian and Ubuntu [http://mirrors.creativecommons.org/packages/ repositories].&lt;br /&gt;
* Read the [[Liblicense tutorial| tutorial]].&lt;br /&gt;
&lt;br /&gt;
=== Screenshots ===&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Image:Ll nautilus emblem.png|Nautilus emblem support.&lt;br /&gt;
Image:Ll nautilus.png|Nautilus file properties.&lt;br /&gt;
Image:Ll default 2.png|GTK default system license.&lt;br /&gt;
Image:Ll dolphin.png|KDE4 dolphin file properties.&lt;br /&gt;
Image:Ll kde default license.png|KDE4 default system license.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== System Overview ==&lt;br /&gt;
&lt;br /&gt;
=== Purpose ===&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
=== Architecture ===&lt;br /&gt;
[[Image:System_architecture.png]]&lt;br /&gt;
&lt;br /&gt;
=== Implementation ===&lt;br /&gt;
This library is implemented in C to allow for maximum portability.&lt;br /&gt;
&lt;br /&gt;
=== Interface ===&lt;br /&gt;
Note: All functions prepended with ll_ in C.  The header file is liblicense.h .&lt;br /&gt;
* get_config_modules() - ''returns a null terminates list of available config modules.''&lt;br /&gt;
* get_io_modules() - ''returns a null terminates list of available io modules.''&lt;br /&gt;
* get_module_symbol(module,symbol) - ''returns the requested symbol.''&lt;br /&gt;
* module_init(module) - ''Loads the module and calls its init function.''&lt;br /&gt;
* module_shutdown(module) - ''Calls the shutdown method of the module and unloads it.''&lt;br /&gt;
* io_module_mime_types(module0 - ''returns a null-terminated list of the supported mime-types.''&lt;br /&gt;
* read(filename) - ''returns the uri of the license of the given file.''&lt;br /&gt;
* module_read(filename,module) - ''returns the uri of the license of the given file while using the given module.''&lt;br /&gt;
* write(filename,uri) - ''writes the given license to the given file using all applicable modules.''&lt;br /&gt;
* module_write(filename,module,uri) - ''writes the given license to the given file using the given module.''&lt;br /&gt;
* set_default(uri)&lt;br /&gt;
* get_default()&lt;br /&gt;
* get_jurisdiction(uri) - ''returns the jurisdiction for the given license.''&lt;br /&gt;
* get_name(uri) – ''returns the name of the license.''&lt;br /&gt;
* get_version(uri) – ''returns the version of the license.''&lt;br /&gt;
* get_prohibits(uri)&lt;br /&gt;
* get_permits(uri)&lt;br /&gt;
* get_requires(uri)&lt;br /&gt;
* verify_uri(uri) - ''returns whether or not the given uri is recognized by the system.''&lt;br /&gt;
* get_all_licenses() - ''returns a list of all general license uris available for new works.''&lt;br /&gt;
* get_licenses(juris_t) - ''returns alist of all general licenses in a family.''&lt;br /&gt;
* get_jurisdictions() - ''returns a list of all jurisdictions.''&lt;br /&gt;
* jurisdiction_name(juris_t) - ''returns the name of the given jurisdiction.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: Before using the library in C you must call ll_init() and when done call ll_stop().&lt;br /&gt;
==== C List helpers ====&lt;br /&gt;
Liblicense lists are arrays ended with NULL.&lt;br /&gt;
* char** ll_new_list(int length) - ''returns a new list of the given size.''&lt;br /&gt;
* void ll_free_list(char** list) - ''frees the list and its char*s.''&lt;br /&gt;
* int ll_list_contains(char** haystack,char* needle) - ''returns 1 if the needle is found in the haystack and 0 otherwise.''&lt;br /&gt;
* int ll_list_index(char** haystack,char* needle) - ''returns the index of the needle in the haystack and -1 otherwise.''&lt;br /&gt;
* int ll_list_length(char** list) - ''returns the length of the list.''&lt;br /&gt;
* char* ll_list_mode(char** list,char* ignore) - ''returns a reference to the first occurance of the most abundant char* (by value not pointer) in the list besides the ignore char*.''&lt;br /&gt;
* void ll_list_print(char** list) - ''prints the list to stdout.''&lt;br /&gt;
&lt;br /&gt;
=== Config Modules ===&lt;br /&gt;
* '''init'''() - starts the module&lt;br /&gt;
* '''shutdown'''() - shuts the module down&lt;br /&gt;
* '''get'''() - returns the current default license uri&lt;br /&gt;
* '''set'''(uri) - sets the default license uri and returns 0 upon success (non-zero for errors)&lt;br /&gt;
&lt;br /&gt;
=== I/O Modules ===&lt;br /&gt;
I/O modules are shared objects that call LL_MODULE_DEFINE(name,description,version,features,mime_types,init_func,read_func,write_func).&lt;br /&gt;
&lt;br /&gt;
* '''name'''&lt;br /&gt;
* '''description'''&lt;br /&gt;
* '''version'''&lt;br /&gt;
* '''features''' - If the module embeds the license within the file, pass LL_FEATURES_EMBED&lt;br /&gt;
* '''mime_types''' - A space-separated string of supported mime-types, or NULL if mime-type agnostic (i.e. XMP sidecar)&lt;br /&gt;
* '''init_func''' - This function will be called once before the module is used&lt;br /&gt;
* '''read_func''' - Function to be called when requested to read a license from a file.  It takes a filename and returns the license URI, or NULL if no license is present.  Should return an 'int' indicating success or failure.&lt;br /&gt;
* '''write_func''' - Function to be called when requested to write a license to a file.  The first parameter is the filename and the second is the license URI to write.  Should return an 'int' indicating success or failure.&lt;br /&gt;
&lt;br /&gt;
=== Bindings ===&lt;br /&gt;
*Python&lt;br /&gt;
*Ruby&lt;br /&gt;
&lt;br /&gt;
== License Files (.rdf) ==&lt;br /&gt;
=== Attributes ===&lt;br /&gt;
&lt;br /&gt;
* cc:license&lt;br /&gt;
** about&lt;br /&gt;
** permits&lt;br /&gt;
** requires&lt;br /&gt;
** prohibits&lt;br /&gt;
* dc:title - The human readable name of the license.&lt;br /&gt;
* dc:description - Description of the license.&lt;br /&gt;
* dc:coverage - The jurisdiction of the license. (country code from [http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html ISO3166])&lt;br /&gt;
* dc:relation&lt;br /&gt;
** hasVersion - version number&lt;br /&gt;
** isReplacedBy - indicates retired license ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
** isBasedOn - indicates ported version ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
* dc:type - always &amp;quot;License&amp;quot;&lt;br /&gt;
* dc:creator&lt;br /&gt;
* dc:publisher&lt;br /&gt;
* dc:identifier - URI of license ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;rdf:RDF&lt;br /&gt;
   xmlns=&amp;quot;http://creativecommons.org/ns#&amp;quot;&lt;br /&gt;
   xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
   xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xmlns:dcq=&amp;quot;http://purl.org/dc/terms/&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;rdf:Description rdf:about=&amp;quot;http://creativecommons.org/licenses/by-nd/2.0/za/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;dc:title&amp;gt;Creative Commons Attribution No Derivatives&amp;lt;/dc:title&amp;gt;&lt;br /&gt;
    &amp;lt;dc:description&amp;gt;This license allows for redistribution, commercial and non-commercial,&lt;br /&gt;
 as long as it is passed along unchanged and in whole, with credit to you.&amp;lt;/dc:description&amp;gt;&lt;br /&gt;
    &amp;lt;dc:coverage&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:ISO3166&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;za&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:ISO3166&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:coverage&amp;gt;&lt;br /&gt;
    &amp;lt;dc:hasVersion&amp;gt;2.0&amp;lt;/dc:hasVersion&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isReplacedBy&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/za/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isReplacedBy&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isBasedOn&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isBasedOn&amp;gt;&lt;br /&gt;
    &amp;lt;dc:type&amp;gt;License&amp;lt;/dc:type&amp;gt;&lt;br /&gt;
    &amp;lt;dc:creator&amp;gt;iCommons&amp;lt;/dc:creator&amp;gt;&lt;br /&gt;
    &amp;lt;dc:publisher&amp;gt;Creative Commons&amp;lt;/dc:publisher&amp;gt;&lt;br /&gt;
    &amp;lt;dc:identifier&amp;gt;http://creativecommons.org/licenses/by-nd/2.0/za/&amp;lt;/dc:identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;rdf:type rdf:resource=&amp;quot;http://creativecommons.org/ns#License&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Distribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Reproduction&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Attribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Notice&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/rdf:Description&amp;gt;&lt;br /&gt;
&amp;lt;/rdf:RDF&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example (i18n) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;rdf:RDF&lt;br /&gt;
   xmlns=&amp;quot;http://creativecommons.org/ns#&amp;quot;&lt;br /&gt;
   xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
   xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xmlns:dcq=&amp;quot;http://purl.org/dc/terms/&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;rdf:Description rdf:about=&amp;quot;http://creativecommons.org/licenses/by-nd/2.0/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;dc:title&amp;gt;&lt;br /&gt;
        &amp;lt;rdf:Alt&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;x-default&amp;quot;&amp;gt;Creative Commons Attribution No Derivatives&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;es-cl&amp;quot;&amp;gt;Creative Commons Atribución-SinDerivadas&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
        &amp;lt;/rdf:Alt&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:title&amp;gt;&lt;br /&gt;
    &amp;lt;dc:description&amp;gt;&lt;br /&gt;
        &amp;lt;rdf:Alt&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;x-default&amp;quot;&amp;gt;This license allows for redistribution, commercial and non-commercial,&lt;br /&gt;
 as long as it is passed along unchanged and in whole, with credit to you.&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
        &amp;lt;/rdf:Alt&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:description&amp;gt;&lt;br /&gt;
    &amp;lt;dc:coverage&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:ISO3166&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;us&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:ISO3166&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:coverage&amp;gt;&lt;br /&gt;
    &amp;lt;dc:hasVersion&amp;gt;2.0&amp;lt;/dc:hasVersion&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isReplacedBy&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isReplacedBy&amp;gt;&lt;br /&gt;
    &amp;lt;dc:type&amp;gt;License&amp;lt;/dc:type&amp;gt;&lt;br /&gt;
    &amp;lt;dc:creator&amp;gt;Creative Commons&amp;lt;/dc:creator&amp;gt;&lt;br /&gt;
    &amp;lt;dc:publisher&amp;gt;Creative Commons&amp;lt;/dc:publisher&amp;gt;&lt;br /&gt;
    &amp;lt;dc:identifier&amp;gt;http://creativecommons.org/licenses/by-nd/2.0/&amp;lt;/dc:identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;rdf:type rdf:resource=&amp;quot;http://creativecommons.org/ns#License&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Distribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Reproduction&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Attribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Notice&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/rdf:Description&amp;gt;&lt;br /&gt;
&amp;lt;/rdf:RDF&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Desktop Integration ==&lt;br /&gt;
&lt;br /&gt;
See [[Desktop Integration]]&lt;br /&gt;
&lt;br /&gt;
=== Gnome Summit Discussion ===&lt;br /&gt;
&lt;br /&gt;
At the Gnome Summit we explored adding CC licensing to various Gnome applications.  Application developers appeared to have a few needs:&lt;br /&gt;
&lt;br /&gt;
* They want to display the appropriate icon (or other) for a particular license.  For instance, AbiWord could display a small icon representing license status in the tool bar.  Music players could display the icon in the controls area.  A music streaming app might want to play a 5 second &amp;quot;Now entering the Creative Commons&amp;quot; chime (much like radio station identification, but for licenses).&lt;br /&gt;
* They want to allow the user to easily select a license.  This would probably be a wizard that asks the user questions and tries to select the most appropriate license from all that it knows about.  Much like a file selection dialog, but navigating licenses instead of your file system.&lt;br /&gt;
&lt;br /&gt;
A low-level liblicense could handle XML parsing required.  It would allow the client to determine the questions that need to be asked to select a license, and to download any icons, blurbs, etc for all known license types.&lt;br /&gt;
&lt;br /&gt;
The low-level library solves the first problem above, but not the second.  It's still too difficult to ask the user to select a license.  Layered on top of the low-level library would be any number of high level libraries that would convert the textual questions into GUI widgets and present them using the appropriate toolkit (GTK+ / KDE / Cocoa / Win32 / etc).  This way, adding license awareness to an application should be as easy as &amp;quot;license=SFGetLicense(); saveDocument(license)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Accessories ===&lt;br /&gt;
* CLI&lt;br /&gt;
** license (bundled) - simple cli program to license files.&lt;br /&gt;
** .license/default engine - a .license directory will contain the user's default setting, other config info and the user's licenses.&lt;br /&gt;
* Gnome&lt;br /&gt;
** Gnome Settings frontend. - set the default license through the gnome settings interface.&lt;br /&gt;
** Nautilus Frontend Extension - set and read licenses through nautilus.&lt;br /&gt;
** License chooser (app.) - license chooser for setting default and per file licenses. (GUI license)&lt;br /&gt;
** GTK widget&lt;br /&gt;
** Gconf config module.&lt;br /&gt;
* Sugar&lt;br /&gt;
** Journal Backend&lt;br /&gt;
** Journal Frontend&lt;br /&gt;
* KDE3 (???)&lt;br /&gt;
* KDE4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Roadmap ==&lt;br /&gt;
=== 0.1 ===&lt;br /&gt;
* Initial release. ('''done''')&lt;br /&gt;
* All CC licenses. ('''done''')&lt;br /&gt;
* CLI tools. ('''done''')&lt;br /&gt;
* Modules. ('''done''')&lt;br /&gt;
** Exempi embed. ('''done''')&lt;br /&gt;
** Exempi XMP sidecar. ('''done''')&lt;br /&gt;
* Make light blog post about release on techblog, explain early state ('''done''')&lt;br /&gt;
&lt;br /&gt;
=== 0.3 ===&lt;br /&gt;
* Optimization - namely caching in some way.  Should not access file every attribute request.&lt;br /&gt;
* Gnome tools. ('''done''')&lt;br /&gt;
** Nautilus frontend. ('''done''')&lt;br /&gt;
** Gnome settings frontend. ('''done''')&lt;br /&gt;
** GTK License chooser. (See mockups) ('''done''')&lt;br /&gt;
* File embed preference over external storage. (Use external only as needed.) ('''done''')&lt;br /&gt;
* Store default jurisdiction. ('''done - default license is in default jurisdiction''')&lt;br /&gt;
* Modules.&lt;br /&gt;
** vorbiscomment ('''done''')&lt;br /&gt;
** ...&lt;br /&gt;
* Do big release on main CC blog and across various chat and mailing lists to pick-up people, lots of them...&lt;br /&gt;
* Do [[liblicense 03 release todo]]&lt;br /&gt;
&lt;br /&gt;
=== 0.4 ===&lt;br /&gt;
* Further refinement.&lt;br /&gt;
* Sugar tools.&lt;br /&gt;
** Journal integration.&lt;br /&gt;
* Another major announcement&lt;br /&gt;
* [[liblicense 04 release todo]]&lt;br /&gt;
&lt;br /&gt;
=== 0.5 ===&lt;br /&gt;
&lt;br /&gt;
* more!&lt;br /&gt;
&lt;br /&gt;
=== 0.6 ===&lt;br /&gt;
&lt;br /&gt;
* more!&lt;br /&gt;
&lt;br /&gt;
=== 0.7 ===&lt;br /&gt;
&lt;br /&gt;
* more!&lt;br /&gt;
&lt;br /&gt;
=== 0.8 ===&lt;br /&gt;
&lt;br /&gt;
* more!&lt;br /&gt;
&lt;br /&gt;
=== 0.9 ===&lt;br /&gt;
&lt;br /&gt;
* more!&lt;br /&gt;
&lt;br /&gt;
=== 1.0 ===&lt;br /&gt;
&lt;br /&gt;
* more!&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense&amp;diff=8469</id>
		<title>Liblicense</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense&amp;diff=8469"/>
				<updated>2007-08-24T16:56:59Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Developer]]&lt;br /&gt;
[[Category:Metadata]]&lt;br /&gt;
[[Category:Desktop]]&lt;br /&gt;
[[Category:Labs]]&lt;br /&gt;
[[Category:Tools]]&lt;br /&gt;
[[Category:Specification]]&lt;br /&gt;
[[Category:Operating System]]&lt;br /&gt;
[[Category:Technology]]&lt;br /&gt;
A library for managing license metadata, in particular CC licensing information.&lt;br /&gt;
&lt;br /&gt;
The idea of this library started out on the [[IRC]] channel, in a discussion on how to best help boost the community of software&lt;br /&gt;
developers working with things related to CC - mostly the metadata format.&lt;br /&gt;
&lt;br /&gt;
Basically, the idea is to write a portable C library that manages metadata for CC licenses, and a bunch of other licenses of interest to the community.&lt;br /&gt;
&lt;br /&gt;
The library will produce licensing information based on the specifications of calling libraries and programs. In addition to generating text for specific licenses, it will also allow an application to enumerate which licenses are currently available and provide descriptive text for each license, and for license features. It should also provide an easy way to specify &amp;quot;verify at&amp;quot; URLs.&lt;br /&gt;
&lt;br /&gt;
The benefit of this library is that applications linking to it can correctly offer licensing choices, and these choices can be transparently updated through package managers as license versions are updated. Human readable descriptions will also be internationalized, preferably using the same .po files used by the CC web site. Hence liblicense will take advantage of package updating and i18n systems to allow applications to always provide c&lt;br /&gt;
current and correct licensing choices and license text.&lt;br /&gt;
&lt;br /&gt;
Part of the project is also to provide wrappers for the library for other languages, and to help external developers add metadata support to their projects. A good start will probably be to wrap the library for Python, and use it for ccpublisher.&lt;br /&gt;
&lt;br /&gt;
We will also integrate a module system so that libraries can be used to embed and extract metadata in/from common formats.&lt;br /&gt;
&lt;br /&gt;
As liblicense itself deals only with text strings, we can also make GUI libraries to provide dialogs which present these strings to the user in desktop or web applications. This layering ensures that such dialogs present consistent licensing choices.&lt;br /&gt;
&lt;br /&gt;
== Get liblicense ==&lt;br /&gt;
&lt;br /&gt;
* [https://sourceforge.net/project/showfiles.php?group_id=80503&amp;amp;package_id=238700 Latest Release from Sourceforge.net]&lt;br /&gt;
* Checkout liblicense module from [[SVN]]&lt;br /&gt;
* Debian and Ubuntu [http://mirrors.creativecommons.org/packages/ repositories].&lt;br /&gt;
* Read the [[Liblicense tutorial| tutorial]].&lt;br /&gt;
&lt;br /&gt;
=== Screenshots ===&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Image:Ll nautilus emblem.png|Nautilus emblem support.&lt;br /&gt;
Image:Ll nautilus.png|Nautilus file properties.&lt;br /&gt;
Image:Ll default 2.png|GTK default system license.&lt;br /&gt;
Image:Ll dolphin.png|KDE4 dolphin file properties.&lt;br /&gt;
Image:Ll kde default license.png|KDE4 default system license.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== System Overview ==&lt;br /&gt;
&lt;br /&gt;
=== Purpose ===&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
=== Architecture ===&lt;br /&gt;
[[Image:System_architecture.png]]&lt;br /&gt;
&lt;br /&gt;
=== Implementation ===&lt;br /&gt;
This library is implemented in C to allow for maximum portability.&lt;br /&gt;
&lt;br /&gt;
=== Interface ===&lt;br /&gt;
Note: All functions prepended with ll_ in C.  The header file is liblicense.h .&lt;br /&gt;
* get_config_modules() - ''returns a null terminates list of available config modules.''&lt;br /&gt;
* get_io_modules() - ''returns a null terminates list of available io modules.''&lt;br /&gt;
* get_module_symbol(module,symbol) - ''returns the requested symbol.''&lt;br /&gt;
* module_init(module) - ''Loads the module and calls its init function.''&lt;br /&gt;
* module_shutdown(module) - ''Calls the shutdown method of the module and unloads it.''&lt;br /&gt;
* io_module_mime_types(module0 - ''returns a null-terminated list of the supported mime-types.''&lt;br /&gt;
* read(filename) - ''returns the uri of the license of the given file.''&lt;br /&gt;
* module_read(filename,module) - ''returns the uri of the license of the given file while using the given module.''&lt;br /&gt;
* write(filename,uri) - ''writes the given license to the given file using all applicable modules.''&lt;br /&gt;
* module_write(filename,module,uri) - ''writes the given license to the given file using the given module.''&lt;br /&gt;
* set_default(uri)&lt;br /&gt;
* get_default()&lt;br /&gt;
* get_jurisdiction(uri) - ''returns the jurisdiction for the given license.''&lt;br /&gt;
* get_name(uri) – ''returns the name of the license.''&lt;br /&gt;
* get_version(uri) – ''returns the version of the license.''&lt;br /&gt;
* get_prohibits(uri)&lt;br /&gt;
* get_permits(uri)&lt;br /&gt;
* get_requires(uri)&lt;br /&gt;
* verify_uri(uri) - ''returns whether or not the given uri is recognized by the system.''&lt;br /&gt;
* get_all_licenses() - ''returns a null-terminated list of all general license uris available for new works.''&lt;br /&gt;
* get_licenses(juris_t) - ''returns a null-terminated list of all general licenses in a family.''&lt;br /&gt;
&lt;br /&gt;
=== Config Modules ===&lt;br /&gt;
* '''init'''() - starts the module&lt;br /&gt;
* '''shutdown'''() - shuts the module down&lt;br /&gt;
* '''get'''() - returns the current default license uri&lt;br /&gt;
* '''set'''(uri) - sets the default license uri and returns 0 upon success (non-zero for errors)&lt;br /&gt;
&lt;br /&gt;
=== I/O Modules ===&lt;br /&gt;
I/O modules are shared objects that call LL_MODULE_DEFINE(name,description,version,features,mime_types,init_func,read_func,write_func).&lt;br /&gt;
&lt;br /&gt;
* '''name'''&lt;br /&gt;
* '''description'''&lt;br /&gt;
* '''version'''&lt;br /&gt;
* '''features''' - If the module embeds the license within the file, pass LL_FEATURES_EMBED&lt;br /&gt;
* '''mime_types''' - A space-separated string of supported mime-types, or NULL if mime-type agnostic (i.e. XMP sidecar)&lt;br /&gt;
* '''init_func''' - This function will be called once before the module is used&lt;br /&gt;
* '''read_func''' - Function to be called when requested to read a license from a file.  It takes a filename and returns the license URI, or NULL if no license is present.  Should return an 'int' indicating success or failure.&lt;br /&gt;
* '''write_func''' - Function to be called when requested to write a license to a file.  The first parameter is the filename and the second is the license URI to write.  Should return an 'int' indicating success or failure.&lt;br /&gt;
&lt;br /&gt;
=== Bindings ===&lt;br /&gt;
*Python&lt;br /&gt;
*Ruby&lt;br /&gt;
&lt;br /&gt;
== License Files (.rdf) ==&lt;br /&gt;
=== Attributes ===&lt;br /&gt;
&lt;br /&gt;
* cc:license&lt;br /&gt;
** about&lt;br /&gt;
** permits&lt;br /&gt;
** requires&lt;br /&gt;
** prohibits&lt;br /&gt;
* dc:title - The human readable name of the license.&lt;br /&gt;
* dc:description - Description of the license.&lt;br /&gt;
* dc:coverage - The jurisdiction of the license. (country code from [http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html ISO3166])&lt;br /&gt;
* dc:relation&lt;br /&gt;
** hasVersion - version number&lt;br /&gt;
** isReplacedBy - indicates retired license ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
** isBasedOn - indicates ported version ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
* dc:type - always &amp;quot;License&amp;quot;&lt;br /&gt;
* dc:creator&lt;br /&gt;
* dc:publisher&lt;br /&gt;
* dc:identifier - URI of license ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;rdf:RDF&lt;br /&gt;
   xmlns=&amp;quot;http://creativecommons.org/ns#&amp;quot;&lt;br /&gt;
   xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
   xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xmlns:dcq=&amp;quot;http://purl.org/dc/terms/&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;rdf:Description rdf:about=&amp;quot;http://creativecommons.org/licenses/by-nd/2.0/za/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;dc:title&amp;gt;Creative Commons Attribution No Derivatives&amp;lt;/dc:title&amp;gt;&lt;br /&gt;
    &amp;lt;dc:description&amp;gt;This license allows for redistribution, commercial and non-commercial,&lt;br /&gt;
 as long as it is passed along unchanged and in whole, with credit to you.&amp;lt;/dc:description&amp;gt;&lt;br /&gt;
    &amp;lt;dc:coverage&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:ISO3166&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;za&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:ISO3166&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:coverage&amp;gt;&lt;br /&gt;
    &amp;lt;dc:hasVersion&amp;gt;2.0&amp;lt;/dc:hasVersion&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isReplacedBy&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/za/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isReplacedBy&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isBasedOn&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isBasedOn&amp;gt;&lt;br /&gt;
    &amp;lt;dc:type&amp;gt;License&amp;lt;/dc:type&amp;gt;&lt;br /&gt;
    &amp;lt;dc:creator&amp;gt;iCommons&amp;lt;/dc:creator&amp;gt;&lt;br /&gt;
    &amp;lt;dc:publisher&amp;gt;Creative Commons&amp;lt;/dc:publisher&amp;gt;&lt;br /&gt;
    &amp;lt;dc:identifier&amp;gt;http://creativecommons.org/licenses/by-nd/2.0/za/&amp;lt;/dc:identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;rdf:type rdf:resource=&amp;quot;http://creativecommons.org/ns#License&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Distribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Reproduction&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Attribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Notice&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/rdf:Description&amp;gt;&lt;br /&gt;
&amp;lt;/rdf:RDF&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example (i18n) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;rdf:RDF&lt;br /&gt;
   xmlns=&amp;quot;http://creativecommons.org/ns#&amp;quot;&lt;br /&gt;
   xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
   xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xmlns:dcq=&amp;quot;http://purl.org/dc/terms/&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;rdf:Description rdf:about=&amp;quot;http://creativecommons.org/licenses/by-nd/2.0/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;dc:title&amp;gt;&lt;br /&gt;
        &amp;lt;rdf:Alt&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;x-default&amp;quot;&amp;gt;Creative Commons Attribution No Derivatives&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;es-cl&amp;quot;&amp;gt;Creative Commons Atribución-SinDerivadas&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
        &amp;lt;/rdf:Alt&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:title&amp;gt;&lt;br /&gt;
    &amp;lt;dc:description&amp;gt;&lt;br /&gt;
        &amp;lt;rdf:Alt&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;x-default&amp;quot;&amp;gt;This license allows for redistribution, commercial and non-commercial,&lt;br /&gt;
 as long as it is passed along unchanged and in whole, with credit to you.&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
        &amp;lt;/rdf:Alt&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:description&amp;gt;&lt;br /&gt;
    &amp;lt;dc:coverage&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:ISO3166&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;us&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:ISO3166&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:coverage&amp;gt;&lt;br /&gt;
    &amp;lt;dc:hasVersion&amp;gt;2.0&amp;lt;/dc:hasVersion&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isReplacedBy&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isReplacedBy&amp;gt;&lt;br /&gt;
    &amp;lt;dc:type&amp;gt;License&amp;lt;/dc:type&amp;gt;&lt;br /&gt;
    &amp;lt;dc:creator&amp;gt;Creative Commons&amp;lt;/dc:creator&amp;gt;&lt;br /&gt;
    &amp;lt;dc:publisher&amp;gt;Creative Commons&amp;lt;/dc:publisher&amp;gt;&lt;br /&gt;
    &amp;lt;dc:identifier&amp;gt;http://creativecommons.org/licenses/by-nd/2.0/&amp;lt;/dc:identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;rdf:type rdf:resource=&amp;quot;http://creativecommons.org/ns#License&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Distribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Reproduction&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Attribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Notice&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/rdf:Description&amp;gt;&lt;br /&gt;
&amp;lt;/rdf:RDF&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Desktop Integration ==&lt;br /&gt;
&lt;br /&gt;
See [[Desktop Integration]]&lt;br /&gt;
&lt;br /&gt;
=== Gnome Summit Discussion ===&lt;br /&gt;
&lt;br /&gt;
At the Gnome Summit we explored adding CC licensing to various Gnome applications.  Application developers appeared to have a few needs:&lt;br /&gt;
&lt;br /&gt;
* They want to display the appropriate icon (or other) for a particular license.  For instance, AbiWord could display a small icon representing license status in the tool bar.  Music players could display the icon in the controls area.  A music streaming app might want to play a 5 second &amp;quot;Now entering the Creative Commons&amp;quot; chime (much like radio station identification, but for licenses).&lt;br /&gt;
* They want to allow the user to easily select a license.  This would probably be a wizard that asks the user questions and tries to select the most appropriate license from all that it knows about.  Much like a file selection dialog, but navigating licenses instead of your file system.&lt;br /&gt;
&lt;br /&gt;
A low-level liblicense could handle XML parsing required.  It would allow the client to determine the questions that need to be asked to select a license, and to download any icons, blurbs, etc for all known license types.&lt;br /&gt;
&lt;br /&gt;
The low-level library solves the first problem above, but not the second.  It's still too difficult to ask the user to select a license.  Layered on top of the low-level library would be any number of high level libraries that would convert the textual questions into GUI widgets and present them using the appropriate toolkit (GTK+ / KDE / Cocoa / Win32 / etc).  This way, adding license awareness to an application should be as easy as &amp;quot;license=SFGetLicense(); saveDocument(license)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Accessories ===&lt;br /&gt;
* CLI&lt;br /&gt;
** license (bundled) - simple cli program to license files.&lt;br /&gt;
** .license/default engine - a .license directory will contain the user's default setting, other config info and the user's licenses.&lt;br /&gt;
* Gnome&lt;br /&gt;
** Gnome Settings frontend. - set the default license through the gnome settings interface.&lt;br /&gt;
** Nautilus Frontend Extension - set and read licenses through nautilus.&lt;br /&gt;
** License chooser (app.) - license chooser for setting default and per file licenses. (GUI license)&lt;br /&gt;
** GTK widget&lt;br /&gt;
** Gconf config module.&lt;br /&gt;
* Sugar&lt;br /&gt;
** Journal Backend&lt;br /&gt;
** Journal Frontend&lt;br /&gt;
* KDE3 (???)&lt;br /&gt;
* KDE4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Roadmap ==&lt;br /&gt;
=== 0.1 ===&lt;br /&gt;
* Initial release. ('''done''')&lt;br /&gt;
* All CC licenses. ('''done''')&lt;br /&gt;
* CLI tools. ('''done''')&lt;br /&gt;
* Modules. ('''done''')&lt;br /&gt;
** Exempi embed. ('''done''')&lt;br /&gt;
** Exempi XMP sidecar. ('''done''')&lt;br /&gt;
* Make light blog post about release on techblog, explain early state ('''done''')&lt;br /&gt;
&lt;br /&gt;
=== 0.3 ===&lt;br /&gt;
* Optimization - namely caching in some way.  Should not access file every attribute request.&lt;br /&gt;
* Gnome tools. ('''done''')&lt;br /&gt;
** Nautilus frontend. ('''done''')&lt;br /&gt;
** Gnome settings frontend. ('''done''')&lt;br /&gt;
** GTK License chooser. (See mockups) ('''done''')&lt;br /&gt;
* File embed preference over external storage. (Use external only as needed.) ('''done''')&lt;br /&gt;
* Store default jurisdiction. ('''done - default license is in default jurisdiction''')&lt;br /&gt;
* Modules.&lt;br /&gt;
** vorbiscomment ('''done''')&lt;br /&gt;
** ...&lt;br /&gt;
* Do big release on main CC blog and across various chat and mailing lists to pick-up people, lots of them...&lt;br /&gt;
* Do [[liblicense 03 release todo]]&lt;br /&gt;
&lt;br /&gt;
=== 0.4 ===&lt;br /&gt;
* Further refinement.&lt;br /&gt;
* Sugar tools.&lt;br /&gt;
** Journal integration.&lt;br /&gt;
* Another major announcement&lt;br /&gt;
* [[liblicense 04 release todo]]&lt;br /&gt;
&lt;br /&gt;
=== 0.5 ===&lt;br /&gt;
&lt;br /&gt;
* more!&lt;br /&gt;
&lt;br /&gt;
=== 0.6 ===&lt;br /&gt;
&lt;br /&gt;
* more!&lt;br /&gt;
&lt;br /&gt;
=== 0.7 ===&lt;br /&gt;
&lt;br /&gt;
* more!&lt;br /&gt;
&lt;br /&gt;
=== 0.8 ===&lt;br /&gt;
&lt;br /&gt;
* more!&lt;br /&gt;
&lt;br /&gt;
=== 0.9 ===&lt;br /&gt;
&lt;br /&gt;
* more!&lt;br /&gt;
&lt;br /&gt;
=== 1.0 ===&lt;br /&gt;
&lt;br /&gt;
* more!&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense&amp;diff=8468</id>
		<title>Liblicense</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense&amp;diff=8468"/>
				<updated>2007-08-24T16:50:49Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: /* Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Developer]]&lt;br /&gt;
[[Category:Metadata]]&lt;br /&gt;
[[Category:Desktop]]&lt;br /&gt;
[[Category:Labs]]&lt;br /&gt;
[[Category:Tools]]&lt;br /&gt;
[[Category:Specification]]&lt;br /&gt;
[[Category:Operating System]]&lt;br /&gt;
[[Category:Technology]]&lt;br /&gt;
A library for managing license metadata, in particular CC licensing information.&lt;br /&gt;
&lt;br /&gt;
The idea of this library started out on the [[IRC]] channel, in a discussion on how to best help boost the community of software&lt;br /&gt;
developers working with things related to CC - mostly the metadata format.&lt;br /&gt;
&lt;br /&gt;
Basically, the idea is to write a portable C library that manages metadata for CC licenses, and a bunch of other licenses of interest to the community.&lt;br /&gt;
&lt;br /&gt;
The library will produce licensing information based on the specifications of calling libraries and programs. In addition to generating text for specific licenses, it will also allow an application to enumerate which licenses are currently available and provide descriptive text for each license, and for license features. It should also provide an easy way to specify &amp;quot;verify at&amp;quot; URLs.&lt;br /&gt;
&lt;br /&gt;
The benefit of this library is that applications linking to it can correctly offer licensing choices, and these choices can be transparently updated through package managers as license versions are updated. Human readable descriptions will also be internationalized, preferably using the same .po files used by the CC web site. Hence liblicense will take advantage of package updating and i18n systems to allow applications to always provide c&lt;br /&gt;
current and correct licensing choices and license text.&lt;br /&gt;
&lt;br /&gt;
Part of the project is also to provide wrappers for the library for other languages, and to help external developers add metadata support to their projects. A good start will probably be to wrap the library for Python, and use it for ccpublisher.&lt;br /&gt;
&lt;br /&gt;
We will also integrate a module system so that libraries can be used to embed and extract metadata in/from common formats.&lt;br /&gt;
&lt;br /&gt;
As liblicense itself deals only with text strings, we can also make GUI libraries to provide dialogs which present these strings to the user in desktop or web applications. This layering ensures that such dialogs present consistent licensing choices.&lt;br /&gt;
&lt;br /&gt;
== Get liblicense ==&lt;br /&gt;
&lt;br /&gt;
* [https://sourceforge.net/project/showfiles.php?group_id=80503&amp;amp;package_id=238700 Latest Release from Sourceforge.net]&lt;br /&gt;
* Checkout liblicense module from [[SVN]]&lt;br /&gt;
* Debian and Ubuntu [http://mirrors.creativecommons.org/packages/ repositories].&lt;br /&gt;
* Read the [[Liblicense tutorial| tutorial]].&lt;br /&gt;
&lt;br /&gt;
=== Screenshots ===&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Image:Ll nautilus emblem.png|Nautilus emblem support.&lt;br /&gt;
Image:Ll nautilus.png|Nautilus file properties.&lt;br /&gt;
Image:Ll default 2.png|GTK default system license.&lt;br /&gt;
Image:Ll dolphin.png|KDE4 dolphin file properties.&lt;br /&gt;
Image:Ll kde default license.png|KDE4 default system license.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== System Overview ==&lt;br /&gt;
&lt;br /&gt;
=== Purpose ===&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
=== Architecture ===&lt;br /&gt;
[[Image:System_architecture.png]]&lt;br /&gt;
&lt;br /&gt;
=== Implementation ===&lt;br /&gt;
This library is implemented in C to allow for maximum portability.&lt;br /&gt;
&lt;br /&gt;
=== Interface ===&lt;br /&gt;
Note: All functions prepended with ll_ in C.  The header file is liblicense.h .&lt;br /&gt;
* get_config_modules() - ''returns a null terminates list of available config modules.''&lt;br /&gt;
* get_io_modules() - ''returns a null terminates list of available io modules.''&lt;br /&gt;
* get_module_symbol(module,symbol) - ''returns the requested symbol.''&lt;br /&gt;
* module_init(module) - ''Loads the module and calls its init function.''&lt;br /&gt;
* module_shutdown(module) - ''Calls the shutdown method of the module and unloads it.''&lt;br /&gt;
* io_module_mime_types(module0 - ''returns a null-terminated list of the supported mime-types.''&lt;br /&gt;
* read(filename) - ''returns the uri of the license of the given file.''&lt;br /&gt;
* module_read(filename,module) - ''returns the uri of the license of the given file while using the given module.''&lt;br /&gt;
* write(filename,uri) - ''writes the given license to the given file using all applicable modules.''&lt;br /&gt;
* module_write(filename,module,uri) - ''writes the given license to the given file using the given module.''&lt;br /&gt;
* set_default(uri)&lt;br /&gt;
* get_default()&lt;br /&gt;
* get_jurisdiction(uri) - ''returns the jurisdiction for the given license.''&lt;br /&gt;
* get_name(uri) – ''returns the name of the license.''&lt;br /&gt;
* get_version(uri) – ''returns the version of the license.''&lt;br /&gt;
* get_prohibits(uri)&lt;br /&gt;
* get_permits(uri)&lt;br /&gt;
* get_requires(uri)&lt;br /&gt;
* verify_uri(uri) - ''returns whether or not the given uri is recognized by the system.''&lt;br /&gt;
* get_all_licenses() - ''returns a null-terminated list of all general license uris available for new works.''&lt;br /&gt;
* get_licenses(juris_t) - ''returns a null-terminated list of all general licenses in a family.''&lt;br /&gt;
&lt;br /&gt;
=== Data Structure ===&lt;br /&gt;
* Data Types (informal)&lt;br /&gt;
** uri&lt;br /&gt;
** name&lt;br /&gt;
** notification&lt;br /&gt;
** deed&lt;br /&gt;
** sampling&lt;br /&gt;
&lt;br /&gt;
=== Config Modules ===&lt;br /&gt;
* '''init'''() - starts the module&lt;br /&gt;
* '''shutdown'''() - shuts the module down&lt;br /&gt;
* '''get'''() - returns the current default license uri&lt;br /&gt;
* '''set'''(uri) - sets the default license uri and returns 0 upon success (non-zero for errors)&lt;br /&gt;
&lt;br /&gt;
=== I/O Modules ===&lt;br /&gt;
I/O modules are shared objects that call LL_MODULE_DEFINE(name,description,version,features,mime_types,init_func,read_func,write_func).&lt;br /&gt;
&lt;br /&gt;
* '''name'''&lt;br /&gt;
* '''description'''&lt;br /&gt;
* '''version'''&lt;br /&gt;
* '''features''' - If the module embeds the license within the file, pass LL_FEATURES_EMBED&lt;br /&gt;
* '''mime_types''' - A space-separated string of supported mime-types, or NULL if mime-type agnostic (i.e. XMP sidecar)&lt;br /&gt;
* '''init_func''' - This function will be called once before the module is used&lt;br /&gt;
* '''read_func''' - Function to be called when requested to read a license from a file.  It takes a filename and returns the license URI, or NULL if no license is present.  Should return an 'int' indicating success or failure.&lt;br /&gt;
* '''write_func''' - Function to be called when requested to write a license to a file.  The first parameter is the filename and the second is the license URI to write.  Should return an 'int' indicating success or failure.&lt;br /&gt;
&lt;br /&gt;
=== Bindings ===&lt;br /&gt;
*Python&lt;br /&gt;
*Ruby&lt;br /&gt;
&lt;br /&gt;
== License Files (.rdf) ==&lt;br /&gt;
=== Attributes ===&lt;br /&gt;
&lt;br /&gt;
* cc:license&lt;br /&gt;
** about&lt;br /&gt;
** permits&lt;br /&gt;
** requires&lt;br /&gt;
** prohibits&lt;br /&gt;
* dc:title - The human readable name of the license.&lt;br /&gt;
* dc:description - Description of the license.&lt;br /&gt;
* dc:coverage - The jurisdiction of the license. (country code from [http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html ISO3166])&lt;br /&gt;
* dc:relation&lt;br /&gt;
** hasVersion - version number&lt;br /&gt;
** isReplacedBy - indicates retired license ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
** isBasedOn - indicates ported version ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
* dc:type - always &amp;quot;License&amp;quot;&lt;br /&gt;
* dc:creator&lt;br /&gt;
* dc:publisher&lt;br /&gt;
* dc:identifier - URI of license ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;rdf:RDF&lt;br /&gt;
   xmlns=&amp;quot;http://creativecommons.org/ns#&amp;quot;&lt;br /&gt;
   xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
   xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xmlns:dcq=&amp;quot;http://purl.org/dc/terms/&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;rdf:Description rdf:about=&amp;quot;http://creativecommons.org/licenses/by-nd/2.0/za/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;dc:title&amp;gt;Creative Commons Attribution No Derivatives&amp;lt;/dc:title&amp;gt;&lt;br /&gt;
    &amp;lt;dc:description&amp;gt;This license allows for redistribution, commercial and non-commercial,&lt;br /&gt;
 as long as it is passed along unchanged and in whole, with credit to you.&amp;lt;/dc:description&amp;gt;&lt;br /&gt;
    &amp;lt;dc:coverage&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:ISO3166&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;za&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:ISO3166&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:coverage&amp;gt;&lt;br /&gt;
    &amp;lt;dc:hasVersion&amp;gt;2.0&amp;lt;/dc:hasVersion&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isReplacedBy&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/za/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isReplacedBy&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isBasedOn&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isBasedOn&amp;gt;&lt;br /&gt;
    &amp;lt;dc:type&amp;gt;License&amp;lt;/dc:type&amp;gt;&lt;br /&gt;
    &amp;lt;dc:creator&amp;gt;iCommons&amp;lt;/dc:creator&amp;gt;&lt;br /&gt;
    &amp;lt;dc:publisher&amp;gt;Creative Commons&amp;lt;/dc:publisher&amp;gt;&lt;br /&gt;
    &amp;lt;dc:identifier&amp;gt;http://creativecommons.org/licenses/by-nd/2.0/za/&amp;lt;/dc:identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;rdf:type rdf:resource=&amp;quot;http://creativecommons.org/ns#License&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Distribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Reproduction&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Attribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Notice&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/rdf:Description&amp;gt;&lt;br /&gt;
&amp;lt;/rdf:RDF&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example (i18n) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;rdf:RDF&lt;br /&gt;
   xmlns=&amp;quot;http://creativecommons.org/ns#&amp;quot;&lt;br /&gt;
   xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
   xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xmlns:dcq=&amp;quot;http://purl.org/dc/terms/&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;rdf:Description rdf:about=&amp;quot;http://creativecommons.org/licenses/by-nd/2.0/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;dc:title&amp;gt;&lt;br /&gt;
        &amp;lt;rdf:Alt&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;x-default&amp;quot;&amp;gt;Creative Commons Attribution No Derivatives&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;es-cl&amp;quot;&amp;gt;Creative Commons Atribución-SinDerivadas&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
        &amp;lt;/rdf:Alt&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:title&amp;gt;&lt;br /&gt;
    &amp;lt;dc:description&amp;gt;&lt;br /&gt;
        &amp;lt;rdf:Alt&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;x-default&amp;quot;&amp;gt;This license allows for redistribution, commercial and non-commercial,&lt;br /&gt;
 as long as it is passed along unchanged and in whole, with credit to you.&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
        &amp;lt;/rdf:Alt&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:description&amp;gt;&lt;br /&gt;
    &amp;lt;dc:coverage&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:ISO3166&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;us&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:ISO3166&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:coverage&amp;gt;&lt;br /&gt;
    &amp;lt;dc:hasVersion&amp;gt;2.0&amp;lt;/dc:hasVersion&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isReplacedBy&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isReplacedBy&amp;gt;&lt;br /&gt;
    &amp;lt;dc:type&amp;gt;License&amp;lt;/dc:type&amp;gt;&lt;br /&gt;
    &amp;lt;dc:creator&amp;gt;Creative Commons&amp;lt;/dc:creator&amp;gt;&lt;br /&gt;
    &amp;lt;dc:publisher&amp;gt;Creative Commons&amp;lt;/dc:publisher&amp;gt;&lt;br /&gt;
    &amp;lt;dc:identifier&amp;gt;http://creativecommons.org/licenses/by-nd/2.0/&amp;lt;/dc:identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;rdf:type rdf:resource=&amp;quot;http://creativecommons.org/ns#License&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Distribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Reproduction&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Attribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Notice&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/rdf:Description&amp;gt;&lt;br /&gt;
&amp;lt;/rdf:RDF&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Desktop Integration ==&lt;br /&gt;
&lt;br /&gt;
See [[Desktop Integration]]&lt;br /&gt;
&lt;br /&gt;
=== Gnome Summit Discussion ===&lt;br /&gt;
&lt;br /&gt;
At the Gnome Summit we explored adding CC licensing to various Gnome applications.  Application developers appeared to have a few needs:&lt;br /&gt;
&lt;br /&gt;
* They want to display the appropriate icon (or other) for a particular license.  For instance, AbiWord could display a small icon representing license status in the tool bar.  Music players could display the icon in the controls area.  A music streaming app might want to play a 5 second &amp;quot;Now entering the Creative Commons&amp;quot; chime (much like radio station identification, but for licenses).&lt;br /&gt;
* They want to allow the user to easily select a license.  This would probably be a wizard that asks the user questions and tries to select the most appropriate license from all that it knows about.  Much like a file selection dialog, but navigating licenses instead of your file system.&lt;br /&gt;
&lt;br /&gt;
A low-level liblicense could handle XML parsing required.  It would allow the client to determine the questions that need to be asked to select a license, and to download any icons, blurbs, etc for all known license types.&lt;br /&gt;
&lt;br /&gt;
The low-level library solves the first problem above, but not the second.  It's still too difficult to ask the user to select a license.  Layered on top of the low-level library would be any number of high level libraries that would convert the textual questions into GUI widgets and present them using the appropriate toolkit (GTK+ / KDE / Cocoa / Win32 / etc).  This way, adding license awareness to an application should be as easy as &amp;quot;license=SFGetLicense(); saveDocument(license)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Accessories ===&lt;br /&gt;
* CLI&lt;br /&gt;
** license (bundled) - simple cli program to license files.&lt;br /&gt;
** .license/default engine - a .license directory will contain the user's default setting, other config info and the user's licenses.&lt;br /&gt;
* Gnome&lt;br /&gt;
** Gnome Settings frontend. - set the default license through the gnome settings interface.&lt;br /&gt;
** Nautilus Frontend Extension - set and read licenses through nautilus.&lt;br /&gt;
** License chooser (app.) - license chooser for setting default and per file licenses. (GUI license)&lt;br /&gt;
** GTK widget&lt;br /&gt;
** Gconf config module.&lt;br /&gt;
* Sugar&lt;br /&gt;
** Journal Backend&lt;br /&gt;
** Journal Frontend&lt;br /&gt;
* KDE3 (???)&lt;br /&gt;
* KDE4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Roadmap ==&lt;br /&gt;
=== 0.1 ===&lt;br /&gt;
* Initial release. ('''done''')&lt;br /&gt;
* All CC licenses. ('''done''')&lt;br /&gt;
* CLI tools. ('''done''')&lt;br /&gt;
* Modules. ('''done''')&lt;br /&gt;
** Exempi embed. ('''done''')&lt;br /&gt;
** Exempi XMP sidecar. ('''done''')&lt;br /&gt;
* Make light blog post about release on techblog, explain early state ('''done''')&lt;br /&gt;
&lt;br /&gt;
=== 0.3 ===&lt;br /&gt;
* Optimization - namely caching in some way.  Should not access file every attribute request.&lt;br /&gt;
* Gnome tools. ('''done''')&lt;br /&gt;
** Nautilus frontend. ('''done''')&lt;br /&gt;
** Gnome settings frontend. ('''done''')&lt;br /&gt;
** GTK License chooser. (See mockups) ('''done''')&lt;br /&gt;
* File embed preference over external storage. (Use external only as needed.) ('''done''')&lt;br /&gt;
* Store default jurisdiction. ('''done - default license is in default jurisdiction''')&lt;br /&gt;
* Modules.&lt;br /&gt;
** vorbiscomment ('''done''')&lt;br /&gt;
** ...&lt;br /&gt;
* Do big release on main CC blog and across various chat and mailing lists to pick-up people, lots of them...&lt;br /&gt;
* Do [[liblicense 03 release todo]]&lt;br /&gt;
&lt;br /&gt;
=== 0.4 ===&lt;br /&gt;
* Further refinement.&lt;br /&gt;
* Sugar tools.&lt;br /&gt;
** Journal integration.&lt;br /&gt;
* Another major announcement&lt;br /&gt;
* [[liblicense 04 release todo]]&lt;br /&gt;
&lt;br /&gt;
=== 0.5 ===&lt;br /&gt;
&lt;br /&gt;
* more!&lt;br /&gt;
&lt;br /&gt;
=== 0.6 ===&lt;br /&gt;
&lt;br /&gt;
* more!&lt;br /&gt;
&lt;br /&gt;
=== 0.7 ===&lt;br /&gt;
&lt;br /&gt;
* more!&lt;br /&gt;
&lt;br /&gt;
=== 0.8 ===&lt;br /&gt;
&lt;br /&gt;
* more!&lt;br /&gt;
&lt;br /&gt;
=== 0.9 ===&lt;br /&gt;
&lt;br /&gt;
* more!&lt;br /&gt;
&lt;br /&gt;
=== 1.0 ===&lt;br /&gt;
&lt;br /&gt;
* more!&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense&amp;diff=8467</id>
		<title>Liblicense</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense&amp;diff=8467"/>
				<updated>2007-08-24T16:49:47Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: /* Interface */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Developer]]&lt;br /&gt;
[[Category:Metadata]]&lt;br /&gt;
[[Category:Desktop]]&lt;br /&gt;
[[Category:Labs]]&lt;br /&gt;
[[Category:Tools]]&lt;br /&gt;
[[Category:Specification]]&lt;br /&gt;
[[Category:Operating System]]&lt;br /&gt;
[[Category:Technology]]&lt;br /&gt;
A library for managing license metadata, in particular CC licensing information.&lt;br /&gt;
&lt;br /&gt;
The idea of this library started out on the [[IRC]] channel, in a discussion on how to best help boost the community of software&lt;br /&gt;
developers working with things related to CC - mostly the metadata format.&lt;br /&gt;
&lt;br /&gt;
Basically, the idea is to write a portable C library that manages metadata for CC licenses, and a bunch of other licenses of interest to the community.&lt;br /&gt;
&lt;br /&gt;
The library will produce licensing information based on the specifications of calling libraries and programs. In addition to generating text for specific licenses, it will also allow an application to enumerate which licenses are currently available and provide descriptive text for each license, and for license features. It should also provide an easy way to specify &amp;quot;verify at&amp;quot; URLs.&lt;br /&gt;
&lt;br /&gt;
The benefit of this library is that applications linking to it can correctly offer licensing choices, and these choices can be transparently updated through package managers as license versions are updated. Human readable descriptions will also be internationalized, preferably using the same .po files used by the CC web site. Hence liblicense will take advantage of package updating and i18n systems to allow applications to always provide c&lt;br /&gt;
current and correct licensing choices and license text.&lt;br /&gt;
&lt;br /&gt;
Part of the project is also to provide wrappers for the library for other languages, and to help external developers add metadata support to their projects. A good start will probably be to wrap the library for Python, and use it for ccpublisher.&lt;br /&gt;
&lt;br /&gt;
We will also integrate a module system so that libraries can be used to embed and extract metadata in/from common formats.&lt;br /&gt;
&lt;br /&gt;
As liblicense itself deals only with text strings, we can also make GUI libraries to provide dialogs which present these strings to the user in desktop or web applications. This layering ensures that such dialogs present consistent licensing choices.&lt;br /&gt;
&lt;br /&gt;
== Get liblicense ==&lt;br /&gt;
&lt;br /&gt;
* [https://sourceforge.net/project/showfiles.php?group_id=80503&amp;amp;package_id=238700 Latest Release from Sourceforge.net]&lt;br /&gt;
* Checkout liblicense module from [[SVN]]&lt;br /&gt;
* Debian and Ubuntu [http://mirrors.creativecommons.org/packages/ repositories].&lt;br /&gt;
* Read the [[Liblicense tutorial| tutorial]].&lt;br /&gt;
&lt;br /&gt;
=== Screenshots ===&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Image:Ll nautilus emblem.png|Nautilus emblem support.&lt;br /&gt;
Image:Ll nautilus.png|Nautilus file properties.&lt;br /&gt;
Image:Ll default 2.png|GTK default system license.&lt;br /&gt;
Image:Ll dolphin.png|KDE4 dolphin file properties.&lt;br /&gt;
Image:Ll kde default license.png|KDE4 default system license.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== System Overview ==&lt;br /&gt;
&lt;br /&gt;
=== Purpose ===&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
=== Architecture ===&lt;br /&gt;
[[Image:System_architecture.png]]&lt;br /&gt;
&lt;br /&gt;
=== Implementation ===&lt;br /&gt;
This library will be implemented in C to provide maximum portability.&lt;br /&gt;
&lt;br /&gt;
=== Interface ===&lt;br /&gt;
Note: All functions prepended with ll_ in C.  The header file is liblicense.h .&lt;br /&gt;
* get_config_modules() - ''returns a null terminates list of available config modules.''&lt;br /&gt;
* get_io_modules() - ''returns a null terminates list of available io modules.''&lt;br /&gt;
* get_module_symbol(module,symbol) - ''returns the requested symbol.''&lt;br /&gt;
* module_init(module) - ''Loads the module and calls its init function.''&lt;br /&gt;
* module_shutdown(module) - ''Calls the shutdown method of the module and unloads it.''&lt;br /&gt;
* io_module_mime_types(module0 - ''returns a null-terminated list of the supported mime-types.''&lt;br /&gt;
* read(filename) - ''returns the uri of the license of the given file.''&lt;br /&gt;
* module_read(filename,module) - ''returns the uri of the license of the given file while using the given module.''&lt;br /&gt;
* write(filename,uri) - ''writes the given license to the given file using all applicable modules.''&lt;br /&gt;
* module_write(filename,module,uri) - ''writes the given license to the given file using the given module.''&lt;br /&gt;
* set_default(uri)&lt;br /&gt;
* get_default()&lt;br /&gt;
* get_jurisdiction(uri) - ''returns the jurisdiction for the given license.''&lt;br /&gt;
* get_name(uri) – ''returns the name of the license.''&lt;br /&gt;
* get_version(uri) – ''returns the version of the license.''&lt;br /&gt;
* get_prohibits(uri)&lt;br /&gt;
* get_permits(uri)&lt;br /&gt;
* get_requires(uri)&lt;br /&gt;
* verify_uri(uri) - ''returns whether or not the given uri is recognized by the system.''&lt;br /&gt;
* get_all_licenses() - ''returns a null-terminated list of all general license uris available for new works.''&lt;br /&gt;
* get_licenses(juris_t) - ''returns a null-terminated list of all general licenses in a family.''&lt;br /&gt;
&lt;br /&gt;
=== Data Structure ===&lt;br /&gt;
* Data Types (informal)&lt;br /&gt;
** uri&lt;br /&gt;
** name&lt;br /&gt;
** notification&lt;br /&gt;
** deed&lt;br /&gt;
** sampling&lt;br /&gt;
&lt;br /&gt;
=== Config Modules ===&lt;br /&gt;
* '''init'''() - starts the module&lt;br /&gt;
* '''shutdown'''() - shuts the module down&lt;br /&gt;
* '''get'''() - returns the current default license uri&lt;br /&gt;
* '''set'''(uri) - sets the default license uri and returns 0 upon success (non-zero for errors)&lt;br /&gt;
&lt;br /&gt;
=== I/O Modules ===&lt;br /&gt;
I/O modules are shared objects that call LL_MODULE_DEFINE(name,description,version,features,mime_types,init_func,read_func,write_func).&lt;br /&gt;
&lt;br /&gt;
* '''name'''&lt;br /&gt;
* '''description'''&lt;br /&gt;
* '''version'''&lt;br /&gt;
* '''features''' - If the module embeds the license within the file, pass LL_FEATURES_EMBED&lt;br /&gt;
* '''mime_types''' - A space-separated string of supported mime-types, or NULL if mime-type agnostic (i.e. XMP sidecar)&lt;br /&gt;
* '''init_func''' - This function will be called once before the module is used&lt;br /&gt;
* '''read_func''' - Function to be called when requested to read a license from a file.  It takes a filename and returns the license URI, or NULL if no license is present.  Should return an 'int' indicating success or failure.&lt;br /&gt;
* '''write_func''' - Function to be called when requested to write a license to a file.  The first parameter is the filename and the second is the license URI to write.  Should return an 'int' indicating success or failure.&lt;br /&gt;
&lt;br /&gt;
=== Bindings ===&lt;br /&gt;
*Python&lt;br /&gt;
*Ruby&lt;br /&gt;
&lt;br /&gt;
== License Files (.rdf) ==&lt;br /&gt;
=== Attributes ===&lt;br /&gt;
&lt;br /&gt;
* cc:license&lt;br /&gt;
** about&lt;br /&gt;
** permits&lt;br /&gt;
** requires&lt;br /&gt;
** prohibits&lt;br /&gt;
* dc:title - The human readable name of the license.&lt;br /&gt;
* dc:description - Description of the license.&lt;br /&gt;
* dc:coverage - The jurisdiction of the license. (country code from [http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html ISO3166])&lt;br /&gt;
* dc:relation&lt;br /&gt;
** hasVersion - version number&lt;br /&gt;
** isReplacedBy - indicates retired license ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
** isBasedOn - indicates ported version ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
* dc:type - always &amp;quot;License&amp;quot;&lt;br /&gt;
* dc:creator&lt;br /&gt;
* dc:publisher&lt;br /&gt;
* dc:identifier - URI of license ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;rdf:RDF&lt;br /&gt;
   xmlns=&amp;quot;http://creativecommons.org/ns#&amp;quot;&lt;br /&gt;
   xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
   xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xmlns:dcq=&amp;quot;http://purl.org/dc/terms/&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;rdf:Description rdf:about=&amp;quot;http://creativecommons.org/licenses/by-nd/2.0/za/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;dc:title&amp;gt;Creative Commons Attribution No Derivatives&amp;lt;/dc:title&amp;gt;&lt;br /&gt;
    &amp;lt;dc:description&amp;gt;This license allows for redistribution, commercial and non-commercial,&lt;br /&gt;
 as long as it is passed along unchanged and in whole, with credit to you.&amp;lt;/dc:description&amp;gt;&lt;br /&gt;
    &amp;lt;dc:coverage&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:ISO3166&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;za&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:ISO3166&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:coverage&amp;gt;&lt;br /&gt;
    &amp;lt;dc:hasVersion&amp;gt;2.0&amp;lt;/dc:hasVersion&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isReplacedBy&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/za/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isReplacedBy&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isBasedOn&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isBasedOn&amp;gt;&lt;br /&gt;
    &amp;lt;dc:type&amp;gt;License&amp;lt;/dc:type&amp;gt;&lt;br /&gt;
    &amp;lt;dc:creator&amp;gt;iCommons&amp;lt;/dc:creator&amp;gt;&lt;br /&gt;
    &amp;lt;dc:publisher&amp;gt;Creative Commons&amp;lt;/dc:publisher&amp;gt;&lt;br /&gt;
    &amp;lt;dc:identifier&amp;gt;http://creativecommons.org/licenses/by-nd/2.0/za/&amp;lt;/dc:identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;rdf:type rdf:resource=&amp;quot;http://creativecommons.org/ns#License&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Distribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Reproduction&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Attribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Notice&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/rdf:Description&amp;gt;&lt;br /&gt;
&amp;lt;/rdf:RDF&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example (i18n) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;rdf:RDF&lt;br /&gt;
   xmlns=&amp;quot;http://creativecommons.org/ns#&amp;quot;&lt;br /&gt;
   xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
   xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xmlns:dcq=&amp;quot;http://purl.org/dc/terms/&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;rdf:Description rdf:about=&amp;quot;http://creativecommons.org/licenses/by-nd/2.0/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;dc:title&amp;gt;&lt;br /&gt;
        &amp;lt;rdf:Alt&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;x-default&amp;quot;&amp;gt;Creative Commons Attribution No Derivatives&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;es-cl&amp;quot;&amp;gt;Creative Commons Atribución-SinDerivadas&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
        &amp;lt;/rdf:Alt&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:title&amp;gt;&lt;br /&gt;
    &amp;lt;dc:description&amp;gt;&lt;br /&gt;
        &amp;lt;rdf:Alt&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;x-default&amp;quot;&amp;gt;This license allows for redistribution, commercial and non-commercial,&lt;br /&gt;
 as long as it is passed along unchanged and in whole, with credit to you.&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
        &amp;lt;/rdf:Alt&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:description&amp;gt;&lt;br /&gt;
    &amp;lt;dc:coverage&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:ISO3166&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;us&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:ISO3166&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:coverage&amp;gt;&lt;br /&gt;
    &amp;lt;dc:hasVersion&amp;gt;2.0&amp;lt;/dc:hasVersion&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isReplacedBy&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isReplacedBy&amp;gt;&lt;br /&gt;
    &amp;lt;dc:type&amp;gt;License&amp;lt;/dc:type&amp;gt;&lt;br /&gt;
    &amp;lt;dc:creator&amp;gt;Creative Commons&amp;lt;/dc:creator&amp;gt;&lt;br /&gt;
    &amp;lt;dc:publisher&amp;gt;Creative Commons&amp;lt;/dc:publisher&amp;gt;&lt;br /&gt;
    &amp;lt;dc:identifier&amp;gt;http://creativecommons.org/licenses/by-nd/2.0/&amp;lt;/dc:identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;rdf:type rdf:resource=&amp;quot;http://creativecommons.org/ns#License&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Distribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Reproduction&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Attribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Notice&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/rdf:Description&amp;gt;&lt;br /&gt;
&amp;lt;/rdf:RDF&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Desktop Integration ==&lt;br /&gt;
&lt;br /&gt;
See [[Desktop Integration]]&lt;br /&gt;
&lt;br /&gt;
=== Gnome Summit Discussion ===&lt;br /&gt;
&lt;br /&gt;
At the Gnome Summit we explored adding CC licensing to various Gnome applications.  Application developers appeared to have a few needs:&lt;br /&gt;
&lt;br /&gt;
* They want to display the appropriate icon (or other) for a particular license.  For instance, AbiWord could display a small icon representing license status in the tool bar.  Music players could display the icon in the controls area.  A music streaming app might want to play a 5 second &amp;quot;Now entering the Creative Commons&amp;quot; chime (much like radio station identification, but for licenses).&lt;br /&gt;
* They want to allow the user to easily select a license.  This would probably be a wizard that asks the user questions and tries to select the most appropriate license from all that it knows about.  Much like a file selection dialog, but navigating licenses instead of your file system.&lt;br /&gt;
&lt;br /&gt;
A low-level liblicense could handle XML parsing required.  It would allow the client to determine the questions that need to be asked to select a license, and to download any icons, blurbs, etc for all known license types.&lt;br /&gt;
&lt;br /&gt;
The low-level library solves the first problem above, but not the second.  It's still too difficult to ask the user to select a license.  Layered on top of the low-level library would be any number of high level libraries that would convert the textual questions into GUI widgets and present them using the appropriate toolkit (GTK+ / KDE / Cocoa / Win32 / etc).  This way, adding license awareness to an application should be as easy as &amp;quot;license=SFGetLicense(); saveDocument(license)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Accessories ===&lt;br /&gt;
* CLI&lt;br /&gt;
** license (bundled) - simple cli program to license files.&lt;br /&gt;
** .license/default engine - a .license directory will contain the user's default setting, other config info and the user's licenses.&lt;br /&gt;
* Gnome&lt;br /&gt;
** Gnome Settings frontend. - set the default license through the gnome settings interface.&lt;br /&gt;
** Nautilus Frontend Extension - set and read licenses through nautilus.&lt;br /&gt;
** License chooser (app.) - license chooser for setting default and per file licenses. (GUI license)&lt;br /&gt;
** GTK widget&lt;br /&gt;
** Gconf config module.&lt;br /&gt;
* Sugar&lt;br /&gt;
** Journal Backend&lt;br /&gt;
** Journal Frontend&lt;br /&gt;
* KDE3 (???)&lt;br /&gt;
* KDE4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Roadmap ==&lt;br /&gt;
=== 0.1 ===&lt;br /&gt;
* Initial release. ('''done''')&lt;br /&gt;
* All CC licenses. ('''done''')&lt;br /&gt;
* CLI tools. ('''done''')&lt;br /&gt;
* Modules. ('''done''')&lt;br /&gt;
** Exempi embed. ('''done''')&lt;br /&gt;
** Exempi XMP sidecar. ('''done''')&lt;br /&gt;
* Make light blog post about release on techblog, explain early state ('''done''')&lt;br /&gt;
&lt;br /&gt;
=== 0.3 ===&lt;br /&gt;
* Optimization - namely caching in some way.  Should not access file every attribute request.&lt;br /&gt;
* Gnome tools. ('''done''')&lt;br /&gt;
** Nautilus frontend. ('''done''')&lt;br /&gt;
** Gnome settings frontend. ('''done''')&lt;br /&gt;
** GTK License chooser. (See mockups) ('''done''')&lt;br /&gt;
* File embed preference over external storage. (Use external only as needed.) ('''done''')&lt;br /&gt;
* Store default jurisdiction. ('''done - default license is in default jurisdiction''')&lt;br /&gt;
* Modules.&lt;br /&gt;
** vorbiscomment ('''done''')&lt;br /&gt;
** ...&lt;br /&gt;
* Do big release on main CC blog and across various chat and mailing lists to pick-up people, lots of them...&lt;br /&gt;
* Do [[liblicense 03 release todo]]&lt;br /&gt;
&lt;br /&gt;
=== 0.4 ===&lt;br /&gt;
* Further refinement.&lt;br /&gt;
* Sugar tools.&lt;br /&gt;
** Journal integration.&lt;br /&gt;
* Another major announcement&lt;br /&gt;
* [[liblicense 04 release todo]]&lt;br /&gt;
&lt;br /&gt;
=== 0.5 ===&lt;br /&gt;
&lt;br /&gt;
* more!&lt;br /&gt;
&lt;br /&gt;
=== 0.6 ===&lt;br /&gt;
&lt;br /&gt;
* more!&lt;br /&gt;
&lt;br /&gt;
=== 0.7 ===&lt;br /&gt;
&lt;br /&gt;
* more!&lt;br /&gt;
&lt;br /&gt;
=== 0.8 ===&lt;br /&gt;
&lt;br /&gt;
* more!&lt;br /&gt;
&lt;br /&gt;
=== 0.9 ===&lt;br /&gt;
&lt;br /&gt;
* more!&lt;br /&gt;
&lt;br /&gt;
=== 1.0 ===&lt;br /&gt;
&lt;br /&gt;
* more!&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_04_release_todo&amp;diff=8458</id>
		<title>Liblicense 04 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_04_release_todo&amp;diff=8458"/>
				<updated>2007-08-22T20:58:50Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* features&lt;br /&gt;
** &amp;lt;del&amp;gt;KDE4 integration&amp;lt;/del&amp;gt;&lt;br /&gt;
*** &amp;lt;del&amp;gt;system settings module&amp;lt;/del&amp;gt;&lt;br /&gt;
*** &amp;lt;del&amp;gt;file properties license tab&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;OLPC integration&amp;lt;/del&amp;gt; (nearly done but will be external of ll releases)&lt;br /&gt;
*** &amp;lt;del&amp;gt;Journal integration&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;GUI i18n (liblicense core already handled)&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;Expand liblicense API to allow dynamically populating the jurisdiction selector&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;Automated regression testing, especially for io modules.  We need to be *absolutely certain* that data won't be lost&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;ODF support (jakin) :) Solve the problem for the world and get all the fame and glory!&amp;lt;/del&amp;gt;&lt;br /&gt;
* bugs/issues&lt;br /&gt;
** &amp;lt;del&amp;gt;License chooser api ironing out (http://lists.ibiblio.org/pipermail/cc-devel/2007-July/000539.html).  I could wrap the flags to hide the bit-shifting -- but before I do that, I want feedback as to whether this design, in general, works.&amp;lt;/del&amp;gt;&lt;br /&gt;
** Use SONAME so applications can request a particular version of liblicense's API/ABI&lt;br /&gt;
*** Debian will require this (and everyone else is crazy if they don't)&lt;br /&gt;
*** I found [http://mail-index.netbsd.org/tech-toolchain/1998/07/17/0000.html one explanation] of it while Googling&lt;br /&gt;
*** Jakin: I think this is a premature concern; once things stabilize I think this is a good idea.  At version 0.3, people should expect that source and binary compatibility isn't guaranteed.&lt;br /&gt;
** &amp;lt;del&amp;gt;not clear what default-content-license does, exactly- maybe replace 'Default Content License' with 'choose the default license for new content you create' or something like that? (whatever is accurate  :) &amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;I'd get rid of the frame around the license chooser. Not used by most gnome apps.&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;URI: what goes there? I assume the license URI, but I'd expect the license chooser would set that, and it doesn't appear to.&amp;lt;/del&amp;gt; (Changed to license URI.  If license chooser doesn't set this field, then we've still got a problem)&lt;br /&gt;
** are there sample files somewhere I can test the nautilus extension on?&lt;br /&gt;
** &amp;lt;del&amp;gt;good packaging practice would break this into liblicense and liblicense-devel, one with the apps and app data another with the libraries. Not a huge deal, but would be necessary before getting it into fedora, for example.&amp;lt;/del&amp;gt;&lt;br /&gt;
*** We've broken it up into liblicense{,-kde,-gnome}&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;tag svn&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* package (liblicense, liblicense-kde, and liblicense-gnome)&lt;br /&gt;
** &amp;lt;del&amp;gt;source&amp;lt;/del&amp;gt; [https://sourceforge.net/project/showfiles.php?group_id=80503&amp;amp;package_id=238700&amp;amp;release_id=533852 sf]&lt;br /&gt;
** &amp;lt;del&amp;gt;rpm&amp;lt;/del&amp;gt;&lt;br /&gt;
** deb&lt;br /&gt;
** ebuilds (bugs 187196, 185689, and 78021 in gentoo's bugzilla)&lt;br /&gt;
&lt;br /&gt;
* Core dependencies:&lt;br /&gt;
** libraptor&lt;br /&gt;
** exempi&lt;br /&gt;
* GNOME Integration dependencies:&lt;br /&gt;
** liblicense python bindings&lt;br /&gt;
** nautilus-python&lt;br /&gt;
** gnome-python&lt;br /&gt;
* KDE4 Integration dependencies:&lt;br /&gt;
** kdelibs4 (tested on alpha2 and beta1)&lt;br /&gt;
&lt;br /&gt;
* publicity&lt;br /&gt;
** &amp;lt;del&amp;gt;freshmeat&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;sourceforge&amp;lt;/del&amp;gt;&lt;br /&gt;
** CC techblog (scott's wrap-up)&lt;br /&gt;
&lt;br /&gt;
== Asheesh's comments ==&lt;br /&gt;
=== default-content-license ===&lt;br /&gt;
* &amp;lt;del&amp;gt;In &amp;quot;Creative Commons - Attribution-NoDerivs - 3.0.0&amp;quot;, 3.0.0 really should be 3.0&amp;lt;/del&amp;gt; (API allows for arbitrary version divisions)&lt;br /&gt;
* &amp;lt;del&amp;gt;Also, default-content-license seems to allow you to check boxes to create combinations where no license exists.  That's quite odd.&amp;lt;/del&amp;gt;&lt;br /&gt;
** jakin: I don't mind.  In a general sense, those combinations could exist in the future.  This license selector is not CC specific.&lt;br /&gt;
* &amp;lt;del&amp;gt;How do I unset the default license on my desktop?  I ran it once, and it seemed to automatically save, and but I don't want to have set a default license.&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;UI is way confusing, dudes&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== /usr/bin/license ===&lt;br /&gt;
* &amp;lt;del&amp;gt;-h should mean --help&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;-m has a comma after it in --help&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;-v should mean --verbose&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;-q should mean --quiet&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;How do I *unset* a license on a document?&amp;lt;/del&amp;gt; (New flag, --remove)&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_04_release_todo&amp;diff=8451</id>
		<title>Liblicense 04 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_04_release_todo&amp;diff=8451"/>
				<updated>2007-08-21T23:49:28Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* features&lt;br /&gt;
** &amp;lt;del&amp;gt;KDE4 integration&amp;lt;/del&amp;gt;&lt;br /&gt;
*** &amp;lt;del&amp;gt;system settings module&amp;lt;/del&amp;gt;&lt;br /&gt;
*** &amp;lt;del&amp;gt;file properties license tab&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;OLPC integration&amp;lt;/del&amp;gt; (nearly done but will be external of ll releases)&lt;br /&gt;
*** &amp;lt;del&amp;gt;Journal integration&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;GUI i18n (liblicense core already handled)&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;Expand liblicense API to allow dynamically populating the jurisdiction selector&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;Automated regression testing, especially for io modules.  We need to be *absolutely certain* that data won't be lost&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;ODF support (jakin) :) Solve the problem for the world and get all the fame and glory!&amp;lt;/del&amp;gt;&lt;br /&gt;
* bugs/issues&lt;br /&gt;
** &amp;lt;del&amp;gt;License chooser api ironing out (http://lists.ibiblio.org/pipermail/cc-devel/2007-July/000539.html).  I could wrap the flags to hide the bit-shifting -- but before I do that, I want feedback as to whether this design, in general, works.&amp;lt;/del&amp;gt;&lt;br /&gt;
** Use SONAME so applications can request a particular version of liblicense's API/ABI&lt;br /&gt;
*** Debian will require this (and everyone else is crazy if they don't)&lt;br /&gt;
*** I found [http://mail-index.netbsd.org/tech-toolchain/1998/07/17/0000.html one explanation] of it while Googling&lt;br /&gt;
*** Jakin: I think this is a premature concern; once things stabilize I think this is a good idea.  At version 0.3, people should expect that source and binary compatibility isn't guaranteed.&lt;br /&gt;
** &amp;lt;del&amp;gt;not clear what default-content-license does, exactly- maybe replace 'Default Content License' with 'choose the default license for new content you create' or something like that? (whatever is accurate  :) &amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;I'd get rid of the frame around the license chooser. Not used by most gnome apps.&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;URI: what goes there? I assume the license URI, but I'd expect the license chooser would set that, and it doesn't appear to.&amp;lt;/del&amp;gt; (Changed to license URI.  If license chooser doesn't set this field, then we've still got a problem)&lt;br /&gt;
** are there sample files somewhere I can test the nautilus extension on?&lt;br /&gt;
** &amp;lt;del&amp;gt;good packaging practice would break this into liblicense and liblicense-devel, one with the apps and app data another with the libraries. Not a huge deal, but would be necessary before getting it into fedora, for example.&amp;lt;/del&amp;gt;&lt;br /&gt;
*** We've broken it up into liblicense{,-kde,-gnome}&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;tag svn&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* package (liblicense, liblicense-kde, and liblicense-gnome)&lt;br /&gt;
** &amp;lt;del&amp;gt;source&amp;lt;/del&amp;gt; [https://sourceforge.net/project/showfiles.php?group_id=80503&amp;amp;package_id=238700&amp;amp;release_id=533852 sf]&lt;br /&gt;
** rpm&lt;br /&gt;
** deb&lt;br /&gt;
** ebuilds (bugs 187196, 185689, and 78021 in gentoo's bugzilla)&lt;br /&gt;
&lt;br /&gt;
* Core dependencies:&lt;br /&gt;
** libraptor&lt;br /&gt;
** exempi&lt;br /&gt;
* GNOME Integration dependencies:&lt;br /&gt;
** liblicense python bindings&lt;br /&gt;
** nautilus-python&lt;br /&gt;
** gnome-python&lt;br /&gt;
* KDE4 Integration dependencies:&lt;br /&gt;
** kdelibs4 (tested on alpha2 and beta1)&lt;br /&gt;
&lt;br /&gt;
* publicity&lt;br /&gt;
** freshmeat&lt;br /&gt;
** sourceforge&lt;br /&gt;
** CC techblog (scott's wrap-up)&lt;br /&gt;
&lt;br /&gt;
== Asheesh's comments ==&lt;br /&gt;
=== default-content-license ===&lt;br /&gt;
* &amp;lt;del&amp;gt;In &amp;quot;Creative Commons - Attribution-NoDerivs - 3.0.0&amp;quot;, 3.0.0 really should be 3.0&amp;lt;/del&amp;gt; (API allows for arbitrary version divisions)&lt;br /&gt;
* &amp;lt;del&amp;gt;Also, default-content-license seems to allow you to check boxes to create combinations where no license exists.  That's quite odd.&amp;lt;/del&amp;gt;&lt;br /&gt;
** jakin: I don't mind.  In a general sense, those combinations could exist in the future.  This license selector is not CC specific.&lt;br /&gt;
* &amp;lt;del&amp;gt;How do I unset the default license on my desktop?  I ran it once, and it seemed to automatically save, and but I don't want to have set a default license.&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;UI is way confusing, dudes&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== /usr/bin/license ===&lt;br /&gt;
* &amp;lt;del&amp;gt;-h should mean --help&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;-m has a comma after it in --help&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;-v should mean --verbose&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;-q should mean --quiet&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;How do I *unset* a license on a document?&amp;lt;/del&amp;gt; (New flag, --remove)&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_04_release_todo&amp;diff=8448</id>
		<title>Liblicense 04 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_04_release_todo&amp;diff=8448"/>
				<updated>2007-08-20T21:17:03Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* features&lt;br /&gt;
** &amp;lt;del&amp;gt;KDE4 integration&amp;lt;/del&amp;gt;&lt;br /&gt;
*** &amp;lt;del&amp;gt;system settings module&amp;lt;/del&amp;gt;&lt;br /&gt;
*** &amp;lt;del&amp;gt;file properties license tab&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;OLPC integration&amp;lt;/del&amp;gt; (nearly done but will be external of ll releases)&lt;br /&gt;
*** &amp;lt;del&amp;gt;Journal integration&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;GUI i18n (liblicense core already handled)&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;Expand liblicense API to allow dynamically populating the jurisdiction selector&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;Automated regression testing, especially for io modules.  We need to be *absolutely certain* that data won't be lost&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;ODF support (jakin) :) Solve the problem for the world and get all the fame and glory!&amp;lt;/del&amp;gt;&lt;br /&gt;
* bugs/issues&lt;br /&gt;
** &amp;lt;del&amp;gt;License chooser api ironing out (http://lists.ibiblio.org/pipermail/cc-devel/2007-July/000539.html).  I could wrap the flags to hide the bit-shifting -- but before I do that, I want feedback as to whether this design, in general, works.&amp;lt;/del&amp;gt;&lt;br /&gt;
** Use SONAME so applications can request a particular version of liblicense's API/ABI&lt;br /&gt;
*** Debian will require this (and everyone else is crazy if they don't)&lt;br /&gt;
*** I found [http://mail-index.netbsd.org/tech-toolchain/1998/07/17/0000.html one explanation] of it while Googling&lt;br /&gt;
*** Jakin: I think this is a premature concern; once things stabilize I think this is a good idea.  At version 0.3, people should expect that source and binary compatibility isn't guaranteed.&lt;br /&gt;
** &amp;lt;del&amp;gt;not clear what default-content-license does, exactly- maybe replace 'Default Content License' with 'choose the default license for new content you create' or something like that? (whatever is accurate  :) &amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;I'd get rid of the frame around the license chooser. Not used by most gnome apps.&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;URI: what goes there? I assume the license URI, but I'd expect the license chooser would set that, and it doesn't appear to.&amp;lt;/del&amp;gt; (Changed to license URI.  If license chooser doesn't set this field, then we've still got a problem)&lt;br /&gt;
** are there sample files somewhere I can test the nautilus extension on?&lt;br /&gt;
** &amp;lt;del&amp;gt;good packaging practice would break this into liblicense and liblicense-devel, one with the apps and app data another with the libraries. Not a huge deal, but would be necessary before getting it into fedora, for example.&amp;lt;/del&amp;gt;&lt;br /&gt;
*** We've broken it up into liblicense{,-kde,-gnome}&lt;br /&gt;
&lt;br /&gt;
* tag svn&lt;br /&gt;
&lt;br /&gt;
* package (liblicense, liblicense-kde, and liblicense-gnome)&lt;br /&gt;
** source&lt;br /&gt;
** rpm&lt;br /&gt;
** deb&lt;br /&gt;
** ebuilds (bugs 187196, 185689, and 78021 in gentoo's bugzilla)&lt;br /&gt;
** test them!&lt;br /&gt;
** Core dependencies:&lt;br /&gt;
*** libraptor&lt;br /&gt;
*** exempi&lt;br /&gt;
** GNOME Integration dependencies:&lt;br /&gt;
*** liblicense python bindings&lt;br /&gt;
*** nautilus-python&lt;br /&gt;
*** gnome-python&lt;br /&gt;
** KDE4 Integration dependencies:&lt;br /&gt;
*** kdelibs4 (tested on alpha2 and beta1)&lt;br /&gt;
&lt;br /&gt;
* publicity&lt;br /&gt;
** freshmeat&lt;br /&gt;
** sourceforge&lt;br /&gt;
** ?&lt;br /&gt;
&lt;br /&gt;
== Asheesh's comments ==&lt;br /&gt;
=== default-content-license ===&lt;br /&gt;
* &amp;lt;del&amp;gt;In &amp;quot;Creative Commons - Attribution-NoDerivs - 3.0.0&amp;quot;, 3.0.0 really should be 3.0&amp;lt;/del&amp;gt; (API allows for arbitrary version divisions)&lt;br /&gt;
* &amp;lt;del&amp;gt;Also, default-content-license seems to allow you to check boxes to create combinations where no license exists.  That's quite odd.&amp;lt;/del&amp;gt;&lt;br /&gt;
** jakin: I don't mind.  In a general sense, those combinations could exist in the future.  This license selector is not CC specific.&lt;br /&gt;
* &amp;lt;del&amp;gt;How do I unset the default license on my desktop?  I ran it once, and it seemed to automatically save, and but I don't want to have set a default license.&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;UI is way confusing, dudes&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== /usr/bin/license ===&lt;br /&gt;
* &amp;lt;del&amp;gt;-h should mean --help&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;-m has a comma after it in --help&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;-v should mean --verbose&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;-q should mean --quiet&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;How do I *unset* a license on a document?&amp;lt;/del&amp;gt; (New flag, --remove)&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_04_release_todo&amp;diff=8428</id>
		<title>Liblicense 04 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_04_release_todo&amp;diff=8428"/>
				<updated>2007-08-17T23:12:00Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: /* default-content-license */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* features&lt;br /&gt;
** &amp;lt;del&amp;gt;KDE4 integration&amp;lt;/del&amp;gt;&lt;br /&gt;
*** &amp;lt;del&amp;gt;system settings module&amp;lt;/del&amp;gt;&lt;br /&gt;
*** &amp;lt;del&amp;gt;file properties license tab&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;OLPC integration&amp;lt;/del&amp;gt; (nearly done but will be external of ll releases)&lt;br /&gt;
*** &amp;lt;del&amp;gt;Journal integration&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;GUI i18n (liblicense core already handled)&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;Expand liblicense API to allow dynamically populating the jurisdiction selector&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;Automated regression testing, especially for io modules.  We need to be *absolutely certain* that data won't be lost&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;ODF support (jakin) :) Solve the problem for the world and get all the fame and glory!&amp;lt;/del&amp;gt;&lt;br /&gt;
* bugs/issues&lt;br /&gt;
** &amp;lt;del&amp;gt;License chooser api ironing out (http://lists.ibiblio.org/pipermail/cc-devel/2007-July/000539.html).  I could wrap the flags to hide the bit-shifting -- but before I do that, I want feedback as to whether this design, in general, works.&amp;lt;/del&amp;gt;&lt;br /&gt;
** Use SONAME so applications can request a particular version of liblicense's API/ABI&lt;br /&gt;
*** Debian will require this (and everyone else is crazy if they don't)&lt;br /&gt;
*** I found [http://mail-index.netbsd.org/tech-toolchain/1998/07/17/0000.html one explanation] of it while Googling&lt;br /&gt;
*** Jakin: I think this is a premature concern; once things stabilize I think this is a good idea.  At version 0.3, people should expect that source and binary compatibility isn't guaranteed.&lt;br /&gt;
** not clear what default-content-license does, exactly- maybe replace 'Default Content License' with 'choose the default license for new content you create' or something like that? (whatever is accurate  :) &lt;br /&gt;
** &amp;lt;del&amp;gt;I'd get rid of the frame around the license chooser. Not used by most gnome apps.&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;URI: what goes there? I assume the license URI, but I'd expect the license chooser would set that, and it doesn't appear to.&amp;lt;/del&amp;gt; (Changed to license URI.  If license chooser doesn't set this field, then we've still got a problem)&lt;br /&gt;
** are there sample files somewhere I can test the nautilus extension on?&lt;br /&gt;
** &amp;lt;del&amp;gt;good packaging practice would break this into liblicense and liblicense-devel, one with the apps and app data another with the libraries. Not a huge deal, but would be necessary before getting it into fedora, for example.&amp;lt;/del&amp;gt;&lt;br /&gt;
*** We've broken it up into liblicense{,-kde,-gnome}&lt;br /&gt;
&lt;br /&gt;
* tag svn&lt;br /&gt;
&lt;br /&gt;
* package (liblicense, liblicense-kde, and liblicense-gnome)&lt;br /&gt;
** source&lt;br /&gt;
** rpm&lt;br /&gt;
** deb&lt;br /&gt;
** ebuilds (bugs 187196, 185689, and 78021 in gentoo's bugzilla)&lt;br /&gt;
** test them!&lt;br /&gt;
** Core dependencies:&lt;br /&gt;
*** libraptor&lt;br /&gt;
*** exempi&lt;br /&gt;
** GNOME Integration dependencies:&lt;br /&gt;
*** liblicense python bindings&lt;br /&gt;
*** nautilus-python&lt;br /&gt;
*** gnome-python&lt;br /&gt;
** KDE4 Integration dependencies:&lt;br /&gt;
*** kdelibs4 (tested on alpha2 and beta1)&lt;br /&gt;
&lt;br /&gt;
* publicity&lt;br /&gt;
** freshmeat&lt;br /&gt;
** sourceforge&lt;br /&gt;
** ?&lt;br /&gt;
&lt;br /&gt;
== Asheesh's comments ==&lt;br /&gt;
=== default-content-license ===&lt;br /&gt;
* &amp;lt;del&amp;gt;In &amp;quot;Creative Commons - Attribution-NoDerivs - 3.0.0&amp;quot;, 3.0.0 really should be 3.0&amp;lt;/del&amp;gt; (API allows for arbitrary version divisions)&lt;br /&gt;
* &amp;lt;del&amp;gt;Also, default-content-license seems to allow you to check boxes to create combinations where no license exists.  That's quite odd.&amp;lt;/del&amp;gt;&lt;br /&gt;
** jakin: I don't mind.  In a general sense, those combinations could exist in the future.  This license selector is not CC specific.&lt;br /&gt;
* How do I unset the default license on my desktop?  I ran it once, and it seemed to automatically save, and but I don't want to have set a default license.&lt;br /&gt;
* &amp;lt;del&amp;gt;UI is way confusing, dudes&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== /usr/bin/license ===&lt;br /&gt;
* &amp;lt;del&amp;gt;-h should mean --help&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;-m has a comma after it in --help&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;-v should mean --verbose&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;-q should mean --quiet&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;How do I *unset* a license on a document?&amp;lt;/del&amp;gt; (New flag, --remove)&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_04_release_todo&amp;diff=8425</id>
		<title>Liblicense 04 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_04_release_todo&amp;diff=8425"/>
				<updated>2007-08-17T21:17:24Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* features&lt;br /&gt;
** &amp;lt;del&amp;gt;KDE4 integration&amp;lt;/del&amp;gt;&lt;br /&gt;
*** &amp;lt;del&amp;gt;system settings module&amp;lt;/del&amp;gt;&lt;br /&gt;
*** &amp;lt;del&amp;gt;file properties license tab&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;OLPC integration&amp;lt;/del&amp;gt; (nearly done but will be external of ll releases)&lt;br /&gt;
*** &amp;lt;del&amp;gt;Journal integration&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;GUI i18n (liblicense core already handled)&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;Expand liblicense API to allow dynamically populating the jurisdiction selector&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;Automated regression testing, especially for io modules.  We need to be *absolutely certain* that data won't be lost&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;ODF support (jakin) :) Solve the problem for the world and get all the fame and glory!&amp;lt;/del&amp;gt;&lt;br /&gt;
* bugs/issues&lt;br /&gt;
** &amp;lt;del&amp;gt;License chooser api ironing out (http://lists.ibiblio.org/pipermail/cc-devel/2007-July/000539.html).  I could wrap the flags to hide the bit-shifting -- but before I do that, I want feedback as to whether this design, in general, works.&amp;lt;/del&amp;gt;&lt;br /&gt;
** Use SONAME so applications can request a particular version of liblicense's API/ABI&lt;br /&gt;
*** Debian will require this (and everyone else is crazy if they don't)&lt;br /&gt;
*** I found [http://mail-index.netbsd.org/tech-toolchain/1998/07/17/0000.html one explanation] of it while Googling&lt;br /&gt;
*** Jakin: I think this is a premature concern; once things stabilize I think this is a good idea.  At version 0.3, people should expect that source and binary compatibility isn't guaranteed.&lt;br /&gt;
** not clear what default-content-license does, exactly- maybe replace 'Default Content License' with 'choose the default license for new content you create' or something like that? (whatever is accurate  :) &lt;br /&gt;
** &amp;lt;del&amp;gt;I'd get rid of the frame around the license chooser. Not used by most gnome apps.&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;URI: what goes there? I assume the license URI, but I'd expect the license chooser would set that, and it doesn't appear to.&amp;lt;/del&amp;gt; (Changed to license URI.  If license chooser doesn't set this field, then we've still got a problem)&lt;br /&gt;
** are there sample files somewhere I can test the nautilus extension on?&lt;br /&gt;
** &amp;lt;del&amp;gt;good packaging practice would break this into liblicense and liblicense-devel, one with the apps and app data another with the libraries. Not a huge deal, but would be necessary before getting it into fedora, for example.&amp;lt;/del&amp;gt;&lt;br /&gt;
*** We've broken it up into liblicense{,-kde,-gnome}&lt;br /&gt;
&lt;br /&gt;
* tag svn&lt;br /&gt;
&lt;br /&gt;
* package (liblicense, liblicense-kde, and liblicense-gnome)&lt;br /&gt;
** source&lt;br /&gt;
** rpm&lt;br /&gt;
** deb&lt;br /&gt;
** ebuilds (bugs 187196, 185689, and 78021 in gentoo's bugzilla)&lt;br /&gt;
** test them!&lt;br /&gt;
** Core dependencies:&lt;br /&gt;
*** libraptor&lt;br /&gt;
*** exempi&lt;br /&gt;
** GNOME Integration dependencies:&lt;br /&gt;
*** liblicense python bindings&lt;br /&gt;
*** nautilus-python&lt;br /&gt;
*** gnome-python&lt;br /&gt;
** KDE4 Integration dependencies:&lt;br /&gt;
*** kdelibs4 (tested on alpha2 and beta1)&lt;br /&gt;
&lt;br /&gt;
* publicity&lt;br /&gt;
** freshmeat&lt;br /&gt;
** sourceforge&lt;br /&gt;
** ?&lt;br /&gt;
&lt;br /&gt;
== Asheesh's comments ==&lt;br /&gt;
=== default-content-license ===&lt;br /&gt;
* &amp;lt;del&amp;gt;In &amp;quot;Creative Commons - Attribution-NoDerivs - 3.0.0&amp;quot;, 3.0.0 really should be 3.0&amp;lt;/del&amp;gt; (API allows for arbitrary version divisions)&lt;br /&gt;
* Also, default-content-license seems to allow you to check boxes to create combinations where no license exists.  That's quite odd.&lt;br /&gt;
** jakin: I don't mind.  In a general sense, those combinations could exist in the future.  This license selector is not CC specific.&lt;br /&gt;
* How do I unset the default license on my desktop?  I ran it once, and it seemed to automatically save, and but I don't want to have set a default license.&lt;br /&gt;
* &amp;lt;del&amp;gt;UI is way confusing, dudes&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== /usr/bin/license ===&lt;br /&gt;
* &amp;lt;del&amp;gt;-h should mean --help&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;-m has a comma after it in --help&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;-v should mean --verbose&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;-q should mean --quiet&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;How do I *unset* a license on a document?&amp;lt;/del&amp;gt; (New flag, --remove)&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_04_release_todo&amp;diff=8424</id>
		<title>Liblicense 04 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_04_release_todo&amp;diff=8424"/>
				<updated>2007-08-17T21:15:50Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* features&lt;br /&gt;
** &amp;lt;del&amp;gt;KDE4 integration&amp;lt;/del&amp;gt;&lt;br /&gt;
*** &amp;lt;del&amp;gt;system settings module&amp;lt;/del&amp;gt;&lt;br /&gt;
*** &amp;lt;del&amp;gt;file properties license tab&amp;lt;/del&amp;gt;&lt;br /&gt;
** OLPC integration&lt;br /&gt;
*** Journal integration&lt;br /&gt;
** GUI i18n (liblicense core already handled)&lt;br /&gt;
** &amp;lt;del&amp;gt;Expand liblicense API to allow dynamically populating the jurisdiction selector&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;Automated regression testing, especially for io modules.  We need to be *absolutely certain* that data won't be lost&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;ODF support (jakin) :) Solve the problem for the world and get all the fame and glory!&amp;lt;/del&amp;gt;&lt;br /&gt;
* bugs/issues&lt;br /&gt;
** &amp;lt;del&amp;gt;License chooser api ironing out (http://lists.ibiblio.org/pipermail/cc-devel/2007-July/000539.html).  I could wrap the flags to hide the bit-shifting -- but before I do that, I want feedback as to whether this design, in general, works.&amp;lt;/del&amp;gt;&lt;br /&gt;
** Use SONAME so applications can request a particular version of liblicense's API/ABI&lt;br /&gt;
*** Debian will require this (and everyone else is crazy if they don't)&lt;br /&gt;
*** I found [http://mail-index.netbsd.org/tech-toolchain/1998/07/17/0000.html one explanation] of it while Googling&lt;br /&gt;
*** Jakin: I think this is a premature concern; once things stabilize I think this is a good idea.  At version 0.3, people should expect that source and binary compatibility isn't guaranteed.&lt;br /&gt;
** not clear what default-content-license does, exactly- maybe replace 'Default Content License' with 'choose the default license for new content you create' or something like that? (whatever is accurate  :) &lt;br /&gt;
** &amp;lt;del&amp;gt;I'd get rid of the frame around the license chooser. Not used by most gnome apps.&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;URI: what goes there? I assume the license URI, but I'd expect the license chooser would set that, and it doesn't appear to.&amp;lt;/del&amp;gt; (Changed to license URI.  If license chooser doesn't set this field, then we've still got a problem)&lt;br /&gt;
** are there sample files somewhere I can test the nautilus extension on?&lt;br /&gt;
** &amp;lt;del&amp;gt;good packaging practice would break this into liblicense and liblicense-devel, one with the apps and app data another with the libraries. Not a huge deal, but would be necessary before getting it into fedora, for example.&amp;lt;/del&amp;gt;&lt;br /&gt;
*** We've broken it up into liblicense{,-kde,-gnome}&lt;br /&gt;
&lt;br /&gt;
* tag svn&lt;br /&gt;
&lt;br /&gt;
* package (liblicense, liblicense-kde, and liblicense-gnome)&lt;br /&gt;
** source&lt;br /&gt;
** rpm&lt;br /&gt;
** deb&lt;br /&gt;
** ebuilds (bugs 187196, 185689, and 78021 in gentoo's bugzilla)&lt;br /&gt;
** test them!&lt;br /&gt;
** Core dependencies:&lt;br /&gt;
*** libraptor&lt;br /&gt;
*** exempi&lt;br /&gt;
** GNOME Integration dependencies:&lt;br /&gt;
*** liblicense python bindings&lt;br /&gt;
*** nautilus-python&lt;br /&gt;
*** gnome-python&lt;br /&gt;
** KDE4 Integration dependencies:&lt;br /&gt;
*** kdelibs4 (tested on alpha2 and beta1)&lt;br /&gt;
&lt;br /&gt;
* publicity&lt;br /&gt;
** freshmeat&lt;br /&gt;
** sourceforge&lt;br /&gt;
** ?&lt;br /&gt;
&lt;br /&gt;
== Asheesh's comments ==&lt;br /&gt;
=== default-content-license ===&lt;br /&gt;
* &amp;lt;del&amp;gt;In &amp;quot;Creative Commons - Attribution-NoDerivs - 3.0.0&amp;quot;, 3.0.0 really should be 3.0&amp;lt;/del&amp;gt; (API allows for arbitrary version divisions)&lt;br /&gt;
* Also, default-content-license seems to allow you to check boxes to create combinations where no license exists.  That's quite odd.&lt;br /&gt;
** jakin: I don't mind.  In a general sense, those combinations could exist in the future.  This license selector is not CC specific.&lt;br /&gt;
* How do I unset the default license on my desktop?  I ran it once, and it seemed to automatically save, and but I don't want to have set a default license.&lt;br /&gt;
* &amp;lt;del&amp;gt;UI is way confusing, dudes&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== /usr/bin/license ===&lt;br /&gt;
* &amp;lt;del&amp;gt;-h should mean --help&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;-m has a comma after it in --help&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;-v should mean --verbose&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;-q should mean --quiet&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;How do I *unset* a license on a document?&amp;lt;/del&amp;gt; (New flag, --remove)&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_04_release_todo&amp;diff=8418</id>
		<title>Liblicense 04 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_04_release_todo&amp;diff=8418"/>
				<updated>2007-08-16T23:37:59Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: /* default-content-license */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* features&lt;br /&gt;
** &amp;lt;del&amp;gt;KDE4 integration&amp;lt;/del&amp;gt;&lt;br /&gt;
*** &amp;lt;del&amp;gt;system settings module&amp;lt;/del&amp;gt;&lt;br /&gt;
*** &amp;lt;del&amp;gt;file properties license tab&amp;lt;/del&amp;gt;&lt;br /&gt;
** OLPC integration&lt;br /&gt;
*** Journal integration&lt;br /&gt;
** GUI i18n (liblicense core already handled)&lt;br /&gt;
** &amp;lt;del&amp;gt;Expand liblicense API to allow dynamically populating the jurisdiction selector&amp;lt;/del&amp;gt;&lt;br /&gt;
** Automated regression testing, especially for io modules.  We need to be *absolutely certain* that data won't be lost&lt;br /&gt;
** ODF support (jakin) :) Solve the problem for the world and get all the fame and glory!&lt;br /&gt;
* bugs/issues&lt;br /&gt;
** &amp;lt;del&amp;gt;License chooser api ironing out (http://lists.ibiblio.org/pipermail/cc-devel/2007-July/000539.html).  I could wrap the flags to hide the bit-shifting -- but before I do that, I want feedback as to whether this design, in general, works.&amp;lt;/del&amp;gt;&lt;br /&gt;
** Use SONAME so applications can request a particular version of liblicense's API/ABI&lt;br /&gt;
*** Debian will require this (and everyone else is crazy if they don't)&lt;br /&gt;
*** I found [http://mail-index.netbsd.org/tech-toolchain/1998/07/17/0000.html one explanation] of it while Googling&lt;br /&gt;
*** Jakin: I think this is a premature concern; once things stabilize I think this is a good idea.  At version 0.3, people should expect that source and binary compatibility isn't guaranteed.&lt;br /&gt;
** not clear what default-content-license does, exactly- maybe replace 'Default Content License' with 'choose the default license for new content you create' or something like that? (whatever is accurate  :) &lt;br /&gt;
** &amp;lt;del&amp;gt;I'd get rid of the frame around the license chooser. Not used by most gnome apps.&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;URI: what goes there? I assume the license URI, but I'd expect the license chooser would set that, and it doesn't appear to.&amp;lt;/del&amp;gt; (Changed to license URI.  If license chooser doesn't set this field, then we've still got a problem)&lt;br /&gt;
** are there sample files somewhere I can test the nautilus extension on?&lt;br /&gt;
** &amp;lt;del&amp;gt;good packaging practice would break this into liblicense and liblicense-devel, one with the apps and app data another with the libraries. Not a huge deal, but would be necessary before getting it into fedora, for example.&amp;lt;/del&amp;gt;&lt;br /&gt;
*** We've broken it up into liblicense{,-kde,-gnome}&lt;br /&gt;
&lt;br /&gt;
* tag svn&lt;br /&gt;
&lt;br /&gt;
* package (liblicense, liblicense-kde, and liblicense-gnome)&lt;br /&gt;
** source&lt;br /&gt;
** rpm&lt;br /&gt;
** deb&lt;br /&gt;
** ebuilds (bugs 187196, 185689, and 78021 in gentoo's bugzilla)&lt;br /&gt;
** test them!&lt;br /&gt;
** Core dependencies:&lt;br /&gt;
*** libraptor&lt;br /&gt;
*** exempi&lt;br /&gt;
** GNOME Integration dependencies:&lt;br /&gt;
*** liblicense python bindings&lt;br /&gt;
*** nautilus-python&lt;br /&gt;
*** gnome-python&lt;br /&gt;
** KDE4 Integration dependencies:&lt;br /&gt;
*** kdelibs4 (tested on alpha2 and beta1)&lt;br /&gt;
&lt;br /&gt;
* publicity&lt;br /&gt;
** freshmeat&lt;br /&gt;
** sourceforge&lt;br /&gt;
** ?&lt;br /&gt;
&lt;br /&gt;
== Asheesh's comments ==&lt;br /&gt;
=== default-content-license ===&lt;br /&gt;
* &amp;lt;del&amp;gt;In &amp;quot;Creative Commons - Attribution-NoDerivs - 3.0.0&amp;quot;, 3.0.0 really should be 3.0&amp;lt;/del&amp;gt; (API allows for arbitrary version divisions)&lt;br /&gt;
* Also, default-content-license seems to allow you to check boxes to create combinations where no license exists.  That's quite odd.&lt;br /&gt;
** jakin: I don't mind.  In a general sense, those combinations could exist in the future.  This license selector is not CC specific.&lt;br /&gt;
* How do I unset the default license on my desktop?  I ran it once, and it seemed to automatically save, and but I don't want to have set a default license.&lt;br /&gt;
* &amp;lt;del&amp;gt;UI is way confusing, dudes&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== /usr/bin/license ===&lt;br /&gt;
* &amp;lt;del&amp;gt;-h should mean --help&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;-m has a comma after it in --help&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;-v should mean --verbose&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;-q should mean --quiet&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;How do I *unset* a license on a document?&amp;lt;/del&amp;gt; (New flag, --remove)&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_04_release_todo&amp;diff=8405</id>
		<title>Liblicense 04 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_04_release_todo&amp;diff=8405"/>
				<updated>2007-08-16T21:35:11Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* features&lt;br /&gt;
** &amp;lt;del&amp;gt;KDE4 integration&amp;lt;/del&amp;gt;&lt;br /&gt;
*** &amp;lt;del&amp;gt;system settings module&amp;lt;/del&amp;gt;&lt;br /&gt;
*** &amp;lt;del&amp;gt;file properties license tab&amp;lt;/del&amp;gt;&lt;br /&gt;
** OLPC integration&lt;br /&gt;
*** Journal integration&lt;br /&gt;
** GUI i18n (liblicense core already handled)&lt;br /&gt;
** &amp;lt;del&amp;gt;Expand liblicense API to allow dynamically populating the jurisdiction selector&amp;lt;/del&amp;gt;&lt;br /&gt;
** Automated regression testing, especially for io modules.  We need to be *absolutely certain* that data won't be lost&lt;br /&gt;
&lt;br /&gt;
* bugs/issues&lt;br /&gt;
** License chooser api ironing out (http://lists.ibiblio.org/pipermail/cc-devel/2007-July/000539.html).  I could wrap the flags to hide the bit-shifting -- but before I do that, I want feedback as to whether this design, in general, works.&lt;br /&gt;
** Use SONAME so applications can request a particular version of liblicense's API/ABI&lt;br /&gt;
*** Debian will require this (and everyone else is crazy if they don't)&lt;br /&gt;
*** I found [http://mail-index.netbsd.org/tech-toolchain/1998/07/17/0000.html one explanation] of it while Googling&lt;br /&gt;
*** Jakin: I think this is a premature concern; once things stabilize I think this is a good idea.  At version 0.3, people should expect that source and binary compatibility isn't guaranteed.&lt;br /&gt;
** not clear what default-content-license does, exactly- maybe replace 'Default Content License' with 'choose the default license for new content you create' or something like that? (whatever is accurate  :) &lt;br /&gt;
** &amp;lt;del&amp;gt;I'd get rid of the frame around the license chooser. Not used by most gnome apps.&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;URI: what goes there? I assume the license URI, but I'd expect the license chooser would set that, and it doesn't appear to.&amp;lt;/del&amp;gt; (Changed to license URI.  If license chooser doesn't set this field, then we've still got a problem)&lt;br /&gt;
** are there sample files somewhere I can test the nautilus extension on?&lt;br /&gt;
** &amp;lt;del&amp;gt;good packaging practice would break this into liblicense and liblicense-devel, one with the apps and app data another with the libraries. Not a huge deal, but would be necessary before getting it into fedora, for example.&amp;lt;/del&amp;gt;&lt;br /&gt;
*** We've broken it up into liblicense{,-kde,-gnome}&lt;br /&gt;
&lt;br /&gt;
* tag svn&lt;br /&gt;
&lt;br /&gt;
* package (liblicense, liblicense-kde, and liblicense-gnome)&lt;br /&gt;
** source&lt;br /&gt;
** rpm&lt;br /&gt;
** deb&lt;br /&gt;
** ebuilds (bugs 187196, 185689, and 78021 in gentoo's bugzilla)&lt;br /&gt;
** test them!&lt;br /&gt;
** Core dependencies:&lt;br /&gt;
*** libraptor&lt;br /&gt;
*** exempi&lt;br /&gt;
** GNOME Integration dependencies:&lt;br /&gt;
*** nautilus-python&lt;br /&gt;
*** gnome-python&lt;br /&gt;
** KDE4 Integration dependencies:&lt;br /&gt;
*** kdelibs4&lt;br /&gt;
&lt;br /&gt;
* publicity&lt;br /&gt;
** freshmeat&lt;br /&gt;
** sourceforge&lt;br /&gt;
** ?&lt;br /&gt;
&lt;br /&gt;
== Asheesh's comments ==&lt;br /&gt;
=== default-content-license ===&lt;br /&gt;
* &amp;lt;del&amp;gt;In &amp;quot;Creative Commons - Attribution-NoDerivs - 3.0.0&amp;quot;, 3.0.0 really should be 3.0&amp;lt;/del&amp;gt; (API allows for arbitrary version divisions)&lt;br /&gt;
* Also, default-content-license seems to allow you to check boxes to create combinations where no license exists.  That's quite odd.&lt;br /&gt;
** jakin: I don't mind.  In a general sense, those combinations could exist in the future.  This license selector is not CC specific.&lt;br /&gt;
* How do I unset the default license on my desktop?  I ran it once, and it seemed to automatically save, and but I don't want to have set a default license.&lt;br /&gt;
* UI is way confusing, dudes&lt;br /&gt;
&lt;br /&gt;
=== /usr/bin/license ===&lt;br /&gt;
* &amp;lt;del&amp;gt;-h should mean --help&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;-m has a comma after it in --help&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;-v should mean --verbose&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;-q should mean --quiet&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;How do I *unset* a license on a document?&amp;lt;/del&amp;gt; (New flag, --remove)&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8287</id>
		<title>Liblicense 03 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8287"/>
				<updated>2007-08-03T22:39:42Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: /* formal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* issues&lt;br /&gt;
** &amp;lt;del&amp;gt;Nautilus writes a license to every file whose property dialog is displayed&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;license chooser returns devnations -- should we mark this as retired and then not return retired licenses?&amp;lt;/del&amp;gt; (added isReplacedBy by/3.0)&lt;br /&gt;
** &amp;lt;del&amp;gt;Unicode filename issues?  Licenses aren't loaded for some test files with Japanese filenames.&amp;lt;/del&amp;gt;  (Um, seems to work fine, now) ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;Update gui_gtk.py to use license chooser API once the above is taken care of&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;configure --prefix=/usr/local dies trying to install the python bindings&amp;lt;/del&amp;gt;&lt;br /&gt;
*** libtool: install: error: cannot install `liblicense.la' to a directory not ending in /usr/lib/python2.4/site-packages/liblicense&lt;br /&gt;
*** Update: works after a 'make distclean'&lt;br /&gt;
** &amp;lt;del&amp;gt;new license chooser API not wrapped in Ruby&amp;lt;/del&amp;gt; ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;nautilus emblems don't work for me&amp;lt;/del&amp;gt; (Needed to touch /usr/share/icons/hicolor on installation)&lt;br /&gt;
** &amp;lt;del&amp;gt;No sampling licenses' RDF include the prohibits commericial use statement&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;package press release&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;tag svn&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* package&lt;br /&gt;
** &amp;lt;del&amp;gt;source &amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;rpm&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;deb&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;ebuild&amp;lt;/del&amp;gt; (Exempi, nautilus-python, and Liblicense ebuilds, courtesy of jakin)&lt;br /&gt;
&lt;br /&gt;
== publicity==&lt;br /&gt;
=== informal ===&lt;br /&gt;
* &amp;lt;del&amp;gt;mailing lists&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;cc-devel&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;cc-community&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;sourceforge&amp;lt;/del&amp;gt; http://sourceforge.net/forum/forum.php?forum_id=721153&lt;br /&gt;
* &amp;lt;del&amp;gt;cc frontpage blog ('''written''')&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;digg&amp;lt;/del&amp;gt; http://digg.com/software/Creative_Commons_releases_licensing_on_the_desktop&lt;br /&gt;
* &amp;lt;del&amp;gt;Boing Boing&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;lwn@lwn.net&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;newstips@heise.de&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;PR: theobroma@revelinux.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.newsforge.com/submit.pl&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://slashdot.org/submit.pl&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.desktoplinux.com/ - http://www.desktoplinux.com/cgi-bin/news_post.cgi &amp;lt;/del&amp;gt; (&amp;lt;-- Um dead link and no page to post in sight)&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://freshmeat.net/ Freshmeat]&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://gnomedesktop.org/node/add/story gnome footnotes]&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://www.gnomefiles.org/ GnomeFiles] for software which supports Gnome&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://del.icio.us/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://technorati.com/wtf&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== formal ===&lt;br /&gt;
* &amp;lt;del&amp;gt;press release&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;packaged PRESS file&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prleap.com/ prleap] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prbuzz.com/ prbuzz] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;nettime-ann - http://www.nettime.org/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;See Kansas City infoZine: http://www.infozine.com/news/stories/op/storiesView/sid/5080/&amp;lt;/del&amp;gt; http://www.infozine.com/news/stories/op/storiesView/sid/24236/&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxformat.co.uk/ - webmaster@linuxformat.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: login and submit news via top of page link&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linux-magazine.com/ - info@linux-magazine.com edit@linux-magazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: pr@linux-magazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxjournal.com/ - ljeditor@ssc.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: newproducts@ssc.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxmagazine.com/ - editors@linux-mag.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: ???&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxuser.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: terry@linuxuser.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.tuxmagazine.com/ - editor@tuxmagazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: ???&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.linuxworld.com/ - mrhinkle@linuxworld.com tim@linuxworld.com&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== other ===&lt;br /&gt;
* &amp;lt;del&amp;gt;cc techblog how to&amp;lt;/del&amp;gt; ([[Liblicense_tutorial]])&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8286</id>
		<title>Liblicense 03 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8286"/>
				<updated>2007-08-03T22:38:50Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: /* informal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* issues&lt;br /&gt;
** &amp;lt;del&amp;gt;Nautilus writes a license to every file whose property dialog is displayed&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;license chooser returns devnations -- should we mark this as retired and then not return retired licenses?&amp;lt;/del&amp;gt; (added isReplacedBy by/3.0)&lt;br /&gt;
** &amp;lt;del&amp;gt;Unicode filename issues?  Licenses aren't loaded for some test files with Japanese filenames.&amp;lt;/del&amp;gt;  (Um, seems to work fine, now) ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;Update gui_gtk.py to use license chooser API once the above is taken care of&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;configure --prefix=/usr/local dies trying to install the python bindings&amp;lt;/del&amp;gt;&lt;br /&gt;
*** libtool: install: error: cannot install `liblicense.la' to a directory not ending in /usr/lib/python2.4/site-packages/liblicense&lt;br /&gt;
*** Update: works after a 'make distclean'&lt;br /&gt;
** &amp;lt;del&amp;gt;new license chooser API not wrapped in Ruby&amp;lt;/del&amp;gt; ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;nautilus emblems don't work for me&amp;lt;/del&amp;gt; (Needed to touch /usr/share/icons/hicolor on installation)&lt;br /&gt;
** &amp;lt;del&amp;gt;No sampling licenses' RDF include the prohibits commericial use statement&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;package press release&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;tag svn&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* package&lt;br /&gt;
** &amp;lt;del&amp;gt;source &amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;rpm&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;deb&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;ebuild&amp;lt;/del&amp;gt; (Exempi, nautilus-python, and Liblicense ebuilds, courtesy of jakin)&lt;br /&gt;
&lt;br /&gt;
== publicity==&lt;br /&gt;
=== informal ===&lt;br /&gt;
* &amp;lt;del&amp;gt;mailing lists&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;cc-devel&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;cc-community&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;sourceforge&amp;lt;/del&amp;gt; http://sourceforge.net/forum/forum.php?forum_id=721153&lt;br /&gt;
* &amp;lt;del&amp;gt;cc frontpage blog ('''written''')&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;digg&amp;lt;/del&amp;gt; http://digg.com/software/Creative_Commons_releases_licensing_on_the_desktop&lt;br /&gt;
* &amp;lt;del&amp;gt;Boing Boing&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;lwn@lwn.net&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;newstips@heise.de&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;PR: theobroma@revelinux.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.newsforge.com/submit.pl&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://slashdot.org/submit.pl&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.desktoplinux.com/ - http://www.desktoplinux.com/cgi-bin/news_post.cgi &amp;lt;/del&amp;gt; (&amp;lt;-- Um dead link and no page to post in sight)&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://freshmeat.net/ Freshmeat]&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://gnomedesktop.org/node/add/story gnome footnotes]&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://www.gnomefiles.org/ GnomeFiles] for software which supports Gnome&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://del.icio.us/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://technorati.com/wtf&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== formal ===&lt;br /&gt;
* &amp;lt;del&amp;gt;press release&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;packaged PRESS file&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prleap.com/ prleap] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prbuzz.com/ prbuzz] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;nettime-ann - http://www.nettime.org/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;See Kansas City infoZine: http://www.infozine.com/news/stories/op/storiesView/sid/5080/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxformat.co.uk/ - webmaster@linuxformat.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: login and submit news via top of page link&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linux-magazine.com/ - info@linux-magazine.com edit@linux-magazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: pr@linux-magazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxjournal.com/ - ljeditor@ssc.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: newproducts@ssc.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxmagazine.com/ - editors@linux-mag.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: ???&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxuser.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: terry@linuxuser.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.tuxmagazine.com/ - editor@tuxmagazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: ???&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.linuxworld.com/ - mrhinkle@linuxworld.com tim@linuxworld.com&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== other ===&lt;br /&gt;
* &amp;lt;del&amp;gt;cc techblog how to&amp;lt;/del&amp;gt; ([[Liblicense_tutorial]])&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8285</id>
		<title>Liblicense 03 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8285"/>
				<updated>2007-08-03T22:35:53Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: /* informal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* issues&lt;br /&gt;
** &amp;lt;del&amp;gt;Nautilus writes a license to every file whose property dialog is displayed&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;license chooser returns devnations -- should we mark this as retired and then not return retired licenses?&amp;lt;/del&amp;gt; (added isReplacedBy by/3.0)&lt;br /&gt;
** &amp;lt;del&amp;gt;Unicode filename issues?  Licenses aren't loaded for some test files with Japanese filenames.&amp;lt;/del&amp;gt;  (Um, seems to work fine, now) ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;Update gui_gtk.py to use license chooser API once the above is taken care of&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;configure --prefix=/usr/local dies trying to install the python bindings&amp;lt;/del&amp;gt;&lt;br /&gt;
*** libtool: install: error: cannot install `liblicense.la' to a directory not ending in /usr/lib/python2.4/site-packages/liblicense&lt;br /&gt;
*** Update: works after a 'make distclean'&lt;br /&gt;
** &amp;lt;del&amp;gt;new license chooser API not wrapped in Ruby&amp;lt;/del&amp;gt; ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;nautilus emblems don't work for me&amp;lt;/del&amp;gt; (Needed to touch /usr/share/icons/hicolor on installation)&lt;br /&gt;
** &amp;lt;del&amp;gt;No sampling licenses' RDF include the prohibits commericial use statement&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;package press release&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;tag svn&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* package&lt;br /&gt;
** &amp;lt;del&amp;gt;source &amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;rpm&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;deb&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;ebuild&amp;lt;/del&amp;gt; (Exempi, nautilus-python, and Liblicense ebuilds, courtesy of jakin)&lt;br /&gt;
&lt;br /&gt;
== publicity==&lt;br /&gt;
=== informal ===&lt;br /&gt;
* &amp;lt;del&amp;gt;mailing lists&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;cc-devel&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;cc-community&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;sourceforge&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;cc frontpage blog ('''written''')&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;digg&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;Boing Boing&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;lwn@lwn.net&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;newstips@heise.de&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;PR: theobroma@revelinux.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.newsforge.com/submit.pl&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://slashdot.org/submit.pl&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.desktoplinux.com/ - http://www.desktoplinux.com/cgi-bin/news_post.cgi &amp;lt;/del&amp;gt; (&amp;lt;-- Um dead link and no page to post in sight)&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://freshmeat.net/ Freshmeat]&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://gnomedesktop.org/node/add/story gnome footnotes]&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://www.gnomefiles.org/ GnomeFiles] for software which supports Gnome&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://del.icio.us/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://technorati.com/wtf&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== formal ===&lt;br /&gt;
* &amp;lt;del&amp;gt;press release&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;packaged PRESS file&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prleap.com/ prleap] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prbuzz.com/ prbuzz] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;nettime-ann - http://www.nettime.org/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;See Kansas City infoZine: http://www.infozine.com/news/stories/op/storiesView/sid/5080/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxformat.co.uk/ - webmaster@linuxformat.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: login and submit news via top of page link&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linux-magazine.com/ - info@linux-magazine.com edit@linux-magazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: pr@linux-magazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxjournal.com/ - ljeditor@ssc.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: newproducts@ssc.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxmagazine.com/ - editors@linux-mag.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: ???&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxuser.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: terry@linuxuser.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.tuxmagazine.com/ - editor@tuxmagazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: ???&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.linuxworld.com/ - mrhinkle@linuxworld.com tim@linuxworld.com&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== other ===&lt;br /&gt;
* &amp;lt;del&amp;gt;cc techblog how to&amp;lt;/del&amp;gt; ([[Liblicense_tutorial]])&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8284</id>
		<title>Liblicense 03 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8284"/>
				<updated>2007-08-03T22:25:51Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: /* informal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* issues&lt;br /&gt;
** &amp;lt;del&amp;gt;Nautilus writes a license to every file whose property dialog is displayed&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;license chooser returns devnations -- should we mark this as retired and then not return retired licenses?&amp;lt;/del&amp;gt; (added isReplacedBy by/3.0)&lt;br /&gt;
** &amp;lt;del&amp;gt;Unicode filename issues?  Licenses aren't loaded for some test files with Japanese filenames.&amp;lt;/del&amp;gt;  (Um, seems to work fine, now) ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;Update gui_gtk.py to use license chooser API once the above is taken care of&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;configure --prefix=/usr/local dies trying to install the python bindings&amp;lt;/del&amp;gt;&lt;br /&gt;
*** libtool: install: error: cannot install `liblicense.la' to a directory not ending in /usr/lib/python2.4/site-packages/liblicense&lt;br /&gt;
*** Update: works after a 'make distclean'&lt;br /&gt;
** &amp;lt;del&amp;gt;new license chooser API not wrapped in Ruby&amp;lt;/del&amp;gt; ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;nautilus emblems don't work for me&amp;lt;/del&amp;gt; (Needed to touch /usr/share/icons/hicolor on installation)&lt;br /&gt;
** &amp;lt;del&amp;gt;No sampling licenses' RDF include the prohibits commericial use statement&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;package press release&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;tag svn&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* package&lt;br /&gt;
** &amp;lt;del&amp;gt;source &amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;rpm&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;deb&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;ebuild&amp;lt;/del&amp;gt; (Exempi, nautilus-python, and Liblicense ebuilds, courtesy of jakin)&lt;br /&gt;
&lt;br /&gt;
== publicity==&lt;br /&gt;
=== informal ===&lt;br /&gt;
* &amp;lt;del&amp;gt;mailing lists&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;cc-devel&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;cc-community&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;sourceforge&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;cc frontpage blog ('''written''')&amp;lt;/del&amp;gt;&lt;br /&gt;
* digg&lt;br /&gt;
* &amp;lt;del&amp;gt;Boing Boing&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;lwn@lwn.net&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;newstips@heise.de&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;PR: theobroma@revelinux.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.newsforge.com/submit.pl&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://slashdot.org/submit.pl&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.desktoplinux.com/ - http://www.desktoplinux.com/cgi-bin/news_post.cgi &amp;lt;/del&amp;gt; (&amp;lt;-- Um dead link and no page to post in sight)&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://freshmeat.net/ Freshmeat]&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://gnomedesktop.org/node/add/story gnome footnotes]&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://www.gnomefiles.org/ GnomeFiles] for software which supports Gnome&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://del.icio.us/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://technorati.com/wtf&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== formal ===&lt;br /&gt;
* &amp;lt;del&amp;gt;press release&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;packaged PRESS file&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prleap.com/ prleap] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prbuzz.com/ prbuzz] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;nettime-ann - http://www.nettime.org/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;See Kansas City infoZine: http://www.infozine.com/news/stories/op/storiesView/sid/5080/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxformat.co.uk/ - webmaster@linuxformat.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: login and submit news via top of page link&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linux-magazine.com/ - info@linux-magazine.com edit@linux-magazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: pr@linux-magazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxjournal.com/ - ljeditor@ssc.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: newproducts@ssc.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxmagazine.com/ - editors@linux-mag.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: ???&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxuser.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: terry@linuxuser.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.tuxmagazine.com/ - editor@tuxmagazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: ???&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.linuxworld.com/ - mrhinkle@linuxworld.com tim@linuxworld.com&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== other ===&lt;br /&gt;
* &amp;lt;del&amp;gt;cc techblog how to&amp;lt;/del&amp;gt; ([[Liblicense_tutorial]])&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense&amp;diff=8283</id>
		<title>Liblicense</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense&amp;diff=8283"/>
				<updated>2007-08-03T21:57:59Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: /* Get liblicense */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Developer]]&lt;br /&gt;
[[Category:Metadata]]&lt;br /&gt;
[[Category:Desktop]]&lt;br /&gt;
[[Category:Labs]]&lt;br /&gt;
[[Category:Tools]]&lt;br /&gt;
[[Category:Specification]]&lt;br /&gt;
[[Category:Operating System]]&lt;br /&gt;
[[Category:Technology]]&lt;br /&gt;
A library for managing license metadata, in particular CC licensing information.&lt;br /&gt;
&lt;br /&gt;
The idea of this library started out on the [[IRC]] channel, in a discussion on how to best help boost the community of software&lt;br /&gt;
developers working with things related to CC - mostly the metadata format.&lt;br /&gt;
&lt;br /&gt;
Basically, the idea is to write a portable C library that manages metadata for CC licenses, and a bunch of other licenses of interest to the community.&lt;br /&gt;
&lt;br /&gt;
The library will produce licensing information based on the specifications of calling libraries and programs. In addition to generating text for specific licenses, it will also allow an application to enumerate which licenses are currently available and provide descriptive text for each license, and for license features. It should also provide an easy way to specify &amp;quot;verify at&amp;quot; URLs.&lt;br /&gt;
&lt;br /&gt;
The benefit of this library is that applications linking to it can correctly offer licensing choices, and these choices can be transparently updated through package managers as license versions are updated. Human readable descriptions will also be internationalized, preferably using the same .po files used by the CC web site. Hence liblicense will take advantage of package updating and i18n systems to allow applications to always provide c&lt;br /&gt;
current and correct licensing choices and license text.&lt;br /&gt;
&lt;br /&gt;
Part of the project is also to provide wrappers for the library for other languages, and to help external developers add metadata support to their projects. A good start will probably be to wrap the library for Python, and use it for ccpublisher.&lt;br /&gt;
&lt;br /&gt;
We will also integrate a module system so that libraries can be used to embed and extract metadata in/from common formats.&lt;br /&gt;
&lt;br /&gt;
As liblicense itself deals only with text strings, we can also make GUI libraries to provide dialogs which present these strings to the user in desktop or web applications. This layering ensures that such dialogs present consistent licensing choices.&lt;br /&gt;
&lt;br /&gt;
== Get liblicense ==&lt;br /&gt;
&lt;br /&gt;
* [https://sourceforge.net/project/showfiles.php?group_id=80503&amp;amp;package_id=238700 Latest Release from Sourceforge.net]&lt;br /&gt;
* Checkout liblicense module from [[SVN]]&lt;br /&gt;
* Debian and Ubuntu [http://mirrors.creativecommons.org/packages/ repositories].&lt;br /&gt;
* Read the [[Liblicense tutorial| tutorial]].&lt;br /&gt;
&lt;br /&gt;
=== Screenshots ===&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Image:Ll nautilus emblem.png|Nautilus emblem support.&lt;br /&gt;
Image:Ll nautilus.png|Nautilus file properties.&lt;br /&gt;
Image:Ll default 2.png|GTK default system license.&lt;br /&gt;
Image:Ll dolphin.png|KDE4 dolphin file properties.&lt;br /&gt;
Image:Ll kde default license.png|KDE4 default system license.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== System Overview ==&lt;br /&gt;
&lt;br /&gt;
=== Purpose ===&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
=== Architecture ===&lt;br /&gt;
[[Image:System_architecture.png]]&lt;br /&gt;
&lt;br /&gt;
=== Implementation ===&lt;br /&gt;
This library will be implemented in C to provide maximum portability.&lt;br /&gt;
&lt;br /&gt;
=== Interface ===&lt;br /&gt;
* module_wrangler&lt;br /&gt;
** get_config_modules() - ''returns a null terminates list of available config modules.''&lt;br /&gt;
** get_io_modules() - ''returns a null terminates list of available io modules.''&lt;br /&gt;
** get_module_symbol(module,symbol) - ''returns the requested symbol.''&lt;br /&gt;
** module_init(module) - ''Loads the module and calls its init function.''&lt;br /&gt;
** module_shutdown(module) - ''Calls the shutdown method of the module and unloads it.''&lt;br /&gt;
** io_module_mime_types(module0 - ''returns a null-terminated list of the supported mime-types.''&lt;br /&gt;
* read_license&lt;br /&gt;
** read(filename) - ''returns the uri of the license of the given file.''&lt;br /&gt;
** module_read(filename,module) - ''returns the uri of the license of the given file while using the given module.''&lt;br /&gt;
* write_license&lt;br /&gt;
** write(filename,uri) - ''writes the given license to the given file using all applicable modules.''&lt;br /&gt;
** module_write(filename,module,uri) - ''writes the given license to the given file using the given module.''&lt;br /&gt;
* system_default&lt;br /&gt;
** set_default(uri)&lt;br /&gt;
** get_default()&lt;br /&gt;
* system_licenses&lt;br /&gt;
** get_jurisdiction(uri) - ''returns the jurisdiction for the given license.''&lt;br /&gt;
** get_name(uri) – ''returns the name of the license.''&lt;br /&gt;
** get_version(uri) – ''returns the version of the license.''&lt;br /&gt;
** get_prohibits(uri)&lt;br /&gt;
** get_permits(uri)&lt;br /&gt;
** get_requires(uri)&lt;br /&gt;
** verify_uri(uri) - ''returns whether or not the given uri is recognized by the system.''&lt;br /&gt;
** get_all_licenses() - ''returns a null-terminated list of all general license uris available for new works.''&lt;br /&gt;
** get_licenses(juris_t) - ''returns a null-terminated list of all general licenses in a family.''&lt;br /&gt;
&lt;br /&gt;
=== Data Structure ===&lt;br /&gt;
* Data Types (informal)&lt;br /&gt;
** uri&lt;br /&gt;
** name&lt;br /&gt;
** notification&lt;br /&gt;
** deed&lt;br /&gt;
** sampling&lt;br /&gt;
&lt;br /&gt;
=== Config Modules ===&lt;br /&gt;
* '''init'''() - starts the module&lt;br /&gt;
* '''shutdown'''() - shuts the module down&lt;br /&gt;
* '''get'''() - returns the current default license uri&lt;br /&gt;
* '''set'''(uri) - sets the default license uri and returns 0 upon success (non-zero for errors)&lt;br /&gt;
&lt;br /&gt;
=== I/O Modules ===&lt;br /&gt;
I/O modules are shared objects that call LL_MODULE_DEFINE(name,description,version,features,mime_types,init_func,read_func,write_func).&lt;br /&gt;
&lt;br /&gt;
* '''name'''&lt;br /&gt;
* '''description'''&lt;br /&gt;
* '''version'''&lt;br /&gt;
* '''features''' - If the module embeds the license within the file, pass LL_FEATURES_EMBED&lt;br /&gt;
* '''mime_types''' - A space-separated string of supported mime-types, or NULL if mime-type agnostic (i.e. XMP sidecar)&lt;br /&gt;
* '''init_func''' - This function will be called once before the module is used&lt;br /&gt;
* '''read_func''' - Function to be called when requested to read a license from a file.  It takes a filename and returns the license URI, or NULL if no license is present.  Should return an 'int' indicating success or failure.&lt;br /&gt;
* '''write_func''' - Function to be called when requested to write a license to a file.  The first parameter is the filename and the second is the license URI to write.  Should return an 'int' indicating success or failure.&lt;br /&gt;
&lt;br /&gt;
=== Bindings ===&lt;br /&gt;
*Python&lt;br /&gt;
*Ruby&lt;br /&gt;
&lt;br /&gt;
== License Files (.rdf) ==&lt;br /&gt;
=== Attributes ===&lt;br /&gt;
&lt;br /&gt;
* cc:license&lt;br /&gt;
** about&lt;br /&gt;
** permits&lt;br /&gt;
** requires&lt;br /&gt;
** prohibits&lt;br /&gt;
* dc:title - The human readable name of the license.&lt;br /&gt;
* dc:description - Description of the license.&lt;br /&gt;
* dc:coverage - The jurisdiction of the license. (country code from [http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html ISO3166])&lt;br /&gt;
* dc:relation&lt;br /&gt;
** hasVersion - version number&lt;br /&gt;
** isReplacedBy - indicates retired license ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
** isBasedOn - indicates ported version ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
* dc:type - always &amp;quot;License&amp;quot;&lt;br /&gt;
* dc:creator&lt;br /&gt;
* dc:publisher&lt;br /&gt;
* dc:identifier - URI of license ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;rdf:RDF&lt;br /&gt;
   xmlns=&amp;quot;http://creativecommons.org/ns#&amp;quot;&lt;br /&gt;
   xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
   xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xmlns:dcq=&amp;quot;http://purl.org/dc/terms/&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;rdf:Description rdf:about=&amp;quot;http://creativecommons.org/licenses/by-nd/2.0/za/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;dc:title&amp;gt;Creative Commons Attribution No Derivatives&amp;lt;/dc:title&amp;gt;&lt;br /&gt;
    &amp;lt;dc:description&amp;gt;This license allows for redistribution, commercial and non-commercial,&lt;br /&gt;
 as long as it is passed along unchanged and in whole, with credit to you.&amp;lt;/dc:description&amp;gt;&lt;br /&gt;
    &amp;lt;dc:coverage&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:ISO3166&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;za&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:ISO3166&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:coverage&amp;gt;&lt;br /&gt;
    &amp;lt;dc:hasVersion&amp;gt;2.0&amp;lt;/dc:hasVersion&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isReplacedBy&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/za/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isReplacedBy&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isBasedOn&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isBasedOn&amp;gt;&lt;br /&gt;
    &amp;lt;dc:type&amp;gt;License&amp;lt;/dc:type&amp;gt;&lt;br /&gt;
    &amp;lt;dc:creator&amp;gt;iCommons&amp;lt;/dc:creator&amp;gt;&lt;br /&gt;
    &amp;lt;dc:publisher&amp;gt;Creative Commons&amp;lt;/dc:publisher&amp;gt;&lt;br /&gt;
    &amp;lt;dc:identifier&amp;gt;http://creativecommons.org/licenses/by-nd/2.0/za/&amp;lt;/dc:identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;rdf:type rdf:resource=&amp;quot;http://creativecommons.org/ns#License&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Distribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Reproduction&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Attribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Notice&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/rdf:Description&amp;gt;&lt;br /&gt;
&amp;lt;/rdf:RDF&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example (i18n) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;rdf:RDF&lt;br /&gt;
   xmlns=&amp;quot;http://creativecommons.org/ns#&amp;quot;&lt;br /&gt;
   xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
   xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xmlns:dcq=&amp;quot;http://purl.org/dc/terms/&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;rdf:Description rdf:about=&amp;quot;http://creativecommons.org/licenses/by-nd/2.0/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;dc:title&amp;gt;&lt;br /&gt;
        &amp;lt;rdf:Alt&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;x-default&amp;quot;&amp;gt;Creative Commons Attribution No Derivatives&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;es-cl&amp;quot;&amp;gt;Creative Commons Atribución-SinDerivadas&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
        &amp;lt;/rdf:Alt&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:title&amp;gt;&lt;br /&gt;
    &amp;lt;dc:description&amp;gt;&lt;br /&gt;
        &amp;lt;rdf:Alt&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;x-default&amp;quot;&amp;gt;This license allows for redistribution, commercial and non-commercial,&lt;br /&gt;
 as long as it is passed along unchanged and in whole, with credit to you.&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
        &amp;lt;/rdf:Alt&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:description&amp;gt;&lt;br /&gt;
    &amp;lt;dc:coverage&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:ISO3166&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;us&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:ISO3166&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:coverage&amp;gt;&lt;br /&gt;
    &amp;lt;dc:hasVersion&amp;gt;2.0&amp;lt;/dc:hasVersion&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isReplacedBy&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isReplacedBy&amp;gt;&lt;br /&gt;
    &amp;lt;dc:type&amp;gt;License&amp;lt;/dc:type&amp;gt;&lt;br /&gt;
    &amp;lt;dc:creator&amp;gt;Creative Commons&amp;lt;/dc:creator&amp;gt;&lt;br /&gt;
    &amp;lt;dc:publisher&amp;gt;Creative Commons&amp;lt;/dc:publisher&amp;gt;&lt;br /&gt;
    &amp;lt;dc:identifier&amp;gt;http://creativecommons.org/licenses/by-nd/2.0/&amp;lt;/dc:identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;rdf:type rdf:resource=&amp;quot;http://creativecommons.org/ns#License&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Distribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Reproduction&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Attribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Notice&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/rdf:Description&amp;gt;&lt;br /&gt;
&amp;lt;/rdf:RDF&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Desktop Integration ==&lt;br /&gt;
&lt;br /&gt;
See [[Desktop Integration]]&lt;br /&gt;
&lt;br /&gt;
=== Gnome Summit Discussion ===&lt;br /&gt;
&lt;br /&gt;
At the Gnome Summit we explored adding CC licensing to various Gnome applications.  Application developers appeared to have a few needs:&lt;br /&gt;
&lt;br /&gt;
* They want to display the appropriate icon (or other) for a particular license.  For instance, AbiWord could display a small icon representing license status in the tool bar.  Music players could display the icon in the controls area.  A music streaming app might want to play a 5 second &amp;quot;Now entering the Creative Commons&amp;quot; chime (much like radio station identification, but for licenses).&lt;br /&gt;
* They want to allow the user to easily select a license.  This would probably be a wizard that asks the user questions and tries to select the most appropriate license from all that it knows about.  Much like a file selection dialog, but navigating licenses instead of your file system.&lt;br /&gt;
&lt;br /&gt;
A low-level liblicense could handle XML parsing required.  It would allow the client to determine the questions that need to be asked to select a license, and to download any icons, blurbs, etc for all known license types.&lt;br /&gt;
&lt;br /&gt;
The low-level library solves the first problem above, but not the second.  It's still too difficult to ask the user to select a license.  Layered on top of the low-level library would be any number of high level libraries that would convert the textual questions into GUI widgets and present them using the appropriate toolkit (GTK+ / KDE / Cocoa / Win32 / etc).  This way, adding license awareness to an application should be as easy as &amp;quot;license=SFGetLicense(); saveDocument(license)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Accessories ===&lt;br /&gt;
* CLI&lt;br /&gt;
** license (bundled) - simple cli program to license files.&lt;br /&gt;
** .license/default engine - a .license directory will contain the user's default setting, other config info and the user's licenses.&lt;br /&gt;
* Gnome&lt;br /&gt;
** Gnome Settings frontend. - set the default license through the gnome settings interface.&lt;br /&gt;
** Nautilus Frontend Extension - set and read licenses through nautilus.&lt;br /&gt;
** License chooser (app.) - license chooser for setting default and per file licenses. (GUI license)&lt;br /&gt;
** GTK widget&lt;br /&gt;
** Gconf config module.&lt;br /&gt;
* Sugar&lt;br /&gt;
** Journal Backend&lt;br /&gt;
** Journal Frontend&lt;br /&gt;
* KDE3 (???)&lt;br /&gt;
* KDE4&lt;br /&gt;
&lt;br /&gt;
== Timeline ==&lt;br /&gt;
=== 6/18 ===&lt;br /&gt;
* Finalize liblicense API.&lt;br /&gt;
&lt;br /&gt;
=== 6/25 ===&lt;br /&gt;
* Write liblicense.&lt;br /&gt;
* Stub config and IO modules.&lt;br /&gt;
&lt;br /&gt;
=== 7/2 ===&lt;br /&gt;
&lt;br /&gt;
=== 7/9 ===&lt;br /&gt;
* .license/default set default&lt;br /&gt;
* gnome settings UI&lt;br /&gt;
&lt;br /&gt;
=== 7/16 ===&lt;br /&gt;
* Nautilus GUI frontend.&lt;br /&gt;
* Gnome control panel frontend.&lt;br /&gt;
&lt;br /&gt;
=== 7/23 ===&lt;br /&gt;
* Sugar Journal backend.&lt;br /&gt;
* Sugar frontend.&lt;br /&gt;
&lt;br /&gt;
=== 7/30 ===&lt;br /&gt;
* Bug hunting.&lt;br /&gt;
* Frontend polishing.&lt;br /&gt;
&lt;br /&gt;
=== 8/6 ===&lt;br /&gt;
* shoot for milestone 3 for linuxworld pr&lt;br /&gt;
&lt;br /&gt;
=== 8/13 ===&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
=== 8/20 ===&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
=== 0.1 ===&lt;br /&gt;
* Initial release. ('''done''')&lt;br /&gt;
* All CC licenses. ('''done''')&lt;br /&gt;
* CLI tools. ('''done''')&lt;br /&gt;
* Modules. ('''done''')&lt;br /&gt;
** Exempi embed. ('''done''')&lt;br /&gt;
** Exempi XMP sidecar. ('''done''')&lt;br /&gt;
* Make light blog post about release on techblog, explain early state ('''done''')&lt;br /&gt;
&lt;br /&gt;
=== 0.3 ===&lt;br /&gt;
* Optimization - namely caching in some way.  Should not access file every attribute request.&lt;br /&gt;
* Gnome tools. ('''done''')&lt;br /&gt;
** Nautilus frontend. ('''done''')&lt;br /&gt;
** Gnome settings frontend. ('''done''')&lt;br /&gt;
** GTK License chooser. (See mockups) ('''done''')&lt;br /&gt;
* File embed preference over external storage. (Use external only as needed.) ('''done''')&lt;br /&gt;
* Store default jurisdiction. ('''done - default license is in default jurisdiction''')&lt;br /&gt;
* Modules.&lt;br /&gt;
** vorbiscomment ('''done''')&lt;br /&gt;
** ...&lt;br /&gt;
* Do big release on main CC blog and across various chat and mailing lists to pick-up people, lots of them...&lt;br /&gt;
* Do [[liblicense 03 release todo]]&lt;br /&gt;
&lt;br /&gt;
=== 0.4 ===&lt;br /&gt;
* Further refinement.&lt;br /&gt;
* Sugar tools.&lt;br /&gt;
** Journal integration.&lt;br /&gt;
* Another major announcement&lt;br /&gt;
* [[liblicense 04 release todo]]&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8282</id>
		<title>Liblicense 03 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8282"/>
				<updated>2007-08-03T21:56:47Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* issues&lt;br /&gt;
** &amp;lt;del&amp;gt;Nautilus writes a license to every file whose property dialog is displayed&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;license chooser returns devnations -- should we mark this as retired and then not return retired licenses?&amp;lt;/del&amp;gt; (added isReplacedBy by/3.0)&lt;br /&gt;
** &amp;lt;del&amp;gt;Unicode filename issues?  Licenses aren't loaded for some test files with Japanese filenames.&amp;lt;/del&amp;gt;  (Um, seems to work fine, now) ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;Update gui_gtk.py to use license chooser API once the above is taken care of&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;configure --prefix=/usr/local dies trying to install the python bindings&amp;lt;/del&amp;gt;&lt;br /&gt;
*** libtool: install: error: cannot install `liblicense.la' to a directory not ending in /usr/lib/python2.4/site-packages/liblicense&lt;br /&gt;
*** Update: works after a 'make distclean'&lt;br /&gt;
** &amp;lt;del&amp;gt;new license chooser API not wrapped in Ruby&amp;lt;/del&amp;gt; ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;nautilus emblems don't work for me&amp;lt;/del&amp;gt; (Needed to touch /usr/share/icons/hicolor on installation)&lt;br /&gt;
** &amp;lt;del&amp;gt;No sampling licenses' RDF include the prohibits commericial use statement&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;package press release&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;tag svn&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* package&lt;br /&gt;
** &amp;lt;del&amp;gt;source &amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;rpm&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;deb&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;ebuild&amp;lt;/del&amp;gt; (Exempi, nautilus-python, and Liblicense ebuilds, courtesy of jakin)&lt;br /&gt;
&lt;br /&gt;
== publicity==&lt;br /&gt;
=== informal ===&lt;br /&gt;
* &amp;lt;del&amp;gt;mailing lists&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;cc-devel&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;cc-community&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;sourceforge&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;cc frontpage blog ('''written''')&amp;lt;/del&amp;gt;&lt;br /&gt;
* digg&lt;br /&gt;
* &amp;lt;del&amp;gt;Boing Boing&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;lwn@lwn.net&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;newstips@heise.de&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;PR: theobroma@revelinux.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.newsforge.com/submit.pl&amp;lt;/del&amp;gt;&lt;br /&gt;
* http://slashdot.org/submit.pl&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.desktoplinux.com/ - http://www.desktoplinux.com/cgi-bin/news_post.cgi &amp;lt;/del&amp;gt; (&amp;lt;-- Um dead link and no page to post in sight)&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://freshmeat.net/ Freshmeat]&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://gnomedesktop.org/node/add/story gnome footnotes]&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://www.gnomefiles.org/ GnomeFiles] for software which supports Gnome&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://del.icio.us/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://technorati.com/wtf&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== formal ===&lt;br /&gt;
* &amp;lt;del&amp;gt;press release&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;packaged PRESS file&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prleap.com/ prleap] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prbuzz.com/ prbuzz] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;nettime-ann - http://www.nettime.org/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;See Kansas City infoZine: http://www.infozine.com/news/stories/op/storiesView/sid/5080/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxformat.co.uk/ - webmaster@linuxformat.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: login and submit news via top of page link&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linux-magazine.com/ - info@linux-magazine.com edit@linux-magazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: pr@linux-magazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxjournal.com/ - ljeditor@ssc.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: newproducts@ssc.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxmagazine.com/ - editors@linux-mag.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: ???&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxuser.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: terry@linuxuser.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.tuxmagazine.com/ - editor@tuxmagazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: ???&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.linuxworld.com/ - mrhinkle@linuxworld.com tim@linuxworld.com&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== other ===&lt;br /&gt;
* &amp;lt;del&amp;gt;cc techblog how to&amp;lt;/del&amp;gt; ([[Liblicense_tutorial]])&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8281</id>
		<title>Liblicense 03 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8281"/>
				<updated>2007-08-03T21:42:06Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* issues&lt;br /&gt;
** &amp;lt;del&amp;gt;Nautilus writes a license to every file whose property dialog is displayed&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;license chooser returns devnations -- should we mark this as retired and then not return retired licenses?&amp;lt;/del&amp;gt; (added isReplacedBy by/3.0)&lt;br /&gt;
** &amp;lt;del&amp;gt;Unicode filename issues?  Licenses aren't loaded for some test files with Japanese filenames.&amp;lt;/del&amp;gt;  (Um, seems to work fine, now) ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;Update gui_gtk.py to use license chooser API once the above is taken care of&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;configure --prefix=/usr/local dies trying to install the python bindings&amp;lt;/del&amp;gt;&lt;br /&gt;
*** libtool: install: error: cannot install `liblicense.la' to a directory not ending in /usr/lib/python2.4/site-packages/liblicense&lt;br /&gt;
*** Update: works after a 'make distclean'&lt;br /&gt;
** &amp;lt;del&amp;gt;new license chooser API not wrapped in Ruby&amp;lt;/del&amp;gt; ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;nautilus emblems don't work for me&amp;lt;/del&amp;gt; (Needed to touch /usr/share/icons/hicolor on installation)&lt;br /&gt;
** &amp;lt;del&amp;gt;No sampling licenses' RDF include the prohibits commericial use statement&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;package press release&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;tag svn&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* package&lt;br /&gt;
** &amp;lt;del&amp;gt;source &amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;rpm&amp;lt;/del&amp;gt;&lt;br /&gt;
** deb&lt;br /&gt;
** &amp;lt;del&amp;gt;ebuild&amp;lt;/del&amp;gt; (Exempi, nautilus-python, and Liblicense ebuilds, courtesy of jakin)&lt;br /&gt;
&lt;br /&gt;
== publicity==&lt;br /&gt;
=== informal ===&lt;br /&gt;
* &amp;lt;del&amp;gt;mailing lists&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;cc-devel&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;cc-community&amp;lt;/del&amp;gt;&lt;br /&gt;
* sourceforge&lt;br /&gt;
* &amp;lt;del&amp;gt;cc frontpage blog ('''written''')&amp;lt;/del&amp;gt;&lt;br /&gt;
* digg&lt;br /&gt;
* &amp;lt;del&amp;gt;Boing Boing&amp;lt;/del&amp;gt;&lt;br /&gt;
* lwn@lwn.net&lt;br /&gt;
* newstips@heise.de&lt;br /&gt;
* PR: theobroma@revelinux.com&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.newsforge.com/submit.pl&amp;lt;/del&amp;gt;&lt;br /&gt;
* http://slashdot.org/submit.pl&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.desktoplinux.com/ - http://www.desktoplinux.com/cgi-bin/news_post.cgi &amp;lt;/del&amp;gt; (&amp;lt;-- Um dead link and no page to post in sight)&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://freshmeat.net/ Freshmeat]&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://gnomedesktop.org/node/add/story gnome footnotes]&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://www.gnomefiles.org/ GnomeFiles] for software which supports Gnome&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://del.icio.us/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://technorati.com/wtf&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== formal ===&lt;br /&gt;
* &amp;lt;del&amp;gt;press release&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;packaged PRESS file&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prleap.com/ prleap] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prbuzz.com/ prbuzz] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;nettime-ann - http://www.nettime.org/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;See Kansas City infoZine: http://www.infozine.com/news/stories/op/storiesView/sid/5080/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxformat.co.uk/ - webmaster@linuxformat.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: login and submit news via top of page link&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linux-magazine.com/ - info@linux-magazine.com edit@linux-magazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: pr@linux-magazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxjournal.com/ - ljeditor@ssc.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: newproducts@ssc.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxmagazine.com/ - editors@linux-mag.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: ???&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxuser.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: terry@linuxuser.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.tuxmagazine.com/ - editor@tuxmagazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: ???&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.linuxworld.com/ - mrhinkle@linuxworld.com tim@linuxworld.com&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== other ===&lt;br /&gt;
* &amp;lt;del&amp;gt;cc techblog how to&amp;lt;/del&amp;gt; ([[Liblicense_tutorial]])&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8193</id>
		<title>Liblicense 03 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8193"/>
				<updated>2007-07-31T21:52:10Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: /* informal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* issues&lt;br /&gt;
** &amp;lt;del&amp;gt;Nautilus writes a license to every file whose property dialog is displayed&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;license chooser returns devnations -- should we mark this as retired and then not return retired licenses?&amp;lt;/del&amp;gt; (added isReplacedBy by/3.0)&lt;br /&gt;
** &amp;lt;del&amp;gt;Unicode filename issues?  Licenses aren't loaded for some test files with Japanese filenames.&amp;lt;/del&amp;gt;  (Um, seems to work fine, now) ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;Update gui_gtk.py to use license chooser API once the above is taken care of&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;configure --prefix=/usr/local dies trying to install the python bindings&amp;lt;/del&amp;gt;&lt;br /&gt;
*** libtool: install: error: cannot install `liblicense.la' to a directory not ending in /usr/lib/python2.4/site-packages/liblicense&lt;br /&gt;
*** Update: works after a 'make distclean'&lt;br /&gt;
** &amp;lt;del&amp;gt;new license chooser API not wrapped in Ruby&amp;lt;/del&amp;gt; ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;nautilus emblems don't work for me&amp;lt;/del&amp;gt; (Needed to touch /usr/share/icons/hicolor on installation)&lt;br /&gt;
** &amp;lt;del&amp;gt;No sampling licenses' RDF include the prohibits commericial use statement&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;package press release&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;tag svn&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* package&lt;br /&gt;
** &amp;lt;del&amp;gt;source &amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;rpm&amp;lt;/del&amp;gt;&lt;br /&gt;
** deb&lt;br /&gt;
** &amp;lt;del&amp;gt;ebuild&amp;lt;/del&amp;gt; (Exempi, nautilus-python, and Liblicense ebuilds, courtesy of jakin)&lt;br /&gt;
&lt;br /&gt;
== publicity==&lt;br /&gt;
=== informal ===&lt;br /&gt;
* mailing lists&lt;br /&gt;
** cc-devel&lt;br /&gt;
** cc-community&lt;br /&gt;
* sourceforge&lt;br /&gt;
* &amp;lt;del&amp;gt;cc frontpage blog ('''written''')&amp;lt;/del&amp;gt;&lt;br /&gt;
* digg&lt;br /&gt;
* Boing Boing&lt;br /&gt;
* lwn@lwn.net&lt;br /&gt;
* newstips@heise.de&lt;br /&gt;
* PR: theobroma@revelinux.com&lt;br /&gt;
* http://www.newsforge.com/submit.pl&lt;br /&gt;
* http://slashdot.org/submit.pl&lt;br /&gt;
* http://www.desktoplinux.com/ - http://www.desktoplinux.com/cgi-bin/news_post.cgi&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://freshmeat.net/ Freshmeat]&amp;lt;/del&amp;gt;&lt;br /&gt;
* [http://gnomedesktop.org/node/add/story gnome footnotes]&lt;br /&gt;
* [http://www.gnomefiles.org/ GnomeFiles] for software which supports Gnome&lt;br /&gt;
* http://del.icio.us/&lt;br /&gt;
* http://technorati.com/wtf&lt;br /&gt;
&lt;br /&gt;
=== formal ===&lt;br /&gt;
* &amp;lt;del&amp;gt;press release&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;packaged PRESS file&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prleap.com/ prleap] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prbuzz.com/ prbuzz] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;nettime-ann - http://www.nettime.org/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;See Kansas City infoZine: http://www.infozine.com/news/stories/op/storiesView/sid/5080/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxformat.co.uk/ - webmaster@linuxformat.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: login and submit news via top of page link&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linux-magazine.com/ - info@linux-magazine.com edit@linux-magazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: pr@linux-magazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxjournal.com/ - ljeditor@ssc.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: newproducts@ssc.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxmagazine.com/ - editors@linux-mag.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: ???&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxuser.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: terry@linuxuser.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.tuxmagazine.com/ - editor@tuxmagazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: ???&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.linuxworld.com/ - mrhinkle@linuxworld.com tim@linuxworld.com&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== other ===&lt;br /&gt;
* &amp;lt;del&amp;gt;cc techblog how to&amp;lt;/del&amp;gt; ([[Liblicense_tutorial]])&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8192</id>
		<title>Liblicense 03 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8192"/>
				<updated>2007-07-31T21:44:11Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: /* formal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* issues&lt;br /&gt;
** &amp;lt;del&amp;gt;Nautilus writes a license to every file whose property dialog is displayed&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;license chooser returns devnations -- should we mark this as retired and then not return retired licenses?&amp;lt;/del&amp;gt; (added isReplacedBy by/3.0)&lt;br /&gt;
** &amp;lt;del&amp;gt;Unicode filename issues?  Licenses aren't loaded for some test files with Japanese filenames.&amp;lt;/del&amp;gt;  (Um, seems to work fine, now) ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;Update gui_gtk.py to use license chooser API once the above is taken care of&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;configure --prefix=/usr/local dies trying to install the python bindings&amp;lt;/del&amp;gt;&lt;br /&gt;
*** libtool: install: error: cannot install `liblicense.la' to a directory not ending in /usr/lib/python2.4/site-packages/liblicense&lt;br /&gt;
*** Update: works after a 'make distclean'&lt;br /&gt;
** &amp;lt;del&amp;gt;new license chooser API not wrapped in Ruby&amp;lt;/del&amp;gt; ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;nautilus emblems don't work for me&amp;lt;/del&amp;gt; (Needed to touch /usr/share/icons/hicolor on installation)&lt;br /&gt;
** &amp;lt;del&amp;gt;No sampling licenses' RDF include the prohibits commericial use statement&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;package press release&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;tag svn&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* package&lt;br /&gt;
** &amp;lt;del&amp;gt;source &amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;rpm&amp;lt;/del&amp;gt;&lt;br /&gt;
** deb&lt;br /&gt;
** &amp;lt;del&amp;gt;ebuild&amp;lt;/del&amp;gt; (Exempi, nautilus-python, and Liblicense ebuilds, courtesy of jakin)&lt;br /&gt;
&lt;br /&gt;
== publicity==&lt;br /&gt;
=== informal ===&lt;br /&gt;
* mailing lists&lt;br /&gt;
** cc-devel&lt;br /&gt;
** cc-community&lt;br /&gt;
* sourceforge&lt;br /&gt;
* &amp;lt;del&amp;gt;cc frontpage blog ('''written''')&amp;lt;/del&amp;gt;&lt;br /&gt;
* digg&lt;br /&gt;
* Boing Boing&lt;br /&gt;
* lwn@lwn.net&lt;br /&gt;
* newstips@heise.de&lt;br /&gt;
* PR: theobroma@revelinux.com&lt;br /&gt;
* http://www.newsforge.com/submit.pl&lt;br /&gt;
* http://slashdot.org/submit.pl&lt;br /&gt;
* http://www.desktoplinux.com/ - http://www.desktoplinux.com/cgi-bin/news_post.cgi&lt;br /&gt;
* [http://freshmeat.net/ Freshmeat]&lt;br /&gt;
* [http://gnomedesktop.org/node/add/story gnome footnotes]&lt;br /&gt;
* [http://www.gnomefiles.org/ GnomeFiles] for software which supports Gnome&lt;br /&gt;
* http://del.icio.us/&lt;br /&gt;
* http://technorati.com/wtf&lt;br /&gt;
&lt;br /&gt;
=== formal ===&lt;br /&gt;
* &amp;lt;del&amp;gt;press release&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;packaged PRESS file&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prleap.com/ prleap] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prbuzz.com/ prbuzz] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;nettime-ann - http://www.nettime.org/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;See Kansas City infoZine: http://www.infozine.com/news/stories/op/storiesView/sid/5080/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxformat.co.uk/ - webmaster@linuxformat.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: login and submit news via top of page link&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linux-magazine.com/ - info@linux-magazine.com edit@linux-magazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: pr@linux-magazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxjournal.com/ - ljeditor@ssc.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: newproducts@ssc.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxmagazine.com/ - editors@linux-mag.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: ???&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxuser.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: terry@linuxuser.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.tuxmagazine.com/ - editor@tuxmagazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: ???&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.linuxworld.com/ - mrhinkle@linuxworld.com tim@linuxworld.com&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== other ===&lt;br /&gt;
* &amp;lt;del&amp;gt;cc techblog how to&amp;lt;/del&amp;gt; ([[Liblicense_tutorial]])&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8191</id>
		<title>Liblicense 03 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8191"/>
				<updated>2007-07-31T21:36:19Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: /* formal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* issues&lt;br /&gt;
** &amp;lt;del&amp;gt;Nautilus writes a license to every file whose property dialog is displayed&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;license chooser returns devnations -- should we mark this as retired and then not return retired licenses?&amp;lt;/del&amp;gt; (added isReplacedBy by/3.0)&lt;br /&gt;
** &amp;lt;del&amp;gt;Unicode filename issues?  Licenses aren't loaded for some test files with Japanese filenames.&amp;lt;/del&amp;gt;  (Um, seems to work fine, now) ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;Update gui_gtk.py to use license chooser API once the above is taken care of&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;configure --prefix=/usr/local dies trying to install the python bindings&amp;lt;/del&amp;gt;&lt;br /&gt;
*** libtool: install: error: cannot install `liblicense.la' to a directory not ending in /usr/lib/python2.4/site-packages/liblicense&lt;br /&gt;
*** Update: works after a 'make distclean'&lt;br /&gt;
** &amp;lt;del&amp;gt;new license chooser API not wrapped in Ruby&amp;lt;/del&amp;gt; ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;nautilus emblems don't work for me&amp;lt;/del&amp;gt; (Needed to touch /usr/share/icons/hicolor on installation)&lt;br /&gt;
** &amp;lt;del&amp;gt;No sampling licenses' RDF include the prohibits commericial use statement&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;package press release&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;tag svn&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* package&lt;br /&gt;
** &amp;lt;del&amp;gt;source &amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;rpm&amp;lt;/del&amp;gt;&lt;br /&gt;
** deb&lt;br /&gt;
** &amp;lt;del&amp;gt;ebuild&amp;lt;/del&amp;gt; (Exempi, nautilus-python, and Liblicense ebuilds, courtesy of jakin)&lt;br /&gt;
&lt;br /&gt;
== publicity==&lt;br /&gt;
=== informal ===&lt;br /&gt;
* mailing lists&lt;br /&gt;
** cc-devel&lt;br /&gt;
** cc-community&lt;br /&gt;
* sourceforge&lt;br /&gt;
* &amp;lt;del&amp;gt;cc frontpage blog ('''written''')&amp;lt;/del&amp;gt;&lt;br /&gt;
* digg&lt;br /&gt;
* Boing Boing&lt;br /&gt;
* lwn@lwn.net&lt;br /&gt;
* newstips@heise.de&lt;br /&gt;
* PR: theobroma@revelinux.com&lt;br /&gt;
* http://www.newsforge.com/submit.pl&lt;br /&gt;
* http://slashdot.org/submit.pl&lt;br /&gt;
* http://www.desktoplinux.com/ - http://www.desktoplinux.com/cgi-bin/news_post.cgi&lt;br /&gt;
* [http://freshmeat.net/ Freshmeat]&lt;br /&gt;
* [http://gnomedesktop.org/node/add/story gnome footnotes]&lt;br /&gt;
* [http://www.gnomefiles.org/ GnomeFiles] for software which supports Gnome&lt;br /&gt;
* http://del.icio.us/&lt;br /&gt;
* http://technorati.com/wtf&lt;br /&gt;
&lt;br /&gt;
=== formal ===&lt;br /&gt;
* &amp;lt;del&amp;gt;press release&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;packaged PRESS file&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prleap.com/ prleap] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prbuzz.com/ prbuzz] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;nettime-ann - http://www.nettime.org/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;See Kansas City infoZine: http://www.infozine.com/news/stories/op/storiesView/sid/5080/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxformat.co.uk/ - webmaster@linuxformat.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: login and submit news via top of page link&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linux-magazine.com/ - info@linux-magazine.com edit@linux-magazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: pr@linux-magazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxjournal.com/ - ljeditor@ssc.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: newproducts@ssc.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxmagazine.com/ - editors@linux-mag.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: ???&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxuser.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: terry@linuxuser.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://www.tuxmagazine.com/ - editor@tuxmagazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: ???&amp;lt;/del&amp;gt;&lt;br /&gt;
* http://www.linuxworld.com/ - mrhinkle@linuxworld.com tim@linuxworld.com&lt;br /&gt;
&lt;br /&gt;
=== other ===&lt;br /&gt;
* &amp;lt;del&amp;gt;cc techblog how to&amp;lt;/del&amp;gt; ([[Liblicense_tutorial]])&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8190</id>
		<title>Liblicense 03 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8190"/>
				<updated>2007-07-31T21:31:10Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: /* formal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* issues&lt;br /&gt;
** &amp;lt;del&amp;gt;Nautilus writes a license to every file whose property dialog is displayed&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;license chooser returns devnations -- should we mark this as retired and then not return retired licenses?&amp;lt;/del&amp;gt; (added isReplacedBy by/3.0)&lt;br /&gt;
** &amp;lt;del&amp;gt;Unicode filename issues?  Licenses aren't loaded for some test files with Japanese filenames.&amp;lt;/del&amp;gt;  (Um, seems to work fine, now) ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;Update gui_gtk.py to use license chooser API once the above is taken care of&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;configure --prefix=/usr/local dies trying to install the python bindings&amp;lt;/del&amp;gt;&lt;br /&gt;
*** libtool: install: error: cannot install `liblicense.la' to a directory not ending in /usr/lib/python2.4/site-packages/liblicense&lt;br /&gt;
*** Update: works after a 'make distclean'&lt;br /&gt;
** &amp;lt;del&amp;gt;new license chooser API not wrapped in Ruby&amp;lt;/del&amp;gt; ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;nautilus emblems don't work for me&amp;lt;/del&amp;gt; (Needed to touch /usr/share/icons/hicolor on installation)&lt;br /&gt;
** &amp;lt;del&amp;gt;No sampling licenses' RDF include the prohibits commericial use statement&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;package press release&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;tag svn&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* package&lt;br /&gt;
** &amp;lt;del&amp;gt;source &amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;rpm&amp;lt;/del&amp;gt;&lt;br /&gt;
** deb&lt;br /&gt;
** &amp;lt;del&amp;gt;ebuild&amp;lt;/del&amp;gt; (Exempi, nautilus-python, and Liblicense ebuilds, courtesy of jakin)&lt;br /&gt;
&lt;br /&gt;
== publicity==&lt;br /&gt;
=== informal ===&lt;br /&gt;
* mailing lists&lt;br /&gt;
** cc-devel&lt;br /&gt;
** cc-community&lt;br /&gt;
* sourceforge&lt;br /&gt;
* &amp;lt;del&amp;gt;cc frontpage blog ('''written''')&amp;lt;/del&amp;gt;&lt;br /&gt;
* digg&lt;br /&gt;
* Boing Boing&lt;br /&gt;
* lwn@lwn.net&lt;br /&gt;
* newstips@heise.de&lt;br /&gt;
* PR: theobroma@revelinux.com&lt;br /&gt;
* http://www.newsforge.com/submit.pl&lt;br /&gt;
* http://slashdot.org/submit.pl&lt;br /&gt;
* http://www.desktoplinux.com/ - http://www.desktoplinux.com/cgi-bin/news_post.cgi&lt;br /&gt;
* [http://freshmeat.net/ Freshmeat]&lt;br /&gt;
* [http://gnomedesktop.org/node/add/story gnome footnotes]&lt;br /&gt;
* [http://www.gnomefiles.org/ GnomeFiles] for software which supports Gnome&lt;br /&gt;
* http://del.icio.us/&lt;br /&gt;
* http://technorati.com/wtf&lt;br /&gt;
&lt;br /&gt;
=== formal ===&lt;br /&gt;
* &amp;lt;del&amp;gt;press release&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;packaged PRESS file&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prleap.com/ prleap] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prbuzz.com/ prbuzz] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;nettime-ann - http://www.nettime.org/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;See Kansas City infoZine: http://www.infozine.com/news/stories/op/storiesView/sid/5080/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxformat.co.uk/ - webmaster@linuxformat.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: login and submit news via top of page link&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linux-magazine.com/ - info@linux-magazine.com edit@linux-magazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: pr@linux-magazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxjournal.com/ - ljeditor@ssc.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: newproducts@ssc.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxmagazine.com/ - editors@linux-mag.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: ???&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxuser.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: terry@linuxuser.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
* http://www.tuxmagazine.com/ - editor@tuxmagazine.com&lt;br /&gt;
** PR: ???&lt;br /&gt;
* http://www.linuxworld.com/ - mrhinkle@linuxworld.com tim@linuxworld.com&lt;br /&gt;
&lt;br /&gt;
=== other ===&lt;br /&gt;
* &amp;lt;del&amp;gt;cc techblog how to&amp;lt;/del&amp;gt; ([[Liblicense_tutorial]])&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8189</id>
		<title>Liblicense 03 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8189"/>
				<updated>2007-07-31T21:28:48Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: /* formal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* issues&lt;br /&gt;
** &amp;lt;del&amp;gt;Nautilus writes a license to every file whose property dialog is displayed&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;license chooser returns devnations -- should we mark this as retired and then not return retired licenses?&amp;lt;/del&amp;gt; (added isReplacedBy by/3.0)&lt;br /&gt;
** &amp;lt;del&amp;gt;Unicode filename issues?  Licenses aren't loaded for some test files with Japanese filenames.&amp;lt;/del&amp;gt;  (Um, seems to work fine, now) ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;Update gui_gtk.py to use license chooser API once the above is taken care of&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;configure --prefix=/usr/local dies trying to install the python bindings&amp;lt;/del&amp;gt;&lt;br /&gt;
*** libtool: install: error: cannot install `liblicense.la' to a directory not ending in /usr/lib/python2.4/site-packages/liblicense&lt;br /&gt;
*** Update: works after a 'make distclean'&lt;br /&gt;
** &amp;lt;del&amp;gt;new license chooser API not wrapped in Ruby&amp;lt;/del&amp;gt; ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;nautilus emblems don't work for me&amp;lt;/del&amp;gt; (Needed to touch /usr/share/icons/hicolor on installation)&lt;br /&gt;
** &amp;lt;del&amp;gt;No sampling licenses' RDF include the prohibits commericial use statement&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;package press release&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;tag svn&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* package&lt;br /&gt;
** &amp;lt;del&amp;gt;source &amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;rpm&amp;lt;/del&amp;gt;&lt;br /&gt;
** deb&lt;br /&gt;
** &amp;lt;del&amp;gt;ebuild&amp;lt;/del&amp;gt; (Exempi, nautilus-python, and Liblicense ebuilds, courtesy of jakin)&lt;br /&gt;
&lt;br /&gt;
== publicity==&lt;br /&gt;
=== informal ===&lt;br /&gt;
* mailing lists&lt;br /&gt;
** cc-devel&lt;br /&gt;
** cc-community&lt;br /&gt;
* sourceforge&lt;br /&gt;
* &amp;lt;del&amp;gt;cc frontpage blog ('''written''')&amp;lt;/del&amp;gt;&lt;br /&gt;
* digg&lt;br /&gt;
* Boing Boing&lt;br /&gt;
* lwn@lwn.net&lt;br /&gt;
* newstips@heise.de&lt;br /&gt;
* PR: theobroma@revelinux.com&lt;br /&gt;
* http://www.newsforge.com/submit.pl&lt;br /&gt;
* http://slashdot.org/submit.pl&lt;br /&gt;
* http://www.desktoplinux.com/ - http://www.desktoplinux.com/cgi-bin/news_post.cgi&lt;br /&gt;
* [http://freshmeat.net/ Freshmeat]&lt;br /&gt;
* [http://gnomedesktop.org/node/add/story gnome footnotes]&lt;br /&gt;
* [http://www.gnomefiles.org/ GnomeFiles] for software which supports Gnome&lt;br /&gt;
* http://del.icio.us/&lt;br /&gt;
* http://technorati.com/wtf&lt;br /&gt;
&lt;br /&gt;
=== formal ===&lt;br /&gt;
* &amp;lt;del&amp;gt;press release&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;packaged PRESS file&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prleap.com/ prleap] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prbuzz.com/ prbuzz] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;nettime-ann - http://www.nettime.org/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;See Kansas City infoZine: http://www.infozine.com/news/stories/op/storiesView/sid/5080/&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxformat.co.uk/ - webmaster@linuxformat.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: login and submit news via top of page link&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linux-magazine.com/ - info@linux-magazine.com edit@linux-magazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: pr@linux-magazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxjournal.com/ - ljeditor@ssc.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: newproducts@ssc.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxmagazine.com/ - editors@linux-mag.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: ???&amp;lt;/del&amp;gt;&lt;br /&gt;
* http://linuxuser.co.uk - http://linuxuser.co.uk/index.php?option=com_content&amp;amp;task=view&amp;amp;id=48&amp;amp;Itemid=40&lt;br /&gt;
** PR: terry@linuxuser.co.uk&lt;br /&gt;
* http://www.tuxmagazine.com/ - editor@tuxmagazine.com&lt;br /&gt;
** PR: ???&lt;br /&gt;
* http://www.linuxworld.com/ - mrhinkle@linuxworld.com tim@linuxworld.com&lt;br /&gt;
&lt;br /&gt;
=== other ===&lt;br /&gt;
* &amp;lt;del&amp;gt;cc techblog how to&amp;lt;/del&amp;gt; ([[Liblicense_tutorial]])&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8187</id>
		<title>Liblicense 03 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8187"/>
				<updated>2007-07-31T21:09:52Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: /* formal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* issues&lt;br /&gt;
** &amp;lt;del&amp;gt;Nautilus writes a license to every file whose property dialog is displayed&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;license chooser returns devnations -- should we mark this as retired and then not return retired licenses?&amp;lt;/del&amp;gt; (added isReplacedBy by/3.0)&lt;br /&gt;
** &amp;lt;del&amp;gt;Unicode filename issues?  Licenses aren't loaded for some test files with Japanese filenames.&amp;lt;/del&amp;gt;  (Um, seems to work fine, now) ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;Update gui_gtk.py to use license chooser API once the above is taken care of&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;configure --prefix=/usr/local dies trying to install the python bindings&amp;lt;/del&amp;gt;&lt;br /&gt;
*** libtool: install: error: cannot install `liblicense.la' to a directory not ending in /usr/lib/python2.4/site-packages/liblicense&lt;br /&gt;
*** Update: works after a 'make distclean'&lt;br /&gt;
** &amp;lt;del&amp;gt;new license chooser API not wrapped in Ruby&amp;lt;/del&amp;gt; ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;nautilus emblems don't work for me&amp;lt;/del&amp;gt; (Needed to touch /usr/share/icons/hicolor on installation)&lt;br /&gt;
** &amp;lt;del&amp;gt;No sampling licenses' RDF include the prohibits commericial use statement&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;package press release&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;tag svn&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* package&lt;br /&gt;
** &amp;lt;del&amp;gt;source &amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;rpm&amp;lt;/del&amp;gt;&lt;br /&gt;
** deb&lt;br /&gt;
** &amp;lt;del&amp;gt;ebuild&amp;lt;/del&amp;gt; (Exempi, nautilus-python, and Liblicense ebuilds, courtesy of jakin)&lt;br /&gt;
&lt;br /&gt;
== publicity==&lt;br /&gt;
=== informal ===&lt;br /&gt;
* mailing lists&lt;br /&gt;
** cc-devel&lt;br /&gt;
** cc-community&lt;br /&gt;
* sourceforge&lt;br /&gt;
* &amp;lt;del&amp;gt;cc frontpage blog ('''written''')&amp;lt;/del&amp;gt;&lt;br /&gt;
* digg&lt;br /&gt;
* Boing Boing&lt;br /&gt;
* lwn@lwn.net&lt;br /&gt;
* newstips@heise.de&lt;br /&gt;
* PR: theobroma@revelinux.com&lt;br /&gt;
* http://www.newsforge.com/submit.pl&lt;br /&gt;
* http://slashdot.org/submit.pl&lt;br /&gt;
* http://www.desktoplinux.com/ - http://www.desktoplinux.com/cgi-bin/news_post.cgi&lt;br /&gt;
* [http://freshmeat.net/ Freshmeat]&lt;br /&gt;
* [http://gnomedesktop.org/node/add/story gnome footnotes]&lt;br /&gt;
* [http://www.gnomefiles.org/ GnomeFiles] for software which supports Gnome&lt;br /&gt;
* http://del.icio.us/&lt;br /&gt;
* http://technorati.com/wtf&lt;br /&gt;
&lt;br /&gt;
=== formal ===&lt;br /&gt;
* &amp;lt;del&amp;gt;press release&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;packaged PRESS file&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prleap.com/ prleap] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prbuzz.com/ prbuzz] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;nettime-ann - http://www.nettime.org/&amp;lt;/del&amp;gt;&lt;br /&gt;
* See Kansas City infoZine: http://www.infozine.com/news/stories/op/storiesView/sid/5080/&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxformat.co.uk/ - webmaster@linuxformat.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: login and submit news via top of page link&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linux-magazine.com/ - info@linux-magazine.com edit@linux-magazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: pr@linux-magazine.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxjournal.com/ - ljeditor@ssc.com&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: newproducts@ssc.com&amp;lt;/del&amp;gt;&lt;br /&gt;
* http://linuxmagazine.com/ - editors@linux-mag.com&lt;br /&gt;
** PR: ???&lt;br /&gt;
* http://linuxuser.co.uk - http://linuxuser.co.uk/index.php?option=com_content&amp;amp;task=view&amp;amp;id=48&amp;amp;Itemid=40&lt;br /&gt;
** PR: terry@linuxuser.co.uk&lt;br /&gt;
* http://www.tuxmagazine.com/ - editor@tuxmagazine.com&lt;br /&gt;
** PR: ???&lt;br /&gt;
* http://www.linuxworld.com/ - mrhinkle@linuxworld.com tim@linuxworld.com&lt;br /&gt;
&lt;br /&gt;
=== other ===&lt;br /&gt;
* &amp;lt;del&amp;gt;cc techblog how to&amp;lt;/del&amp;gt; ([[Liblicense_tutorial]])&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8186</id>
		<title>Liblicense 03 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8186"/>
				<updated>2007-07-31T21:03:35Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: /* formal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* issues&lt;br /&gt;
** &amp;lt;del&amp;gt;Nautilus writes a license to every file whose property dialog is displayed&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;license chooser returns devnations -- should we mark this as retired and then not return retired licenses?&amp;lt;/del&amp;gt; (added isReplacedBy by/3.0)&lt;br /&gt;
** &amp;lt;del&amp;gt;Unicode filename issues?  Licenses aren't loaded for some test files with Japanese filenames.&amp;lt;/del&amp;gt;  (Um, seems to work fine, now) ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;Update gui_gtk.py to use license chooser API once the above is taken care of&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;configure --prefix=/usr/local dies trying to install the python bindings&amp;lt;/del&amp;gt;&lt;br /&gt;
*** libtool: install: error: cannot install `liblicense.la' to a directory not ending in /usr/lib/python2.4/site-packages/liblicense&lt;br /&gt;
*** Update: works after a 'make distclean'&lt;br /&gt;
** &amp;lt;del&amp;gt;new license chooser API not wrapped in Ruby&amp;lt;/del&amp;gt; ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;nautilus emblems don't work for me&amp;lt;/del&amp;gt; (Needed to touch /usr/share/icons/hicolor on installation)&lt;br /&gt;
** &amp;lt;del&amp;gt;No sampling licenses' RDF include the prohibits commericial use statement&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;package press release&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;tag svn&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* package&lt;br /&gt;
** &amp;lt;del&amp;gt;source &amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;rpm&amp;lt;/del&amp;gt;&lt;br /&gt;
** deb&lt;br /&gt;
** &amp;lt;del&amp;gt;ebuild&amp;lt;/del&amp;gt; (Exempi, nautilus-python, and Liblicense ebuilds, courtesy of jakin)&lt;br /&gt;
&lt;br /&gt;
== publicity==&lt;br /&gt;
=== informal ===&lt;br /&gt;
* mailing lists&lt;br /&gt;
** cc-devel&lt;br /&gt;
** cc-community&lt;br /&gt;
* sourceforge&lt;br /&gt;
* &amp;lt;del&amp;gt;cc frontpage blog ('''written''')&amp;lt;/del&amp;gt;&lt;br /&gt;
* digg&lt;br /&gt;
* Boing Boing&lt;br /&gt;
* lwn@lwn.net&lt;br /&gt;
* newstips@heise.de&lt;br /&gt;
* PR: theobroma@revelinux.com&lt;br /&gt;
* http://www.newsforge.com/submit.pl&lt;br /&gt;
* http://slashdot.org/submit.pl&lt;br /&gt;
* http://www.desktoplinux.com/ - http://www.desktoplinux.com/cgi-bin/news_post.cgi&lt;br /&gt;
* [http://freshmeat.net/ Freshmeat]&lt;br /&gt;
* [http://gnomedesktop.org/node/add/story gnome footnotes]&lt;br /&gt;
* [http://www.gnomefiles.org/ GnomeFiles] for software which supports Gnome&lt;br /&gt;
* http://del.icio.us/&lt;br /&gt;
* http://technorati.com/wtf&lt;br /&gt;
&lt;br /&gt;
=== formal ===&lt;br /&gt;
* &amp;lt;del&amp;gt;press release&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;packaged PRESS file&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prleap.com/ prleap] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prbuzz.com/ prbuzz] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;nettime-ann - http://www.nettime.org/&amp;lt;/del&amp;gt;&lt;br /&gt;
* See Kansas City infoZine: http://www.infozine.com/news/stories/op/storiesView/sid/5080/&lt;br /&gt;
* &amp;lt;del&amp;gt;http://linuxformat.co.uk/ - webmaster@linuxformat.co.uk&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;PR: login and submit news via top of page link&amp;lt;/del&amp;gt;&lt;br /&gt;
* http://linux-magazine.com/ - info@linux-magazine.com edit@linux-magazine.com&lt;br /&gt;
** PR: pr@linux-magazine.com&lt;br /&gt;
* http://linuxjournal.com/ - ljeditor@ssc.com&lt;br /&gt;
** PR: newproducts@ssc.com&lt;br /&gt;
* http://linuxmagazine.com/ - editors@linux-mag.com&lt;br /&gt;
** PR: ???&lt;br /&gt;
* http://linuxuser.co.uk - http://linuxuser.co.uk/index.php?option=com_content&amp;amp;task=view&amp;amp;id=48&amp;amp;Itemid=40&lt;br /&gt;
** PR: terry@linuxuser.co.uk&lt;br /&gt;
* http://www.tuxmagazine.com/ - editor@tuxmagazine.com&lt;br /&gt;
** PR: ???&lt;br /&gt;
* http://www.linuxworld.com/ - mrhinkle@linuxworld.com tim@linuxworld.com&lt;br /&gt;
&lt;br /&gt;
=== other ===&lt;br /&gt;
* &amp;lt;del&amp;gt;cc techblog how to&amp;lt;/del&amp;gt; ([[Liblicense_tutorial]])&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8182</id>
		<title>Liblicense 03 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8182"/>
				<updated>2007-07-31T20:47:23Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: /* formal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* issues&lt;br /&gt;
** &amp;lt;del&amp;gt;Nautilus writes a license to every file whose property dialog is displayed&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;license chooser returns devnations -- should we mark this as retired and then not return retired licenses?&amp;lt;/del&amp;gt; (added isReplacedBy by/3.0)&lt;br /&gt;
** &amp;lt;del&amp;gt;Unicode filename issues?  Licenses aren't loaded for some test files with Japanese filenames.&amp;lt;/del&amp;gt;  (Um, seems to work fine, now) ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;Update gui_gtk.py to use license chooser API once the above is taken care of&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;configure --prefix=/usr/local dies trying to install the python bindings&amp;lt;/del&amp;gt;&lt;br /&gt;
*** libtool: install: error: cannot install `liblicense.la' to a directory not ending in /usr/lib/python2.4/site-packages/liblicense&lt;br /&gt;
*** Update: works after a 'make distclean'&lt;br /&gt;
** &amp;lt;del&amp;gt;new license chooser API not wrapped in Ruby&amp;lt;/del&amp;gt; ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;nautilus emblems don't work for me&amp;lt;/del&amp;gt; (Needed to touch /usr/share/icons/hicolor on installation)&lt;br /&gt;
** &amp;lt;del&amp;gt;No sampling licenses' RDF include the prohibits commericial use statement&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;package press release&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;tag svn&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* package&lt;br /&gt;
** &amp;lt;del&amp;gt;source &amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;rpm&amp;lt;/del&amp;gt;&lt;br /&gt;
** deb&lt;br /&gt;
** &amp;lt;del&amp;gt;ebuild&amp;lt;/del&amp;gt; (Exempi, nautilus-python, and Liblicense ebuilds, courtesy of jakin)&lt;br /&gt;
&lt;br /&gt;
== publicity==&lt;br /&gt;
=== informal ===&lt;br /&gt;
* mailing lists&lt;br /&gt;
** cc-devel&lt;br /&gt;
** cc-community&lt;br /&gt;
* sourceforge&lt;br /&gt;
* &amp;lt;del&amp;gt;cc frontpage blog ('''written''')&amp;lt;/del&amp;gt;&lt;br /&gt;
* digg&lt;br /&gt;
* Boing Boing&lt;br /&gt;
* lwn@lwn.net&lt;br /&gt;
* newstips@heise.de&lt;br /&gt;
* PR: theobroma@revelinux.com&lt;br /&gt;
* http://www.newsforge.com/submit.pl&lt;br /&gt;
* http://slashdot.org/submit.pl&lt;br /&gt;
* http://www.desktoplinux.com/ - http://www.desktoplinux.com/cgi-bin/news_post.cgi&lt;br /&gt;
* [http://freshmeat.net/ Freshmeat]&lt;br /&gt;
* [http://gnomedesktop.org/node/add/story gnome footnotes]&lt;br /&gt;
* [http://www.gnomefiles.org/ GnomeFiles] for software which supports Gnome&lt;br /&gt;
* http://del.icio.us/&lt;br /&gt;
* http://technorati.com/wtf&lt;br /&gt;
&lt;br /&gt;
=== formal ===&lt;br /&gt;
* &amp;lt;del&amp;gt;press release&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;packaged PRESS file&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prleap.com/ prleap] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prbuzz.com/ prbuzz] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;nettime-ann - http://www.nettime.org/&amp;lt;/del&amp;gt;&lt;br /&gt;
* See Kansas City infoZine: http://www.infozine.com/news/stories/op/storiesView/sid/5080/&lt;br /&gt;
* http://linuxformat.co.uk/ - webmaster@linuxformat.co.uk&lt;br /&gt;
** PR: login and submit news via top of page link&lt;br /&gt;
* http://linux-magazine.com/ - info@linux-magazine.com edit@linux-magazine.com&lt;br /&gt;
** PR: pr@linux-magazine.com&lt;br /&gt;
* http://linuxjournal.com/ - ljeditor@ssc.com&lt;br /&gt;
** PR: newproducts@ssc.com&lt;br /&gt;
* http://linuxmagazine.com/ - editors@linux-mag.com&lt;br /&gt;
** PR: ???&lt;br /&gt;
* http://linuxuser.co.uk - http://linuxuser.co.uk/index.php?option=com_content&amp;amp;task=view&amp;amp;id=48&amp;amp;Itemid=40&lt;br /&gt;
** PR: terry@linuxuser.co.uk&lt;br /&gt;
* http://www.tuxmagazine.com/ - editor@tuxmagazine.com&lt;br /&gt;
** PR: ???&lt;br /&gt;
* http://www.linuxworld.com/ - mrhinkle@linuxworld.com tim@linuxworld.com&lt;br /&gt;
&lt;br /&gt;
=== other ===&lt;br /&gt;
* &amp;lt;del&amp;gt;cc techblog how to&amp;lt;/del&amp;gt; ([[Liblicense_tutorial]])&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8179</id>
		<title>Liblicense 03 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8179"/>
				<updated>2007-07-31T20:43:07Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: /* formal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* issues&lt;br /&gt;
** &amp;lt;del&amp;gt;Nautilus writes a license to every file whose property dialog is displayed&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;license chooser returns devnations -- should we mark this as retired and then not return retired licenses?&amp;lt;/del&amp;gt; (added isReplacedBy by/3.0)&lt;br /&gt;
** &amp;lt;del&amp;gt;Unicode filename issues?  Licenses aren't loaded for some test files with Japanese filenames.&amp;lt;/del&amp;gt;  (Um, seems to work fine, now) ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;Update gui_gtk.py to use license chooser API once the above is taken care of&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;configure --prefix=/usr/local dies trying to install the python bindings&amp;lt;/del&amp;gt;&lt;br /&gt;
*** libtool: install: error: cannot install `liblicense.la' to a directory not ending in /usr/lib/python2.4/site-packages/liblicense&lt;br /&gt;
*** Update: works after a 'make distclean'&lt;br /&gt;
** &amp;lt;del&amp;gt;new license chooser API not wrapped in Ruby&amp;lt;/del&amp;gt; ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;nautilus emblems don't work for me&amp;lt;/del&amp;gt; (Needed to touch /usr/share/icons/hicolor on installation)&lt;br /&gt;
** &amp;lt;del&amp;gt;No sampling licenses' RDF include the prohibits commericial use statement&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;package press release&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;tag svn&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* package&lt;br /&gt;
** &amp;lt;del&amp;gt;source &amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;rpm&amp;lt;/del&amp;gt;&lt;br /&gt;
** deb&lt;br /&gt;
** &amp;lt;del&amp;gt;ebuild&amp;lt;/del&amp;gt; (Exempi, nautilus-python, and Liblicense ebuilds, courtesy of jakin)&lt;br /&gt;
&lt;br /&gt;
== publicity==&lt;br /&gt;
=== informal ===&lt;br /&gt;
* mailing lists&lt;br /&gt;
** cc-devel&lt;br /&gt;
** cc-community&lt;br /&gt;
* sourceforge&lt;br /&gt;
* &amp;lt;del&amp;gt;cc frontpage blog ('''written''')&amp;lt;/del&amp;gt;&lt;br /&gt;
* digg&lt;br /&gt;
* Boing Boing&lt;br /&gt;
* lwn@lwn.net&lt;br /&gt;
* newstips@heise.de&lt;br /&gt;
* PR: theobroma@revelinux.com&lt;br /&gt;
* http://www.newsforge.com/submit.pl&lt;br /&gt;
* http://slashdot.org/submit.pl&lt;br /&gt;
* http://www.desktoplinux.com/ - http://www.desktoplinux.com/cgi-bin/news_post.cgi&lt;br /&gt;
* [http://freshmeat.net/ Freshmeat]&lt;br /&gt;
* [http://gnomedesktop.org/node/add/story gnome footnotes]&lt;br /&gt;
* [http://www.gnomefiles.org/ GnomeFiles] for software which supports Gnome&lt;br /&gt;
* http://del.icio.us/&lt;br /&gt;
* http://technorati.com/wtf&lt;br /&gt;
&lt;br /&gt;
=== formal ===&lt;br /&gt;
* &amp;lt;del&amp;gt;press release&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;packaged PRESS file&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prleap.com/ prleap] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prbuzz.com/ prbuzz] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* nettime-ann - http://www.nettime.org/&lt;br /&gt;
* See Kansas City infoZine: http://www.infozine.com/news/stories/op/storiesView/sid/5080/&lt;br /&gt;
* http://linuxformat.co.uk/ - webmaster@linuxformat.co.uk&lt;br /&gt;
** PR: login and submit news via top of page link&lt;br /&gt;
* http://linux-magazine.com/ - info@linux-magazine.com edit@linux-magazine.com&lt;br /&gt;
** PR: pr@linux-magazine.com&lt;br /&gt;
* http://linuxjournal.com/ - ljeditor@ssc.com&lt;br /&gt;
** PR: newproducts@ssc.com&lt;br /&gt;
* http://linuxmagazine.com/ - editors@linux-mag.com&lt;br /&gt;
** PR: ???&lt;br /&gt;
* http://linuxuser.co.uk - http://linuxuser.co.uk/index.php?option=com_content&amp;amp;task=view&amp;amp;id=48&amp;amp;Itemid=40&lt;br /&gt;
** PR: terry@linuxuser.co.uk&lt;br /&gt;
* http://www.tuxmagazine.com/ - editor@tuxmagazine.com&lt;br /&gt;
** PR: ???&lt;br /&gt;
* http://www.linuxworld.com/ - mrhinkle@linuxworld.com tim@linuxworld.com&lt;br /&gt;
&lt;br /&gt;
=== other ===&lt;br /&gt;
* &amp;lt;del&amp;gt;cc techblog how to&amp;lt;/del&amp;gt; ([[Liblicense_tutorial]])&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8177</id>
		<title>Liblicense 03 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8177"/>
				<updated>2007-07-31T20:27:54Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: /* formal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* issues&lt;br /&gt;
** &amp;lt;del&amp;gt;Nautilus writes a license to every file whose property dialog is displayed&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;license chooser returns devnations -- should we mark this as retired and then not return retired licenses?&amp;lt;/del&amp;gt; (added isReplacedBy by/3.0)&lt;br /&gt;
** &amp;lt;del&amp;gt;Unicode filename issues?  Licenses aren't loaded for some test files with Japanese filenames.&amp;lt;/del&amp;gt;  (Um, seems to work fine, now) ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;Update gui_gtk.py to use license chooser API once the above is taken care of&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;configure --prefix=/usr/local dies trying to install the python bindings&amp;lt;/del&amp;gt;&lt;br /&gt;
*** libtool: install: error: cannot install `liblicense.la' to a directory not ending in /usr/lib/python2.4/site-packages/liblicense&lt;br /&gt;
*** Update: works after a 'make distclean'&lt;br /&gt;
** &amp;lt;del&amp;gt;new license chooser API not wrapped in Ruby&amp;lt;/del&amp;gt; ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;nautilus emblems don't work for me&amp;lt;/del&amp;gt; (Needed to touch /usr/share/icons/hicolor on installation)&lt;br /&gt;
** &amp;lt;del&amp;gt;No sampling licenses' RDF include the prohibits commericial use statement&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;package press release&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;tag svn&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* package&lt;br /&gt;
** &amp;lt;del&amp;gt;source &amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;rpm&amp;lt;/del&amp;gt;&lt;br /&gt;
** deb&lt;br /&gt;
** &amp;lt;del&amp;gt;ebuild&amp;lt;/del&amp;gt; (Exempi, nautilus-python, and Liblicense ebuilds, courtesy of jakin)&lt;br /&gt;
&lt;br /&gt;
== publicity==&lt;br /&gt;
=== informal ===&lt;br /&gt;
* mailing lists&lt;br /&gt;
** cc-devel&lt;br /&gt;
** cc-community&lt;br /&gt;
* sourceforge&lt;br /&gt;
* &amp;lt;del&amp;gt;cc frontpage blog ('''written''')&amp;lt;/del&amp;gt;&lt;br /&gt;
* digg&lt;br /&gt;
* Boing Boing&lt;br /&gt;
* lwn@lwn.net&lt;br /&gt;
* newstips@heise.de&lt;br /&gt;
* PR: theobroma@revelinux.com&lt;br /&gt;
* http://www.newsforge.com/submit.pl&lt;br /&gt;
* http://slashdot.org/submit.pl&lt;br /&gt;
* http://www.desktoplinux.com/ - http://www.desktoplinux.com/cgi-bin/news_post.cgi&lt;br /&gt;
* [http://freshmeat.net/ Freshmeat]&lt;br /&gt;
* [http://gnomedesktop.org/node/add/story gnome footnotes]&lt;br /&gt;
* [http://www.gnomefiles.org/ GnomeFiles] for software which supports Gnome&lt;br /&gt;
* http://del.icio.us/&lt;br /&gt;
* http://technorati.com/wtf&lt;br /&gt;
&lt;br /&gt;
=== formal ===&lt;br /&gt;
* &amp;lt;del&amp;gt;press release&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;packaged PRESS file&amp;lt;/del&amp;gt;&lt;br /&gt;
* [http://prleap.com/ prleap] - another free pr service&lt;br /&gt;
* &amp;lt;del&amp;gt;[http://prbuzz.com/ prbuzz] - another free pr service&amp;lt;/del&amp;gt;&lt;br /&gt;
* nettime-ann - http://www.nettime.org/&lt;br /&gt;
* See Kansas City infoZine: http://www.infozine.com/news/stories/op/storiesView/sid/5080/&lt;br /&gt;
* http://linuxformat.co.uk/ - webmaster@linuxformat.co.uk&lt;br /&gt;
** PR: login and submit news via top of page link&lt;br /&gt;
* http://linux-magazine.com/ - info@linux-magazine.com edit@linux-magazine.com&lt;br /&gt;
** PR: pr@linux-magazine.com&lt;br /&gt;
* http://linuxjournal.com/ - ljeditor@ssc.com&lt;br /&gt;
** PR: newproducts@ssc.com&lt;br /&gt;
* http://linuxmagazine.com/ - editors@linux-mag.com&lt;br /&gt;
** PR: ???&lt;br /&gt;
* http://linuxuser.co.uk - http://linuxuser.co.uk/index.php?option=com_content&amp;amp;task=view&amp;amp;id=48&amp;amp;Itemid=40&lt;br /&gt;
** PR: terry@linuxuser.co.uk&lt;br /&gt;
* http://www.tuxmagazine.com/ - editor@tuxmagazine.com&lt;br /&gt;
** PR: ???&lt;br /&gt;
* http://www.linuxworld.com/ - mrhinkle@linuxworld.com tim@linuxworld.com&lt;br /&gt;
&lt;br /&gt;
=== other ===&lt;br /&gt;
* &amp;lt;del&amp;gt;cc techblog how to&amp;lt;/del&amp;gt; ([[Liblicense_tutorial]])&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8176</id>
		<title>Liblicense 03 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8176"/>
				<updated>2007-07-31T20:14:28Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* issues&lt;br /&gt;
** &amp;lt;del&amp;gt;Nautilus writes a license to every file whose property dialog is displayed&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;license chooser returns devnations -- should we mark this as retired and then not return retired licenses?&amp;lt;/del&amp;gt; (added isReplacedBy by/3.0)&lt;br /&gt;
** &amp;lt;del&amp;gt;Unicode filename issues?  Licenses aren't loaded for some test files with Japanese filenames.&amp;lt;/del&amp;gt;  (Um, seems to work fine, now) ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;Update gui_gtk.py to use license chooser API once the above is taken care of&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;configure --prefix=/usr/local dies trying to install the python bindings&amp;lt;/del&amp;gt;&lt;br /&gt;
*** libtool: install: error: cannot install `liblicense.la' to a directory not ending in /usr/lib/python2.4/site-packages/liblicense&lt;br /&gt;
*** Update: works after a 'make distclean'&lt;br /&gt;
** &amp;lt;del&amp;gt;new license chooser API not wrapped in Ruby&amp;lt;/del&amp;gt; ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;nautilus emblems don't work for me&amp;lt;/del&amp;gt; (Needed to touch /usr/share/icons/hicolor on installation)&lt;br /&gt;
** &amp;lt;del&amp;gt;No sampling licenses' RDF include the prohibits commericial use statement&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;package press release&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;tag svn&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* package&lt;br /&gt;
** &amp;lt;del&amp;gt;source &amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;rpm&amp;lt;/del&amp;gt;&lt;br /&gt;
** deb&lt;br /&gt;
** &amp;lt;del&amp;gt;ebuild&amp;lt;/del&amp;gt; (Exempi, nautilus-python, and Liblicense ebuilds, courtesy of jakin)&lt;br /&gt;
&lt;br /&gt;
== publicity==&lt;br /&gt;
=== informal ===&lt;br /&gt;
* mailing lists&lt;br /&gt;
** cc-devel&lt;br /&gt;
** cc-community&lt;br /&gt;
* sourceforge&lt;br /&gt;
* &amp;lt;del&amp;gt;cc frontpage blog ('''written''')&amp;lt;/del&amp;gt;&lt;br /&gt;
* digg&lt;br /&gt;
* Boing Boing&lt;br /&gt;
* lwn@lwn.net&lt;br /&gt;
* newstips@heise.de&lt;br /&gt;
* PR: theobroma@revelinux.com&lt;br /&gt;
* http://www.newsforge.com/submit.pl&lt;br /&gt;
* http://slashdot.org/submit.pl&lt;br /&gt;
* http://www.desktoplinux.com/ - http://www.desktoplinux.com/cgi-bin/news_post.cgi&lt;br /&gt;
* [http://freshmeat.net/ Freshmeat]&lt;br /&gt;
* [http://gnomedesktop.org/node/add/story gnome footnotes]&lt;br /&gt;
* [http://www.gnomefiles.org/ GnomeFiles] for software which supports Gnome&lt;br /&gt;
* http://del.icio.us/&lt;br /&gt;
* http://technorati.com/wtf&lt;br /&gt;
&lt;br /&gt;
=== formal ===&lt;br /&gt;
* &amp;lt;del&amp;gt;press release&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;packaged PRESS file&amp;lt;/del&amp;gt;&lt;br /&gt;
* [http://prleap.com/ prleap] - another free pr service&lt;br /&gt;
* [http://prbuzz.com/ prbuzz] - another free pr service&lt;br /&gt;
* nettime-ann - http://www.nettime.org/&lt;br /&gt;
* See Kansas City infoZine: http://www.infozine.com/news/stories/op/storiesView/sid/5080/&lt;br /&gt;
* http://linuxformat.co.uk/ - webmaster@linuxformat.co.uk&lt;br /&gt;
** PR: login and submit news via top of page link&lt;br /&gt;
* http://linux-magazine.com/ - info@linux-magazine.com edit@linux-magazine.com&lt;br /&gt;
** PR: pr@linux-magazine.com&lt;br /&gt;
* http://linuxjournal.com/ - ljeditor@ssc.com&lt;br /&gt;
** PR: newproducts@ssc.com&lt;br /&gt;
* http://linuxmagazine.com/ - editors@linux-mag.com&lt;br /&gt;
** PR: ???&lt;br /&gt;
* http://linuxuser.co.uk - http://linuxuser.co.uk/index.php?option=com_content&amp;amp;task=view&amp;amp;id=48&amp;amp;Itemid=40&lt;br /&gt;
** PR: terry@linuxuser.co.uk&lt;br /&gt;
* http://www.tuxmagazine.com/ - editor@tuxmagazine.com&lt;br /&gt;
** PR: ???&lt;br /&gt;
* http://www.linuxworld.com/ - mrhinkle@linuxworld.com tim@linuxworld.com&lt;br /&gt;
=== other ===&lt;br /&gt;
* &amp;lt;del&amp;gt;cc techblog how to&amp;lt;/del&amp;gt; ([[Liblicense_tutorial]])&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8174</id>
		<title>Liblicense 03 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8174"/>
				<updated>2007-07-31T18:57:58Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* issues&lt;br /&gt;
** &amp;lt;del&amp;gt;Nautilus writes a license to every file whose property dialog is displayed&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;license chooser returns devnations -- should we mark this as retired and then not return retired licenses?&amp;lt;/del&amp;gt; (added isReplacedBy by/3.0)&lt;br /&gt;
** &amp;lt;del&amp;gt;Unicode filename issues?  Licenses aren't loaded for some test files with Japanese filenames.&amp;lt;/del&amp;gt;  (Um, seems to work fine, now) ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;Update gui_gtk.py to use license chooser API once the above is taken care of&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;configure --prefix=/usr/local dies trying to install the python bindings&amp;lt;/del&amp;gt;&lt;br /&gt;
*** libtool: install: error: cannot install `liblicense.la' to a directory not ending in /usr/lib/python2.4/site-packages/liblicense&lt;br /&gt;
*** Update: works after a 'make distclean'&lt;br /&gt;
** &amp;lt;del&amp;gt;new license chooser API not wrapped in Ruby&amp;lt;/del&amp;gt; ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;nautilus emblems don't work for me&amp;lt;/del&amp;gt; (Needed to touch /usr/share/icons/hicolor on installation)&lt;br /&gt;
** &amp;lt;del&amp;gt;No sampling licenses' RDF include the prohibits commericial use statement&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;package press release&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;tag svn&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* package&lt;br /&gt;
** &amp;lt;del&amp;gt;source &amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;rpm&amp;lt;/del&amp;gt;&lt;br /&gt;
** deb&lt;br /&gt;
** &amp;lt;del&amp;gt;ebuild&amp;lt;/del&amp;gt; (Exempi, nautilus-python, and Liblicense ebuilds, courtesy of jakin)&lt;br /&gt;
&lt;br /&gt;
* publicity&lt;br /&gt;
** mailing lists&lt;br /&gt;
*** cc-devel&lt;br /&gt;
*** cc-community&lt;br /&gt;
** freshmeat&lt;br /&gt;
** sourceforge&lt;br /&gt;
** &amp;lt;del&amp;gt;cc frontpage blog ('''written''')&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;press release&amp;lt;/del&amp;gt;&lt;br /&gt;
*** &amp;lt;del&amp;gt;packaged PRESS file&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;cc techblog how to&amp;lt;/del&amp;gt; ([[Liblicense_tutorial]])&lt;br /&gt;
** digg (?)&lt;br /&gt;
** slashdot (?)&lt;br /&gt;
** Boing Boing (?)&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense&amp;diff=8170</id>
		<title>Liblicense</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense&amp;diff=8170"/>
				<updated>2007-07-31T18:16:36Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: /* Get liblicense */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Developer]]&lt;br /&gt;
[[Category:Metadata]]&lt;br /&gt;
[[Category:Desktop]]&lt;br /&gt;
[[Category:Labs]]&lt;br /&gt;
[[Category:Tools]]&lt;br /&gt;
[[Category:Specification]]&lt;br /&gt;
[[Category:Operating System]]&lt;br /&gt;
[[Category:Technology]]&lt;br /&gt;
A library for managing license metadata, in particular CC licensing information.&lt;br /&gt;
&lt;br /&gt;
The idea of this library started out on the [[IRC]] channel, in a discussion on how to best help boost the community of software&lt;br /&gt;
developers working with things related to CC - mostly the metadata format.&lt;br /&gt;
&lt;br /&gt;
Basically, the idea is to write a portable C library that manages metadata for CC licenses, and a bunch of other licenses of interest to the community.&lt;br /&gt;
&lt;br /&gt;
The library will produce licensing information based on the specifications of calling libraries and programs. In addition to generating text for specific licenses, it will also allow an application to enumerate which licenses are currently available and provide descriptive text for each license, and for license features. It should also provide an easy way to specify &amp;quot;verify at&amp;quot; URLs.&lt;br /&gt;
&lt;br /&gt;
The benefit of this library is that applications linking to it can correctly offer licensing choices, and these choices can be transparently updated through package managers as license versions are updated. Human readable descriptions will also be internationalized, preferably using the same .po files used by the CC web site. Hence liblicense will take advantage of package updating and i18n systems to allow applications to always provide c&lt;br /&gt;
current and correct licensing choices and license text.&lt;br /&gt;
&lt;br /&gt;
Part of the project is also to provide wrappers for the library for other languages, and to help external developers add metadata support to their projects. A good start will probably be to wrap the library for Python, and use it for ccpublisher.&lt;br /&gt;
&lt;br /&gt;
We will also integrate a module system so that libraries can be used to embed and extract metadata in/from common formats.&lt;br /&gt;
&lt;br /&gt;
As liblicense itself deals only with text strings, we can also make GUI libraries to provide dialogs which present these strings to the user in desktop or web applications. This layering ensures that such dialogs present consistent licensing choices.&lt;br /&gt;
&lt;br /&gt;
== Get liblicense ==&lt;br /&gt;
&lt;br /&gt;
* [https://sourceforge.net/project/showfiles.php?group_id=80503&amp;amp;package_id=238700 Latest Release from Sourceforge.net]&lt;br /&gt;
* Checkout liblicense module from [[SVN]]&lt;br /&gt;
* Read the [[Liblicense tutorial| tutorial]].&lt;br /&gt;
&lt;br /&gt;
=== Screenshots ===&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Image:Ll nautilus emblem.png|Nautilus emblem support.&lt;br /&gt;
Image:Ll nautilus.png|Nautilus file properties.&lt;br /&gt;
Image:Ll default 2.png|GTK default system license.&lt;br /&gt;
Image:Ll dolphin.png|KDE4 dolphin file properties.&lt;br /&gt;
Image:Ll kde default license.png|KDE4 default system license.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== System Overview ==&lt;br /&gt;
&lt;br /&gt;
=== Purpose ===&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
=== Architecture ===&lt;br /&gt;
[[Image:System_architecture.png]]&lt;br /&gt;
&lt;br /&gt;
=== Implementation ===&lt;br /&gt;
This library will be implemented in C to provide maximum portability.&lt;br /&gt;
&lt;br /&gt;
=== Interface ===&lt;br /&gt;
* module_wrangler&lt;br /&gt;
** get_config_modules() - ''returns a null terminates list of available config modules.''&lt;br /&gt;
** get_io_modules() - ''returns a null terminates list of available io modules.''&lt;br /&gt;
** get_module_symbol(module,symbol) - ''returns the requested symbol.''&lt;br /&gt;
** module_init(module) - ''Loads the module and calls its init function.''&lt;br /&gt;
** module_shutdown(module) - ''Calls the shutdown method of the module and unloads it.''&lt;br /&gt;
** io_module_mime_types(module0 - ''returns a null-terminated list of the supported mime-types.''&lt;br /&gt;
* read_license&lt;br /&gt;
** read(filename) - ''returns the uri of the license of the given file.''&lt;br /&gt;
** module_read(filename,module) - ''returns the uri of the license of the given file while using the given module.''&lt;br /&gt;
* write_license&lt;br /&gt;
** write(filename,uri) - ''writes the given license to the given file using all applicable modules.''&lt;br /&gt;
** module_write(filename,module,uri) - ''writes the given license to the given file using the given module.''&lt;br /&gt;
* system_default&lt;br /&gt;
** set_default(uri)&lt;br /&gt;
** get_default()&lt;br /&gt;
* system_licenses&lt;br /&gt;
** get_jurisdiction(uri) - ''returns the jurisdiction for the given license.''&lt;br /&gt;
** get_name(uri) – ''returns the name of the license.''&lt;br /&gt;
** get_version(uri) – ''returns the version of the license.''&lt;br /&gt;
** get_prohibits(uri)&lt;br /&gt;
** get_permits(uri)&lt;br /&gt;
** get_requires(uri)&lt;br /&gt;
** verify_uri(uri) - ''returns whether or not the given uri is recognized by the system.''&lt;br /&gt;
** get_all_licenses() - ''returns a null-terminated list of all general license uris available for new works.''&lt;br /&gt;
** get_licenses(juris_t) - ''returns a null-terminated list of all general licenses in a family.''&lt;br /&gt;
&lt;br /&gt;
=== Data Structure ===&lt;br /&gt;
* Data Types (informal)&lt;br /&gt;
** uri&lt;br /&gt;
** name&lt;br /&gt;
** notification&lt;br /&gt;
** deed&lt;br /&gt;
** sampling&lt;br /&gt;
&lt;br /&gt;
=== Config Modules ===&lt;br /&gt;
* '''init'''() - starts the module&lt;br /&gt;
* '''shutdown'''() - shuts the module down&lt;br /&gt;
* '''get'''() - returns the current default license uri&lt;br /&gt;
* '''set'''(uri) - sets the default license uri and returns 0 upon success (non-zero for errors)&lt;br /&gt;
&lt;br /&gt;
=== I/O Modules ===&lt;br /&gt;
I/O modules are shared objects that call LL_MODULE_DEFINE(name,description,version,features,mime_types,init_func,read_func,write_func).&lt;br /&gt;
&lt;br /&gt;
* '''name'''&lt;br /&gt;
* '''description'''&lt;br /&gt;
* '''version'''&lt;br /&gt;
* '''features''' - If the module embeds the license within the file, pass LL_FEATURES_EMBED&lt;br /&gt;
* '''mime_types''' - A space-separated string of supported mime-types, or NULL if mime-type agnostic (i.e. XMP sidecar)&lt;br /&gt;
* '''init_func''' - This function will be called once before the module is used&lt;br /&gt;
* '''read_func''' - Function to be called when requested to read a license from a file.  It takes a filename and returns the license URI, or NULL if no license is present.  Should return an 'int' indicating success or failure.&lt;br /&gt;
* '''write_func''' - Function to be called when requested to write a license to a file.  The first parameter is the filename and the second is the license URI to write.  Should return an 'int' indicating success or failure.&lt;br /&gt;
&lt;br /&gt;
=== Bindings ===&lt;br /&gt;
*Python&lt;br /&gt;
&lt;br /&gt;
== License Files (.rdf) ==&lt;br /&gt;
=== Attributes ===&lt;br /&gt;
&lt;br /&gt;
* cc:license&lt;br /&gt;
** about&lt;br /&gt;
** permits&lt;br /&gt;
** requires&lt;br /&gt;
** prohibits&lt;br /&gt;
* dc:title - The human readable name of the license.&lt;br /&gt;
* dc:description - Description of the license.&lt;br /&gt;
* dc:coverage - The jurisdiction of the license. (country code from [http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html ISO3166])&lt;br /&gt;
* dc:relation&lt;br /&gt;
** hasVersion - version number&lt;br /&gt;
** isReplacedBy - indicates retired license ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
** isBasedOn - indicates ported version ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
* dc:type - always &amp;quot;License&amp;quot;&lt;br /&gt;
* dc:creator&lt;br /&gt;
* dc:publisher&lt;br /&gt;
* dc:identifier - URI of license ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;rdf:RDF&lt;br /&gt;
   xmlns=&amp;quot;http://creativecommons.org/ns#&amp;quot;&lt;br /&gt;
   xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
   xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xmlns:dcq=&amp;quot;http://purl.org/dc/terms/&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;rdf:Description rdf:about=&amp;quot;http://creativecommons.org/licenses/by-nd/2.0/za/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;dc:title&amp;gt;Creative Commons Attribution No Derivatives&amp;lt;/dc:title&amp;gt;&lt;br /&gt;
    &amp;lt;dc:description&amp;gt;This license allows for redistribution, commercial and non-commercial,&lt;br /&gt;
 as long as it is passed along unchanged and in whole, with credit to you.&amp;lt;/dc:description&amp;gt;&lt;br /&gt;
    &amp;lt;dc:coverage&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:ISO3166&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;za&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:ISO3166&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:coverage&amp;gt;&lt;br /&gt;
    &amp;lt;dc:hasVersion&amp;gt;2.0&amp;lt;/dc:hasVersion&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isReplacedBy&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/za/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isReplacedBy&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isBasedOn&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isBasedOn&amp;gt;&lt;br /&gt;
    &amp;lt;dc:type&amp;gt;License&amp;lt;/dc:type&amp;gt;&lt;br /&gt;
    &amp;lt;dc:creator&amp;gt;iCommons&amp;lt;/dc:creator&amp;gt;&lt;br /&gt;
    &amp;lt;dc:publisher&amp;gt;Creative Commons&amp;lt;/dc:publisher&amp;gt;&lt;br /&gt;
    &amp;lt;dc:identifier&amp;gt;http://creativecommons.org/licenses/by-nd/2.0/za/&amp;lt;/dc:identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;rdf:type rdf:resource=&amp;quot;http://creativecommons.org/ns#License&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Distribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Reproduction&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Attribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Notice&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/rdf:Description&amp;gt;&lt;br /&gt;
&amp;lt;/rdf:RDF&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example (i18n) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;rdf:RDF&lt;br /&gt;
   xmlns=&amp;quot;http://creativecommons.org/ns#&amp;quot;&lt;br /&gt;
   xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
   xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xmlns:dcq=&amp;quot;http://purl.org/dc/terms/&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;rdf:Description rdf:about=&amp;quot;http://creativecommons.org/licenses/by-nd/2.0/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;dc:title&amp;gt;&lt;br /&gt;
        &amp;lt;rdf:Alt&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;x-default&amp;quot;&amp;gt;Creative Commons Attribution No Derivatives&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;es-cl&amp;quot;&amp;gt;Creative Commons Atribución-SinDerivadas&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
        &amp;lt;/rdf:Alt&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:title&amp;gt;&lt;br /&gt;
    &amp;lt;dc:description&amp;gt;&lt;br /&gt;
        &amp;lt;rdf:Alt&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;x-default&amp;quot;&amp;gt;This license allows for redistribution, commercial and non-commercial,&lt;br /&gt;
 as long as it is passed along unchanged and in whole, with credit to you.&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
        &amp;lt;/rdf:Alt&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:description&amp;gt;&lt;br /&gt;
    &amp;lt;dc:coverage&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:ISO3166&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;us&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:ISO3166&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:coverage&amp;gt;&lt;br /&gt;
    &amp;lt;dc:hasVersion&amp;gt;2.0&amp;lt;/dc:hasVersion&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isReplacedBy&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isReplacedBy&amp;gt;&lt;br /&gt;
    &amp;lt;dc:type&amp;gt;License&amp;lt;/dc:type&amp;gt;&lt;br /&gt;
    &amp;lt;dc:creator&amp;gt;Creative Commons&amp;lt;/dc:creator&amp;gt;&lt;br /&gt;
    &amp;lt;dc:publisher&amp;gt;Creative Commons&amp;lt;/dc:publisher&amp;gt;&lt;br /&gt;
    &amp;lt;dc:identifier&amp;gt;http://creativecommons.org/licenses/by-nd/2.0/&amp;lt;/dc:identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;rdf:type rdf:resource=&amp;quot;http://creativecommons.org/ns#License&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Distribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Reproduction&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Attribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Notice&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/rdf:Description&amp;gt;&lt;br /&gt;
&amp;lt;/rdf:RDF&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Desktop Integration ==&lt;br /&gt;
&lt;br /&gt;
See [[Desktop Integration]]&lt;br /&gt;
&lt;br /&gt;
=== Gnome Summit Discussion ===&lt;br /&gt;
&lt;br /&gt;
At the Gnome Summit we explored adding CC licensing to various Gnome applications.  Application developers appeared to have a few needs:&lt;br /&gt;
&lt;br /&gt;
* They want to display the appropriate icon (or other) for a particular license.  For instance, AbiWord could display a small icon representing license status in the tool bar.  Music players could display the icon in the controls area.  A music streaming app might want to play a 5 second &amp;quot;Now entering the Creative Commons&amp;quot; chime (much like radio station identification, but for licenses).&lt;br /&gt;
* They want to allow the user to easily select a license.  This would probably be a wizard that asks the user questions and tries to select the most appropriate license from all that it knows about.  Much like a file selection dialog, but navigating licenses instead of your file system.&lt;br /&gt;
&lt;br /&gt;
A low-level liblicense could handle XML parsing required.  It would allow the client to determine the questions that need to be asked to select a license, and to download any icons, blurbs, etc for all known license types.&lt;br /&gt;
&lt;br /&gt;
The low-level library solves the first problem above, but not the second.  It's still too difficult to ask the user to select a license.  Layered on top of the low-level library would be any number of high level libraries that would convert the textual questions into GUI widgets and present them using the appropriate toolkit (GTK+ / KDE / Cocoa / Win32 / etc).  This way, adding license awareness to an application should be as easy as &amp;quot;license=SFGetLicense(); saveDocument(license)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Accessories ===&lt;br /&gt;
* CLI&lt;br /&gt;
** license (bundled) - simple cli program to license files.&lt;br /&gt;
** .license/default engine - a .license directory will contain the user's default setting, other config info and the user's licenses.&lt;br /&gt;
* Gnome&lt;br /&gt;
** Gnome Settings frontend. - set the default license through the gnome settings interface.&lt;br /&gt;
** Nautilus Frontend Extension - set and read licenses through nautilus.&lt;br /&gt;
** License chooser (app.) - license chooser for setting default and per file licenses. (GUI license)&lt;br /&gt;
** GTK widget&lt;br /&gt;
** Gconf config module.&lt;br /&gt;
* Sugar&lt;br /&gt;
** Journal Backend&lt;br /&gt;
** Journal Frontend&lt;br /&gt;
* KDE3 (???)&lt;br /&gt;
* KDE4&lt;br /&gt;
&lt;br /&gt;
== Timeline ==&lt;br /&gt;
=== 6/18 ===&lt;br /&gt;
* Finalize liblicense API.&lt;br /&gt;
&lt;br /&gt;
=== 6/25 ===&lt;br /&gt;
* Write liblicense.&lt;br /&gt;
* Stub config and IO modules.&lt;br /&gt;
&lt;br /&gt;
=== 7/2 ===&lt;br /&gt;
&lt;br /&gt;
=== 7/9 ===&lt;br /&gt;
* .license/default set default&lt;br /&gt;
* gnome settings UI&lt;br /&gt;
&lt;br /&gt;
=== 7/16 ===&lt;br /&gt;
* Nautilus GUI frontend.&lt;br /&gt;
* Gnome control panel frontend.&lt;br /&gt;
&lt;br /&gt;
=== 7/23 ===&lt;br /&gt;
* Sugar Journal backend.&lt;br /&gt;
* Sugar frontend.&lt;br /&gt;
&lt;br /&gt;
=== 7/30 ===&lt;br /&gt;
* Bug hunting.&lt;br /&gt;
* Frontend polishing.&lt;br /&gt;
&lt;br /&gt;
=== 8/6 ===&lt;br /&gt;
* shoot for milestone 3 for linuxworld pr&lt;br /&gt;
&lt;br /&gt;
=== 8/13 ===&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
=== 8/20 ===&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
=== 0.1 ===&lt;br /&gt;
* Initial release. ('''done''')&lt;br /&gt;
* All CC licenses. ('''done''')&lt;br /&gt;
* CLI tools. ('''done''')&lt;br /&gt;
* Modules. ('''done''')&lt;br /&gt;
** Exempi embed. ('''done''')&lt;br /&gt;
** Exempi XMP sidecar. ('''done''')&lt;br /&gt;
* Make light blog post about release on techblog, explain early state ('''done''')&lt;br /&gt;
&lt;br /&gt;
=== 0.3 ===&lt;br /&gt;
* Optimization - namely caching in some way.  Should not access file every attribute request.&lt;br /&gt;
* Gnome tools. ('''done''')&lt;br /&gt;
** Nautilus frontend. ('''done''')&lt;br /&gt;
** Gnome settings frontend. ('''done''')&lt;br /&gt;
** GTK License chooser. (See mockups) ('''done''')&lt;br /&gt;
* File embed preference over external storage. (Use external only as needed.) ('''done''')&lt;br /&gt;
* Store default jurisdiction. ('''done - default license is in default jurisdiction''')&lt;br /&gt;
* Modules.&lt;br /&gt;
** vorbiscomment ('''done''')&lt;br /&gt;
** ...&lt;br /&gt;
* Do big release on main CC blog and across various chat and mailing lists to pick-up people, lots of them...&lt;br /&gt;
* Do [[liblicense 03 release todo]]&lt;br /&gt;
&lt;br /&gt;
=== 0.4 ===&lt;br /&gt;
* Further refinement.&lt;br /&gt;
* Sugar tools.&lt;br /&gt;
** Journal integration.&lt;br /&gt;
* Another major announcement&lt;br /&gt;
* [[liblicense 04 release todo]]&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8165</id>
		<title>Liblicense 03 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8165"/>
				<updated>2007-07-31T18:01:52Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* issues&lt;br /&gt;
** &amp;lt;del&amp;gt;Nautilus writes a license to every file whose property dialog is displayed&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;license chooser returns devnations -- should we mark this as retired and then not return retired licenses?&amp;lt;/del&amp;gt; (added isReplacedBy by/3.0)&lt;br /&gt;
** &amp;lt;del&amp;gt;Unicode filename issues?  Licenses aren't loaded for some test files with Japanese filenames.&amp;lt;/del&amp;gt;  (Um, seems to work fine, now) ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;Update gui_gtk.py to use license chooser API once the above is taken care of&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;configure --prefix=/usr/local dies trying to install the python bindings&amp;lt;/del&amp;gt;&lt;br /&gt;
*** libtool: install: error: cannot install `liblicense.la' to a directory not ending in /usr/lib/python2.4/site-packages/liblicense&lt;br /&gt;
*** Update: works after a 'make distclean'&lt;br /&gt;
** &amp;lt;del&amp;gt;new license chooser API not wrapped in Ruby&amp;lt;/del&amp;gt; ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;nautilus emblems don't work for me&amp;lt;/del&amp;gt; (Needed to touch /usr/share/icons/hicolor on installation)&lt;br /&gt;
** &amp;lt;del&amp;gt;No sampling licenses' RDF include the prohibits commericial use statement&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;package press release&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;tag svn&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* package&lt;br /&gt;
** &amp;lt;del&amp;gt;source &amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;rpm&amp;lt;/del&amp;gt;&lt;br /&gt;
** deb&lt;br /&gt;
** &amp;lt;del&amp;gt;ebuild&amp;lt;/del&amp;gt; (Exempi, nautilus-python, and Liblicense ebuilds, courtesy of jakin)&lt;br /&gt;
&lt;br /&gt;
* publicity&lt;br /&gt;
** mailing lists&lt;br /&gt;
*** cc-devel&lt;br /&gt;
*** cc-community&lt;br /&gt;
** freshmeat&lt;br /&gt;
** sourceforge&lt;br /&gt;
** cc frontpage blog ('''written''')&lt;br /&gt;
** press release&lt;br /&gt;
*** &amp;lt;del&amp;gt;packaged PRESS file&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;cc techblog how to&amp;lt;/del&amp;gt; ([[Liblicense_tutorial]])&lt;br /&gt;
** digg (?)&lt;br /&gt;
** slashdot (?)&lt;br /&gt;
** Boing Boing (?)&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense&amp;diff=8161</id>
		<title>Liblicense</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense&amp;diff=8161"/>
				<updated>2007-07-31T17:27:38Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: /* Screenshots */ gallery&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Developer]]&lt;br /&gt;
[[Category:Metadata]]&lt;br /&gt;
[[Category:Desktop]]&lt;br /&gt;
[[Category:Labs]]&lt;br /&gt;
[[Category:Tools]]&lt;br /&gt;
[[Category:Specification]]&lt;br /&gt;
[[Category:Operating System]]&lt;br /&gt;
[[Category:Technology]]&lt;br /&gt;
A library for managing license metadata, in particular CC licensing information.&lt;br /&gt;
&lt;br /&gt;
The idea of this library started out on the [[IRC]] channel, in a discussion on how to best help boost the community of software&lt;br /&gt;
developers working with things related to CC - mostly the metadata format.&lt;br /&gt;
&lt;br /&gt;
Basically, the idea is to write a portable C library that manages metadata for CC licenses, and a bunch of other licenses of interest to the community.&lt;br /&gt;
&lt;br /&gt;
The library will produce licensing information based on the specifications of calling libraries and programs. In addition to generating text for specific licenses, it will also allow an application to enumerate which licenses are currently available and provide descriptive text for each license, and for license features. It should also provide an easy way to specify &amp;quot;verify at&amp;quot; URLs.&lt;br /&gt;
&lt;br /&gt;
The benefit of this library is that applications linking to it can correctly offer licensing choices, and these choices can be transparently updated through package managers as license versions are updated. Human readable descriptions will also be internationalized, preferably using the same .po files used by the CC web site. Hence liblicense will take advantage of package updating and i18n systems to allow applications to always provide c&lt;br /&gt;
current and correct licensing choices and license text.&lt;br /&gt;
&lt;br /&gt;
Part of the project is also to provide wrappers for the library for other languages, and to help external developers add metadata support to their projects. A good start will probably be to wrap the library for Python, and use it for ccpublisher.&lt;br /&gt;
&lt;br /&gt;
We will also integrate a module system so that libraries can be used to embed and extract metadata in/from common formats.&lt;br /&gt;
&lt;br /&gt;
As liblicense itself deals only with text strings, we can also make GUI libraries to provide dialogs which present these strings to the user in desktop or web applications. This layering ensures that such dialogs present consistent licensing choices.&lt;br /&gt;
&lt;br /&gt;
== Get liblicense ==&lt;br /&gt;
&lt;br /&gt;
* [https://sourceforge.net/project/showfiles.php?group_id=80503&amp;amp;package_id=238700 Latest Release from Sourceforge.net]&lt;br /&gt;
* Checkout liblicense module from [[SVN]]&lt;br /&gt;
&lt;br /&gt;
=== Screenshots ===&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Image:Ll nautilus emblem.png|Nautilus emblem support.&lt;br /&gt;
Image:Ll nautilus.png|Nautilus file properties.&lt;br /&gt;
Image:Ll default 2.png|GTK default system license.&lt;br /&gt;
Image:Ll dolphin.png|KDE4 dolphin file properties.&lt;br /&gt;
Image:Ll kde default license.png|KDE4 default system license.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== System Overview ==&lt;br /&gt;
&lt;br /&gt;
=== Purpose ===&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
=== Architecture ===&lt;br /&gt;
[[Image:System_architecture.png]]&lt;br /&gt;
&lt;br /&gt;
=== Implementation ===&lt;br /&gt;
This library will be implemented in C to provide maximum portability.&lt;br /&gt;
&lt;br /&gt;
=== Interface ===&lt;br /&gt;
* module_wrangler&lt;br /&gt;
** get_config_modules() - ''returns a null terminates list of available config modules.''&lt;br /&gt;
** get_io_modules() - ''returns a null terminates list of available io modules.''&lt;br /&gt;
** get_module_symbol(module,symbol) - ''returns the requested symbol.''&lt;br /&gt;
** module_init(module) - ''Loads the module and calls its init function.''&lt;br /&gt;
** module_shutdown(module) - ''Calls the shutdown method of the module and unloads it.''&lt;br /&gt;
** io_module_mime_types(module0 - ''returns a null-terminated list of the supported mime-types.''&lt;br /&gt;
* read_license&lt;br /&gt;
** read(filename) - ''returns the uri of the license of the given file.''&lt;br /&gt;
** module_read(filename,module) - ''returns the uri of the license of the given file while using the given module.''&lt;br /&gt;
* write_license&lt;br /&gt;
** write(filename,uri) - ''writes the given license to the given file using all applicable modules.''&lt;br /&gt;
** module_write(filename,module,uri) - ''writes the given license to the given file using the given module.''&lt;br /&gt;
* system_default&lt;br /&gt;
** set_default(uri)&lt;br /&gt;
** get_default()&lt;br /&gt;
* system_licenses&lt;br /&gt;
** get_jurisdiction(uri) - ''returns the jurisdiction for the given license.''&lt;br /&gt;
** get_name(uri) – ''returns the name of the license.''&lt;br /&gt;
** get_version(uri) – ''returns the version of the license.''&lt;br /&gt;
** get_prohibits(uri)&lt;br /&gt;
** get_permits(uri)&lt;br /&gt;
** get_requires(uri)&lt;br /&gt;
** verify_uri(uri) - ''returns whether or not the given uri is recognized by the system.''&lt;br /&gt;
** get_all_licenses() - ''returns a null-terminated list of all general license uris available for new works.''&lt;br /&gt;
** get_licenses(juris_t) - ''returns a null-terminated list of all general licenses in a family.''&lt;br /&gt;
&lt;br /&gt;
=== Data Structure ===&lt;br /&gt;
* Data Types (informal)&lt;br /&gt;
** uri&lt;br /&gt;
** name&lt;br /&gt;
** notification&lt;br /&gt;
** deed&lt;br /&gt;
** sampling&lt;br /&gt;
&lt;br /&gt;
=== Config Modules ===&lt;br /&gt;
* '''init'''() - starts the module&lt;br /&gt;
* '''shutdown'''() - shuts the module down&lt;br /&gt;
* '''get'''() - returns the current default license uri&lt;br /&gt;
* '''set'''(uri) - sets the default license uri and returns 0 upon success (non-zero for errors)&lt;br /&gt;
&lt;br /&gt;
=== I/O Modules ===&lt;br /&gt;
I/O modules are shared objects that call LL_MODULE_DEFINE(name,description,version,features,mime_types,init_func,read_func,write_func).&lt;br /&gt;
&lt;br /&gt;
* '''name'''&lt;br /&gt;
* '''description'''&lt;br /&gt;
* '''version'''&lt;br /&gt;
* '''features''' - If the module embeds the license within the file, pass LL_FEATURES_EMBED&lt;br /&gt;
* '''mime_types''' - A space-separated string of supported mime-types, or NULL if mime-type agnostic (i.e. XMP sidecar)&lt;br /&gt;
* '''init_func''' - This function will be called once before the module is used&lt;br /&gt;
* '''read_func''' - Function to be called when requested to read a license from a file.  It takes a filename and returns the license URI, or NULL if no license is present.  Should return an 'int' indicating success or failure.&lt;br /&gt;
* '''write_func''' - Function to be called when requested to write a license to a file.  The first parameter is the filename and the second is the license URI to write.  Should return an 'int' indicating success or failure.&lt;br /&gt;
&lt;br /&gt;
=== Bindings ===&lt;br /&gt;
*Python&lt;br /&gt;
&lt;br /&gt;
== License Files (.rdf) ==&lt;br /&gt;
=== Attributes ===&lt;br /&gt;
&lt;br /&gt;
* cc:license&lt;br /&gt;
** about&lt;br /&gt;
** permits&lt;br /&gt;
** requires&lt;br /&gt;
** prohibits&lt;br /&gt;
* dc:title - The human readable name of the license.&lt;br /&gt;
* dc:description - Description of the license.&lt;br /&gt;
* dc:coverage - The jurisdiction of the license. (country code from [http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html ISO3166])&lt;br /&gt;
* dc:relation&lt;br /&gt;
** hasVersion - version number&lt;br /&gt;
** isReplacedBy - indicates retired license ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
** isBasedOn - indicates ported version ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
* dc:type - always &amp;quot;License&amp;quot;&lt;br /&gt;
* dc:creator&lt;br /&gt;
* dc:publisher&lt;br /&gt;
* dc:identifier - URI of license ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;rdf:RDF&lt;br /&gt;
   xmlns=&amp;quot;http://creativecommons.org/ns#&amp;quot;&lt;br /&gt;
   xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
   xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xmlns:dcq=&amp;quot;http://purl.org/dc/terms/&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;rdf:Description rdf:about=&amp;quot;http://creativecommons.org/licenses/by-nd/2.0/za/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;dc:title&amp;gt;Creative Commons Attribution No Derivatives&amp;lt;/dc:title&amp;gt;&lt;br /&gt;
    &amp;lt;dc:description&amp;gt;This license allows for redistribution, commercial and non-commercial,&lt;br /&gt;
 as long as it is passed along unchanged and in whole, with credit to you.&amp;lt;/dc:description&amp;gt;&lt;br /&gt;
    &amp;lt;dc:coverage&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:ISO3166&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;za&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:ISO3166&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:coverage&amp;gt;&lt;br /&gt;
    &amp;lt;dc:hasVersion&amp;gt;2.0&amp;lt;/dc:hasVersion&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isReplacedBy&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/za/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isReplacedBy&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isBasedOn&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isBasedOn&amp;gt;&lt;br /&gt;
    &amp;lt;dc:type&amp;gt;License&amp;lt;/dc:type&amp;gt;&lt;br /&gt;
    &amp;lt;dc:creator&amp;gt;iCommons&amp;lt;/dc:creator&amp;gt;&lt;br /&gt;
    &amp;lt;dc:publisher&amp;gt;Creative Commons&amp;lt;/dc:publisher&amp;gt;&lt;br /&gt;
    &amp;lt;dc:identifier&amp;gt;http://creativecommons.org/licenses/by-nd/2.0/za/&amp;lt;/dc:identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;rdf:type rdf:resource=&amp;quot;http://creativecommons.org/ns#License&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Distribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Reproduction&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Attribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Notice&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/rdf:Description&amp;gt;&lt;br /&gt;
&amp;lt;/rdf:RDF&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example (i18n) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;rdf:RDF&lt;br /&gt;
   xmlns=&amp;quot;http://creativecommons.org/ns#&amp;quot;&lt;br /&gt;
   xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
   xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xmlns:dcq=&amp;quot;http://purl.org/dc/terms/&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;rdf:Description rdf:about=&amp;quot;http://creativecommons.org/licenses/by-nd/2.0/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;dc:title&amp;gt;&lt;br /&gt;
        &amp;lt;rdf:Alt&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;x-default&amp;quot;&amp;gt;Creative Commons Attribution No Derivatives&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;es-cl&amp;quot;&amp;gt;Creative Commons Atribución-SinDerivadas&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
        &amp;lt;/rdf:Alt&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:title&amp;gt;&lt;br /&gt;
    &amp;lt;dc:description&amp;gt;&lt;br /&gt;
        &amp;lt;rdf:Alt&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;x-default&amp;quot;&amp;gt;This license allows for redistribution, commercial and non-commercial,&lt;br /&gt;
 as long as it is passed along unchanged and in whole, with credit to you.&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
        &amp;lt;/rdf:Alt&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:description&amp;gt;&lt;br /&gt;
    &amp;lt;dc:coverage&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:ISO3166&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;us&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:ISO3166&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:coverage&amp;gt;&lt;br /&gt;
    &amp;lt;dc:hasVersion&amp;gt;2.0&amp;lt;/dc:hasVersion&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isReplacedBy&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isReplacedBy&amp;gt;&lt;br /&gt;
    &amp;lt;dc:type&amp;gt;License&amp;lt;/dc:type&amp;gt;&lt;br /&gt;
    &amp;lt;dc:creator&amp;gt;Creative Commons&amp;lt;/dc:creator&amp;gt;&lt;br /&gt;
    &amp;lt;dc:publisher&amp;gt;Creative Commons&amp;lt;/dc:publisher&amp;gt;&lt;br /&gt;
    &amp;lt;dc:identifier&amp;gt;http://creativecommons.org/licenses/by-nd/2.0/&amp;lt;/dc:identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;rdf:type rdf:resource=&amp;quot;http://creativecommons.org/ns#License&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Distribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Reproduction&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Attribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Notice&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/rdf:Description&amp;gt;&lt;br /&gt;
&amp;lt;/rdf:RDF&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Desktop Integration ==&lt;br /&gt;
&lt;br /&gt;
See [[Desktop Integration]]&lt;br /&gt;
&lt;br /&gt;
=== Gnome Summit Discussion ===&lt;br /&gt;
&lt;br /&gt;
At the Gnome Summit we explored adding CC licensing to various Gnome applications.  Application developers appeared to have a few needs:&lt;br /&gt;
&lt;br /&gt;
* They want to display the appropriate icon (or other) for a particular license.  For instance, AbiWord could display a small icon representing license status in the tool bar.  Music players could display the icon in the controls area.  A music streaming app might want to play a 5 second &amp;quot;Now entering the Creative Commons&amp;quot; chime (much like radio station identification, but for licenses).&lt;br /&gt;
* They want to allow the user to easily select a license.  This would probably be a wizard that asks the user questions and tries to select the most appropriate license from all that it knows about.  Much like a file selection dialog, but navigating licenses instead of your file system.&lt;br /&gt;
&lt;br /&gt;
A low-level liblicense could handle XML parsing required.  It would allow the client to determine the questions that need to be asked to select a license, and to download any icons, blurbs, etc for all known license types.&lt;br /&gt;
&lt;br /&gt;
The low-level library solves the first problem above, but not the second.  It's still too difficult to ask the user to select a license.  Layered on top of the low-level library would be any number of high level libraries that would convert the textual questions into GUI widgets and present them using the appropriate toolkit (GTK+ / KDE / Cocoa / Win32 / etc).  This way, adding license awareness to an application should be as easy as &amp;quot;license=SFGetLicense(); saveDocument(license)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Accessories ===&lt;br /&gt;
* CLI&lt;br /&gt;
** license (bundled) - simple cli program to license files.&lt;br /&gt;
** .license/default engine - a .license directory will contain the user's default setting, other config info and the user's licenses.&lt;br /&gt;
* Gnome&lt;br /&gt;
** Gnome Settings frontend. - set the default license through the gnome settings interface.&lt;br /&gt;
** Nautilus Frontend Extension - set and read licenses through nautilus.&lt;br /&gt;
** License chooser (app.) - license chooser for setting default and per file licenses. (GUI license)&lt;br /&gt;
** GTK widget&lt;br /&gt;
** Gconf config module.&lt;br /&gt;
* Sugar&lt;br /&gt;
** Journal Backend&lt;br /&gt;
** Journal Frontend&lt;br /&gt;
* KDE3 (???)&lt;br /&gt;
* KDE4&lt;br /&gt;
&lt;br /&gt;
== Timeline ==&lt;br /&gt;
=== 6/18 ===&lt;br /&gt;
* Finalize liblicense API.&lt;br /&gt;
&lt;br /&gt;
=== 6/25 ===&lt;br /&gt;
* Write liblicense.&lt;br /&gt;
* Stub config and IO modules.&lt;br /&gt;
&lt;br /&gt;
=== 7/2 ===&lt;br /&gt;
&lt;br /&gt;
=== 7/9 ===&lt;br /&gt;
* .license/default set default&lt;br /&gt;
* gnome settings UI&lt;br /&gt;
&lt;br /&gt;
=== 7/16 ===&lt;br /&gt;
* Nautilus GUI frontend.&lt;br /&gt;
* Gnome control panel frontend.&lt;br /&gt;
&lt;br /&gt;
=== 7/23 ===&lt;br /&gt;
* Sugar Journal backend.&lt;br /&gt;
* Sugar frontend.&lt;br /&gt;
&lt;br /&gt;
=== 7/30 ===&lt;br /&gt;
* Bug hunting.&lt;br /&gt;
* Frontend polishing.&lt;br /&gt;
&lt;br /&gt;
=== 8/6 ===&lt;br /&gt;
* shoot for milestone 3 for linuxworld pr&lt;br /&gt;
&lt;br /&gt;
=== 8/13 ===&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
=== 8/20 ===&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
=== 0.1 ===&lt;br /&gt;
* Initial release. ('''done''')&lt;br /&gt;
* All CC licenses. ('''done''')&lt;br /&gt;
* CLI tools. ('''done''')&lt;br /&gt;
* Modules. ('''done''')&lt;br /&gt;
** Exempi embed. ('''done''')&lt;br /&gt;
** Exempi XMP sidecar. ('''done''')&lt;br /&gt;
* Make light blog post about release on techblog, explain early state ('''done''')&lt;br /&gt;
&lt;br /&gt;
=== 0.3 ===&lt;br /&gt;
* Optimization - namely caching in some way.  Should not access file every attribute request.&lt;br /&gt;
* Gnome tools. ('''done''')&lt;br /&gt;
** Nautilus frontend. ('''done''')&lt;br /&gt;
** Gnome settings frontend. ('''done''')&lt;br /&gt;
** GTK License chooser. (See mockups) ('''done''')&lt;br /&gt;
* File embed preference over external storage. (Use external only as needed.) ('''done''')&lt;br /&gt;
* Store default jurisdiction. ('''done - default license is in default jurisdiction''')&lt;br /&gt;
* Modules.&lt;br /&gt;
** vorbiscomment ('''done''')&lt;br /&gt;
** ...&lt;br /&gt;
* Do big release on main CC blog and across various chat and mailing lists to pick-up people, lots of them...&lt;br /&gt;
* Do [[liblicense 03 release todo]]&lt;br /&gt;
&lt;br /&gt;
=== 0.4 ===&lt;br /&gt;
* Further refinement.&lt;br /&gt;
* Sugar tools.&lt;br /&gt;
** Journal integration.&lt;br /&gt;
* Another major announcement&lt;br /&gt;
* [[liblicense 04 release todo]]&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense&amp;diff=8159</id>
		<title>Liblicense</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense&amp;diff=8159"/>
				<updated>2007-07-31T17:25:54Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: /* Screenshots */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Developer]]&lt;br /&gt;
[[Category:Metadata]]&lt;br /&gt;
[[Category:Desktop]]&lt;br /&gt;
[[Category:Labs]]&lt;br /&gt;
[[Category:Tools]]&lt;br /&gt;
[[Category:Specification]]&lt;br /&gt;
[[Category:Operating System]]&lt;br /&gt;
[[Category:Technology]]&lt;br /&gt;
A library for managing license metadata, in particular CC licensing information.&lt;br /&gt;
&lt;br /&gt;
The idea of this library started out on the [[IRC]] channel, in a discussion on how to best help boost the community of software&lt;br /&gt;
developers working with things related to CC - mostly the metadata format.&lt;br /&gt;
&lt;br /&gt;
Basically, the idea is to write a portable C library that manages metadata for CC licenses, and a bunch of other licenses of interest to the community.&lt;br /&gt;
&lt;br /&gt;
The library will produce licensing information based on the specifications of calling libraries and programs. In addition to generating text for specific licenses, it will also allow an application to enumerate which licenses are currently available and provide descriptive text for each license, and for license features. It should also provide an easy way to specify &amp;quot;verify at&amp;quot; URLs.&lt;br /&gt;
&lt;br /&gt;
The benefit of this library is that applications linking to it can correctly offer licensing choices, and these choices can be transparently updated through package managers as license versions are updated. Human readable descriptions will also be internationalized, preferably using the same .po files used by the CC web site. Hence liblicense will take advantage of package updating and i18n systems to allow applications to always provide c&lt;br /&gt;
current and correct licensing choices and license text.&lt;br /&gt;
&lt;br /&gt;
Part of the project is also to provide wrappers for the library for other languages, and to help external developers add metadata support to their projects. A good start will probably be to wrap the library for Python, and use it for ccpublisher.&lt;br /&gt;
&lt;br /&gt;
We will also integrate a module system so that libraries can be used to embed and extract metadata in/from common formats.&lt;br /&gt;
&lt;br /&gt;
As liblicense itself deals only with text strings, we can also make GUI libraries to provide dialogs which present these strings to the user in desktop or web applications. This layering ensures that such dialogs present consistent licensing choices.&lt;br /&gt;
&lt;br /&gt;
== Get liblicense ==&lt;br /&gt;
&lt;br /&gt;
* [https://sourceforge.net/project/showfiles.php?group_id=80503&amp;amp;package_id=238700 Latest Release from Sourceforge.net]&lt;br /&gt;
* Checkout liblicense module from [[SVN]]&lt;br /&gt;
&lt;br /&gt;
=== Screenshots ===&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:Ll nautilus emblem.png|Nautilus emblem support.&lt;br /&gt;
Image:Ll nautilus.png|Nautilus file properties.&lt;br /&gt;
Image:Ll default 2.png|GTK default system license.&lt;br /&gt;
Image:Ll dolphin.png|KDE4 dolphin file properties.&lt;br /&gt;
Image:Ll kde default license.png|KDE4 default system license.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== System Overview ==&lt;br /&gt;
&lt;br /&gt;
=== Purpose ===&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
=== Architecture ===&lt;br /&gt;
[[Image:System_architecture.png]]&lt;br /&gt;
&lt;br /&gt;
=== Implementation ===&lt;br /&gt;
This library will be implemented in C to provide maximum portability.&lt;br /&gt;
&lt;br /&gt;
=== Interface ===&lt;br /&gt;
* module_wrangler&lt;br /&gt;
** get_config_modules() - ''returns a null terminates list of available config modules.''&lt;br /&gt;
** get_io_modules() - ''returns a null terminates list of available io modules.''&lt;br /&gt;
** get_module_symbol(module,symbol) - ''returns the requested symbol.''&lt;br /&gt;
** module_init(module) - ''Loads the module and calls its init function.''&lt;br /&gt;
** module_shutdown(module) - ''Calls the shutdown method of the module and unloads it.''&lt;br /&gt;
** io_module_mime_types(module0 - ''returns a null-terminated list of the supported mime-types.''&lt;br /&gt;
* read_license&lt;br /&gt;
** read(filename) - ''returns the uri of the license of the given file.''&lt;br /&gt;
** module_read(filename,module) - ''returns the uri of the license of the given file while using the given module.''&lt;br /&gt;
* write_license&lt;br /&gt;
** write(filename,uri) - ''writes the given license to the given file using all applicable modules.''&lt;br /&gt;
** module_write(filename,module,uri) - ''writes the given license to the given file using the given module.''&lt;br /&gt;
* system_default&lt;br /&gt;
** set_default(uri)&lt;br /&gt;
** get_default()&lt;br /&gt;
* system_licenses&lt;br /&gt;
** get_jurisdiction(uri) - ''returns the jurisdiction for the given license.''&lt;br /&gt;
** get_name(uri) – ''returns the name of the license.''&lt;br /&gt;
** get_version(uri) – ''returns the version of the license.''&lt;br /&gt;
** get_prohibits(uri)&lt;br /&gt;
** get_permits(uri)&lt;br /&gt;
** get_requires(uri)&lt;br /&gt;
** verify_uri(uri) - ''returns whether or not the given uri is recognized by the system.''&lt;br /&gt;
** get_all_licenses() - ''returns a null-terminated list of all general license uris available for new works.''&lt;br /&gt;
** get_licenses(juris_t) - ''returns a null-terminated list of all general licenses in a family.''&lt;br /&gt;
&lt;br /&gt;
=== Data Structure ===&lt;br /&gt;
* Data Types (informal)&lt;br /&gt;
** uri&lt;br /&gt;
** name&lt;br /&gt;
** notification&lt;br /&gt;
** deed&lt;br /&gt;
** sampling&lt;br /&gt;
&lt;br /&gt;
=== Config Modules ===&lt;br /&gt;
* '''init'''() - starts the module&lt;br /&gt;
* '''shutdown'''() - shuts the module down&lt;br /&gt;
* '''get'''() - returns the current default license uri&lt;br /&gt;
* '''set'''(uri) - sets the default license uri and returns 0 upon success (non-zero for errors)&lt;br /&gt;
&lt;br /&gt;
=== I/O Modules ===&lt;br /&gt;
I/O modules are shared objects that call LL_MODULE_DEFINE(name,description,version,features,mime_types,init_func,read_func,write_func).&lt;br /&gt;
&lt;br /&gt;
* '''name'''&lt;br /&gt;
* '''description'''&lt;br /&gt;
* '''version'''&lt;br /&gt;
* '''features''' - If the module embeds the license within the file, pass LL_FEATURES_EMBED&lt;br /&gt;
* '''mime_types''' - A space-separated string of supported mime-types, or NULL if mime-type agnostic (i.e. XMP sidecar)&lt;br /&gt;
* '''init_func''' - This function will be called once before the module is used&lt;br /&gt;
* '''read_func''' - Function to be called when requested to read a license from a file.  It takes a filename and returns the license URI, or NULL if no license is present.  Should return an 'int' indicating success or failure.&lt;br /&gt;
* '''write_func''' - Function to be called when requested to write a license to a file.  The first parameter is the filename and the second is the license URI to write.  Should return an 'int' indicating success or failure.&lt;br /&gt;
&lt;br /&gt;
=== Bindings ===&lt;br /&gt;
*Python&lt;br /&gt;
&lt;br /&gt;
== License Files (.rdf) ==&lt;br /&gt;
=== Attributes ===&lt;br /&gt;
&lt;br /&gt;
* cc:license&lt;br /&gt;
** about&lt;br /&gt;
** permits&lt;br /&gt;
** requires&lt;br /&gt;
** prohibits&lt;br /&gt;
* dc:title - The human readable name of the license.&lt;br /&gt;
* dc:description - Description of the license.&lt;br /&gt;
* dc:coverage - The jurisdiction of the license. (country code from [http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html ISO3166])&lt;br /&gt;
* dc:relation&lt;br /&gt;
** hasVersion - version number&lt;br /&gt;
** isReplacedBy - indicates retired license ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
** isBasedOn - indicates ported version ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
* dc:type - always &amp;quot;License&amp;quot;&lt;br /&gt;
* dc:creator&lt;br /&gt;
* dc:publisher&lt;br /&gt;
* dc:identifier - URI of license ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;rdf:RDF&lt;br /&gt;
   xmlns=&amp;quot;http://creativecommons.org/ns#&amp;quot;&lt;br /&gt;
   xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
   xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xmlns:dcq=&amp;quot;http://purl.org/dc/terms/&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;rdf:Description rdf:about=&amp;quot;http://creativecommons.org/licenses/by-nd/2.0/za/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;dc:title&amp;gt;Creative Commons Attribution No Derivatives&amp;lt;/dc:title&amp;gt;&lt;br /&gt;
    &amp;lt;dc:description&amp;gt;This license allows for redistribution, commercial and non-commercial,&lt;br /&gt;
 as long as it is passed along unchanged and in whole, with credit to you.&amp;lt;/dc:description&amp;gt;&lt;br /&gt;
    &amp;lt;dc:coverage&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:ISO3166&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;za&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:ISO3166&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:coverage&amp;gt;&lt;br /&gt;
    &amp;lt;dc:hasVersion&amp;gt;2.0&amp;lt;/dc:hasVersion&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isReplacedBy&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/za/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isReplacedBy&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isBasedOn&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isBasedOn&amp;gt;&lt;br /&gt;
    &amp;lt;dc:type&amp;gt;License&amp;lt;/dc:type&amp;gt;&lt;br /&gt;
    &amp;lt;dc:creator&amp;gt;iCommons&amp;lt;/dc:creator&amp;gt;&lt;br /&gt;
    &amp;lt;dc:publisher&amp;gt;Creative Commons&amp;lt;/dc:publisher&amp;gt;&lt;br /&gt;
    &amp;lt;dc:identifier&amp;gt;http://creativecommons.org/licenses/by-nd/2.0/za/&amp;lt;/dc:identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;rdf:type rdf:resource=&amp;quot;http://creativecommons.org/ns#License&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Distribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Reproduction&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Attribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Notice&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/rdf:Description&amp;gt;&lt;br /&gt;
&amp;lt;/rdf:RDF&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example (i18n) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;rdf:RDF&lt;br /&gt;
   xmlns=&amp;quot;http://creativecommons.org/ns#&amp;quot;&lt;br /&gt;
   xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
   xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xmlns:dcq=&amp;quot;http://purl.org/dc/terms/&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;rdf:Description rdf:about=&amp;quot;http://creativecommons.org/licenses/by-nd/2.0/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;dc:title&amp;gt;&lt;br /&gt;
        &amp;lt;rdf:Alt&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;x-default&amp;quot;&amp;gt;Creative Commons Attribution No Derivatives&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;es-cl&amp;quot;&amp;gt;Creative Commons Atribución-SinDerivadas&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
        &amp;lt;/rdf:Alt&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:title&amp;gt;&lt;br /&gt;
    &amp;lt;dc:description&amp;gt;&lt;br /&gt;
        &amp;lt;rdf:Alt&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;x-default&amp;quot;&amp;gt;This license allows for redistribution, commercial and non-commercial,&lt;br /&gt;
 as long as it is passed along unchanged and in whole, with credit to you.&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
        &amp;lt;/rdf:Alt&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:description&amp;gt;&lt;br /&gt;
    &amp;lt;dc:coverage&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:ISO3166&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;us&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:ISO3166&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:coverage&amp;gt;&lt;br /&gt;
    &amp;lt;dc:hasVersion&amp;gt;2.0&amp;lt;/dc:hasVersion&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isReplacedBy&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isReplacedBy&amp;gt;&lt;br /&gt;
    &amp;lt;dc:type&amp;gt;License&amp;lt;/dc:type&amp;gt;&lt;br /&gt;
    &amp;lt;dc:creator&amp;gt;Creative Commons&amp;lt;/dc:creator&amp;gt;&lt;br /&gt;
    &amp;lt;dc:publisher&amp;gt;Creative Commons&amp;lt;/dc:publisher&amp;gt;&lt;br /&gt;
    &amp;lt;dc:identifier&amp;gt;http://creativecommons.org/licenses/by-nd/2.0/&amp;lt;/dc:identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;rdf:type rdf:resource=&amp;quot;http://creativecommons.org/ns#License&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Distribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Reproduction&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Attribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Notice&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/rdf:Description&amp;gt;&lt;br /&gt;
&amp;lt;/rdf:RDF&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Desktop Integration ==&lt;br /&gt;
&lt;br /&gt;
See [[Desktop Integration]]&lt;br /&gt;
&lt;br /&gt;
=== Gnome Summit Discussion ===&lt;br /&gt;
&lt;br /&gt;
At the Gnome Summit we explored adding CC licensing to various Gnome applications.  Application developers appeared to have a few needs:&lt;br /&gt;
&lt;br /&gt;
* They want to display the appropriate icon (or other) for a particular license.  For instance, AbiWord could display a small icon representing license status in the tool bar.  Music players could display the icon in the controls area.  A music streaming app might want to play a 5 second &amp;quot;Now entering the Creative Commons&amp;quot; chime (much like radio station identification, but for licenses).&lt;br /&gt;
* They want to allow the user to easily select a license.  This would probably be a wizard that asks the user questions and tries to select the most appropriate license from all that it knows about.  Much like a file selection dialog, but navigating licenses instead of your file system.&lt;br /&gt;
&lt;br /&gt;
A low-level liblicense could handle XML parsing required.  It would allow the client to determine the questions that need to be asked to select a license, and to download any icons, blurbs, etc for all known license types.&lt;br /&gt;
&lt;br /&gt;
The low-level library solves the first problem above, but not the second.  It's still too difficult to ask the user to select a license.  Layered on top of the low-level library would be any number of high level libraries that would convert the textual questions into GUI widgets and present them using the appropriate toolkit (GTK+ / KDE / Cocoa / Win32 / etc).  This way, adding license awareness to an application should be as easy as &amp;quot;license=SFGetLicense(); saveDocument(license)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Accessories ===&lt;br /&gt;
* CLI&lt;br /&gt;
** license (bundled) - simple cli program to license files.&lt;br /&gt;
** .license/default engine - a .license directory will contain the user's default setting, other config info and the user's licenses.&lt;br /&gt;
* Gnome&lt;br /&gt;
** Gnome Settings frontend. - set the default license through the gnome settings interface.&lt;br /&gt;
** Nautilus Frontend Extension - set and read licenses through nautilus.&lt;br /&gt;
** License chooser (app.) - license chooser for setting default and per file licenses. (GUI license)&lt;br /&gt;
** GTK widget&lt;br /&gt;
** Gconf config module.&lt;br /&gt;
* Sugar&lt;br /&gt;
** Journal Backend&lt;br /&gt;
** Journal Frontend&lt;br /&gt;
* KDE3 (???)&lt;br /&gt;
* KDE4&lt;br /&gt;
&lt;br /&gt;
== Timeline ==&lt;br /&gt;
=== 6/18 ===&lt;br /&gt;
* Finalize liblicense API.&lt;br /&gt;
&lt;br /&gt;
=== 6/25 ===&lt;br /&gt;
* Write liblicense.&lt;br /&gt;
* Stub config and IO modules.&lt;br /&gt;
&lt;br /&gt;
=== 7/2 ===&lt;br /&gt;
&lt;br /&gt;
=== 7/9 ===&lt;br /&gt;
* .license/default set default&lt;br /&gt;
* gnome settings UI&lt;br /&gt;
&lt;br /&gt;
=== 7/16 ===&lt;br /&gt;
* Nautilus GUI frontend.&lt;br /&gt;
* Gnome control panel frontend.&lt;br /&gt;
&lt;br /&gt;
=== 7/23 ===&lt;br /&gt;
* Sugar Journal backend.&lt;br /&gt;
* Sugar frontend.&lt;br /&gt;
&lt;br /&gt;
=== 7/30 ===&lt;br /&gt;
* Bug hunting.&lt;br /&gt;
* Frontend polishing.&lt;br /&gt;
&lt;br /&gt;
=== 8/6 ===&lt;br /&gt;
* shoot for milestone 3 for linuxworld pr&lt;br /&gt;
&lt;br /&gt;
=== 8/13 ===&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
=== 8/20 ===&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
=== 0.1 ===&lt;br /&gt;
* Initial release. ('''done''')&lt;br /&gt;
* All CC licenses. ('''done''')&lt;br /&gt;
* CLI tools. ('''done''')&lt;br /&gt;
* Modules. ('''done''')&lt;br /&gt;
** Exempi embed. ('''done''')&lt;br /&gt;
** Exempi XMP sidecar. ('''done''')&lt;br /&gt;
* Make light blog post about release on techblog, explain early state ('''done''')&lt;br /&gt;
&lt;br /&gt;
=== 0.3 ===&lt;br /&gt;
* Optimization - namely caching in some way.  Should not access file every attribute request.&lt;br /&gt;
* Gnome tools. ('''done''')&lt;br /&gt;
** Nautilus frontend. ('''done''')&lt;br /&gt;
** Gnome settings frontend. ('''done''')&lt;br /&gt;
** GTK License chooser. (See mockups) ('''done''')&lt;br /&gt;
* File embed preference over external storage. (Use external only as needed.) ('''done''')&lt;br /&gt;
* Store default jurisdiction. ('''done - default license is in default jurisdiction''')&lt;br /&gt;
* Modules.&lt;br /&gt;
** vorbiscomment ('''done''')&lt;br /&gt;
** ...&lt;br /&gt;
* Do big release on main CC blog and across various chat and mailing lists to pick-up people, lots of them...&lt;br /&gt;
* Do [[liblicense 03 release todo]]&lt;br /&gt;
&lt;br /&gt;
=== 0.4 ===&lt;br /&gt;
* Further refinement.&lt;br /&gt;
* Sugar tools.&lt;br /&gt;
** Journal integration.&lt;br /&gt;
* Another major announcement&lt;br /&gt;
* [[liblicense 04 release todo]]&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense&amp;diff=8156</id>
		<title>Liblicense</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense&amp;diff=8156"/>
				<updated>2007-07-31T17:21:22Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: /* Screenshots */ thumbnails&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Developer]]&lt;br /&gt;
[[Category:Metadata]]&lt;br /&gt;
[[Category:Desktop]]&lt;br /&gt;
[[Category:Labs]]&lt;br /&gt;
[[Category:Tools]]&lt;br /&gt;
[[Category:Specification]]&lt;br /&gt;
[[Category:Operating System]]&lt;br /&gt;
[[Category:Technology]]&lt;br /&gt;
A library for managing license metadata, in particular CC licensing information.&lt;br /&gt;
&lt;br /&gt;
The idea of this library started out on the [[IRC]] channel, in a discussion on how to best help boost the community of software&lt;br /&gt;
developers working with things related to CC - mostly the metadata format.&lt;br /&gt;
&lt;br /&gt;
Basically, the idea is to write a portable C library that manages metadata for CC licenses, and a bunch of other licenses of interest to the community.&lt;br /&gt;
&lt;br /&gt;
The library will produce licensing information based on the specifications of calling libraries and programs. In addition to generating text for specific licenses, it will also allow an application to enumerate which licenses are currently available and provide descriptive text for each license, and for license features. It should also provide an easy way to specify &amp;quot;verify at&amp;quot; URLs.&lt;br /&gt;
&lt;br /&gt;
The benefit of this library is that applications linking to it can correctly offer licensing choices, and these choices can be transparently updated through package managers as license versions are updated. Human readable descriptions will also be internationalized, preferably using the same .po files used by the CC web site. Hence liblicense will take advantage of package updating and i18n systems to allow applications to always provide c&lt;br /&gt;
current and correct licensing choices and license text.&lt;br /&gt;
&lt;br /&gt;
Part of the project is also to provide wrappers for the library for other languages, and to help external developers add metadata support to their projects. A good start will probably be to wrap the library for Python, and use it for ccpublisher.&lt;br /&gt;
&lt;br /&gt;
We will also integrate a module system so that libraries can be used to embed and extract metadata in/from common formats.&lt;br /&gt;
&lt;br /&gt;
As liblicense itself deals only with text strings, we can also make GUI libraries to provide dialogs which present these strings to the user in desktop or web applications. This layering ensures that such dialogs present consistent licensing choices.&lt;br /&gt;
&lt;br /&gt;
== Get liblicense ==&lt;br /&gt;
&lt;br /&gt;
* [https://sourceforge.net/project/showfiles.php?group_id=80503&amp;amp;package_id=238700 Latest Release from Sourceforge.net]&lt;br /&gt;
* Checkout liblicense module from [[SVN]]&lt;br /&gt;
&lt;br /&gt;
=== Screenshots ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Ll nautilus emblem.png|thumbnail|Nautilus emblem support.]]&lt;br /&gt;
[[Image:Ll nautilus.png|thumbnail|Nautilus file properties.]]&lt;br /&gt;
[[Image:Ll default 2.png|thumbnail|GTK default system license.]]&lt;br /&gt;
[[Image:Ll dolphin.png|thumbnail|KDE4 dolphin file properties.]]&lt;br /&gt;
[[Image:Ll kde default license.png|thumbnail|KDE4 default system license.]]&lt;br /&gt;
&lt;br /&gt;
== System Overview ==&lt;br /&gt;
&lt;br /&gt;
=== Purpose ===&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
=== Architecture ===&lt;br /&gt;
[[Image:System_architecture.png]]&lt;br /&gt;
&lt;br /&gt;
=== Implementation ===&lt;br /&gt;
This library will be implemented in C to provide maximum portability.&lt;br /&gt;
&lt;br /&gt;
=== Interface ===&lt;br /&gt;
* module_wrangler&lt;br /&gt;
** get_config_modules() - ''returns a null terminates list of available config modules.''&lt;br /&gt;
** get_io_modules() - ''returns a null terminates list of available io modules.''&lt;br /&gt;
** get_module_symbol(module,symbol) - ''returns the requested symbol.''&lt;br /&gt;
** module_init(module) - ''Loads the module and calls its init function.''&lt;br /&gt;
** module_shutdown(module) - ''Calls the shutdown method of the module and unloads it.''&lt;br /&gt;
** io_module_mime_types(module0 - ''returns a null-terminated list of the supported mime-types.''&lt;br /&gt;
* read_license&lt;br /&gt;
** read(filename) - ''returns the uri of the license of the given file.''&lt;br /&gt;
** module_read(filename,module) - ''returns the uri of the license of the given file while using the given module.''&lt;br /&gt;
* write_license&lt;br /&gt;
** write(filename,uri) - ''writes the given license to the given file using all applicable modules.''&lt;br /&gt;
** module_write(filename,module,uri) - ''writes the given license to the given file using the given module.''&lt;br /&gt;
* system_default&lt;br /&gt;
** set_default(uri)&lt;br /&gt;
** get_default()&lt;br /&gt;
* system_licenses&lt;br /&gt;
** get_jurisdiction(uri) - ''returns the jurisdiction for the given license.''&lt;br /&gt;
** get_name(uri) – ''returns the name of the license.''&lt;br /&gt;
** get_version(uri) – ''returns the version of the license.''&lt;br /&gt;
** get_prohibits(uri)&lt;br /&gt;
** get_permits(uri)&lt;br /&gt;
** get_requires(uri)&lt;br /&gt;
** verify_uri(uri) - ''returns whether or not the given uri is recognized by the system.''&lt;br /&gt;
** get_all_licenses() - ''returns a null-terminated list of all general license uris available for new works.''&lt;br /&gt;
** get_licenses(juris_t) - ''returns a null-terminated list of all general licenses in a family.''&lt;br /&gt;
&lt;br /&gt;
=== Data Structure ===&lt;br /&gt;
* Data Types (informal)&lt;br /&gt;
** uri&lt;br /&gt;
** name&lt;br /&gt;
** notification&lt;br /&gt;
** deed&lt;br /&gt;
** sampling&lt;br /&gt;
&lt;br /&gt;
=== Config Modules ===&lt;br /&gt;
* '''init'''() - starts the module&lt;br /&gt;
* '''shutdown'''() - shuts the module down&lt;br /&gt;
* '''get'''() - returns the current default license uri&lt;br /&gt;
* '''set'''(uri) - sets the default license uri and returns 0 upon success (non-zero for errors)&lt;br /&gt;
&lt;br /&gt;
=== I/O Modules ===&lt;br /&gt;
I/O modules are shared objects that call LL_MODULE_DEFINE(name,description,version,features,mime_types,init_func,read_func,write_func).&lt;br /&gt;
&lt;br /&gt;
* '''name'''&lt;br /&gt;
* '''description'''&lt;br /&gt;
* '''version'''&lt;br /&gt;
* '''features''' - If the module embeds the license within the file, pass LL_FEATURES_EMBED&lt;br /&gt;
* '''mime_types''' - A space-separated string of supported mime-types, or NULL if mime-type agnostic (i.e. XMP sidecar)&lt;br /&gt;
* '''init_func''' - This function will be called once before the module is used&lt;br /&gt;
* '''read_func''' - Function to be called when requested to read a license from a file.  It takes a filename and returns the license URI, or NULL if no license is present.  Should return an 'int' indicating success or failure.&lt;br /&gt;
* '''write_func''' - Function to be called when requested to write a license to a file.  The first parameter is the filename and the second is the license URI to write.  Should return an 'int' indicating success or failure.&lt;br /&gt;
&lt;br /&gt;
=== Bindings ===&lt;br /&gt;
*Python&lt;br /&gt;
&lt;br /&gt;
== License Files (.rdf) ==&lt;br /&gt;
=== Attributes ===&lt;br /&gt;
&lt;br /&gt;
* cc:license&lt;br /&gt;
** about&lt;br /&gt;
** permits&lt;br /&gt;
** requires&lt;br /&gt;
** prohibits&lt;br /&gt;
* dc:title - The human readable name of the license.&lt;br /&gt;
* dc:description - Description of the license.&lt;br /&gt;
* dc:coverage - The jurisdiction of the license. (country code from [http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html ISO3166])&lt;br /&gt;
* dc:relation&lt;br /&gt;
** hasVersion - version number&lt;br /&gt;
** isReplacedBy - indicates retired license ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
** isBasedOn - indicates ported version ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
* dc:type - always &amp;quot;License&amp;quot;&lt;br /&gt;
* dc:creator&lt;br /&gt;
* dc:publisher&lt;br /&gt;
* dc:identifier - URI of license ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;rdf:RDF&lt;br /&gt;
   xmlns=&amp;quot;http://creativecommons.org/ns#&amp;quot;&lt;br /&gt;
   xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
   xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xmlns:dcq=&amp;quot;http://purl.org/dc/terms/&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;rdf:Description rdf:about=&amp;quot;http://creativecommons.org/licenses/by-nd/2.0/za/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;dc:title&amp;gt;Creative Commons Attribution No Derivatives&amp;lt;/dc:title&amp;gt;&lt;br /&gt;
    &amp;lt;dc:description&amp;gt;This license allows for redistribution, commercial and non-commercial,&lt;br /&gt;
 as long as it is passed along unchanged and in whole, with credit to you.&amp;lt;/dc:description&amp;gt;&lt;br /&gt;
    &amp;lt;dc:coverage&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:ISO3166&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;za&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:ISO3166&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:coverage&amp;gt;&lt;br /&gt;
    &amp;lt;dc:hasVersion&amp;gt;2.0&amp;lt;/dc:hasVersion&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isReplacedBy&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/za/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isReplacedBy&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isBasedOn&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isBasedOn&amp;gt;&lt;br /&gt;
    &amp;lt;dc:type&amp;gt;License&amp;lt;/dc:type&amp;gt;&lt;br /&gt;
    &amp;lt;dc:creator&amp;gt;iCommons&amp;lt;/dc:creator&amp;gt;&lt;br /&gt;
    &amp;lt;dc:publisher&amp;gt;Creative Commons&amp;lt;/dc:publisher&amp;gt;&lt;br /&gt;
    &amp;lt;dc:identifier&amp;gt;http://creativecommons.org/licenses/by-nd/2.0/za/&amp;lt;/dc:identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;rdf:type rdf:resource=&amp;quot;http://creativecommons.org/ns#License&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Distribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Reproduction&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Attribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Notice&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/rdf:Description&amp;gt;&lt;br /&gt;
&amp;lt;/rdf:RDF&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example (i18n) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;rdf:RDF&lt;br /&gt;
   xmlns=&amp;quot;http://creativecommons.org/ns#&amp;quot;&lt;br /&gt;
   xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
   xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xmlns:dcq=&amp;quot;http://purl.org/dc/terms/&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;rdf:Description rdf:about=&amp;quot;http://creativecommons.org/licenses/by-nd/2.0/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;dc:title&amp;gt;&lt;br /&gt;
        &amp;lt;rdf:Alt&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;x-default&amp;quot;&amp;gt;Creative Commons Attribution No Derivatives&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;es-cl&amp;quot;&amp;gt;Creative Commons Atribución-SinDerivadas&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
        &amp;lt;/rdf:Alt&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:title&amp;gt;&lt;br /&gt;
    &amp;lt;dc:description&amp;gt;&lt;br /&gt;
        &amp;lt;rdf:Alt&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;x-default&amp;quot;&amp;gt;This license allows for redistribution, commercial and non-commercial,&lt;br /&gt;
 as long as it is passed along unchanged and in whole, with credit to you.&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
        &amp;lt;/rdf:Alt&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:description&amp;gt;&lt;br /&gt;
    &amp;lt;dc:coverage&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:ISO3166&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;us&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:ISO3166&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:coverage&amp;gt;&lt;br /&gt;
    &amp;lt;dc:hasVersion&amp;gt;2.0&amp;lt;/dc:hasVersion&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isReplacedBy&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isReplacedBy&amp;gt;&lt;br /&gt;
    &amp;lt;dc:type&amp;gt;License&amp;lt;/dc:type&amp;gt;&lt;br /&gt;
    &amp;lt;dc:creator&amp;gt;Creative Commons&amp;lt;/dc:creator&amp;gt;&lt;br /&gt;
    &amp;lt;dc:publisher&amp;gt;Creative Commons&amp;lt;/dc:publisher&amp;gt;&lt;br /&gt;
    &amp;lt;dc:identifier&amp;gt;http://creativecommons.org/licenses/by-nd/2.0/&amp;lt;/dc:identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;rdf:type rdf:resource=&amp;quot;http://creativecommons.org/ns#License&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Distribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Reproduction&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Attribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Notice&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/rdf:Description&amp;gt;&lt;br /&gt;
&amp;lt;/rdf:RDF&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Desktop Integration ==&lt;br /&gt;
&lt;br /&gt;
See [[Desktop Integration]]&lt;br /&gt;
&lt;br /&gt;
=== Gnome Summit Discussion ===&lt;br /&gt;
&lt;br /&gt;
At the Gnome Summit we explored adding CC licensing to various Gnome applications.  Application developers appeared to have a few needs:&lt;br /&gt;
&lt;br /&gt;
* They want to display the appropriate icon (or other) for a particular license.  For instance, AbiWord could display a small icon representing license status in the tool bar.  Music players could display the icon in the controls area.  A music streaming app might want to play a 5 second &amp;quot;Now entering the Creative Commons&amp;quot; chime (much like radio station identification, but for licenses).&lt;br /&gt;
* They want to allow the user to easily select a license.  This would probably be a wizard that asks the user questions and tries to select the most appropriate license from all that it knows about.  Much like a file selection dialog, but navigating licenses instead of your file system.&lt;br /&gt;
&lt;br /&gt;
A low-level liblicense could handle XML parsing required.  It would allow the client to determine the questions that need to be asked to select a license, and to download any icons, blurbs, etc for all known license types.&lt;br /&gt;
&lt;br /&gt;
The low-level library solves the first problem above, but not the second.  It's still too difficult to ask the user to select a license.  Layered on top of the low-level library would be any number of high level libraries that would convert the textual questions into GUI widgets and present them using the appropriate toolkit (GTK+ / KDE / Cocoa / Win32 / etc).  This way, adding license awareness to an application should be as easy as &amp;quot;license=SFGetLicense(); saveDocument(license)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Accessories ===&lt;br /&gt;
* CLI&lt;br /&gt;
** license (bundled) - simple cli program to license files.&lt;br /&gt;
** .license/default engine - a .license directory will contain the user's default setting, other config info and the user's licenses.&lt;br /&gt;
* Gnome&lt;br /&gt;
** Gnome Settings frontend. - set the default license through the gnome settings interface.&lt;br /&gt;
** Nautilus Frontend Extension - set and read licenses through nautilus.&lt;br /&gt;
** License chooser (app.) - license chooser for setting default and per file licenses. (GUI license)&lt;br /&gt;
** GTK widget&lt;br /&gt;
** Gconf config module.&lt;br /&gt;
* Sugar&lt;br /&gt;
** Journal Backend&lt;br /&gt;
** Journal Frontend&lt;br /&gt;
* KDE3 (???)&lt;br /&gt;
* KDE4&lt;br /&gt;
&lt;br /&gt;
== Timeline ==&lt;br /&gt;
=== 6/18 ===&lt;br /&gt;
* Finalize liblicense API.&lt;br /&gt;
&lt;br /&gt;
=== 6/25 ===&lt;br /&gt;
* Write liblicense.&lt;br /&gt;
* Stub config and IO modules.&lt;br /&gt;
&lt;br /&gt;
=== 7/2 ===&lt;br /&gt;
&lt;br /&gt;
=== 7/9 ===&lt;br /&gt;
* .license/default set default&lt;br /&gt;
* gnome settings UI&lt;br /&gt;
&lt;br /&gt;
=== 7/16 ===&lt;br /&gt;
* Nautilus GUI frontend.&lt;br /&gt;
* Gnome control panel frontend.&lt;br /&gt;
&lt;br /&gt;
=== 7/23 ===&lt;br /&gt;
* Sugar Journal backend.&lt;br /&gt;
* Sugar frontend.&lt;br /&gt;
&lt;br /&gt;
=== 7/30 ===&lt;br /&gt;
* Bug hunting.&lt;br /&gt;
* Frontend polishing.&lt;br /&gt;
&lt;br /&gt;
=== 8/6 ===&lt;br /&gt;
* shoot for milestone 3 for linuxworld pr&lt;br /&gt;
&lt;br /&gt;
=== 8/13 ===&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
=== 8/20 ===&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
=== 0.1 ===&lt;br /&gt;
* Initial release. ('''done''')&lt;br /&gt;
* All CC licenses. ('''done''')&lt;br /&gt;
* CLI tools. ('''done''')&lt;br /&gt;
* Modules. ('''done''')&lt;br /&gt;
** Exempi embed. ('''done''')&lt;br /&gt;
** Exempi XMP sidecar. ('''done''')&lt;br /&gt;
* Make light blog post about release on techblog, explain early state ('''done''')&lt;br /&gt;
&lt;br /&gt;
=== 0.3 ===&lt;br /&gt;
* Optimization - namely caching in some way.  Should not access file every attribute request.&lt;br /&gt;
* Gnome tools. ('''done''')&lt;br /&gt;
** Nautilus frontend. ('''done''')&lt;br /&gt;
** Gnome settings frontend. ('''done''')&lt;br /&gt;
** GTK License chooser. (See mockups) ('''done''')&lt;br /&gt;
* File embed preference over external storage. (Use external only as needed.) ('''done''')&lt;br /&gt;
* Store default jurisdiction. ('''done - default license is in default jurisdiction''')&lt;br /&gt;
* Modules.&lt;br /&gt;
** vorbiscomment ('''done''')&lt;br /&gt;
** ...&lt;br /&gt;
* Do big release on main CC blog and across various chat and mailing lists to pick-up people, lots of them...&lt;br /&gt;
* Do [[liblicense 03 release todo]]&lt;br /&gt;
&lt;br /&gt;
=== 0.4 ===&lt;br /&gt;
* Further refinement.&lt;br /&gt;
* Sugar tools.&lt;br /&gt;
** Journal integration.&lt;br /&gt;
* Another major announcement&lt;br /&gt;
* [[liblicense 04 release todo]]&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense&amp;diff=8153</id>
		<title>Liblicense</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense&amp;diff=8153"/>
				<updated>2007-07-31T17:15:15Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: /* Get liblicense */ added screenshots&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Developer]]&lt;br /&gt;
[[Category:Metadata]]&lt;br /&gt;
[[Category:Desktop]]&lt;br /&gt;
[[Category:Labs]]&lt;br /&gt;
[[Category:Tools]]&lt;br /&gt;
[[Category:Specification]]&lt;br /&gt;
[[Category:Operating System]]&lt;br /&gt;
[[Category:Technology]]&lt;br /&gt;
A library for managing license metadata, in particular CC licensing information.&lt;br /&gt;
&lt;br /&gt;
The idea of this library started out on the [[IRC]] channel, in a discussion on how to best help boost the community of software&lt;br /&gt;
developers working with things related to CC - mostly the metadata format.&lt;br /&gt;
&lt;br /&gt;
Basically, the idea is to write a portable C library that manages metadata for CC licenses, and a bunch of other licenses of interest to the community.&lt;br /&gt;
&lt;br /&gt;
The library will produce licensing information based on the specifications of calling libraries and programs. In addition to generating text for specific licenses, it will also allow an application to enumerate which licenses are currently available and provide descriptive text for each license, and for license features. It should also provide an easy way to specify &amp;quot;verify at&amp;quot; URLs.&lt;br /&gt;
&lt;br /&gt;
The benefit of this library is that applications linking to it can correctly offer licensing choices, and these choices can be transparently updated through package managers as license versions are updated. Human readable descriptions will also be internationalized, preferably using the same .po files used by the CC web site. Hence liblicense will take advantage of package updating and i18n systems to allow applications to always provide c&lt;br /&gt;
current and correct licensing choices and license text.&lt;br /&gt;
&lt;br /&gt;
Part of the project is also to provide wrappers for the library for other languages, and to help external developers add metadata support to their projects. A good start will probably be to wrap the library for Python, and use it for ccpublisher.&lt;br /&gt;
&lt;br /&gt;
We will also integrate a module system so that libraries can be used to embed and extract metadata in/from common formats.&lt;br /&gt;
&lt;br /&gt;
As liblicense itself deals only with text strings, we can also make GUI libraries to provide dialogs which present these strings to the user in desktop or web applications. This layering ensures that such dialogs present consistent licensing choices.&lt;br /&gt;
&lt;br /&gt;
== Get liblicense ==&lt;br /&gt;
&lt;br /&gt;
* [https://sourceforge.net/project/showfiles.php?group_id=80503&amp;amp;package_id=238700 Latest Release from Sourceforge.net]&lt;br /&gt;
* Checkout liblicense module from [[SVN]]&lt;br /&gt;
&lt;br /&gt;
=== Screenshots ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Ll nautilus emblem.png]]&lt;br /&gt;
[[Image:Ll nautilus.png]]&lt;br /&gt;
[[Image:Ll default 2.png]]&lt;br /&gt;
[[Image:Ll dolphin.png]]&lt;br /&gt;
[[Image:Ll kde default license.png]]&lt;br /&gt;
&lt;br /&gt;
== System Overview ==&lt;br /&gt;
&lt;br /&gt;
=== Purpose ===&lt;br /&gt;
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]].&lt;br /&gt;
&lt;br /&gt;
=== Architecture ===&lt;br /&gt;
[[Image:System_architecture.png]]&lt;br /&gt;
&lt;br /&gt;
=== Implementation ===&lt;br /&gt;
This library will be implemented in C to provide maximum portability.&lt;br /&gt;
&lt;br /&gt;
=== Interface ===&lt;br /&gt;
* module_wrangler&lt;br /&gt;
** get_config_modules() - ''returns a null terminates list of available config modules.''&lt;br /&gt;
** get_io_modules() - ''returns a null terminates list of available io modules.''&lt;br /&gt;
** get_module_symbol(module,symbol) - ''returns the requested symbol.''&lt;br /&gt;
** module_init(module) - ''Loads the module and calls its init function.''&lt;br /&gt;
** module_shutdown(module) - ''Calls the shutdown method of the module and unloads it.''&lt;br /&gt;
** io_module_mime_types(module0 - ''returns a null-terminated list of the supported mime-types.''&lt;br /&gt;
* read_license&lt;br /&gt;
** read(filename) - ''returns the uri of the license of the given file.''&lt;br /&gt;
** module_read(filename,module) - ''returns the uri of the license of the given file while using the given module.''&lt;br /&gt;
* write_license&lt;br /&gt;
** write(filename,uri) - ''writes the given license to the given file using all applicable modules.''&lt;br /&gt;
** module_write(filename,module,uri) - ''writes the given license to the given file using the given module.''&lt;br /&gt;
* system_default&lt;br /&gt;
** set_default(uri)&lt;br /&gt;
** get_default()&lt;br /&gt;
* system_licenses&lt;br /&gt;
** get_jurisdiction(uri) - ''returns the jurisdiction for the given license.''&lt;br /&gt;
** get_name(uri) – ''returns the name of the license.''&lt;br /&gt;
** get_version(uri) – ''returns the version of the license.''&lt;br /&gt;
** get_prohibits(uri)&lt;br /&gt;
** get_permits(uri)&lt;br /&gt;
** get_requires(uri)&lt;br /&gt;
** verify_uri(uri) - ''returns whether or not the given uri is recognized by the system.''&lt;br /&gt;
** get_all_licenses() - ''returns a null-terminated list of all general license uris available for new works.''&lt;br /&gt;
** get_licenses(juris_t) - ''returns a null-terminated list of all general licenses in a family.''&lt;br /&gt;
&lt;br /&gt;
=== Data Structure ===&lt;br /&gt;
* Data Types (informal)&lt;br /&gt;
** uri&lt;br /&gt;
** name&lt;br /&gt;
** notification&lt;br /&gt;
** deed&lt;br /&gt;
** sampling&lt;br /&gt;
&lt;br /&gt;
=== Config Modules ===&lt;br /&gt;
* '''init'''() - starts the module&lt;br /&gt;
* '''shutdown'''() - shuts the module down&lt;br /&gt;
* '''get'''() - returns the current default license uri&lt;br /&gt;
* '''set'''(uri) - sets the default license uri and returns 0 upon success (non-zero for errors)&lt;br /&gt;
&lt;br /&gt;
=== I/O Modules ===&lt;br /&gt;
I/O modules are shared objects that call LL_MODULE_DEFINE(name,description,version,features,mime_types,init_func,read_func,write_func).&lt;br /&gt;
&lt;br /&gt;
* '''name'''&lt;br /&gt;
* '''description'''&lt;br /&gt;
* '''version'''&lt;br /&gt;
* '''features''' - If the module embeds the license within the file, pass LL_FEATURES_EMBED&lt;br /&gt;
* '''mime_types''' - A space-separated string of supported mime-types, or NULL if mime-type agnostic (i.e. XMP sidecar)&lt;br /&gt;
* '''init_func''' - This function will be called once before the module is used&lt;br /&gt;
* '''read_func''' - Function to be called when requested to read a license from a file.  It takes a filename and returns the license URI, or NULL if no license is present.  Should return an 'int' indicating success or failure.&lt;br /&gt;
* '''write_func''' - Function to be called when requested to write a license to a file.  The first parameter is the filename and the second is the license URI to write.  Should return an 'int' indicating success or failure.&lt;br /&gt;
&lt;br /&gt;
=== Bindings ===&lt;br /&gt;
*Python&lt;br /&gt;
&lt;br /&gt;
== License Files (.rdf) ==&lt;br /&gt;
=== Attributes ===&lt;br /&gt;
&lt;br /&gt;
* cc:license&lt;br /&gt;
** about&lt;br /&gt;
** permits&lt;br /&gt;
** requires&lt;br /&gt;
** prohibits&lt;br /&gt;
* dc:title - The human readable name of the license.&lt;br /&gt;
* dc:description - Description of the license.&lt;br /&gt;
* dc:coverage - The jurisdiction of the license. (country code from [http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html ISO3166])&lt;br /&gt;
* dc:relation&lt;br /&gt;
** hasVersion - version number&lt;br /&gt;
** isReplacedBy - indicates retired license ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
** isBasedOn - indicates ported version ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
* dc:type - always &amp;quot;License&amp;quot;&lt;br /&gt;
* dc:creator&lt;br /&gt;
* dc:publisher&lt;br /&gt;
* dc:identifier - URI of license ([http://www.ietf.org/rfc/rfc2396.txt URI])&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;rdf:RDF&lt;br /&gt;
   xmlns=&amp;quot;http://creativecommons.org/ns#&amp;quot;&lt;br /&gt;
   xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
   xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xmlns:dcq=&amp;quot;http://purl.org/dc/terms/&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;rdf:Description rdf:about=&amp;quot;http://creativecommons.org/licenses/by-nd/2.0/za/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;dc:title&amp;gt;Creative Commons Attribution No Derivatives&amp;lt;/dc:title&amp;gt;&lt;br /&gt;
    &amp;lt;dc:description&amp;gt;This license allows for redistribution, commercial and non-commercial,&lt;br /&gt;
 as long as it is passed along unchanged and in whole, with credit to you.&amp;lt;/dc:description&amp;gt;&lt;br /&gt;
    &amp;lt;dc:coverage&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:ISO3166&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;za&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:ISO3166&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:coverage&amp;gt;&lt;br /&gt;
    &amp;lt;dc:hasVersion&amp;gt;2.0&amp;lt;/dc:hasVersion&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isReplacedBy&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/za/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isReplacedBy&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isBasedOn&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isBasedOn&amp;gt;&lt;br /&gt;
    &amp;lt;dc:type&amp;gt;License&amp;lt;/dc:type&amp;gt;&lt;br /&gt;
    &amp;lt;dc:creator&amp;gt;iCommons&amp;lt;/dc:creator&amp;gt;&lt;br /&gt;
    &amp;lt;dc:publisher&amp;gt;Creative Commons&amp;lt;/dc:publisher&amp;gt;&lt;br /&gt;
    &amp;lt;dc:identifier&amp;gt;http://creativecommons.org/licenses/by-nd/2.0/za/&amp;lt;/dc:identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;rdf:type rdf:resource=&amp;quot;http://creativecommons.org/ns#License&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Distribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Reproduction&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Attribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Notice&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/rdf:Description&amp;gt;&lt;br /&gt;
&amp;lt;/rdf:RDF&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example (i18n) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;rdf:RDF&lt;br /&gt;
   xmlns=&amp;quot;http://creativecommons.org/ns#&amp;quot;&lt;br /&gt;
   xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
   xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xmlns:dcq=&amp;quot;http://purl.org/dc/terms/&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
  &amp;lt;rdf:Description rdf:about=&amp;quot;http://creativecommons.org/licenses/by-nd/2.0/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;dc:title&amp;gt;&lt;br /&gt;
        &amp;lt;rdf:Alt&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;x-default&amp;quot;&amp;gt;Creative Commons Attribution No Derivatives&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;es-cl&amp;quot;&amp;gt;Creative Commons Atribución-SinDerivadas&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
        &amp;lt;/rdf:Alt&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:title&amp;gt;&lt;br /&gt;
    &amp;lt;dc:description&amp;gt;&lt;br /&gt;
        &amp;lt;rdf:Alt&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:li xml:lang=&amp;quot;x-default&amp;quot;&amp;gt;This license allows for redistribution, commercial and non-commercial,&lt;br /&gt;
 as long as it is passed along unchanged and in whole, with credit to you.&amp;lt;/rdf:li&amp;gt;&lt;br /&gt;
        &amp;lt;/rdf:Alt&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:description&amp;gt;&lt;br /&gt;
    &amp;lt;dc:coverage&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:ISO3166&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;us&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:ISO3166&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:coverage&amp;gt;&lt;br /&gt;
    &amp;lt;dc:hasVersion&amp;gt;2.0&amp;lt;/dc:hasVersion&amp;gt;&lt;br /&gt;
    &amp;lt;dc:isReplacedBy&amp;gt;&lt;br /&gt;
        &amp;lt;dcq:URI&amp;gt;&lt;br /&gt;
            &amp;lt;rdf:value&amp;gt;http://creativecommons.org/licenses/by-nd/2.5/&amp;lt;/rdf:value&amp;gt;&lt;br /&gt;
        &amp;lt;/dcq:URI&amp;gt;&lt;br /&gt;
    &amp;lt;/dc:isReplacedBy&amp;gt;&lt;br /&gt;
    &amp;lt;dc:type&amp;gt;License&amp;lt;/dc:type&amp;gt;&lt;br /&gt;
    &amp;lt;dc:creator&amp;gt;Creative Commons&amp;lt;/dc:creator&amp;gt;&lt;br /&gt;
    &amp;lt;dc:publisher&amp;gt;Creative Commons&amp;lt;/dc:publisher&amp;gt;&lt;br /&gt;
    &amp;lt;dc:identifier&amp;gt;http://creativecommons.org/licenses/by-nd/2.0/&amp;lt;/dc:identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;rdf:type rdf:resource=&amp;quot;http://creativecommons.org/ns#License&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Distribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;permits rdf:resource=&amp;quot;http://creativecommons.org/ns#Reproduction&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Attribution&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;requires rdf:resource=&amp;quot;http://creativecommons.org/ns#Notice&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/rdf:Description&amp;gt;&lt;br /&gt;
&amp;lt;/rdf:RDF&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Desktop Integration ==&lt;br /&gt;
&lt;br /&gt;
See [[Desktop Integration]]&lt;br /&gt;
&lt;br /&gt;
=== Gnome Summit Discussion ===&lt;br /&gt;
&lt;br /&gt;
At the Gnome Summit we explored adding CC licensing to various Gnome applications.  Application developers appeared to have a few needs:&lt;br /&gt;
&lt;br /&gt;
* They want to display the appropriate icon (or other) for a particular license.  For instance, AbiWord could display a small icon representing license status in the tool bar.  Music players could display the icon in the controls area.  A music streaming app might want to play a 5 second &amp;quot;Now entering the Creative Commons&amp;quot; chime (much like radio station identification, but for licenses).&lt;br /&gt;
* They want to allow the user to easily select a license.  This would probably be a wizard that asks the user questions and tries to select the most appropriate license from all that it knows about.  Much like a file selection dialog, but navigating licenses instead of your file system.&lt;br /&gt;
&lt;br /&gt;
A low-level liblicense could handle XML parsing required.  It would allow the client to determine the questions that need to be asked to select a license, and to download any icons, blurbs, etc for all known license types.&lt;br /&gt;
&lt;br /&gt;
The low-level library solves the first problem above, but not the second.  It's still too difficult to ask the user to select a license.  Layered on top of the low-level library would be any number of high level libraries that would convert the textual questions into GUI widgets and present them using the appropriate toolkit (GTK+ / KDE / Cocoa / Win32 / etc).  This way, adding license awareness to an application should be as easy as &amp;quot;license=SFGetLicense(); saveDocument(license)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Accessories ===&lt;br /&gt;
* CLI&lt;br /&gt;
** license (bundled) - simple cli program to license files.&lt;br /&gt;
** .license/default engine - a .license directory will contain the user's default setting, other config info and the user's licenses.&lt;br /&gt;
* Gnome&lt;br /&gt;
** Gnome Settings frontend. - set the default license through the gnome settings interface.&lt;br /&gt;
** Nautilus Frontend Extension - set and read licenses through nautilus.&lt;br /&gt;
** License chooser (app.) - license chooser for setting default and per file licenses. (GUI license)&lt;br /&gt;
** GTK widget&lt;br /&gt;
** Gconf config module.&lt;br /&gt;
* Sugar&lt;br /&gt;
** Journal Backend&lt;br /&gt;
** Journal Frontend&lt;br /&gt;
* KDE3 (???)&lt;br /&gt;
* KDE4&lt;br /&gt;
&lt;br /&gt;
== Timeline ==&lt;br /&gt;
=== 6/18 ===&lt;br /&gt;
* Finalize liblicense API.&lt;br /&gt;
&lt;br /&gt;
=== 6/25 ===&lt;br /&gt;
* Write liblicense.&lt;br /&gt;
* Stub config and IO modules.&lt;br /&gt;
&lt;br /&gt;
=== 7/2 ===&lt;br /&gt;
&lt;br /&gt;
=== 7/9 ===&lt;br /&gt;
* .license/default set default&lt;br /&gt;
* gnome settings UI&lt;br /&gt;
&lt;br /&gt;
=== 7/16 ===&lt;br /&gt;
* Nautilus GUI frontend.&lt;br /&gt;
* Gnome control panel frontend.&lt;br /&gt;
&lt;br /&gt;
=== 7/23 ===&lt;br /&gt;
* Sugar Journal backend.&lt;br /&gt;
* Sugar frontend.&lt;br /&gt;
&lt;br /&gt;
=== 7/30 ===&lt;br /&gt;
* Bug hunting.&lt;br /&gt;
* Frontend polishing.&lt;br /&gt;
&lt;br /&gt;
=== 8/6 ===&lt;br /&gt;
* shoot for milestone 3 for linuxworld pr&lt;br /&gt;
&lt;br /&gt;
=== 8/13 ===&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
=== 8/20 ===&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
=== 0.1 ===&lt;br /&gt;
* Initial release. ('''done''')&lt;br /&gt;
* All CC licenses. ('''done''')&lt;br /&gt;
* CLI tools. ('''done''')&lt;br /&gt;
* Modules. ('''done''')&lt;br /&gt;
** Exempi embed. ('''done''')&lt;br /&gt;
** Exempi XMP sidecar. ('''done''')&lt;br /&gt;
* Make light blog post about release on techblog, explain early state ('''done''')&lt;br /&gt;
&lt;br /&gt;
=== 0.3 ===&lt;br /&gt;
* Optimization - namely caching in some way.  Should not access file every attribute request.&lt;br /&gt;
* Gnome tools. ('''done''')&lt;br /&gt;
** Nautilus frontend. ('''done''')&lt;br /&gt;
** Gnome settings frontend. ('''done''')&lt;br /&gt;
** GTK License chooser. (See mockups) ('''done''')&lt;br /&gt;
* File embed preference over external storage. (Use external only as needed.) ('''done''')&lt;br /&gt;
* Store default jurisdiction. ('''done - default license is in default jurisdiction''')&lt;br /&gt;
* Modules.&lt;br /&gt;
** vorbiscomment ('''done''')&lt;br /&gt;
** ...&lt;br /&gt;
* Do big release on main CC blog and across various chat and mailing lists to pick-up people, lots of them...&lt;br /&gt;
* Do [[liblicense 03 release todo]]&lt;br /&gt;
&lt;br /&gt;
=== 0.4 ===&lt;br /&gt;
* Further refinement.&lt;br /&gt;
* Sugar tools.&lt;br /&gt;
** Journal integration.&lt;br /&gt;
* Another major announcement&lt;br /&gt;
* [[liblicense 04 release todo]]&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=File:Ll_kde_default_license.png&amp;diff=8152</id>
		<title>File:Ll kde default license.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=File:Ll_kde_default_license.png&amp;diff=8152"/>
				<updated>2007-07-31T17:14:00Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=File:Ll_dolphin.png&amp;diff=8151</id>
		<title>File:Ll dolphin.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=File:Ll_dolphin.png&amp;diff=8151"/>
				<updated>2007-07-31T17:12:34Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=File:Ll_default_2.png&amp;diff=8150</id>
		<title>File:Ll default 2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=File:Ll_default_2.png&amp;diff=8150"/>
				<updated>2007-07-31T17:11:36Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=File:Ll_nautilus.png&amp;diff=8149</id>
		<title>File:Ll nautilus.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=File:Ll_nautilus.png&amp;diff=8149"/>
				<updated>2007-07-31T17:10:11Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=File:Ll_nautilus_emblem.png&amp;diff=8147</id>
		<title>File:Ll nautilus emblem.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=File:Ll_nautilus_emblem.png&amp;diff=8147"/>
				<updated>2007-07-31T17:08:50Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_04_release_todo&amp;diff=8140</id>
		<title>Liblicense 04 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_04_release_todo&amp;diff=8140"/>
				<updated>2007-07-31T03:34:15Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* features&lt;br /&gt;
** KDE4 integration&lt;br /&gt;
*** system settings module&lt;br /&gt;
*** file properties license tab&lt;br /&gt;
** OLPC integration&lt;br /&gt;
*** Journal integration&lt;br /&gt;
&lt;br /&gt;
* bugs/issues&lt;br /&gt;
** License chooser api ironing out (http://lists.ibiblio.org/pipermail/cc-devel/2007-July/000539.html).  I could wrap the flags to hide the bit-shifting -- but before I do that, I want feedback as to whether this design, in general, works.&lt;br /&gt;
** Use SONAME so applications can request a particular version of liblicense's API/ABI&lt;br /&gt;
*** Debian will require this (and everyone else is crazy if they don't)&lt;br /&gt;
*** I found [http://mail-index.netbsd.org/tech-toolchain/1998/07/17/0000.html one explanation] of it while Googling&lt;br /&gt;
** not clear what default-content-license does, exactly- maybe replace 'Default Content License' with 'choose the default license for new content you create' or something like that? (whatever is accurate  :) &lt;br /&gt;
** I'd get rid of the frame around the license chooser. Not used by most gnome apps.&lt;br /&gt;
** URI: what goes there? I assume the license URI, but I'd expect the license chooser would set that, and it doesn't appear to.&lt;br /&gt;
** are there sample files somewhere I can test the nautilus extension on?&lt;br /&gt;
** good packaging practice would break this into liblicense and liblicense-devel, one with the apps and app data another with the libraries. Not a huge deal, but would be necessary before getting it into fedora, for example.&lt;br /&gt;
&lt;br /&gt;
* tag svn&lt;br /&gt;
&lt;br /&gt;
* package&lt;br /&gt;
** source&lt;br /&gt;
** rpm&lt;br /&gt;
** deb&lt;br /&gt;
** ebuilds (bugs 187196, 185689, and 187194 in gentoo's bugzilla)&lt;br /&gt;
** test them!&lt;br /&gt;
** Known dependencies.&lt;br /&gt;
*** libraptor&lt;br /&gt;
*** nautilus-python&lt;br /&gt;
*** exempi&lt;br /&gt;
&lt;br /&gt;
* publicity&lt;br /&gt;
** freshmeat&lt;br /&gt;
** sourceforge&lt;br /&gt;
** ?&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8131</id>
		<title>Liblicense 03 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8131"/>
				<updated>2007-07-30T23:03:19Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* issues&lt;br /&gt;
** &amp;lt;del&amp;gt;Nautilus writes a license to every file whose property dialog is displayed&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;license chooser returns devnations -- should we mark this as retired and then not return retired licenses?&amp;lt;/del&amp;gt; (added isReplacedBy by/3.0)&lt;br /&gt;
** &amp;lt;del&amp;gt;Unicode filename issues?  Licenses aren't loaded for some test files with Japanese filenames.&amp;lt;/del&amp;gt;  (Um, seems to work fine, now) ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;Update gui_gtk.py to use license chooser API once the above is taken care of&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;configure --prefix=/usr/local dies trying to install the python bindings&amp;lt;/del&amp;gt;&lt;br /&gt;
*** libtool: install: error: cannot install `liblicense.la' to a directory not ending in /usr/lib/python2.4/site-packages/liblicense&lt;br /&gt;
*** Update: works after a 'make distclean'&lt;br /&gt;
** &amp;lt;del&amp;gt;new license chooser API not wrapped in Ruby&amp;lt;/del&amp;gt; ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;nautilus emblems don't work for me&amp;lt;/del&amp;gt; (Needed to touch /usr/share/icons/hicolor on installation)&lt;br /&gt;
** &amp;lt;del&amp;gt;No sampling licenses' RDF include the prohibits commericial use statement&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;package press release&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;tag svn&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* package&lt;br /&gt;
** &amp;lt;del&amp;gt;source &amp;lt;/del&amp;gt;&lt;br /&gt;
** rpm&lt;br /&gt;
** deb&lt;br /&gt;
** &amp;lt;del&amp;gt;ebuild&amp;lt;/del&amp;gt; (Exempi, nautilus-python, and Liblicense ebuilds, courtesy of jakin)&lt;br /&gt;
** test them!&lt;br /&gt;
** Known dependencies.&lt;br /&gt;
*** libraptor&lt;br /&gt;
*** nautilus-python&lt;br /&gt;
*** exempi&lt;br /&gt;
&lt;br /&gt;
* publicity&lt;br /&gt;
** mailing lists&lt;br /&gt;
*** cc-devel&lt;br /&gt;
*** cc-community&lt;br /&gt;
** freshmeat&lt;br /&gt;
** sourceforge&lt;br /&gt;
** cc frontpage blog ('''written''')&lt;br /&gt;
** press release&lt;br /&gt;
*** &amp;lt;del&amp;gt;packaged PRESS file&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;cc techblog how to&amp;lt;/del&amp;gt; ([[Liblicense_tutorial]])&lt;br /&gt;
** digg (?)&lt;br /&gt;
** slashdot (?)&lt;br /&gt;
** Boing Boing (?)&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8109</id>
		<title>Liblicense 03 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8109"/>
				<updated>2007-07-30T18:24:05Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* issues&lt;br /&gt;
** &amp;lt;del&amp;gt;Nautilus writes a license to every file whose property dialog is displayed&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;license chooser returns devnations -- should we mark this as retired and then not return retired licenses?&amp;lt;/del&amp;gt; (added isReplacedBy by/3.0)&lt;br /&gt;
** &amp;lt;del&amp;gt;Unicode filename issues?  Licenses aren't loaded for some test files with Japanese filenames.&amp;lt;/del&amp;gt;  (Um, seems to work fine, now) ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;Update gui_gtk.py to use license chooser API once the above is taken care of&amp;lt;/del&amp;gt;&lt;br /&gt;
** &amp;lt;del&amp;gt;configure --prefix=/usr/local dies trying to install the python bindings&amp;lt;/del&amp;gt;&lt;br /&gt;
*** libtool: install: error: cannot install `liblicense.la' to a directory not ending in /usr/lib/python2.4/site-packages/liblicense&lt;br /&gt;
*** Update: works after a 'make distclean'&lt;br /&gt;
** &amp;lt;del&amp;gt;new license chooser API not wrapped in Ruby&amp;lt;/del&amp;gt; ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;nautilus emblems don't work for me&amp;lt;/del&amp;gt; (Needed to touch /usr/share/icons/hicolor on installation)&lt;br /&gt;
** &amp;lt;del&amp;gt;No sampling licenses' RDF include the prohibits commericial use statement&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* package press release&lt;br /&gt;
&lt;br /&gt;
* tag svn&lt;br /&gt;
&lt;br /&gt;
* package&lt;br /&gt;
** source &lt;br /&gt;
** rpm&lt;br /&gt;
** deb&lt;br /&gt;
** &amp;lt;del&amp;gt;ebuild&amp;lt;/del&amp;gt; (Exempi, nautilus-python, and Liblicense ebuilds, courtesy of jakin)&lt;br /&gt;
** test them!&lt;br /&gt;
** Known dependencies.&lt;br /&gt;
*** libraptor&lt;br /&gt;
*** nautilus-python&lt;br /&gt;
*** exempi&lt;br /&gt;
&lt;br /&gt;
* publicity&lt;br /&gt;
** mailing lists&lt;br /&gt;
*** cc-devel&lt;br /&gt;
*** cc-community&lt;br /&gt;
** freshmeat&lt;br /&gt;
** sourceforge&lt;br /&gt;
** cc frontpage blog ('''written''')&lt;br /&gt;
** press release&lt;br /&gt;
*** packaged PRESS file&lt;br /&gt;
** &amp;lt;del&amp;gt;cc techblog how to&amp;lt;/del&amp;gt; ([[Liblicense_tutorial]])&lt;br /&gt;
** digg (?)&lt;br /&gt;
** slashdot (?)&lt;br /&gt;
** Boing Boing (?)&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8077</id>
		<title>Liblicense 03 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8077"/>
				<updated>2007-07-30T05:24:51Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* issues&lt;br /&gt;
** &amp;lt;del&amp;gt;Nautilus writes a license to every file whose property dialog is displayed&amp;lt;/del&amp;gt;&lt;br /&gt;
** license chooser returns devnations -- should we mark this as retired and then not return retired licenses?&lt;br /&gt;
** &amp;lt;del&amp;gt;Unicode filename issues?  Licenses aren't loaded for some test files with Japanese filenames.&amp;lt;/del&amp;gt;  (Um, seems to work fine, now) ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;Update gui_gtk.py to use license chooser API once the above is taken care of&amp;lt;/del&amp;gt; (Workaround in place)&lt;br /&gt;
** &amp;lt;del&amp;gt;configure --prefix=/usr/local dies trying to install the python bindings&amp;lt;/del&amp;gt;&lt;br /&gt;
*** libtool: install: error: cannot install `liblicense.la' to a directory not ending in /usr/lib/python2.4/site-packages/liblicense&lt;br /&gt;
*** Update: works after a 'make distclean'&lt;br /&gt;
** &amp;lt;del&amp;gt;new license chooser API not wrapped in Ruby&amp;lt;/del&amp;gt; ('''0.4''')&lt;br /&gt;
** &amp;lt;del&amp;gt;nautilus emblems don't work for me&amp;lt;/del&amp;gt; (Needed to touch /usr/share/icons/hicolor on installation)&lt;br /&gt;
** No sampling licenses' RDF include the prohibits commericial use statement&lt;br /&gt;
&lt;br /&gt;
* package press release&lt;br /&gt;
&lt;br /&gt;
* tag svn&lt;br /&gt;
&lt;br /&gt;
* package&lt;br /&gt;
** source &lt;br /&gt;
** rpm&lt;br /&gt;
** deb&lt;br /&gt;
** &amp;lt;del&amp;gt;ebuild&amp;lt;/del&amp;gt; (Exempi, nautilus-python, and Liblicense ebuilds, courtesy of jakin)&lt;br /&gt;
** test them!&lt;br /&gt;
&lt;br /&gt;
* publicity&lt;br /&gt;
** mailing lists&lt;br /&gt;
*** cc-devel&lt;br /&gt;
*** cc-community&lt;br /&gt;
** freshmeat&lt;br /&gt;
** sourceforge&lt;br /&gt;
** cc frontpage blog ('''written''')&lt;br /&gt;
** press release&lt;br /&gt;
*** packaged PRESS file&lt;br /&gt;
** &amp;lt;del&amp;gt;cc techblog how to&amp;lt;/del&amp;gt; ([[Liblicense_tutorial]])&lt;br /&gt;
** digg (?)&lt;br /&gt;
** slashdot (?)&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8074</id>
		<title>Liblicense 03 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8074"/>
				<updated>2007-07-30T00:25:36Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* issues&lt;br /&gt;
** &amp;lt;del&amp;gt;Nautilus writes a license to every file whose property dialog is displayed&amp;lt;/del&amp;gt;&lt;br /&gt;
** license chooser returns devnations -- should we mark this as retired and then not return retired licenses?&lt;br /&gt;
** Unicode filename issues?  Licenses aren't loaded for some test files with Japanese filenames.&lt;br /&gt;
** &amp;lt;del&amp;gt;Update gui_gtk.py to use license chooser API once the above is taken care of&amp;lt;/del&amp;gt; (Workaround in place)&lt;br /&gt;
** &amp;lt;del&amp;gt;configure --prefix=/usr/local dies trying to install the python bindings&amp;lt;/del&amp;gt;&lt;br /&gt;
*** libtool: install: error: cannot install `liblicense.la' to a directory not ending in /usr/lib/python2.4/site-packages/liblicense&lt;br /&gt;
*** Update: works after a 'make distclean'&lt;br /&gt;
** new license chooser API not wrapped in Ruby&lt;br /&gt;
** &amp;lt;del&amp;gt;nautilus emblems don't work for me&amp;lt;/del&amp;gt; (Needed to touch /usr/share/icons/hicolor on installation)&lt;br /&gt;
** No sampling licenses' RDF include the prohibits commericial use statement&lt;br /&gt;
&lt;br /&gt;
* tag svn&lt;br /&gt;
&lt;br /&gt;
* package&lt;br /&gt;
** source &lt;br /&gt;
** rpm&lt;br /&gt;
** deb&lt;br /&gt;
** ebuild ([http://bugs.gentoo.org/show_bug.cgi?id=185689 ebuild for exempi])&lt;br /&gt;
** test them!&lt;br /&gt;
&lt;br /&gt;
* publicity&lt;br /&gt;
** mailing lists&lt;br /&gt;
*** cc-devel&lt;br /&gt;
*** cc-community&lt;br /&gt;
** freshmeat&lt;br /&gt;
** sourceforge&lt;br /&gt;
** cc frontpage blog ('''written''')&lt;br /&gt;
** press release&lt;br /&gt;
*** packaged PRESS file&lt;br /&gt;
** &amp;lt;del&amp;gt;cc techblog how to&amp;lt;/del&amp;gt; ([[Liblicense_tutorial]])&lt;br /&gt;
** digg (?)&lt;br /&gt;
** slashdot (?)&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_tutorial&amp;diff=8060</id>
		<title>Liblicense tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_tutorial&amp;diff=8060"/>
				<updated>2007-07-29T21:03:22Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: /* Python and GTK */ added the second part&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Python and GTK ==&lt;br /&gt;
With the release of liblicense (ll) 0.3 we've introduced the beginnings of desktop integration. With this brief guide I hope to drive further integration into other apps. While I'll be using the python bindings for simplicity, the C bindings are very similar. In this section I will show how the integration through nautilus-python is done. Here is a screenshot from nautilus.&lt;br /&gt;
&lt;br /&gt;
[[Image:ll_nautilus_emblem.png]]&lt;br /&gt;
&lt;br /&gt;
The first step of writing any plugin is figuring out the relevant APIs. In this case, the relevant APIs are that of liblicense and nautilus-python. The former's API is familiar to me because I wrote it but for consistencies sake the documentation is on the wiki. The nautilus-python documentation is pretty sparse as is the nautilus extension C documentation. However, I found this documentation file on the gnome svn. There are two primary integrations which I'll talk about. The first is the license emblem shown in the screenshot above. The second is a license properties tab. We'll start with the emblem because it uses the read function of liblicense.&lt;br /&gt;
&lt;br /&gt;
First off to have nautilus load the plugin we place the python file in either /usr/lib/nautilus/extensions-1.0/python or ~/.nautilus/python-extensions/. Our name for the file is nautilus-liblicense.py. We'll put both aspects of the integration in this file. Next we'll import the necessary modules.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;import liblicense&lt;br /&gt;
import urllib&lt;br /&gt;
&lt;br /&gt;
import gtk&lt;br /&gt;
import nautilus&lt;br /&gt;
from liblicense.gui_gtk import *&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Urllib is used to replace things such as %20 (for space) with their correct character. Gtk can be ignored for now as we'll see it in the second part. The nautilus import provides the classes which we'll subclass to provide the desired functionality. Lastly, the two liblicense imports provide us with the library functions and the gtk selector widget which we'll use later.&lt;br /&gt;
&lt;br /&gt;
In order to process the files upon load we'll subclass the InfoProvider class from nautilus-python (imported as nautilus). Within this class we need to override one function, update_file_info, which takes on argument, a FileInfo object, in addition to self.&lt;br /&gt;
&lt;br /&gt;
The class so far:&lt;br /&gt;
&amp;lt;pre&amp;gt;class LicenseInfoProvider(nautilus.InfoProvider):&lt;br /&gt;
    def __init__(self):&lt;br /&gt;
        pass&lt;br /&gt;
    def update_file_info(self, f):&lt;br /&gt;
        pass&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is nothing we need to do upon init but we'll leave it there.  In a nautilus-python example they did similar.  So now in the update_file_info function we'll need to read the license of the file and assign a corresponding emblem.  Currently, two emblems are used, one for Creative Commons licenses and another for anything else.  Here is this final code of the update_file_info function.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    def update_file_info(self, f):&lt;br /&gt;
        if f.get_uri()[:7]==&amp;quot;file://&amp;quot;:&lt;br /&gt;
            license = liblicense.read(urllib.unquote(f.get_uri()[7:]))&lt;br /&gt;
            if license:&lt;br /&gt;
                if &amp;quot;Creative Commons&amp;quot; in liblicense.get_attribute(license,&amp;quot;http://purl.org/dc/elements/1.1/creator&amp;quot;,False):&lt;br /&gt;
                    f.add_emblem(&amp;quot;cc&amp;quot;)&lt;br /&gt;
                else:&lt;br /&gt;
                    f.add_emblem(&amp;quot;licensed&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first check that is done makes sure that the argument is a local file by check that it begins with &amp;quot;file://&amp;quot;.  Once that is confirmed, we then read the license of the file by calling liblicense.'''read'''(''filename'').  Here urllib is used to convert url encoded characters, such as %20 for a space, so that we have an accurate file path.  This is all done on everything after the first seven characters of the uri which '''get_uri'''() returned.&lt;br /&gt;
&lt;br /&gt;
After the license is read we check that it is not null.  If its not then we use liblicense.'''get_attribute''' to get the creator of the license to check if it is Creative Commons or not.  We use python's keyword '''in''' because '''get_attribute''' returns a list of values.  The arguments for '''get_attribute''' are the license uri, the desired attributes uri (the predicate in RDF terms) and finally a boolean toggling the locale awareness of the processing.  Once all of this is done we add the corresponding emblem using the FileInfo object's '''add_emblem''' function which takes the emblem keyword.  Upon install of liblicense these two icons are added.  The keyword is taken from the filename (emblem-''keyword''.{png,svg}) not the .icon file.  That explains all of the first part.  If you have further questions visit #cc on irc.freenode.net or email cc-devel@lists.ibiblio.org.&lt;br /&gt;
&lt;br /&gt;
The second part of this section and of the nautilus liblicense integration is the properties tab.  Through this tab one can see the exact license the file is currently under and they can also modify the license.  This is done by utilizing the packaged LicenseChooser liblicense gtk widget.  Lets have a look.&lt;br /&gt;
&lt;br /&gt;
First lets set up the nautilus API for a property page:&lt;br /&gt;
&amp;lt;pre&amp;gt;class LicensePropertyPage(nautilus.PropertyPageProvider):&lt;br /&gt;
    def __init__(self):&lt;br /&gt;
        pass&lt;br /&gt;
&lt;br /&gt;
    def get_property_pages(self, files):&lt;br /&gt;
        pass&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Again, similar to the first section we're subclassing a nautilus class.  And again, we need to subclass one function.  This time we need to subclass the '''get_property_pages''' method.  This method takes in a list of '''FileInfo''' objects and returns a sequence of '''PropertyPage'''s.&lt;br /&gt;
&lt;br /&gt;
Alright, lets get started.  While the first iteration of this integration only supported a single file, we'll jump straight to the multiple file version.&lt;br /&gt;
&amp;lt;pre&amp;gt;def get_property_pages(self, files):&lt;br /&gt;
        self.files = files&lt;br /&gt;
&lt;br /&gt;
        self.files = filter(lambda f: f.get_uri_scheme() == 'file' and not f.is_directory(),self.files)&lt;br /&gt;
        self.files = map(lambda f: urllib.unquote(f.get_uri()[7:]),self.files)&lt;br /&gt;
        &lt;br /&gt;
        if len(self.files)==0:&lt;br /&gt;
            return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In this first bit we do some python wizardry.  First we store the files list in the object itself, we'll need it later.  Now we '''filter''' out the files with a different uri scheme and those which are directories.  This leaves us with a list of '''FileInfo''' objects which have uris in the &amp;quot;file:///path/filename.ext&amp;quot; form.  So to get a list of files in the liblicense form we use '''map''' and '''urllib.unquote''' like we did in the previous part.  Finally, before we continue, we make sure we have not filtered out all of the selected items.&lt;br /&gt;
&lt;br /&gt;
Now that we have a list of relevant files we need to do one of two things, if there is only one file selected we start the license chooser displaying the appropriate license or we display no license if multiple files are selected.  '''get_property_pages''' continued:&lt;br /&gt;
&amp;lt;pre&amp;gt;self.property_label = gtk.Label('License')&lt;br /&gt;
        self.property_label.show()&lt;br /&gt;
        &lt;br /&gt;
        if len(files) == 1:&lt;br /&gt;
            license = liblicense.read(self.files[0])&lt;br /&gt;
            if license==None:&lt;br /&gt;
                license = liblicense.get_default()&lt;br /&gt;
        else:&lt;br /&gt;
            license = None&lt;br /&gt;
        self.box = LicenseWidget(license)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
First, we create the label for the property tab.  After this we see how many files we are dealing with.  If its one, we call read on the first and only element of the list and proceed to check whether it exists (in other words, is ''None'' or not).  When the license is ''None'' we default to the system default license.  If there is multiple files we simply set the license to ''None''.  Finally, we create the '''LicenseWidget''' (which is a subclass of '''gtk.HBox''') passing the desired starting license uri in.&lt;br /&gt;
&lt;br /&gt;
The last task we must complete is to write the license to the selected file(s) when the properties window is closed.  To do this we attach a callback to the destroy signal of the '''LicenseWidget'''.&lt;br /&gt;
&amp;lt;pre&amp;gt;        self.box.connect(&amp;quot;destroy&amp;quot;,self.license_chosen)&lt;br /&gt;
        self.box.show()&lt;br /&gt;
        &lt;br /&gt;
        return nautilus.PropertyPage(&amp;quot;NautilusPython::license&amp;quot;,&lt;br /&gt;
                                     self.property_label, self.box),&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above should be self explanatory.  We simply use the PyGTK widget method '''connect''' to attach a method to the signal.  Then we return a sequence (note the ending comma) of '''PropertyPage'''s created in the return statement.  I copied this from the nautilus-python example and assume the arguments are an identifier, a label and a widget to be packed in the tab.&lt;br /&gt;
&lt;br /&gt;
Lastly, the callback method is pretty simple.&lt;br /&gt;
&amp;lt;pre&amp;gt;    def license_chosen(self, widget):&lt;br /&gt;
        license = self.box.get_license()&lt;br /&gt;
        if license:&lt;br /&gt;
            for f in self.files:&lt;br /&gt;
                liblicense.write(f,license)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Like all GTK callbacks the first argument is the widget which emitted the signal along with self.  Upon receiving this signal we get the current license of the widget by calling the '''LicenseWidget''''s get_license method which returns the uri for the selected license or ''None'' if no license is selected.  Then we check to see if a license was selected and if so iterate through the selected files writing the license info to each one.  This writing is done using the liblicense '''write''' method which takes the file path and the license uri.  It utilizes liblicense modules which write to a variety of different file formats.&lt;br /&gt;
&lt;br /&gt;
Well, thats the end of the liblicense nautilus integration.  The entire file can be seen at [http://cctools.svn.sourceforge.net/viewvc/cctools/liblicense/trunk/src/gnome/nautilus-liblicense.py?revision=6398&amp;amp;view=markup  Liblicense svn browse].&lt;br /&gt;
&lt;br /&gt;
--[[User:Scott Shawcroft|Scott Shawcroft]] 17:03, 29 July 2007 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Command-line Interface ==&lt;br /&gt;
[[Incomplete]]&lt;br /&gt;
&lt;br /&gt;
== License Chooser ==&lt;br /&gt;
&lt;br /&gt;
Liblicense aims to make integration of license selection into applications seamless.  The license chooser API allows for selecting licenses based on what the license permits, requires, and/or prohibits.  For example, the license chooser API makes an excellent backend to the following:&lt;br /&gt;
&lt;br /&gt;
[[Image:Kde_properties.png]]&lt;br /&gt;
&lt;br /&gt;
=== C bindings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;liblicense.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main() {&lt;br /&gt;
  ll_init();&lt;br /&gt;
  &lt;br /&gt;
  char *attributes[] = {&lt;br /&gt;
    &amp;quot;http://creativecommons.org/ns#Distribution&amp;quot;,&lt;br /&gt;
    &amp;quot;http://creativecommons.org/ns#CommercialUse&amp;quot;,&lt;br /&gt;
    &amp;quot;http://creativecommons.org/ns#DerivativeWorks&amp;quot;,&lt;br /&gt;
    &amp;quot;http://creativecommons.org/ns#ShareAlike&amp;quot;,&lt;br /&gt;
    &amp;quot;http://creativecommons.org/ns#Attribution&amp;quot;,&lt;br /&gt;
    NULL&lt;br /&gt;
  };&lt;br /&gt;
  ll_license_chooser_t *chooser = ll_new_license_chooser(NULL,attributes);&lt;br /&gt;
&lt;br /&gt;
  int permits, requires, prohibits;&lt;br /&gt;
&lt;br /&gt;
  //permits Distribution(0) and DerivativeWorks(2)&lt;br /&gt;
  permits = (1 &amp;lt;&amp;lt; 0) | (1 &amp;lt;&amp;lt; 2);&lt;br /&gt;
&lt;br /&gt;
  //requires ShareAlike(3) and Attribution(4)&lt;br /&gt;
  requires = (1 &amp;lt;&amp;lt; 3) | (1 &amp;lt;&amp;lt; 4);&lt;br /&gt;
&lt;br /&gt;
  //prohibits CommericalUse(1)&lt;br /&gt;
  prohibits = (1 &amp;lt;&amp;lt; 1);&lt;br /&gt;
&lt;br /&gt;
  const ll_license_list_t *licenses = ll_get_licenses_from_flags(chooser,permits,requires,prohibits);&lt;br /&gt;
  while (licenses) {&lt;br /&gt;
    printf(&amp;quot;%s\n&amp;quot;,licenses-&amp;gt;license);&lt;br /&gt;
    licenses = licenses-&amp;gt;next;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  ll_free_license_chooser(chooser);&lt;br /&gt;
  ll_stop();&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note how flags are specified.  For example, if we want a license that requires Attribution, we need to set the 4th bit of &amp;quot;requires&amp;quot;.  This is because Attribution is the 4th element in the attribute array (remember, zero-based indexes here).&lt;br /&gt;
&lt;br /&gt;
=== Python bindings ===&lt;br /&gt;
&lt;br /&gt;
Python bindings greatly simplify the above.  This retrieves all licenses that permit Distribution and Derivative Works and don't require Attribution or Notice (in other words, Public Domain).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from liblicense import LicenseChooser&lt;br /&gt;
&lt;br /&gt;
attributes = [&amp;quot;http://creativecommons.org/ns#Distribution&amp;quot;,&lt;br /&gt;
		&amp;quot;http://creativecommons.org/ns#DerivativeWorks&amp;quot;,&lt;br /&gt;
		&amp;quot;http://creativecommons.org/ns#Attribution&amp;quot;,&lt;br /&gt;
		&amp;quot;http://creativecommons.org/ns#Notice&amp;quot;]&lt;br /&gt;
chooser = LicenseChooser(None,attributes)&lt;br /&gt;
print chooser.get_licenses(permits=(1 &amp;lt;&amp;lt; 0) | (1 &amp;lt;&amp;lt; 1))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See the C bindings example for more details.&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_tutorial&amp;diff=8051</id>
		<title>Liblicense tutorial</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_tutorial&amp;diff=8051"/>
				<updated>2007-07-29T03:49:19Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: first part of python/gtk tutorial&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Python and GTK ==&lt;br /&gt;
With the release of liblicense (ll) 0.3 we've introduced the beginnings of desktop integration. With this brief guide I hope to drive further integration into other apps. While I'll be using the python bindings for simplicity, the C bindings are very similar. In this section I will show how the integration through nautilus-python is done. Here is a screenshot from nautilus.&lt;br /&gt;
&lt;br /&gt;
[[Image:ll_nautilus_emblem.png]]&lt;br /&gt;
&lt;br /&gt;
The first step of writing any plugin is figuring out the relevant APIs. In this case, the relevant APIs are that of liblicense and nautilus-python. The former's API is familiar to me because I wrote it but for consistencies sake the documentation is on the wiki. The nautilus-python documentation is pretty sparse as is the nautilus extension C documentation. However, I found this documentation file on the gnome svn. There are two primary integrations which I'll talk about. The first is the license emblem shown in the screenshot above. The second is a license properties tab. We'll start with the emblem because it uses the read function of liblicense.&lt;br /&gt;
&lt;br /&gt;
First off to have nautilus load the plugin we place the python file in either /usr/lib/nautilus/extensions-1.0/python or ~/.nautilus/python-extensions/. Our name for the file is nautilus-liblicense.py. We'll put both aspects of the integration in this file. Next we'll import the necessary modules.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;import liblicense&lt;br /&gt;
import urllib&lt;br /&gt;
&lt;br /&gt;
import gtk&lt;br /&gt;
import nautilus&lt;br /&gt;
from liblicense.gui_gtk import *&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Urllib is used to replace things such as %20 (for space) with their correct character. Gtk can be ignored for now as we'll see it in the second part. The nautilus import provides the classes which we'll subclass to provide the desired functionality. Lastly, the two liblicense imports provide us with the library functions and the gtk selector widget which we'll use later.&lt;br /&gt;
&lt;br /&gt;
In order to process the files upon load we'll subclass the InfoProvider class from nautilus-python (imported as nautilus). Within this class we need to override one function, update_file_info, which takes on argument, a FileInfo object, in addition to self.&lt;br /&gt;
&lt;br /&gt;
The class so far:&lt;br /&gt;
&amp;lt;pre&amp;gt;class LicenseInfoProvider(nautilus.InfoProvider):&lt;br /&gt;
    def __init__(self):&lt;br /&gt;
        pass&lt;br /&gt;
    def update_file_info(self, f):&lt;br /&gt;
        pass&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is nothing we need to do upon init but we'll leave it there.  In a nautilus-python example they did similar.  So now in the update_file_info function we'll need to read the license of the file and assign a corresponding emblem.  Currently, two emblems are used, one for Creative Commons licenses and another for anything else.  Here is this final code of the update_file_info function.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    def update_file_info(self, f):&lt;br /&gt;
        if f.get_uri()[:7]==&amp;quot;file://&amp;quot;:&lt;br /&gt;
            license = liblicense.read(urllib.unquote(f.get_uri()[7:]))&lt;br /&gt;
            if license:&lt;br /&gt;
                if &amp;quot;Creative Commons&amp;quot; in liblicense.get_attribute(license,&amp;quot;http://purl.org/dc/elements/1.1/creator&amp;quot;,False):&lt;br /&gt;
                    f.add_emblem(&amp;quot;cc&amp;quot;)&lt;br /&gt;
                else:&lt;br /&gt;
                    f.add_emblem(&amp;quot;licensed&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first check that is done makes sure that the argument is a local file by check that it begins with &amp;quot;file://&amp;quot;.  Once that is confirmed, we then read the license of the file by calling liblicense.'''read'''(''filename'').  Here urllib is used to convert url encoded characters, such as %20 for a space, so that we have an accurate file path.  This is all done on everything after the first seven characters of the uri which '''get_uri'''() returned.&lt;br /&gt;
&lt;br /&gt;
After the license is read we check that it is not null.  If its not then we use liblicense.'''get_attribute''' to get the creator of the license to check if it is Creative Commons or not.  We use python's keyword '''in''' because '''get_attribute''' returns a list of values.  The arguments for '''get_attribute''' are the license uri, the desired attributes uri (the predicate in RDF terms) and finally a boolean toggling the locale awareness of the processing.  Once all of this is done we add the corresponding emblem using the FileInfo object's '''add_emblem''' function which takes the emblem keyword.  Upon install of liblicense these two icons are added.  The keyword is taken from the filename (emblem-''keyword''.{png,svg}) not the .icon file.  That explains all of the first part.  If you have further questions visit #cc on irc.freenode.net or email cc-devel@lists.ibiblio.org. &lt;br /&gt;
&lt;br /&gt;
== Command-line Interface ==&lt;br /&gt;
[[Incomplete]]&lt;br /&gt;
&lt;br /&gt;
== License Chooser ==&lt;br /&gt;
&lt;br /&gt;
Liblicense aims to make integration of license selection into applications seamless.  The license chooser API allows for selecting licenses based on what the license permits, requires, and/or prohibits.&lt;br /&gt;
&lt;br /&gt;
=== C bindings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;liblicense.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main() {&lt;br /&gt;
  ll_init();&lt;br /&gt;
  &lt;br /&gt;
  char *attributes[] = {&lt;br /&gt;
    &amp;quot;http://creativecommons.org/ns#Distribution&amp;quot;,&lt;br /&gt;
    &amp;quot;http://creativecommons.org/ns#CommercialUse&amp;quot;,&lt;br /&gt;
    &amp;quot;http://creativecommons.org/ns#DerivativeWorks&amp;quot;,&lt;br /&gt;
    &amp;quot;http://creativecommons.org/ns#ShareAlike&amp;quot;,&lt;br /&gt;
    &amp;quot;http://creativecommons.org/ns#Attribution&amp;quot;,&lt;br /&gt;
    NULL&lt;br /&gt;
  };&lt;br /&gt;
  ll_license_chooser_t *chooser = ll_new_license_chooser(NULL,attributes);&lt;br /&gt;
&lt;br /&gt;
  int permits, requires, prohibits;&lt;br /&gt;
&lt;br /&gt;
  //permits Distribution(0) and DerivativeWorks(2)&lt;br /&gt;
  permits = (1 &amp;lt;&amp;lt; 0) | (1 &amp;lt;&amp;lt; 2);&lt;br /&gt;
&lt;br /&gt;
  //requires ShareAlike(3) and Attribution(4)&lt;br /&gt;
  requires = (1 &amp;lt;&amp;lt; 3) | (1 &amp;lt;&amp;lt; 4);&lt;br /&gt;
&lt;br /&gt;
  //prohibits CommericalUse(1)&lt;br /&gt;
  prohibits = (1 &amp;lt;&amp;lt; 1);&lt;br /&gt;
&lt;br /&gt;
  const ll_license_list_t *licenses = ll_get_licenses_from_flags(chooser,permits,requires,prohibits);&lt;br /&gt;
  while (licenses) {&lt;br /&gt;
    printf(&amp;quot;%s\n&amp;quot;,licenses-&amp;gt;license);&lt;br /&gt;
    licenses = licenses-&amp;gt;next;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  ll_free_license_chooser(chooser);&lt;br /&gt;
  ll_stop();&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note how flags are specified.  For example, if we want a license that requires Attribution, we need to set the 4th bit of &amp;quot;requires&amp;quot;.  This is because Attribution is the 4th element in the attribute array (remember, zero-based indexes here).&lt;br /&gt;
&lt;br /&gt;
=== Python bindings ===&lt;br /&gt;
&lt;br /&gt;
Python bindings greatly simplify the above.  This retrieves all licenses that permit Distribution and Derivative Works and don't require Attribution or Notice (in other words, Public Domain).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from liblicense import LicenseChooser&lt;br /&gt;
&lt;br /&gt;
attributes = [&amp;quot;http://creativecommons.org/ns#Distribution&amp;quot;,&lt;br /&gt;
		&amp;quot;http://creativecommons.org/ns#DerivativeWorks&amp;quot;,&lt;br /&gt;
		&amp;quot;http://creativecommons.org/ns#Attribution&amp;quot;,&lt;br /&gt;
		&amp;quot;http://creativecommons.org/ns#Notice&amp;quot;]&lt;br /&gt;
chooser = LicenseChooser(None,attributes)&lt;br /&gt;
print chooser.get_licenses(permits=(1 &amp;lt;&amp;lt; 0) | (1 &amp;lt;&amp;lt; 1))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See the C bindings example for more details.&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	<entry>
		<id>https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8041</id>
		<title>Liblicense 03 release todo</title>
		<link rel="alternate" type="text/html" href="https://wiki.creativecommons.org/index.php?title=Liblicense_03_release_todo&amp;diff=8041"/>
				<updated>2007-07-27T23:31:22Z</updated>
		
		<summary type="html">&lt;p&gt;Scott Shawcroft: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* tag svn&lt;br /&gt;
&lt;br /&gt;
* package&lt;br /&gt;
** source &lt;br /&gt;
** rpm&lt;br /&gt;
** deb&lt;br /&gt;
** ebuild&lt;br /&gt;
** test them!&lt;br /&gt;
&lt;br /&gt;
* publicity&lt;br /&gt;
** mailing lists&lt;br /&gt;
*** cc-devel&lt;br /&gt;
*** cc-community&lt;br /&gt;
** freshmeat&lt;br /&gt;
** sourceforge&lt;br /&gt;
** cc frontpage blog ('''written''')&lt;br /&gt;
** press release&lt;br /&gt;
*** packaged PRESS file&lt;br /&gt;
** cc techblog how to&lt;br /&gt;
** digg (?)&lt;br /&gt;
** slashdot (?)&lt;/div&gt;</summary>
		<author><name>Scott Shawcroft</name></author>	</entry>

	</feed>