Jump to content

Liblicense/Desktop Integration

From CC Public Wiki

Desktop Integration

See Desktop Integration

Gnome Summit Discussion

At the Gnome Summit we explored adding CC licensing to various Gnome applications. Application developers appeared to have a few needs:

  • 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 "Now entering the Creative Commons" chime (much like radio station identification, but for licenses).
  • 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.

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.

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 "license=SFGetLicense(); saveDocument(license)".

Accessories

  • CLI
    • license (bundled) - simple cli program to license files.
    • .license/default engine - a .license directory will contain the user's default setting, other config info and the user's licenses.
  • Gnome
    • Gnome Settings frontend. - set the default license through the gnome settings interface.
    • Nautilus Frontend Extension - set and read licenses through nautilus.
    • License chooser (app.) - license chooser for setting default and per file licenses. (GUI license)
    • GTK widget
    • Gconf config module.
  • Sugar
    • Journal Backend
    • Journal Frontend
  • KDE3 (???)
  • KDE4