I want to publish my pictures with a CC-BY-NC license but I could not find a tutorial how store this information with my JPEG metadata.
Is there a best practice? Do services like Flickr, Google+ or Facebook read this information?
I want to publish my pictures with a CC-BY-NC license but I could not find a tutorial how store this information with my JPEG metadata.
Is there a best practice? Do services like Flickr, Google+ or Facebook read this information?
As @coneslayer notes, Creative Commons does indeed provide guidance for XMP information.
The main thing is to set xmpRights:UsageTerms to This work is licensed to the public under the Creative Commons Attribution-ShareAlike license http://creativecommons.org/licenses/bysa/2.0/ verify at http://example.com/pdfmetadata.html
That "verify" link is optional and should be a web site explaining the licensing in more detail. If you have such a web page, you should also set xmpRights:WebStatement to that URL.
They also recommend duplicating xmpRights:UsageTerms into dc:rights, because some people might use that tag instead.
You also can and should set XMP properties using Creative Commons' own schema, which defines cc:license, cc:morePermissions (for possible other allowed uses), cc:attributionURL, and cc:attributionName.
Use exiftool to add exif metadata easily from console. It is easy to install, already present in popular Linux distros (e.g. Ubuntu)
$ exiftool -by-line="[your name]" -CopyrightNotice="© [your name] ; \
Licence: Creative Commons cc-by-nc 3.0 United States \
(http://creativecommons.org/licenses/by-nc/3.0/us/)" \
-artist="[your name]" -Copyright="© [your name] ; \
Licence: Creative Commons cc-by-nc 3.0 United States \
(http://creativecommons.org/licenses/by-nc/3.0/us/)" \
TARGET-IMAGE.JPG
If you are using Photoshop you can go to File > File Info - This will allow you to include copyright data in the JPEG Metadata.
I am not aware of how services like Flickr, Google or Facebook handle metadata so I cannot comment there.
I use this little script, which you can easily adapt. It need Python2.6 (does not work with Python3 because FWIK the pyexiv2 library has not a Python3 version). This come pre-installed with practically all linux distributions; you may need to add the package python-pyexiv2 in some of them. No idea on how to install on windows.
#! /usr/bin/python
# -*- coding: utf-8 -*-
#
import sys
import pyexiv2
#
fimage = sys.argv[1]
metadata = pyexiv2.ImageMetadata(fimage)
metadata.read()
my_name = "Romano Giannetti"
my_email = "romano.giannetti@gmail.com"
copyr = "(c) " + my_name + " <" + my_email + ">" + ", All Rights Reserved"
#
# set exif:
#
exif_a="Exif.Image.Artist"
exif_r="Exif.Image.Copyright"
metadata[exif_a]=pyexiv2.ExifTag(exif_a, my_name)
metadata[exif_r]=pyexiv2.ExifTag(exif_r, copyr)
#
# set XMP
#
key_auth="Xmp.dc.creator"
key_rights="Xmp.dc.rights"
metadata[key_auth]=pyexiv2.XmpTag(key_auth, (my_name, my_email))
metadata[key_rights]=pyexiv2.XmpTag(key_rights, copyr)
#
metadata.write()
I think is more or less self-explicative: if you need to change/add Xmp tags, you simply do
keytag_name="Xmp.tag.name"
metadata[keytag_name]=pyexiv2.XmpTag(keytag_name, "this is the tag content")