All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v4] package/exiv2: cleanup options and licenses
@ 2019-06-05 13:51 Nicolas Serafini
  2019-06-05 21:45 ` Peter Seiderer
  2019-06-08 16:35 ` Arnout Vandecappelle
  0 siblings, 2 replies; 9+ messages in thread
From: Nicolas Serafini @ 2019-06-05 13:51 UTC (permalink / raw)
  To: buildroot

exiv2 no longer requires a non commercial option for lens database
integration since version 0.27. See [1] and [2]

The BR2_PACKAGE_EXIV2_LENSDATA option is maintained because the
src/nikonmn_int.cpp file always specifies that the Nikon lens name
database is free to use in non-commercial, GPL or open source software
only.

Legacy handling for the removed option COMMERCIAL is not needed, since
now it's always enabled.

Add the dedicated BSD-3-Clause license file for CMakeLists.txt,
config/FindEXPAT.cmake and config/FindMSGFMT.cmake files.

[1] https://github.com/Exiv2/exiv2/commit/07f63003b7f50dd7d8719585ba54623e0f60c3c4
[2] https://github.com/Exiv2/exiv2/commit/085d8a309aafb8ed5a72cad027a1a0ea974938d9

Signed-off-by: Nicolas Serafini <nicolas.serafini@sensefly.com>

---
Changes v3 -> v4:
  - bring back LENSDATA option with new help message (thanks to Peter and Arnout)
  - fix and update patch message

Changes v2 -> v3:
  - fix EXIV2_LICENSE spacer
  - explain why LENSTADA is removed

Changes v1 -> v2:
  - remove LENSDATA option (suggested by Arnout Vandecappelle)
  - remove commercial license in Config.in help
  - add missing BSD-3-Clause flag
  - add details to the patch message

Signed-off-by: Nicolas Serafini <nicolas.serafini@sensefly.com>
---
 package/exiv2/Config.in  | 20 +++-----------------
 package/exiv2/exiv2.hash |  1 +
 package/exiv2/exiv2.mk   | 16 +++++-----------
 3 files changed, 9 insertions(+), 28 deletions(-)

diff --git a/package/exiv2/Config.in b/package/exiv2/Config.in
index acce81c593..3e3e502751 100644
--- a/package/exiv2/Config.in
+++ b/package/exiv2/Config.in
@@ -16,24 +16,10 @@ config BR2_PACKAGE_EXIV2
 	  access to the Exif, IPTC and XMP metadata of images in
 	  various formats.
 
-	  Exiv2 is available under the GPLv2+ or under a commercial
-	  license.
-
 	  http://www.exiv2.org/
 
 if BR2_PACKAGE_EXIV2
 
-config BR2_PACKAGE_EXIV2_COMMERCIAL
-	bool "Enable commercial"
-	help
-	  Build the commercial version for closed source project.
-
-	  The Nikon lens name database and the NLS support is disabled
-	  for copyright reasons.
-
-	  A commercial license request is needed.
-	  http://www.exiv2.org/download.html#license
-
 config BR2_PACKAGE_EXIV2_PNG
 	bool "PNG image support"
 	select BR2_PACKAGE_ZLIB
@@ -48,11 +34,11 @@ config BR2_PACKAGE_EXIV2_XMP
 
 config BR2_PACKAGE_EXIV2_LENSDATA
 	bool "Nikon lens name database"
-	depends on !BR2_PACKAGE_EXIV2_COMMERCIAL
 	help
 	  Integrate Nikon lens name database.
 
-	  This database is integrated but comes from a thirdparty:
-	  http://www.rottmerhusen.com/objektives/lensid/thirdparty.html.
+	  This database comes from a thirdparty and is free to use in
+	  non-commercial, GPL or open source software only.
+	  For more informations src/nikonmn_int.cpp.
 
 endif
diff --git a/package/exiv2/exiv2.hash b/package/exiv2/exiv2.hash
index f99cb8cb87..b753c03854 100644
--- a/package/exiv2/exiv2.hash
+++ b/package/exiv2/exiv2.hash
@@ -1,3 +1,4 @@
 # Locally calculated
 sha256 1b3766b2c203ce213a4195de14d61694017ec1a69d15d4575bccecef130990fe exiv2-0.27.1.tar.gz
 sha256 a7ba75cb966aca374711e2af49e5f3aea6a4443a803440f5d93e73a5a1222f66 COPYING
+sha256 46cde7dc11e64c78d650b4851b88f6704b4665ff60f22a1caf68ceb15e217e5b COPYING-CMAKE-SCRIPTS
diff --git a/package/exiv2/exiv2.mk b/package/exiv2/exiv2.mk
index ba9d9b7303..93af9382db 100644
--- a/package/exiv2/exiv2.mk
+++ b/package/exiv2/exiv2.mk
@@ -7,6 +7,8 @@
 EXIV2_VERSION = 0.27.1
 EXIV2_SITE = $(call github,Exiv2,exiv2,$(EXIV2_VERSION))
 EXIV2_INSTALL_STAGING = YES
+EXIV2_LICENSE = GPL-2.0+, BSD-3-Clause
+EXIV2_LICENSE_FILES = COPYING COPYING-CMAKE-SCRIPTS
 
 EXIV2_CONF_OPTS += -DEXIV2_ENABLE_BUILD_SAMPLES=OFF
 
@@ -14,18 +16,10 @@ EXIV2_CONF_OPTS += -DEXIV2_ENABLE_BUILD_SAMPLES=OFF
 # test which is not allowed when cross-compiling.
 EXIV2_CONF_OPTS += -DTHREADS_PTHREAD_ARG=OFF
 
-ifeq ($(BR2_PACKAGE_EXIV2_LENSDATA),)
-EXIV2_CONF_OPTS += -DEXIV2_ENABLE_LENSDATA=OFF
-endif
-
-ifeq ($(BR2_PACKAGE_EXIV2_COMMERCIAL),y)
-EXIV2_LICENSE = commercial
-# NLS support is disabled in commercial version due to the copyright
-# of the translated texts.
-EXIV2_CONF_OPTS += -DEXIV2_ENABLE_COMMERCIAL=ON -DEXIV2_ENABLE_NLS=OFF
+ifeq ($(BR2_PACKAGE_EXIV2_LENSDATA),y)
+EXIV2_CONF_OPTS += -DEXIV2_ENABLE_LENSDATA=ON
 else
-EXIV2_LICENSE = GPL-2.0+
-EXIV2_LICENSE_FILES = COPYING
+EXIV2_CONF_OPTS += -DEXIV2_ENABLE_LENSDATA=OFF
 endif
 
 ifeq ($(BR2_PACKAGE_EXIV2_PNG),y)
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v4] package/exiv2: cleanup options and licenses
  2019-06-05 13:51 [Buildroot] [PATCH v4] package/exiv2: cleanup options and licenses Nicolas Serafini
@ 2019-06-05 21:45 ` Peter Seiderer
  2019-06-06 13:02   ` Arnout Vandecappelle
  2019-06-08 16:35 ` Arnout Vandecappelle
  1 sibling, 1 reply; 9+ messages in thread
From: Peter Seiderer @ 2019-06-05 21:45 UTC (permalink / raw)
  To: buildroot

Hello Nicolas, Arnout,

On Wed, 5 Jun 2019 13:51:06 +0000, Nicolas Serafini <nicolas.serafini@sensefly.com> wrote:

> exiv2 no longer requires a non commercial option for lens database
> integration since version 0.27. See [1] and [2]
>
> The BR2_PACKAGE_EXIV2_LENSDATA option is maintained because the
> src/nikonmn_int.cpp file always specifies that the Nikon lens name
> database is free to use in non-commercial, GPL or open source software
> only.
>
> Legacy handling for the removed option COMMERCIAL is not needed, since
> now it's always enabled.

NAK - users which own a commercial license (maybe for an old release
of exiv2) may be very surprised if they link, after an buildroot update,
against GPL library (which means there own software must published under
GPL), instead of linking private/commercial software against a library
the bought a commercial license for...

Commercial license for exiv2 is something complete different than
an commercial license for the lens data (and the logic is
commercial exiv2 excludes the lens data availability (GPL-only (or
maybe separate commercial license for the lens data, but no one
knows where to get it))...

So please add an Config.in.legacy entry mentioning the commercial
license for exiv2 is gone...

>
> Add the dedicated BSD-3-Clause license file for CMakeLists.txt,
> config/FindEXPAT.cmake and config/FindMSGFMT.cmake files.
>
> [1] https://github.com/Exiv2/exiv2/commit/07f63003b7f50dd7d8719585ba54623e0f60c3c4
> [2] https://github.com/Exiv2/exiv2/commit/085d8a309aafb8ed5a72cad027a1a0ea974938d9
>
> Signed-off-by: Nicolas Serafini <nicolas.serafini@sensefly.com>
>
> ---
> Changes v3 -> v4:
>   - bring back LENSDATA option with new help message (thanks to Peter and Arnout)
>   - fix and update patch message
>
> Changes v2 -> v3:
>   - fix EXIV2_LICENSE spacer
>   - explain why LENSTADA is removed
>
> Changes v1 -> v2:
>   - remove LENSDATA option (suggested by Arnout Vandecappelle)
>   - remove commercial license in Config.in help
>   - add missing BSD-3-Clause flag
>   - add details to the patch message
>
> Signed-off-by: Nicolas Serafini <nicolas.serafini@sensefly.com>
> ---
>  package/exiv2/Config.in  | 20 +++-----------------
>  package/exiv2/exiv2.hash |  1 +
>  package/exiv2/exiv2.mk   | 16 +++++-----------
>  3 files changed, 9 insertions(+), 28 deletions(-)
>
> diff --git a/package/exiv2/Config.in b/package/exiv2/Config.in
> index acce81c593..3e3e502751 100644
> --- a/package/exiv2/Config.in
> +++ b/package/exiv2/Config.in
> @@ -16,24 +16,10 @@ config BR2_PACKAGE_EXIV2
>  	  access to the Exif, IPTC and XMP metadata of images in
>  	  various formats.
>
> -	  Exiv2 is available under the GPLv2+ or under a commercial
> -	  license.
> -
>  	  http://www.exiv2.org/
>
>  if BR2_PACKAGE_EXIV2
>
> -config BR2_PACKAGE_EXIV2_COMMERCIAL
> -	bool "Enable commercial"
> -	help
> -	  Build the commercial version for closed source project.
> -
> -	  The Nikon lens name database and the NLS support is disabled
> -	  for copyright reasons.
> -
> -	  A commercial license request is needed.
> -	  http://www.exiv2.org/download.html#license
> -
>  config BR2_PACKAGE_EXIV2_PNG
>  	bool "PNG image support"
>  	select BR2_PACKAGE_ZLIB
> @@ -48,11 +34,11 @@ config BR2_PACKAGE_EXIV2_XMP
>
>  config BR2_PACKAGE_EXIV2_LENSDATA
>  	bool "Nikon lens name database"
> -	depends on !BR2_PACKAGE_EXIV2_COMMERCIAL
>  	help
>  	  Integrate Nikon lens name database.
>
> -	  This database is integrated but comes from a thirdparty:
> -	  http://www.rottmerhusen.com/objektives/lensid/thirdparty.html.
> +	  This database comes from a thirdparty and is free to use in
> +	  non-commercial, GPL or open source software only.
> +	  For more informations src/nikonmn_int.cpp.

....For more information see src/nikonmn_int.cpp.

Regards,
Peter

>
>  endif
> diff --git a/package/exiv2/exiv2.hash b/package/exiv2/exiv2.hash
> index f99cb8cb87..b753c03854 100644
> --- a/package/exiv2/exiv2.hash
> +++ b/package/exiv2/exiv2.hash
> @@ -1,3 +1,4 @@
>  # Locally calculated
>  sha256 1b3766b2c203ce213a4195de14d61694017ec1a69d15d4575bccecef130990fe exiv2-0.27.1.tar.gz
>  sha256 a7ba75cb966aca374711e2af49e5f3aea6a4443a803440f5d93e73a5a1222f66 COPYING
> +sha256 46cde7dc11e64c78d650b4851b88f6704b4665ff60f22a1caf68ceb15e217e5b COPYING-CMAKE-SCRIPTS
> diff --git a/package/exiv2/exiv2.mk b/package/exiv2/exiv2.mk
> index ba9d9b7303..93af9382db 100644
> --- a/package/exiv2/exiv2.mk
> +++ b/package/exiv2/exiv2.mk
> @@ -7,6 +7,8 @@
>  EXIV2_VERSION = 0.27.1
>  EXIV2_SITE = $(call github,Exiv2,exiv2,$(EXIV2_VERSION))
>  EXIV2_INSTALL_STAGING = YES
> +EXIV2_LICENSE = GPL-2.0+, BSD-3-Clause
> +EXIV2_LICENSE_FILES = COPYING COPYING-CMAKE-SCRIPTS
>
>  EXIV2_CONF_OPTS += -DEXIV2_ENABLE_BUILD_SAMPLES=OFF
>
> @@ -14,18 +16,10 @@ EXIV2_CONF_OPTS += -DEXIV2_ENABLE_BUILD_SAMPLES=OFF
>  # test which is not allowed when cross-compiling.
>  EXIV2_CONF_OPTS += -DTHREADS_PTHREAD_ARG=OFF
>
> -ifeq ($(BR2_PACKAGE_EXIV2_LENSDATA),)
> -EXIV2_CONF_OPTS += -DEXIV2_ENABLE_LENSDATA=OFF
> -endif
> -
> -ifeq ($(BR2_PACKAGE_EXIV2_COMMERCIAL),y)
> -EXIV2_LICENSE = commercial
> -# NLS support is disabled in commercial version due to the copyright
> -# of the translated texts.
> -EXIV2_CONF_OPTS += -DEXIV2_ENABLE_COMMERCIAL=ON -DEXIV2_ENABLE_NLS=OFF
> +ifeq ($(BR2_PACKAGE_EXIV2_LENSDATA),y)
> +EXIV2_CONF_OPTS += -DEXIV2_ENABLE_LENSDATA=ON
>  else
> -EXIV2_LICENSE = GPL-2.0+
> -EXIV2_LICENSE_FILES = COPYING
> +EXIV2_CONF_OPTS += -DEXIV2_ENABLE_LENSDATA=OFF
>  endif
>
>  ifeq ($(BR2_PACKAGE_EXIV2_PNG),y)

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v4] package/exiv2: cleanup options and licenses
  2019-06-05 21:45 ` Peter Seiderer
@ 2019-06-06 13:02   ` Arnout Vandecappelle
  2019-06-06 15:15     ` Yann E. MORIN
  2019-06-06 15:21     ` Nicolas Serafini
  0 siblings, 2 replies; 9+ messages in thread
From: Arnout Vandecappelle @ 2019-06-06 13:02 UTC (permalink / raw)
  To: buildroot



On 05/06/2019 23:45, Peter Seiderer wrote:
> Hello Nicolas, Arnout,
> 
> On Wed, 5 Jun 2019 13:51:06 +0000, Nicolas Serafini <nicolas.serafini@sensefly.com> wrote:
> 
>> exiv2 no longer requires a non commercial option for lens database
>> integration since version 0.27. See [1] and [2]
>>
>> The BR2_PACKAGE_EXIV2_LENSDATA option is maintained because the
>> src/nikonmn_int.cpp file always specifies that the Nikon lens name
>> database is free to use in non-commercial, GPL or open source software
>> only.
>>
>> Legacy handling for the removed option COMMERCIAL is not needed, since
>> now it's always enabled.
> 
> NAK - users which own a commercial license (maybe for an old release
> of exiv2) may be very surprised if they link, after an buildroot update,
> against GPL library (which means there own software must published under
> GPL), instead of linking private/commercial software against a library
> the bought a commercial license for...
> 
> Commercial license for exiv2 is something complete different than
> an commercial license for the lens data (and the logic is
> commercial exiv2 excludes the lens data availability (GPL-only (or
> maybe separate commercial license for the lens data, but no one
> knows where to get it))...
> 
> So please add an Config.in.legacy entry mentioning the commercial
> license for exiv2 is gone...

 Okay, apparently I misunderstood again... I didn't realize the commercial
license was actually gone, I thought it was just the CMake option.

 This commercial license stuff is anyway tricky... In principle, it only applies
to the particular version to which it applies - which may even be different
source code than the one we use. So a simple version bump essentially has the
same effect as we have here now. In other words, according to the reasoning
above, every version bump should entail a legacy entry.

 See also commits ce79e0b23063 and 8569e78.

 The only reasonable, reliable way to use a package that you get under a
different license, is to create a separate package for it.


 That said, it doesn't really hurt to have a legacy entry, so let's add it after
all.

 Nicolas, if you grow tired of all this back-and-forth (which I completely
understand :-): we can do this legacy entry while applying.


 Regards,
 Arnout


> 
>>
>> Add the dedicated BSD-3-Clause license file for CMakeLists.txt,
>> config/FindEXPAT.cmake and config/FindMSGFMT.cmake files.
>>
>> [1] https://github.com/Exiv2/exiv2/commit/07f63003b7f50dd7d8719585ba54623e0f60c3c4
>> [2] https://github.com/Exiv2/exiv2/commit/085d8a309aafb8ed5a72cad027a1a0ea974938d9
>>
>> Signed-off-by: Nicolas Serafini <nicolas.serafini@sensefly.com>
>>
>> ---
>> Changes v3 -> v4:
>>   - bring back LENSDATA option with new help message (thanks to Peter and Arnout)
>>   - fix and update patch message
>>
>> Changes v2 -> v3:
>>   - fix EXIV2_LICENSE spacer
>>   - explain why LENSTADA is removed
>>
>> Changes v1 -> v2:
>>   - remove LENSDATA option (suggested by Arnout Vandecappelle)
>>   - remove commercial license in Config.in help
>>   - add missing BSD-3-Clause flag
>>   - add details to the patch message
>>
>> Signed-off-by: Nicolas Serafini <nicolas.serafini@sensefly.com>
>> ---
>>  package/exiv2/Config.in  | 20 +++-----------------
>>  package/exiv2/exiv2.hash |  1 +
>>  package/exiv2/exiv2.mk   | 16 +++++-----------
>>  3 files changed, 9 insertions(+), 28 deletions(-)
>>
>> diff --git a/package/exiv2/Config.in b/package/exiv2/Config.in
>> index acce81c593..3e3e502751 100644
>> --- a/package/exiv2/Config.in
>> +++ b/package/exiv2/Config.in
>> @@ -16,24 +16,10 @@ config BR2_PACKAGE_EXIV2
>>  	  access to the Exif, IPTC and XMP metadata of images in
>>  	  various formats.
>>
>> -	  Exiv2 is available under the GPLv2+ or under a commercial
>> -	  license.
>> -
>>  	  http://www.exiv2.org/
>>
>>  if BR2_PACKAGE_EXIV2
>>
>> -config BR2_PACKAGE_EXIV2_COMMERCIAL
>> -	bool "Enable commercial"
>> -	help
>> -	  Build the commercial version for closed source project.
>> -
>> -	  The Nikon lens name database and the NLS support is disabled
>> -	  for copyright reasons.
>> -
>> -	  A commercial license request is needed.
>> -	  http://www.exiv2.org/download.html#license
>> -
>>  config BR2_PACKAGE_EXIV2_PNG
>>  	bool "PNG image support"
>>  	select BR2_PACKAGE_ZLIB
>> @@ -48,11 +34,11 @@ config BR2_PACKAGE_EXIV2_XMP
>>
>>  config BR2_PACKAGE_EXIV2_LENSDATA
>>  	bool "Nikon lens name database"
>> -	depends on !BR2_PACKAGE_EXIV2_COMMERCIAL
>>  	help
>>  	  Integrate Nikon lens name database.
>>
>> -	  This database is integrated but comes from a thirdparty:
>> -	  http://www.rottmerhusen.com/objektives/lensid/thirdparty.html.
>> +	  This database comes from a thirdparty and is free to use in
>> +	  non-commercial, GPL or open source software only.
>> +	  For more informations src/nikonmn_int.cpp.
> 
> ....For more information see src/nikonmn_int.cpp.
> 
> Regards,
> Peter
> 
>>
>>  endif
>> diff --git a/package/exiv2/exiv2.hash b/package/exiv2/exiv2.hash
>> index f99cb8cb87..b753c03854 100644
>> --- a/package/exiv2/exiv2.hash
>> +++ b/package/exiv2/exiv2.hash
>> @@ -1,3 +1,4 @@
>>  # Locally calculated
>>  sha256 1b3766b2c203ce213a4195de14d61694017ec1a69d15d4575bccecef130990fe exiv2-0.27.1.tar.gz
>>  sha256 a7ba75cb966aca374711e2af49e5f3aea6a4443a803440f5d93e73a5a1222f66 COPYING
>> +sha256 46cde7dc11e64c78d650b4851b88f6704b4665ff60f22a1caf68ceb15e217e5b COPYING-CMAKE-SCRIPTS
>> diff --git a/package/exiv2/exiv2.mk b/package/exiv2/exiv2.mk
>> index ba9d9b7303..93af9382db 100644
>> --- a/package/exiv2/exiv2.mk
>> +++ b/package/exiv2/exiv2.mk
>> @@ -7,6 +7,8 @@
>>  EXIV2_VERSION = 0.27.1
>>  EXIV2_SITE = $(call github,Exiv2,exiv2,$(EXIV2_VERSION))
>>  EXIV2_INSTALL_STAGING = YES
>> +EXIV2_LICENSE = GPL-2.0+, BSD-3-Clause
>> +EXIV2_LICENSE_FILES = COPYING COPYING-CMAKE-SCRIPTS
>>
>>  EXIV2_CONF_OPTS += -DEXIV2_ENABLE_BUILD_SAMPLES=OFF
>>
>> @@ -14,18 +16,10 @@ EXIV2_CONF_OPTS += -DEXIV2_ENABLE_BUILD_SAMPLES=OFF
>>  # test which is not allowed when cross-compiling.
>>  EXIV2_CONF_OPTS += -DTHREADS_PTHREAD_ARG=OFF
>>
>> -ifeq ($(BR2_PACKAGE_EXIV2_LENSDATA),)
>> -EXIV2_CONF_OPTS += -DEXIV2_ENABLE_LENSDATA=OFF
>> -endif
>> -
>> -ifeq ($(BR2_PACKAGE_EXIV2_COMMERCIAL),y)
>> -EXIV2_LICENSE = commercial
>> -# NLS support is disabled in commercial version due to the copyright
>> -# of the translated texts.
>> -EXIV2_CONF_OPTS += -DEXIV2_ENABLE_COMMERCIAL=ON -DEXIV2_ENABLE_NLS=OFF
>> +ifeq ($(BR2_PACKAGE_EXIV2_LENSDATA),y)
>> +EXIV2_CONF_OPTS += -DEXIV2_ENABLE_LENSDATA=ON
>>  else
>> -EXIV2_LICENSE = GPL-2.0+
>> -EXIV2_LICENSE_FILES = COPYING
>> +EXIV2_CONF_OPTS += -DEXIV2_ENABLE_LENSDATA=OFF
>>  endif
>>
>>  ifeq ($(BR2_PACKAGE_EXIV2_PNG),y)
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v4] package/exiv2: cleanup options and licenses
  2019-06-06 13:02   ` Arnout Vandecappelle
@ 2019-06-06 15:15     ` Yann E. MORIN
  2019-06-06 17:45       ` Yann E. MORIN
  2019-06-06 18:48       ` Arnout Vandecappelle
  2019-06-06 15:21     ` Nicolas Serafini
  1 sibling, 2 replies; 9+ messages in thread
From: Yann E. MORIN @ 2019-06-06 15:15 UTC (permalink / raw)
  To: buildroot

Arnout, Peter, All,

On 2019-06-06 15:02 +0200, Arnout Vandecappelle spake thusly:
> On 05/06/2019 23:45, Peter Seiderer wrote:
> > On Wed, 5 Jun 2019 13:51:06 +0000, Nicolas Serafini <nicolas.serafini@sensefly.com> wrote:
> >> exiv2 no longer requires a non commercial option for lens database
> >> integration since version 0.27. See [1] and [2]
> >>
> >> The BR2_PACKAGE_EXIV2_LENSDATA option is maintained because the
> >> src/nikonmn_int.cpp file always specifies that the Nikon lens name
> >> database is free to use in non-commercial, GPL or open source software
> >> only.
> >>
> >> Legacy handling for the removed option COMMERCIAL is not needed, since
> >> now it's always enabled.
> > 
> > NAK - users which own a commercial license (maybe for an old release
> > of exiv2) may be very surprised if they link, after an buildroot update,
> > against GPL library (which means there own software must published under
> > GPL), instead of linking private/commercial software against a library
> > the bought a commercial license for...
> > 
> > Commercial license for exiv2 is something complete different than
> > an commercial license for the lens data (and the logic is
> > commercial exiv2 excludes the lens data availability (GPL-only (or
> > maybe separate commercial license for the lens data, but no one
> > knows where to get it))...
> > 
> > So please add an Config.in.legacy entry mentioning the commercial
> > license for exiv2 is gone...

No. We have no way to know what package which people may acquire what
license for. A lot of other packages are available under alternate
licenses (free or not, that's beyond the point). We can only act on the
known, public licenses.

Actualy, I think that the existing BR2_PACKAGE_EXIV2_COMMERCIAL license
should have never been added to begin with. Instead, we should have done
something like:

    package/exiv2/exiv2.mk:

    ifeq ($(BR2_PACKAGE_EXIV2_LENSDATA),y)
    EXIV2_LICENSE := $(EXIV2_LICENSE), Proprietary/Unknown (Nikon lens database)
    endif

Besides, if people are that much concerned (and rightfully so) about the
licensing of the packages they cary on their device, they do have the
legal-info manifest we generate:

    $ make legal-info
    $ libreoffice output/legal-info/manisfest.cvs

Or programtaically extract the licenses from the new show-info:

    $ make show-info |jq '.[].licenses'
    $ make show-info |jq '.["exiv2"].licenses'

So I stand with Peter K. on this one: we do _not_ need a legacy entry.

>  Okay, apparently I misunderstood again... I didn't realize the commercial
> license was actually gone, I thought it was just the CMake option.
> 
>  This commercial license stuff is anyway tricky... In principle, it only applies
> to the particular version to which it applies - which may even be different
> source code than the one we use. So a simple version bump essentially has the
> same effect as we have here now. In other words, according to the reasoning
> above, every version bump should entail a legacy entry.
> 
>  See also commits ce79e0b23063 and 8569e78.
> 
>  The only reasonable, reliable way to use a package that you get under a
> different license, is to create a separate package for it.

This is not nice when the package has a lot of reverse dependencies.

So, either:
  - cary local patches to Buildroot that change the licensing terms for
    your packages of interest, or
  - tweak the output of legal-info or show-info appropriately.

>  That said, it doesn't really hurt to have a legacy entry, so let's add it after
> all.

We did not add such a legacy entry for the Qt5 license drop, there is no
reason to add one here either.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v4] package/exiv2: cleanup options and licenses
  2019-06-06 13:02   ` Arnout Vandecappelle
  2019-06-06 15:15     ` Yann E. MORIN
@ 2019-06-06 15:21     ` Nicolas Serafini
  1 sibling, 0 replies; 9+ messages in thread
From: Nicolas Serafini @ 2019-06-06 15:21 UTC (permalink / raw)
  To: buildroot

Hello Arnout, Peter,

On Thu, 6 Jun 2019 15:02:13 +0200 Arnout Vandecappelle <arnout@mind.be> wrote:

>
>
>On 05/06/2019 23:45, Peter Seiderer wrote:
>> Hello Nicolas, Arnout,
>> 
>> On Wed, 5 Jun 2019 13:51:06 +0000, Nicolas Serafini
>> <nicolas.serafini@sensefly.com> wrote:
>> 
>>> exiv2 no longer requires a non commercial option for lens database
>>> integration since version 0.27. See [1] and [2]
>>>
>>> The BR2_PACKAGE_EXIV2_LENSDATA option is maintained because the
>>> src/nikonmn_int.cpp file always specifies that the Nikon lens name
>>> database is free to use in non-commercial, GPL or open source
>>> software only.
>>>
>>> Legacy handling for the removed option COMMERCIAL is not needed,
>>> since now it's always enabled.
>> 
>> NAK - users which own a commercial license (maybe for an old release
>> of exiv2) may be very surprised if they link, after an buildroot
>> update, against GPL library (which means there own software must
>> published under GPL), instead of linking private/commercial software
>> against a library the bought a commercial license for...
>> 
>> Commercial license for exiv2 is something complete different than
>> an commercial license for the lens data (and the logic is
>> commercial exiv2 excludes the lens data availability (GPL-only (or
>> maybe separate commercial license for the lens data, but no one
>> knows where to get it))...
>> 
>> So please add an Config.in.legacy entry mentioning the commercial
>> license for exiv2 is gone...
>
> Okay, apparently I misunderstood again... I didn't realize the
> commercial
>license was actually gone, I thought it was just the CMake option.
>
> This commercial license stuff is anyway tricky... In principle, it
> only applies
>to the particular version to which it applies - which may even be
>different source code than the one we use. So a simple version bump
>essentially has the same effect as we have here now. In other words,
>according to the reasoning above, every version bump should entail a
>legacy entry.
>
> See also commits ce79e0b23063 and 8569e78.
>
> The only reasonable, reliable way to use a package that you get under
> a
>different license, is to create a separate package for it.
>
>
> That said, it doesn't really hurt to have a legacy entry, so let's
> add it after
>all.
>
> Nicolas, if you grow tired of all this back-and-forth (which I
> completely
>understand :-): we can do this legacy entry while applying.

No problem that's why we make reviews. :-)

I'm traveling the next few days so I'm very happy that I let you
take care of the legacy entry so we can finalize this patch.

Thank you for your help 

Regards,
Nicolas

>
>
> Regards,
> Arnout
>
>
>> 
>>>
>>> Add the dedicated BSD-3-Clause license file for CMakeLists.txt,
>>> config/FindEXPAT.cmake and config/FindMSGFMT.cmake files.
>>>
>>> [1]
>>> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FExiv2%2Fexiv2%2Fcommit%2F07f63003b7f50dd7d8719585ba54623e0f60c3c4&amp;data=02%7C01%7Cnicolas.serafini%40sensefly.com%7Cbfbd1264187d4807f40308d6ea7f3acc%7Cff7d991b392248038418ab806a3414a6%7C1%7C0%7C636954229503429875&amp;sdata=oyl3AbmtEtLAk%2B7Xh1I02pxSnTZ5UktPRTHXm%2FyA%2BdY%3D&amp;reserved=0
>>> [2]
>>> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FExiv2%2Fexiv2%2Fcommit%2F085d8a309aafb8ed5a72cad027a1a0ea974938d9&amp;data=02%7C01%7Cnicolas.serafini%40sensefly.com%7Cbfbd1264187d4807f40308d6ea7f3acc%7Cff7d991b392248038418ab806a3414a6%7C1%7C0%7C636954229503439870&amp;sdata=AuoO9KgWyU8w2VwpbgHurigkjhcD05e54mvKP7EdMg4%3D&amp;reserved=0
>>>
>>> Signed-off-by: Nicolas Serafini <nicolas.serafini@sensefly.com>
>>>
>>> ---
>>> Changes v3 -> v4:
>>>   - bring back LENSDATA option with new help message (thanks to
>>> Peter and Arnout)
>>>   - fix and update patch message
>>>
>>> Changes v2 -> v3:
>>>   - fix EXIV2_LICENSE spacer
>>>   - explain why LENSTADA is removed
>>>
>>> Changes v1 -> v2:
>>>   - remove LENSDATA option (suggested by Arnout Vandecappelle)
>>>   - remove commercial license in Config.in help
>>>   - add missing BSD-3-Clause flag
>>>   - add details to the patch message
>>>
>>> Signed-off-by: Nicolas Serafini <nicolas.serafini@sensefly.com>
>>> ---
>>>  package/exiv2/Config.in  | 20 +++-----------------
>>>  package/exiv2/exiv2.hash |  1 +
>>>  package/exiv2/exiv2.mk   | 16 +++++-----------
>>>  3 files changed, 9 insertions(+), 28 deletions(-)
>>>
>>> diff --git a/package/exiv2/Config.in b/package/exiv2/Config.in
>>> index acce81c593..3e3e502751 100644
>>> --- a/package/exiv2/Config.in
>>> +++ b/package/exiv2/Config.in
>>> @@ -16,24 +16,10 @@ config BR2_PACKAGE_EXIV2
>>>  	  access to the Exif, IPTC and XMP metadata of images in
>>>  	  various formats.
>>>
>>> -	  Exiv2 is available under the GPLv2+ or under a commercial
>>> -	  license.
>>> -
>>>  	  https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.exiv2.org%2F&amp;data=02%7C01%7Cnicolas.serafini%40sensefly.com%7Cbfbd1264187d4807f40308d6ea7f3acc%7Cff7d991b392248038418ab806a3414a6%7C1%7C0%7C636954229503439870&amp;sdata=9sHLdiCd3FVUl67cdmce8xWBDoYw9Stu4tmYYNGD%2F%2F4%3D&amp;reserved=0
>>>
>>>  if BR2_PACKAGE_EXIV2
>>>
>>> -config BR2_PACKAGE_EXIV2_COMMERCIAL
>>> -	bool "Enable commercial"
>>> -	help
>>> -	  Build the commercial version for closed source project.
>>> -
>>> -	  The Nikon lens name database and the NLS support is
>>> disabled
>>> -	  for copyright reasons.
>>> -
>>> -	  A commercial license request is needed.
>>> -
>>> https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.exiv2.org%2Fdownload.html%23license&amp;data=02%7C01%7Cnicolas.serafini%40sensefly.com%7Cbfbd1264187d4807f40308d6ea7f3acc%7Cff7d991b392248038418ab806a3414a6%7C1%7C0%7C636954229503439870&amp;sdata=aayXVhvcE%2FsdDzpkBL8LUdv55%2FPVlNXAyipYee2fAS0%3D&amp;reserved=0
>>> - config BR2_PACKAGE_EXIV2_PNG
>>>  	bool "PNG image support"
>>>  	select BR2_PACKAGE_ZLIB
>>> @@ -48,11 +34,11 @@ config BR2_PACKAGE_EXIV2_XMP
>>>
>>>  config BR2_PACKAGE_EXIV2_LENSDATA
>>>  	bool "Nikon lens name database"
>>> -	depends on !BR2_PACKAGE_EXIV2_COMMERCIAL
>>>  	help
>>>  	  Integrate Nikon lens name database.
>>>
>>> -	  This database is integrated but comes from a thirdparty:
>>> -
>>> https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.rottmerhusen.com%2Fobjektives%2Flensid%2Fthirdparty.html&amp;data=02%7C01%7Cnicolas.serafini%40sensefly.com%7Cbfbd1264187d4807f40308d6ea7f3acc%7Cff7d991b392248038418ab806a3414a6%7C1%7C0%7C636954229503439870&amp;sdata=E6ZMTxLUvJP1bRk%2F3A7JAPEDzKu6nIgCzqqK4w12PgM%3D&amp;reserved=0.
>>> +	  This database comes from a thirdparty and is free to use
>>> in
>>> +	  non-commercial, GPL or open source software only.
>>> +	  For more informations src/nikonmn_int.cpp.
>> 
>> ....For more information see src/nikonmn_int.cpp.
>> 
>> Regards,
>> Peter
>> 
>>>
>>>  endif
>>> diff --git a/package/exiv2/exiv2.hash b/package/exiv2/exiv2.hash
>>> index f99cb8cb87..b753c03854 100644
>>> --- a/package/exiv2/exiv2.hash
>>> +++ b/package/exiv2/exiv2.hash
>>> @@ -1,3 +1,4 @@
>>>  # Locally calculated
>>>  sha256
>>> 1b3766b2c203ce213a4195de14d61694017ec1a69d15d4575bccecef130990fe
>>> exiv2-0.27.1.tar.gz sha256
>>> a7ba75cb966aca374711e2af49e5f3aea6a4443a803440f5d93e73a5a1222f66
>>> COPYING +sha256
>>> 46cde7dc11e64c78d650b4851b88f6704b4665ff60f22a1caf68ceb15e217e5b
>>> COPYING-CMAKE-SCRIPTS diff --git a/package/exiv2/exiv2.mk
>>> b/package/exiv2/exiv2.mk index ba9d9b7303..93af9382db 100644 ---
>>> a/package/exiv2/exiv2.mk +++ b/package/exiv2/exiv2.mk @@ -7,6 +7,8
>>> @@ EXIV2_VERSION = 0.27.1 EXIV2_SITE = $(call
>>> github,Exiv2,exiv2,$(EXIV2_VERSION)) EXIV2_INSTALL_STAGING = YES
>>> +EXIV2_LICENSE = GPL-2.0+, BSD-3-Clause
>>> +EXIV2_LICENSE_FILES = COPYING COPYING-CMAKE-SCRIPTS
>>>
>>>  EXIV2_CONF_OPTS += -DEXIV2_ENABLE_BUILD_SAMPLES=OFF
>>>
>>> @@ -14,18 +16,10 @@ EXIV2_CONF_OPTS +=
>>> -DEXIV2_ENABLE_BUILD_SAMPLES=OFF # test which is not allowed when
>>> cross-compiling. EXIV2_CONF_OPTS += -DTHREADS_PTHREAD_ARG=OFF
>>>
>>> -ifeq ($(BR2_PACKAGE_EXIV2_LENSDATA),)
>>> -EXIV2_CONF_OPTS += -DEXIV2_ENABLE_LENSDATA=OFF
>>> -endif
>>> -
>>> -ifeq ($(BR2_PACKAGE_EXIV2_COMMERCIAL),y)
>>> -EXIV2_LICENSE = commercial
>>> -# NLS support is disabled in commercial version due to the
>>> copyright -# of the translated texts.
>>> -EXIV2_CONF_OPTS += -DEXIV2_ENABLE_COMMERCIAL=ON
>>> -DEXIV2_ENABLE_NLS=OFF +ifeq ($(BR2_PACKAGE_EXIV2_LENSDATA),y)
>>> +EXIV2_CONF_OPTS += -DEXIV2_ENABLE_LENSDATA=ON
>>>  else
>>> -EXIV2_LICENSE = GPL-2.0+
>>> -EXIV2_LICENSE_FILES = COPYING
>>> +EXIV2_CONF_OPTS += -DEXIV2_ENABLE_LENSDATA=OFF
>>>  endif
>>>
>>>  ifeq ($(BR2_PACKAGE_EXIV2_PNG),y)
>> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v4] package/exiv2: cleanup options and licenses
  2019-06-06 15:15     ` Yann E. MORIN
@ 2019-06-06 17:45       ` Yann E. MORIN
  2019-06-06 18:48       ` Arnout Vandecappelle
  1 sibling, 0 replies; 9+ messages in thread
From: Yann E. MORIN @ 2019-06-06 17:45 UTC (permalink / raw)
  To: buildroot

All,,

On 2019-06-06 17:15 +0200, Yann E. MORIN spake thusly:
[--SNIP--]
> [...] Instead, we should have done
> something like:
>     package/exiv2/exiv2.mk:
>     ifeq ($(BR2_PACKAGE_EXIV2_LENSDATA),y)
>     EXIV2_LICENSE := $(EXIV2_LICENSE), Proprietary/Unknown (Nikon lens database)
>     endif

Scratch that part about the lens data; I read the current consdition
backwards...

Even then, it does not change the rest of the reasoning.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v4] package/exiv2: cleanup options and licenses
  2019-06-06 15:15     ` Yann E. MORIN
  2019-06-06 17:45       ` Yann E. MORIN
@ 2019-06-06 18:48       ` Arnout Vandecappelle
  2019-06-06 18:55         ` Yann E. MORIN
  1 sibling, 1 reply; 9+ messages in thread
From: Arnout Vandecappelle @ 2019-06-06 18:48 UTC (permalink / raw)
  To: buildroot



On 06/06/2019 17:15, Yann E. MORIN wrote:
>>  That said, it doesn't really hurt to have a legacy entry, so let's add it after
>> all.
> We did not add such a legacy entry for the Qt5 license drop, there is no
> reason to add one here either.

 For qt5, there was no Config.in option to which we could apply legacy. There
was only the inverse (BR2_PACKAGE_QT5BASE_LICENSE_APPROVED) so we'd have to
trigger legacy in case that option was *not* enabled, which isn't possible.

 I repeat: it doesn't hurt to add a legacy entry, and it may help someone who
thought that they could use the Buildroot exiv2 package for the thing for which
they had a commercial license.

 Regards,
 Arnout

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v4] package/exiv2: cleanup options and licenses
  2019-06-06 18:48       ` Arnout Vandecappelle
@ 2019-06-06 18:55         ` Yann E. MORIN
  0 siblings, 0 replies; 9+ messages in thread
From: Yann E. MORIN @ 2019-06-06 18:55 UTC (permalink / raw)
  To: buildroot

Arnout, All,

On 2019-06-06 20:48 +0200, Arnout Vandecappelle spake thusly:
> On 06/06/2019 17:15, Yann E. MORIN wrote:
> >>  That said, it doesn't really hurt to have a legacy entry, so let's add it after
> >> all.
> > We did not add such a legacy entry for the Qt5 license drop, there is no
> > reason to add one here either.
> 
>  For qt5, there was no Config.in option to which we could apply legacy. There
> was only the inverse (BR2_PACKAGE_QT5BASE_LICENSE_APPROVED) so we'd have to
> trigger legacy in case that option was *not* enabled, which isn't possible.

Indeed, because the logic was the inverse than for exiv2.

>  I repeat: it doesn't hurt to add a legacy entry, and it may help someone who
> thought that they could use the Buildroot exiv2 package for the thing for which
> they had a commercial license.

Sorry, I do disagree vehemently. ;-)

It is not because it is easy to do that we should do it.

With your reasoning, we would have to add legacy options for each and
every package for which the license changes when we update it. This is
definitely not something we want to do. I don't see why this case would
need a specail treatment.

I repeat: if people *are* concerned about the licensing of their
products (and they should be concerned), then they should rely on
legal-info or show-info to validate their assumptions about the code
they compile.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v4] package/exiv2: cleanup options and licenses
  2019-06-05 13:51 [Buildroot] [PATCH v4] package/exiv2: cleanup options and licenses Nicolas Serafini
  2019-06-05 21:45 ` Peter Seiderer
@ 2019-06-08 16:35 ` Arnout Vandecappelle
  1 sibling, 0 replies; 9+ messages in thread
From: Arnout Vandecappelle @ 2019-06-08 16:35 UTC (permalink / raw)
  To: buildroot



On 05/06/2019 15:51, Nicolas Serafini wrote:
> exiv2 no longer requires a non commercial option for lens database
> integration since version 0.27. See [1] and [2]
> 
> The BR2_PACKAGE_EXIV2_LENSDATA option is maintained because the
> src/nikonmn_int.cpp file always specifies that the Nikon lens name
> database is free to use in non-commercial, GPL or open source software
> only.
> 
> Legacy handling for the removed option COMMERCIAL is not needed, since
> now it's always enabled.
> 
> Add the dedicated BSD-3-Clause license file for CMakeLists.txt,
> config/FindEXPAT.cmake and config/FindMSGFMT.cmake files.
> 
> [1] https://github.com/Exiv2/exiv2/commit/07f63003b7f50dd7d8719585ba54623e0f60c3c4
> [2] https://github.com/Exiv2/exiv2/commit/085d8a309aafb8ed5a72cad027a1a0ea974938d9
> 
> Signed-off-by: Nicolas Serafini <nicolas.serafini@sensefly.com>

 In the end, I applied to master as is, without the legacy. Peter, if you feel
strongly about it, you can still add the legacy entry later, and we can have
some more discussion about it :-)

 Regards,
 Arnout

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2019-06-08 16:35 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-05 13:51 [Buildroot] [PATCH v4] package/exiv2: cleanup options and licenses Nicolas Serafini
2019-06-05 21:45 ` Peter Seiderer
2019-06-06 13:02   ` Arnout Vandecappelle
2019-06-06 15:15     ` Yann E. MORIN
2019-06-06 17:45       ` Yann E. MORIN
2019-06-06 18:48       ` Arnout Vandecappelle
2019-06-06 18:55         ` Yann E. MORIN
2019-06-06 15:21     ` Nicolas Serafini
2019-06-08 16:35 ` Arnout Vandecappelle

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.