Bug 277370

Summary: Unclear licensing for profiles/prophoto.icm and profiles/srgb-d65.icm
Product: [Applications] digikam Reporter: Philip Muškovac <yofel>
Component: Plugin-DImg-RAWAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: caulier.gilles, jr, ku.b, vivo75+kde, yofel
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 2.6.0
Sentry Crash Report:
Attachments: elenco_icc.txt

Description Philip Muškovac 2011-07-08 15:41:37 UTC
Version:           unspecified (using Devel) 
OS:                Linux

While uploading libkdcraw-4.6.90 to the kubuntu archive it was discovered that the licensing for the ICM profiles is unclear. Grepping through the files you find:

profiles/prophoto.icm
Copyright (C) 1999-2005 Scarse Project

profiles/srgb-d65.icm
Copyright (c) 1998 Hewlett-Packard Company

The first one seems to be from the Editor it was created with but for the second one it's origin is unclear.

Under what license are the profiles shipped in libkdcraw?

Reproducible: Didn't try

Steps to Reproduce:
-


Expected Results:  
-
Comment 1 Philip Muškovac 2011-07-08 15:42:24 UTC
CC-ing Gilles Caulier since he added the files to svn.
Comment 2 caulier.gilles 2011-07-08 17:35:53 UTC
File come from krita, duplicated from old svn KDE repository.

Gilles Caulier
Comment 3 Marcel Wiesweg 2011-07-11 16:21:40 UTC
Scarse project is a free software project, inactive since 2005. A library with profiles is offered. There is no license explicitly mentioned: http://www.scarse.org/

Regarding the second, the sRGB was originally suggested by HP and MS in 1996, so it may be an original profile. You can still download sRGB profiles today for free redistribution from color.org, but they are not identical.
Comment 4 Jonathan Riddell 2011-07-12 15:32:14 UTC
srgb-d65.icm comes from Windows, there's nothing to suggest it's under a free licence so it needs to be removed.

I recommend added the README file from Krita to clarify the rest

"The icm profile files have been downloaded from the littlecms
(http://www.littlecms.com) and from the Scarse website
(http://www.scarse.org). The Scarse profiles have been available under
the GPL; the littlecms profiles appear to be public domain.
"
Comment 5 Marcel Wiesweg 2011-07-12 18:38:59 UTC
Are the color.org Terms of Use acceptable?

To anyone who acknowledges that the files "sRGB_IEC61966-2-1_no_black_scaling.icc" and "sRGB_IEC61966-2-1_black scaled.icc" are provided "AS IS" WITH NO EXPRESS OR IMPLIED WARRANTY, permission to use, copy and distribute these file for any purpose is hereby granted without fee, provided that the files are not changed including the ICC copyright notice tag, and that the name of ICC shall not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. ICC makes no representations about the suitability of this software for any purpose.
Comment 6 caulier.gilles 2011-12-15 12:32:48 UTC
Jonathan,

Do you see comment #5 from Marcel ?

Gilles Caulier
Comment 7 Jonathan Riddell 2011-12-15 16:08:06 UTC
"provided that the files are not changed" this isn't acceptable within free software and will cause problems for many of our downstream distributions.  So I'm afraid the file needs to be removed.  Maybe adding an internet fetch method as an alternative.
Comment 8 Kai-Uwe Behrmann 2012-03-21 08:42:27 UTC
I had to remove many of the Scarse profiles from Krita due to colorimetry bugs.

OpenICC has a set of profiles for many purposes. A wide gamut profiles in this collection
are LStar-RGB, which is similar to  ECIv2-RGB but licensed like all others under libpng/zlib.
compatibleWithAdobeRGB1998.icc is a replacement for AdobeRGB. AdobeRGB is not freely distributable.

More infos on the OpenICC wiki:
http://www.freedesktop.org/wiki/OpenIcc#Profiles_for_standard_print_condition_and_their_licenses
http://www.freedesktop.org/wiki/OpenIcc/ProfilePackages
Source Package:
http://sourceforge.net/projects/openicc/files/

As these ICC profiles are required by Oyranos, they are already packaged by many distributions. Debian has them as well in the icc-profiles package.

A real replacement for ProPhotoRGB is not easy. ProPhotoRGB uses a gamma of 1.8, which is not so good for gamma 2.2 and sRGB systems. A replacement needs some discussion on OpenICC.
Comment 9 caulier.gilles 2012-03-21 08:51:51 UTC
Thanks Kai for your feedback.

Francesco, perhaps you can take a look this recommendation from comment #8 to replace files with redistributable version, as you use CM on your computer ?

Thanks in advance

Gilles Caulier
Comment 10 Francesco Riosa 2012-03-21 13:36:05 UTC
Created attachment 69786 [details]
elenco_icc.txt

tl;dr My suggestion is keep out of that mess, keep a short list of know good profiles for sRGB, AdobeRGB, Wide Gamut and ProPhoto, possibly one CMYK coated to simulate printer.
The profiles can be absent from the system and digikam should survive.

More random toughts below:
boh ... IANAL, licensing in the color managment world is a so harsh matter I'm glad others are taking care of.
Namely others are OpenIcc, colord and argyll members/mantainers.
Attached there is a list of all profiles installed on my system (generated with #1) which include the two bigger provider of free profiles at the moment:
media-gfx/shared-color-profiles => https://github.com/hughsie/shared-color-profiles
media-libs/icc-profiles-openicc  => http://www.freedesktop.org/wiki/OpenIcc/ProfilePackages
We can be pretty confident those packages will be present on every distro I hope.

#1  to use on your system replace `qfile` with a command that link file->pkg

PKGNAME='UnPackaged (added manually)'
find /usr/share/color/ ~/.local/share/color/icc/ -type f -iname "*.icc" -or -iname '*.icm' \
| while IFS= read -r icc
do
  PKGNAME2=$(qfile -C "${icc}")
  PKGNAME2=${PKGNAME2%% *}
  if [[ ${PKGNAME} != ${PKGNAME2} ]]
  then
    PKGNAME="${PKGNAME2}"
    [[ -z $PKGNAME ]] && PKGNAME='UnPackaged (added manually)'
    echo ; echo " ====== ${PKGNAME} ====== " ; echo
  fi
  echo " -- ${icc##*/} -- "
  argyll-iccdump "${icc}" | grep -i -e Creator -e Device\ Class -e Copyright
done > ~/elenco_icc.txt
Comment 11 Francesco Riosa 2012-03-21 14:12:21 UTC
Also, rawstudio decided to a different route, and blogged about it ;)
http://rawstudio.org/blog/?p=236
it's an interesting read.

ls /usr/share/rawstudio/profiles/*.dcp  | wc -l
303
^- this is the number of camera profiles it has, plus it keep a bunch of basic icc profiles and notably generic_camera_profile.icc
Comment 12 Kai-Uwe Behrmann 2012-03-21 15:56:49 UTC
shared-color-profiles is a collection of fakes and uncertain sources. Better avoid them altogether.
Comment 13 Francesco Riosa 2012-03-21 19:05:36 UTC
(In reply to comment #12)
> shared-color-profiles is a collection of fakes and uncertain sources. Better
> avoid them altogether.

wonderful, it's a pity because there is also a proPhoto profile in there.

by the way how do we check the quality of a profile? How can we visualize/quantify the differences in curves, clut, gamut, gamma, whatever?
Comment 14 Kai-Uwe Behrmann 2012-03-21 19:25:39 UTC
(In reply to comment #13)
> by the way how do we check the quality of a profile? How can we
> visualize/quantify the differences in curves, clut, gamut, gamma, whatever?

My graphical comparison attempt is elaborated here:
http://www.oyranos.org/2011/11/quality-of-default-icc-profiles/
One can as well compare numerically. Argyll and lcms have some tools to 
convert single values or CGATS files, which helps with that.

ICC profile insights can be examined on the command line with Argyll's iccdump and 
SampleICC's iccDumpProfile. Look visually at profiles with ICC Examin:
http://www.oyranos.org/icc-examin/
Comment 15 caulier.gilles 2012-03-21 19:36:31 UTC
Francesco,

ICC file included and distributed by libkdcraw are hardcoded in digiKam and co source code :

[gilles@localhost 2.x]$ pwd
/mnt/data/Devel/GIT/2.x
[gilles@localhost 2.x]$ ls
bootstrap.macports*  bootstrap.msvc.bat  CMakeLists.txt         COPYING.LIB      extra/    README
bootstrap.mageia*    bootstrap.ubuntu    COPYING                core/            gits*
bootstrap.mandriva*  build/              COPYING-CMAKE-SCRIPTS  doc/             NEWS
bootstrap.mingw.bat  cmake/              COPYING.DOC            download-repos*  project/
[gilles@localhost 2.x]$ grep -r "adobergb" * | grep cpp
core/libs/dimg/filters/icc/iccprofile.cpp:        path = KStandardDirs::locate("data", "libkdcraw/profiles/adobergb.icm");
extra/kipi-plugins/common/libkipiplugins/tools/imageio/kpwriteimage.cpp:            filePath.append("adobergb.icm");

If you change these files, you need to patch source code accordingly.

Gilles Caulier
Comment 16 Francesco Riosa 2012-03-21 21:58:23 UTC
ok, so we are shipping exactly the proPhoto profile which is shipped in shared-color-profiles, only the comments are changed (i.e. same output of argyll-iccgamut).
There are also more than few differences to Kodak ProPhoto RGB.

I've found an archive of profiles here: http://sites.google.com/site/chromasoft/icmprofiles
they are good quality IMHO (better than current ones) and the whole site is under the "Creative Commons Attribution-Share Alike 3.0 United States License".

the profiles have the the following "Copyright (c) 2008, Sandy McGuffog. Some rights reserved.", maybe we can ask to  Mr Sandy McGuffog rights to distribute his profiles.

I've not yet found an sRGB D65 but that should be the easy part right?

toughts?
Comment 17 Kai-Uwe Behrmann 2012-03-22 05:03:35 UTC
(In reply to comment #16)
> I've not yet found an sRGB D65 but that should be the easy part right?
> 
> toughts?

sRGB.icc is included inside icc-profiles-openicc. sRGB is per definition D65.
Comment 18 Kai-Uwe Behrmann 2012-03-22 05:17:26 UTC
(In reply to comment #16)
> I've found an archive of profiles here:
> http://sites.google.com/site/chromasoft/icmprofiles
> they are good quality IMHO (better than current ones) and the whole site is
> under the "Creative Commons Attribution-Share Alike 3.0 United States
> License".
> 
> the profiles have the the following "Copyright (c) 2008, Sandy McGuffog.
> Some rights reserved.", maybe we can ask to  Mr Sandy McGuffog rights to
> distribute his profiles.

If you ask him, please point to the new ICC license v2:
http://www.color.org/registry/profileregistration.xalter
It was changed to become freely distributable.
Comment 19 Kai-Uwe Behrmann 2012-03-25 16:47:33 UTC
The icc-profiles-openicc-1.3.1.tar.bz2 package contains a ProPhoto-RGB.icc profile, which was created and checked by OpenICC.

Here are the links:
http://www.oyranos.org/openicc-profiles/
Comment 20 Francesco Riosa 2012-03-25 18:20:13 UTC
Git commit af02e78a1220bd218862f1b66aefd9f895ace0b3 by Francesco Riosa.
Committed on 25/03/2012 at 20:09.
Pushed by riosa into branch 'master'.

Use of OpenICC-Profiles

srgb-d65.icm : licensed "zlib" as per upstream COPYING
prophoto.icm : with embedded free license

thanks to everyone involved expecially Kai-Uwe Behrmann for actively
helping to fix this bug

M  +-    --    profiles/prophoto.icm
M  +-    --    profiles/srgb-d65.icm

http://commits.kde.org/libkdcraw/af02e78a1220bd218862f1b66aefd9f895ace0b3