CC Forum » General CC questions and answers [English]

Embedding CCzero in images

(7 posts)
  • Started 1 month ago by marjoleink
  • Latest reply from marjoleink

  1. marjoleink
    Member

    I'm working on a set of scripts to help me embed meta data (including licensing metadata) in my photographs, with ExifTool doing the actual editing, and my scripts taking care of prompting for (and validating) all necessary information, navigating directories, logging, etc.

    While I would mostly use this for either "All Rights reserved" or "CC Share Alike", I'm writing it so that any available license may be used - I might use this on photos I get from others, or even do it *for* others. And "any available license would include CCzero.

    While this isn't easy in general, this site gives some good guidance on how to embed a CC license (even though I'm not using Adobe products). For Public Domain (CCzero) this is much less clear.

    Interpreting what is available, I've come up with a strategy and would like some feedback on this. The tool to generate a bit of HTML asks a number of variables; I've used symbols to see what it generates: %title%, %name%, %url%, and tried with and without choosing a "territory". But you cannot embed HTML in a photo, so here's what I've come up with:

    Note: I'm using both IPTC and XMP data, for two reasons: there is overlap but they are largely complementary, and not all applications (fully) support XMP yet, so it's important to embed as much as possible in corresponding fields in the IPTC info.

    [IPTC]

    • fill [IPTC] By-line with %name%
    • fill [IPTC] Contact with %url% (i.e., URL or email where creator can be contacted for information)
    • fill [IPTC] Copyright with "Public Domain"
    • add "CC0 1.0" to the [IPTC] keywords

    [XMP]

    • fill [XMP dc] Creator with [IPTC] By-line (if any) - or vice versa: %name%
    • fill [XMP dc] Title with [IPTC] Headline (if any) - or vice versa: %title% (if any!)
    • (optional) supplement [IPTC] creator info with further [XMP] CreatorContactInfo; especially country (CiAdrCtry) if you define a jurisdiction "Territory"
    • fill [XMP Rights] Marked with "False"
    • fill [XMP Rights] UsageTerms and [XMP dc] Rights with text based on "To the extent...", replacing name link with Creator name and title
      with "this work", e.g. th following text:
      "To the extent possible under law, %name% has waived all copyright and related or neighboring rights to this work."
    • fill [XMP cc] license with the (rel=license) URL: http://creativecommons.org/publicdomain/zero/1.0/

    ExifTool partly uses other field names in its interface, because it can tag a large number of electronic formats, not just images, and there are homonyms - it actually writes to the correct fields.

    I hope this is clear. Comments and suggestions welcome.

    Posted 1 month ago #
  2. Phil Harvey
    Member

    The MWG recommendation is to write EXIF:Copyright, IPTC:CopyrightNotice and XMP-dc:Rights. I suggest that you write all three of these with the copyright notice.

    See http://www.metadataworkinggroup.org/ for details.

    Posted 1 month ago #
  3. marjoleink
    Member

    Phil,

    Thanks for the fast reaction and for that reference - I've downloaded their PDF and am reading it now.

    I wasn't aware of a Copyright field in Exif and had been assuming that adding data to Exif should be avoided (I've been limiting myself to the timestamps, at most adding one where it was "missing"). Adding Copyright seems a useful exception (and I like that that matches with my approach to get the same data in multiple available locations to make it more easily accessible across applications).

    I'll review my "strategy" outlined above once I've absorbed the MWG document.

    Posted 1 month ago #
  4. Turbinator
    Member

    marjoleink,
    I guess, you want to set xmpRights:Marked to 'True'.
    The page http://wiki.creativecommons.org/XMP says:

    xmpRights:Marked - False if Public Domain, True otherwise.

    Posted 1 month ago #
  5. marjoleink
    Member

    Turbinator,

    This topic is specifically about embedding CCzero (= Public Domain) info in images, so I really do want to set xmpRights:Marked to "False". :) I'm setting it to True for All Rights Reserved and the other CC licenses.

    Posted 1 month ago #
  6. marjoleink
    Member

    I have now read (and mostly absorbed) the MWG Guidelines document (as well as parts of IPTC and XMP documents). That was fun. :)

    I was happy to find that much of my own reasoning and intent as encoded in my scripts matched that of the MWG, but there were fields and issues I was unaware of - I'll have to tweak a lot of my scripts to stay as close as possible to these guidelines. At least I won't have to start all over again.

    Anyway, as a result, I've come up with a (much more detailed) version of how I intend to embed, as clearly as possible, and taking MWG guidelines into account, CCzero "Public Domain" information in image files (specifically, photos: I have placed files in the public domain before in formats that do not support embeddable metadata).

    It's long, so I'll put it into a separate post in this thread.

    Posted 1 month ago #
  7. marjoleink
    Member

    Embedding CCzero in image files - version 2.

    Approach

    0. Variables:

    %name% name of creator (or, in this context, "publisher")
    %uri% URI where creator can be contacted: a profile/contact web page or an email address
    %title% title of the work - if any (IPTC "headline"is not the same??)
    %country% "territory" where image is published, as applicable jurisdiction (if specified)

    1. Creator

    Someone has to place a work into the public domain. The CCzero tool uses terminology "publisher"; I'm assuming publisher here is equivalent with with creator (copyright holder).
    => This is / can be defined in [EXIF] Artist, [IPTC] By-line or [XMP] dc:creator

    2. URI

    %uri% is intended to be "[t]he URL where people can find more information about the work or the person using CC0."
    => In practice, this could be a URI: for instance either an email address, or a contact web page, as stored in [XMP] CreatorContactInfo; another option is the URL of a creator's profile page (which then preferably contains a way to contact the creator). A URL would be preferable to an email address, since a page (or contact form) can take changes in (email) address into account.

    3. Country

    What counts is "publication" (?), in practice this wil be the country where creator resides.
    => In practice (going on this assumption) this can be embedded in [XMP] CreatorContactInfo in the Country and CountryCode fields

    5. Title

    Going by IPTC Core guidelines this might be the file name of (original) scan or digital camera file.
    Given that 1) such a name might not be unique (even for the photographer) and 2) we're not referring to a work, but embedding IN a work, the title loses some relevance. But, the actual *file* placed in Public Domain may not be the same as the original camera file.
    => A possible option is to embed the file name of the actual file to be placed in the public domain in that file (especially if it is NOT the original camera file). Two possible locations are [IPTC] Title and [IPTC] Keywords (as one of the keywords). The last is especially
    useful when images are uploaded to webservices that create their own filenames / URIs for the
    images: if a creator needs to be contacted, the original file name can be referenced, rather
    than an arbitrary URI where the image may have been found.

    5. Copyright statement

    For embedding, this can not contain any (HTML) markup; link to creator's contact %url% can be replaced by creator's %name%; reference to %title% is redundant, especially if we already embed this (as applicable file name) elsewhere in the file.
    Based on the sample HTML, the "Public Domain" copyright statement to be *embedded* then becomes:
    "To the extent possible under law, %name% has waived all copyright and related or neighboring
    rights to this work"
    => assign this to variable %copyright%

    6. License URL

    For CCzero this is always the same, regardless of whether a "territory" for jurisdiction has been defined:
    http://creativecommons.org/publicdomain/zero/1.0/
    => assign this to variable %licurl%

    Define values for replaceable variables

    [%name%]

    • Creator's name

    [%uri%]

    • URL for Creator - e.g., a profile page: should contain a way to contact Creator; or
    • Contact URL for Creator - should contain contact form, email and/or postal address; or
    • email address for Creator (actually a URI)

    [%title%]

    • filename of actual image to be placed in the Public Domain (not necessarily original camera/ scanner file)

    [%country%]

    • country name where creator resides; or
    • (if different) country where image is published and placed in Public Domain

    [%copyright%]

    • the derived copyright statement as defined in Approach

    [%licurl%]

    • the Creative Commons CCzero license url

    Implementation

    By image metadata standard (use ALL of these to keep maximum interoperability and consistency):

    [EXIF]

    • fill Artist with %name%
    • fill Copyright with %copyright%

    [IPTC IIM]
    NOTE: There are length restrictions for all fields

    • add "CC0 1.0" (or later version if/when that appears) to Keywords
    • add %title% to Keywords
      maximum length for each keyword is 64 characters
    • fill By-line with %name%
      maximum length is 32 characters - but see CopyrightNotice!
    • fill CopyrightNotice with %copyright%
      maximum length is 128 characters, which leaves only 20 for %name%! (shorten name or truncate?)
    • fill Contact with %uri%
      maximum length is 128 characters; for a URL a (reliable) URL-shortening service might be used if the full URL is too long

    [XMP]
    No length restictions like IPTC IIM has.

    • fill Title with %title%
    • fill (a) dc:creator with %name%
    • fill dc:rights['x-default'] with %copyright% *)
    • fill (a) dc:subject with "CC0 1.0" (or later version if/when that appears)
    • fill (a) dc:subject with %title%
    • fill a number of Iptc4xmpCore:CreatorContactInfo fields, at least:
      • Iptc4xmpCore:CountryCode with country code matching %country%
      • Iptc4xmpCore:CiAdrCtry with %country%
      • Iptc4xmpCore:CiUrlWork with %uri% IF it actually is a URL (preferable), or
        Iptc4xmpCore:CiEmailWork with %uri% IF it is an email address
    • fill xmpRights:Marked with "False"
    • fill xmpRights:UsageTerms with %copyright%
    • fill cc:license with %licurl%

    *) If/when CreativeCommons provides localized versions, these can be embedded in additional dc:rights elements

    ---------

    Outstanding problem:
    I see no way to *explicitly* tying a "territory" to the "Public Domain" notice like the "This work is published from" phrase does in the generated HTML; adding this to the copyright statement may be possible, but then this would be truncated in the IPTC CopyrightNotice anyway.

    As before: comments and suggestions very welcome!

    Posted 1 month ago #

RSS feed for this topic

Reply

You must log in to post.