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