Re: License work



Hi!

El mié, 20-07-2005 a las 15:12 -0400, Patrick Wagstrom escribió:
> Hi everyone,
> 
> I've managed to get some of the preliminary support for licenses
> implemented right now.  No GUI or way to add licenses, but they're all
> stored in the database.  The GUI stuff will be next I guess.
> 
> Here's a general overview of how things are set up.
> 
> There are two new tables created in the database, one called "licenses"
> that contains information on the licenses known to this version of
> f-spot and another called "photo_license" (yes, it's singular) that maps
> each photo to a single license.
> 

Maybe in some moment this new field could go into the table with photo
data so we don't need to create this table. A photo will have only one
license, so it is ideal to store it in the photos table. Hmmm, maybe in
the future we will have users that want to license photos under two
different licenses ... maybe the photo2license table is a good thing.

> Here's the schema for licenses:
> 
> 
> licenses (  id            INTEGER PRIMARY KEY NOT NULL,  
>             name          TEXT UNIQUE,  
>             uri           TEXT UNIQUE,  
>             allowReproduction BOOLEAN,  
>             allowDistribution BOOLEAN,  
>             allowDerivative   BOOLEAN,  
>             allowCommercial   BOOLEAN,  
>             requireNotice     BOOLEAN,  
>             requireShareAlike BOOLEAN,  
>             immutable         BOOLEAN);
> 
> id -> integer used for the system to map licenses
> name -> the name of the license (i.e. "CC Attribution-NonCommercial-ShareAlike 2.5" or "Public Domain")
> uri -> link to where you can find info on the license (i.e. "http://creativecommons.org/licenses/by-nc-sa/2.5/";)
> allowReproduction -> does the license allow for reproduction
> allowDistribution -> can you redistribute the work
> allowDerivative -> can you make derivative works
> allowCommerical -> can you use for commercial purposes?
> requireNotice -> do you need to give the original author credit?
> requireShareAlike -> do you need to use same license?
> immutable -> can this license definition be modified?
> 

Maybe we need a last field with the logo URL for the license when it
exists.

It is nice that you include information about what the license enable to
do with the photos but not sure if we should go in such details or just
inform about the name of the license and let the user click in a URL and
go for example to Creative Commons site and learn about the license.

> The general thought behind the last one is that the licenses that come
> predefined with f-spot should be marked as immutable as there may be
> confusion is some folks made a change so something like by-nc-sa allowed
> commercial exploitation.
> 
> Most of the other boolean values are contained in the CC RDF definitions
> for the licenses.
> 
> We join licenses to photos using photo_license
> 
> CREATE TABLE photo_license (  photo_id      INTEGER,  
>                               license_id    INTEGER);
> 
> This should really be pretty straight forward.  With the exception that
> photo_id should only be in there once.  For most purposes, we shouldn't
> worry about multiple licenses on a single photo as it will just get
> really confusing.

Yes, in free software we have in some projects dual licensing schemes,
but I am not sure if we will find this kind of things also in photos.
Maybe it is a good idea to keep the license data in another table so if
we need finally to have more than one license for photo, we can do it.
If we create another field in the photos table, only one license could
be added to a photo.

> 
> Internally this is all handled by the creation of a LicenseStore object
> that is created and passed into the PhotoStore object when the Database
> initializes itself.
> 

Great!

> Obviously, feedback on the above is GREATLY appreciated.
> 
> So here's what I've gotta do now.
> 
> 1) Add a menu to attach a license to a photo.  I was thinking that this
> could be the same right clicky thing that is currently used to add tags
> to photos (i.e. right click->add license).
> 

I find it the right solution. Some users don't use the right clickso we
need to put this license issues also in the menu system.

> 2) Make a way to show visibly if a license is attached to a photo.  Not
> sure about the best way to do this.

If we include a logo for the licenses, we can show it. If we don't have
it, we can show a generic license icon like the one nautilus shows for
the COPYING files.

> 
> 3) License search.  This will probably be some sort of dialog or
> something.  Although, ideally it would be another element in the sidebar
> with the tags.  For example, a tree like this could appear as another
> "tag":
> 
> Licenses (checking would show only licensed photos)
> -> Public Domain
> -> Creative Commons
> ---> By-Nc-Sa
> ---> By-Sa
> ---> By
> ------------------
> ->Properties
> ---->allow reproduction
> ---->allow distribution
> ---->allow derivative
> ---->allow commercial use
> ---->require notice
> ---->require share alike
> 
> Here's the tricky part, where I need some HIG gurus.  Logically it seems
> that the top section of such a dialog should be an "or" clause (Ie. All
> public domain AND all by-nc-sa photos), while the bottom set of
> properties should be an "and" clause ("show all photos that allow
> commercial use and don't require notice")
> 
> Thoughts are appreciated on this stuff.  The implementation of the
> browse by license is still a ways off though.  First job is to get the
> menu to set licenses done.
> 

I am not sure if we should try to include so many information about the
license of the photos, or just put the license name. If the user wants
to know more about what she can do with the photo, she should go to the
license itself and read it.

Great work Patrick!

Cheers

> Thanks!
> 
> --Patrick
> 
> 
> 
> _______________________________________________
> F-spot-list mailing list
> F-spot-list gnome org
> http://mail.gnome.org/mailman/listinfo/f-spot-list
> 
-- 
http://acs.barrapunto.org




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]