You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Gilles Sadowski <gi...@gmail.com> on 2020/04/01 12:10:57 UTC

Re: [commons-numbers] 02/08: Added Boost license for derived works in Complex.

Hello.

Le mer. 1 avr. 2020 à 12:58, <ah...@apache.org> a écrit :
>
> This is an automated email from the ASF dual-hosted git repository.
>
> aherbert pushed a commit to branch master
> in repository https://gitbox.apache.org/repos/asf/commons-numbers.git
>
> commit 5f0686220dfd6e94b922e076ef6809de3233cdc4
> Author: aherbert <ah...@apache.org>
> AuthorDate: Wed Apr 1 09:31:16 2020 +0100
>
>     Added Boost license for derived works in Complex.
> ---
>  LICENSE.txt                                        | 44 ++++++++++++++++++----
>  commons-numbers-complex/LICENSE.txt                | 44 ++++++++++++++++++----

My understanding of [1] is that these texts must go to the
    NOTICE
file(s).

Side-note: Files "LICENCE.txt" and "NOTICE.txt" should be renamed
(cf. NUMBERS-146).

Best,
Gilles

[1] http://www.apache.org/dev/licensing-howto.html

>  .../apache/commons/numbers/complex/Complex.java    | 24 +++++++++++-
>  3 files changed, 94 insertions(+), 18 deletions(-)
>
> diff --git a/LICENSE.txt b/LICENSE.txt
> index 2a5f502..2ae0957 100644
> --- a/LICENSE.txt
> +++ b/LICENSE.txt
> @@ -206,11 +206,39 @@ Class "org.apache.commons.numbers.complex.Complex" contains
>  Java code partly ported from the "Freely Distributable Math Library" in C.
>  The source files contain the following notice:
>
> - * ====================================================
> - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
> - *
> - * Developed at SunSoft, a Sun Microsystems, Inc. business.
> - * Permission to use, copy, modify, and distribute this
> - * software is freely granted, provided that this notice
> - * is preserved.
> - * ====================================================
> +  Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
> +
> +  Developed at SunSoft, a Sun Microsystems, Inc. business.
> +  Permission to use, copy, modify, and distribute this
> +  software is freely granted, provided that this notice
> +  is preserved.
> +
> +================================================================================
> +
> +Class "org.apache.commons.numbers.complex.Complex" contains
> +Java code partly ported from the "Boost C++ Libraries" <boost/math/complex>.
> +The source files contain the following notice:
> +
> +  Boost Software License - Version 1.0 - August 17th, 2003
> +
> +  Permission is hereby granted, free of charge, to any person or organization
> +  obtaining a copy of the software and accompanying documentation covered by
> +  this license (the "Software") to use, reproduce, display, distribute,
> +  execute, and transmit the Software, and to prepare derivative works of the
> +  Software, and to permit third-parties to whom the Software is furnished to
> +  do so, all subject to the following:
> +
> +  The copyright notices in the Software and this entire statement, including
> +  the above license grant, this restriction and the following disclaimer,
> +  must be included in all copies of the Software, in whole or in part, and
> +  all derivative works of the Software, unless such copies or derivative
> +  works are solely in the form of machine-executable object code generated by
> +  a source language processor.
> +
> +  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> +  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> +  FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
> +  SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
> +  FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
> +  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> +  DEALINGS IN THE SOFTWARE.
> diff --git a/commons-numbers-complex/LICENSE.txt b/commons-numbers-complex/LICENSE.txt
> index 2a5f502..2ae0957 100644
> --- a/commons-numbers-complex/LICENSE.txt
> +++ b/commons-numbers-complex/LICENSE.txt
> @@ -206,11 +206,39 @@ Class "org.apache.commons.numbers.complex.Complex" contains
>  Java code partly ported from the "Freely Distributable Math Library" in C.
>  The source files contain the following notice:
>
> - * ====================================================
> - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
> - *
> - * Developed at SunSoft, a Sun Microsystems, Inc. business.
> - * Permission to use, copy, modify, and distribute this
> - * software is freely granted, provided that this notice
> - * is preserved.
> - * ====================================================
> +  Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
> +
> +  Developed at SunSoft, a Sun Microsystems, Inc. business.
> +  Permission to use, copy, modify, and distribute this
> +  software is freely granted, provided that this notice
> +  is preserved.
> +
> +================================================================================
> +
> +Class "org.apache.commons.numbers.complex.Complex" contains
> +Java code partly ported from the "Boost C++ Libraries" <boost/math/complex>.
> +The source files contain the following notice:
> +
> +  Boost Software License - Version 1.0 - August 17th, 2003
> +
> +  Permission is hereby granted, free of charge, to any person or organization
> +  obtaining a copy of the software and accompanying documentation covered by
> +  this license (the "Software") to use, reproduce, display, distribute,
> +  execute, and transmit the Software, and to prepare derivative works of the
> +  Software, and to permit third-parties to whom the Software is furnished to
> +  do so, all subject to the following:
> +
> +  The copyright notices in the Software and this entire statement, including
> +  the above license grant, this restriction and the following disclaimer,
> +  must be included in all copies of the Software, in whole or in part, and
> +  all derivative works of the Software, unless such copies or derivative
> +  works are solely in the form of machine-executable object code generated by
> +  a source language processor.
> +
> +  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> +  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> +  FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
> +  SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
> +  FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
> +  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> +  DEALINGS IN THE SOFTWARE.
> diff --git a/commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex/Complex.java b/commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex/Complex.java
> index dcb4cff..5a53698 100644
> --- a/commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex/Complex.java
> +++ b/commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex/Complex.java
> @@ -1307,6 +1307,14 @@ public final class Complex implements Serializable  {
>       * <p>This function exists to allow implementation of the identity
>       * {@code acosh(z) = +-i acos(z)}.
>       *
> +     * <p>Adapted from {@code <boost/math/complex/acos.hpp>}.
> +     * The original notice is shown below and the licence is shown in full in LICENSE.txt:
> +     * <pre>
> +     * (C) Copyright John Maddock 2005.
> +     * Distributed under the Boost Software License, Version 1.0. (See accompanying
> +     * file LICENSE.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
> +     * </pre>
> +     *
>       * @param real Real part.
>       * @param imaginary Imaginary part.
>       * @param constructor Constructor.
> @@ -1475,8 +1483,13 @@ public final class Complex implements Serializable  {
>       * <p>This function exists to allow implementation of the identity
>       * {@code asinh(z) = -i asin(iz)}.
>       *
> -     * <p>The code has been adapted from the <a href="https://www.boost.org/">Boost</a>
> -     * {@code c++} implementation {@code <boost/math/complex/asin.hpp>}.</p>
> +     * <p>Adapted from {@code <boost/math/complex/asin.hpp>}.
> +     * The original notice is shown below and the licence is shown in full in LICENSE.txt:
> +     * <pre>
> +     * (C) Copyright John Maddock 2005.
> +     * Distributed under the Boost Software License, Version 1.0. (See accompanying
> +     * file LICENSE.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
> +     * </pre>
>       *
>       * @param real Real part.
>       * @param imaginary Imaginary part.
> @@ -1727,6 +1740,13 @@ public final class Complex implements Serializable  {
>       * <p>This function exists to allow implementation of the identity
>       * {@code atan(z) = -i atanh(iz)}.
>       *
> +     * The original notice is shown below and the licence is shown in full in LICENSE.txt:
> +     * <pre>
> +     * (C) Copyright John Maddock 2005.
> +     * Distributed under the Boost Software License, Version 1.0. (See accompanying
> +     * file LICENSE.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
> +     * </pre>
> +     *
>       * @param real Real part.
>       * @param imaginary Imaginary part.
>       * @param constructor Constructor.
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [commons-numbers] 02/08: Added Boost license for derived works in Complex.

Posted by Alex Herbert <al...@gmail.com>.
On 01/04/2020 16:39, Gilles Sadowski wrote:
>
>> I'll wait to see if anyone else replies. Otherwise I'll contact legal
>> for best practice advise.
>>
>> As I understand it we have already made a best effort to indicate
>> exactly what part of the work originated elsewhere. If you read the
>> LICENSE and then the referenced code pointed out by the LICENSE it is
>> clear what has derived from the 3rd party. Putting it into another file
>> would certainly help. The exact header required in that separate file is
>> what needs to be established.
>>
> Maybe you've misunderstood my reaction to the commit; I actually
> wanted to avoid *overdoing* the acknowledgement, which as you
> wrote, is not lacking.
> In my view, the question is just where acknowledgment should go
> when the permissive licence allows relicensing (provided the
> original attribution notice is kept).
> As a user, I'd find it quite confusing to read two different licence
> texts within that LICENCE.  Does that even make sense from a
> legal POV?
> Common sense (IMO) would dictate that there one licence (in
> LICENCE), but that downstream developers should take notice
> (in NOTICE) that they might need to forward further some of the
> attributions.
>
> Regards,
> Gilles

I have been reading past issues on the legal JIRA and browsed the mail 
archives. Most of the examples are about using existing code in entire 
files in the same language. I cannot find anything about code 
conversions with adaptions.

However this code is a derivative work so the original license terms 
must be followed.

I found an example of a project that incorporated a method from 
elsewhere [1] that was under a catgegory A license. This made a comment 
in the source that the method was under a different license to the rest 
of the file. The JIRA ticket has a link to the GitHub PR with the code. 
It contains this:

This method is based on `Python 2.7's fnmatch.translate`_.
The code in this method is licensed under
PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2.

So I suggest:

- keep the derived work in the same location (do not move to a separate 
file)

- mark the method as licensed under the original license

- add the licenses to LICENSE and the copyright to NOTICE

This is essentially what has already been done but without the addition 
to NOTICE.

I've looked at the tomcat project for an example of how to use LICENSE 
and NOTICE. Here the various components that are derived works are 
identified and those components under a different license have the 
licences in the project LICENSE file. This would be an example of how to 
do it for the two licenses we are incorporating:

----

LICENSE

[standard text ...]


APACHE COMMONS NUMBERS SUBCOMPONENTS:

Apache Commons Numbers includes a number of subcomponents with separate
copyright notices and license terms. Your use of these subcomponents is 
subject
to the terms and conditions of the following licenses.


For the Commons Numbers Complex (commons-numbers-complex-x.x.x.jar) 
component:

   * Part of Complex is licensed under the Freely Distributable Math 
Library License
      and the Boost Software License

Freely Distributable Math Library License

Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.

Developed at SunSoft, a Sun Microsystems, Inc. business.
Permission to use, copy, modify, and distribute this
software is freely granted, provided that this notice
is preserved.


Boost Software License - Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:

The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.



----

NOTICE

[standard text ...]


For portions of the Commons Numbers Complex component
The org.apache.commons.numbers.complex package contains derivative
work originating from the "Freely Distributable Math Library".
https://www.netlib.org/fdlibm/
Copyright 1993 Sun Microsystems, Inc.

The org.apache.commons.numbers.complex package contains derivative
work originating from the "Boost C++ Libraries" <boost/math/complex>.
https://www.boost.org/
Copyright 2005 John Maddock 2005.

----

So a small change to what we have already done. Anyone reading the 
notice will find out enough information to be able to track down what 
part of the code is not under the APL.

Thoughts on this?

Alex


[1] https://issues.apache.org/jira/browse/LEGAL-417



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [commons-numbers] 02/08: Added Boost license for derived works in Complex.

Posted by Gilles Sadowski <gi...@gmail.com>.
Le mer. 1 avr. 2020 à 17:22, Alex Herbert <al...@gmail.com> a écrit :
>
>
> On 01/04/2020 15:51, Gilles Sadowski wrote:
> > Le mer. 1 avr. 2020 à 16:27, Alex Herbert <al...@gmail.com> a écrit :
> >>
> >> On 01/04/2020 14:56, Gilles Sadowski wrote:
> >>> Hi.
> >>>
> >>> Le mer. 1 avr. 2020 à 15:09, Alex Herbert <al...@gmail.com> a écrit :
> >>>> On 01/04/2020 13:10, Gilles Sadowski wrote:
> >>>>> Hello.
> >>>>>
> >>>>> Le mer. 1 avr. 2020 à 12:58, <ah...@apache.org> a écrit :
> >>>>>> This is an automated email from the ASF dual-hosted git repository.
> >>>>>>
> >>>>>> aherbert pushed a commit to branch master
> >>>>>> in repository https://gitbox.apache.org/repos/asf/commons-numbers.git
> >>>>>>
> >>>>>> commit 5f0686220dfd6e94b922e076ef6809de3233cdc4
> >>>>>> Author: aherbert <ah...@apache.org>
> >>>>>> AuthorDate: Wed Apr 1 09:31:16 2020 +0100
> >>>>>>
> >>>>>>        Added Boost license for derived works in Complex.
> >>>>>> ---
> >>>>>>     LICENSE.txt                                        | 44 ++++++++++++++++++----
> >>>>>>     commons-numbers-complex/LICENSE.txt                | 44 ++++++++++++++++++----
> >>>>> My understanding of [1] is that these texts must go to the
> >>>>>        NOTICE
> >>>>> file(s).
> >>>> I interpret this using the section on 'BUNDLING PERMISSIVELY-LICENSED
> >>>> DEPENDENCIES'
> >>> AFAICT, adapting code from a (permissively-licenced) library is not a
> >>> "bundled dependency".
> >>>
> >>> In my understanding, this pragraph applies instead:
> >>> ---CUT---
> >>> Copyright notifications which have been relocated from source files
> >>> (rather than removed) must be preserved in NOTICE. However, elements
> >>> such as the copyright notifications embedded within BSD and MIT
> >>> licenses need not be duplicated in NOTICE -- it suffices to leave
> >>> those notices in their original locations.
> >>> ---CUT---
> >>>
> >>> I could be mistaken, but I think that the "Complex.java" source file
> >>> could not be distributed under two licences. If it were so, which one
> >>> does actually apply?
> >> The legal docs are mainly targetted at inclusion of entire 3rd party
> >> works. In this case we have snippets adapted from third party works
> >> included into our code. So perhaps this applies [1]:
> >>
> >> ---CUT---
> >>
> >> WHAT IS THE PROVENANCE OF SOURCE CODE FROM THE ASF?
> >>
> >> CODE DEVELOPED ELSEWHERE, RECEIVED UNDER A CATEGORY A LICENSE,
> >> INCORPORATED INTO APACHE PROJECTS, DISTRIBUTED BY APACHE, AND LICENSED
> >> TO DOWNSTREAM USERS UNDER ITS ORIGINAL LICENSE
> >>
> >> This code retains its external identity and is being incorporated into
> >> an Apache project for convenience, to avoid referencing an external
> >> repository whose contents are not under control of the project. The code
> >> retains its original license; and distribution as part of the Apache
> >> project explicitly calls out the license. The code retains its original
> >> header which refers to its own license in the distribution. If changes
> >> are made to the code while at Apache, the standard Apache header is
> >> prepended to each changed file. Additionally, any legally-required
> >> notices related to the code are published in the distribution.
> >>
> >> ---CUT---
> >>
> >> So here we fall into the "If changes are made to the code while at
> >> Apache" section. We prepend the file with the Apache header and include
> >> the original license as well.
> >>
> >> Since the original code is in a different language the source has been
> >> modified by necessity. I cannot find a section on software conversions.
> > Doesn't the code (here and there) reference papers?
> > In that case, I'd say that we use another library for checking
> > compliance but your work is a re-implementation ("from scratch")
> > of standard algorithms.
>
> The code adapted from Boost has two methods based on a paper and a third
> method based on unpublished work. So here Boost is the official source.
>
> The code adapted from FDlibm has no paper.
>
> Thus in both cases the original source appears to be the reference.
>
> >
> >> It may be clearer to extract the relevant parts that have been adapted
> >> into a new source file. This can have the Apache header and then the
> >> original header from the original work. For the two items involved they
> >> can be extracted into separate files without impacting the original
> >> location.
> > IANAL, but IMHO that would still not count as two licences and
> > would not solve the issue (of which licence applies).
> > Also, if there was substantial adaptation work, it is certainly not
> > fair (to you) to misrepresent the code here as having been
> > developed there.
> >
> >> I can raise this with the legal team if no-one knows any better.
> > As it is, "Commons Math" has been using your interpretation:
> >      https://gitbox.apache.org/repos/asf?p=commons-math.git;a=blob;f=LICENSE.txt;h=d97b49ab0f0f1e6d2c991ac0496be35d8bc36ad8;hb=HEAD
> > However, I don't know whether matters of what goes where
> > (LICENCE vs NOTICE) has been clarified/changed since those
> > files were last edited.
> >
> > Unless someone here can give a definite answer, it would be nice
> > to have the matter settled officially. ;-)
>
> I'll wait to see if anyone else replies. Otherwise I'll contact legal
> for best practice advise.
>
> As I understand it we have already made a best effort to indicate
> exactly what part of the work originated elsewhere. If you read the
> LICENSE and then the referenced code pointed out by the LICENSE it is
> clear what has derived from the 3rd party. Putting it into another file
> would certainly help. The exact header required in that separate file is
> what needs to be established.
>

Maybe you've misunderstood my reaction to the commit; I actually
wanted to avoid *overdoing* the acknowledgement, which as you
wrote, is not lacking.
In my view, the question is just where acknowledgment should go
when the permissive licence allows relicensing (provided the
original attribution notice is kept).
As a user, I'd find it quite confusing to read two different licence
texts within that LICENCE.  Does that even make sense from a
legal POV?
Common sense (IMO) would dictate that there one licence (in
LICENCE), but that downstream developers should take notice
(in NOTICE) that they might need to forward further some of the
attributions.

Regards,
Gilles

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [commons-numbers] 02/08: Added Boost license for derived works in Complex.

Posted by Alex Herbert <al...@gmail.com>.
On 01/04/2020 15:51, Gilles Sadowski wrote:
> Le mer. 1 avr. 2020 à 16:27, Alex Herbert <al...@gmail.com> a écrit :
>>
>> On 01/04/2020 14:56, Gilles Sadowski wrote:
>>> Hi.
>>>
>>> Le mer. 1 avr. 2020 à 15:09, Alex Herbert <al...@gmail.com> a écrit :
>>>> On 01/04/2020 13:10, Gilles Sadowski wrote:
>>>>> Hello.
>>>>>
>>>>> Le mer. 1 avr. 2020 à 12:58, <ah...@apache.org> a écrit :
>>>>>> This is an automated email from the ASF dual-hosted git repository.
>>>>>>
>>>>>> aherbert pushed a commit to branch master
>>>>>> in repository https://gitbox.apache.org/repos/asf/commons-numbers.git
>>>>>>
>>>>>> commit 5f0686220dfd6e94b922e076ef6809de3233cdc4
>>>>>> Author: aherbert <ah...@apache.org>
>>>>>> AuthorDate: Wed Apr 1 09:31:16 2020 +0100
>>>>>>
>>>>>>        Added Boost license for derived works in Complex.
>>>>>> ---
>>>>>>     LICENSE.txt                                        | 44 ++++++++++++++++++----
>>>>>>     commons-numbers-complex/LICENSE.txt                | 44 ++++++++++++++++++----
>>>>> My understanding of [1] is that these texts must go to the
>>>>>        NOTICE
>>>>> file(s).
>>>> I interpret this using the section on 'BUNDLING PERMISSIVELY-LICENSED
>>>> DEPENDENCIES'
>>> AFAICT, adapting code from a (permissively-licenced) library is not a
>>> "bundled dependency".
>>>
>>> In my understanding, this pragraph applies instead:
>>> ---CUT---
>>> Copyright notifications which have been relocated from source files
>>> (rather than removed) must be preserved in NOTICE. However, elements
>>> such as the copyright notifications embedded within BSD and MIT
>>> licenses need not be duplicated in NOTICE -- it suffices to leave
>>> those notices in their original locations.
>>> ---CUT---
>>>
>>> I could be mistaken, but I think that the "Complex.java" source file
>>> could not be distributed under two licences. If it were so, which one
>>> does actually apply?
>> The legal docs are mainly targetted at inclusion of entire 3rd party
>> works. In this case we have snippets adapted from third party works
>> included into our code. So perhaps this applies [1]:
>>
>> ---CUT---
>>
>> WHAT IS THE PROVENANCE OF SOURCE CODE FROM THE ASF?
>>
>> CODE DEVELOPED ELSEWHERE, RECEIVED UNDER A CATEGORY A LICENSE,
>> INCORPORATED INTO APACHE PROJECTS, DISTRIBUTED BY APACHE, AND LICENSED
>> TO DOWNSTREAM USERS UNDER ITS ORIGINAL LICENSE
>>
>> This code retains its external identity and is being incorporated into
>> an Apache project for convenience, to avoid referencing an external
>> repository whose contents are not under control of the project. The code
>> retains its original license; and distribution as part of the Apache
>> project explicitly calls out the license. The code retains its original
>> header which refers to its own license in the distribution. If changes
>> are made to the code while at Apache, the standard Apache header is
>> prepended to each changed file. Additionally, any legally-required
>> notices related to the code are published in the distribution.
>>
>> ---CUT---
>>
>> So here we fall into the "If changes are made to the code while at
>> Apache" section. We prepend the file with the Apache header and include
>> the original license as well.
>>
>> Since the original code is in a different language the source has been
>> modified by necessity. I cannot find a section on software conversions.
> Doesn't the code (here and there) reference papers?
> In that case, I'd say that we use another library for checking
> compliance but your work is a re-implementation ("from scratch")
> of standard algorithms.

The code adapted from Boost has two methods based on a paper and a third 
method based on unpublished work. So here Boost is the official source.

The code adapted from FDlibm has no paper.

Thus in both cases the original source appears to be the reference.

>
>> It may be clearer to extract the relevant parts that have been adapted
>> into a new source file. This can have the Apache header and then the
>> original header from the original work. For the two items involved they
>> can be extracted into separate files without impacting the original
>> location.
> IANAL, but IMHO that would still not count as two licences and
> would not solve the issue (of which licence applies).
> Also, if there was substantial adaptation work, it is certainly not
> fair (to you) to misrepresent the code here as having been
> developed there.
>
>> I can raise this with the legal team if no-one knows any better.
> As it is, "Commons Math" has been using your interpretation:
>      https://gitbox.apache.org/repos/asf?p=commons-math.git;a=blob;f=LICENSE.txt;h=d97b49ab0f0f1e6d2c991ac0496be35d8bc36ad8;hb=HEAD
> However, I don't know whether matters of what goes where
> (LICENCE vs NOTICE) has been clarified/changed since those
> files were last edited.
>
> Unless someone here can give a definite answer, it would be nice
> to have the matter settled officially. ;-)

I'll wait to see if anyone else replies. Otherwise I'll contact legal 
for best practice advise.

As I understand it we have already made a best effort to indicate 
exactly what part of the work originated elsewhere. If you read the 
LICENSE and then the referenced code pointed out by the LICENSE it is 
clear what has derived from the 3rd party. Putting it into another file 
would certainly help. The exact header required in that separate file is 
what needs to be established.

>
> Thanks,
> Gilles
>
>> [1] http://apache.org/foundation/license-faq.html#provenance
>>
>>
>>>> Here it states that we can add the 3rd party license within the LICENSE
>>>> file.
>>>>
>>>>
>>>> This page describes 'WHAT ARE REQUIRED THIRD-PARTY NOTICES?' [2]
>>>>
>>>> "Apache releases should contain a copy of each license, usually
>>>> contained in the LICENSE document. For many licenses this is a
>>>> sufficient notice. For some licenses some additional notice is required.
>>>> In many cases, this will be included within the dependent artifact."
>>>>
>>>>
>>>> So I think that we put the 3rd party notice in LICENSE and then add to
>>>> NOTICE only if the license text has additional notice requirements. From
>>>> reading each included licence it appears to me that the LICENSE is all
>>>> that is required and the 3rd party works have no additional notice
>>>> requirement.
>>>>
>>>> [2] http://apache.org/legal/resolved.html#required-third-party-notices
>>> This is confusing indeed.
>>> I'd tend to think that the page that specifically addresses
>>> the contents of both "LICENCE" and "NOTICE" should be
>>> the common ground.  [Your interpretation of it may still be
>>> correct, of course.  Hopefully someone else can give an
>>> opinion.]
>>>
>>>>> Side-note: Files "LICENCE.txt" and "NOTICE.txt" should be renamed
>>>>> (cf. NUMBERS-146).
>>>> I can do this if you like.
>>> Sure, thanks.
>>>
>>> Best regards,
>>> Gilles
>>>
>>>> Alex
>>>>
>>>>> Best,
>>>>> Gilles
>>>>>
>>>>> [1] http://www.apache.org/dev/licensing-howto.html
>>>>>
>>>>>>     .../apache/commons/numbers/complex/Complex.java    | 24 +++++++++++-
>>>>>>     3 files changed, 94 insertions(+), 18 deletions(-)
>>>>>>
>>>>>> diff --git a/LICENSE.txt b/LICENSE.txt
>>>>>> index 2a5f502..2ae0957 100644
>>>>>> --- a/LICENSE.txt
>>>>>> +++ b/LICENSE.txt
>>>>>> @@ -206,11 +206,39 @@ Class "org.apache.commons.numbers.complex.Complex" contains
>>>>>>     Java code partly ported from the "Freely Distributable Math Library" in C.
>>>>>>     The source files contain the following notice:
>>>>>>
>>>>>> - * ====================================================
>>>>>> - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
>>>>>> - *
>>>>>> - * Developed at SunSoft, a Sun Microsystems, Inc. business.
>>>>>> - * Permission to use, copy, modify, and distribute this
>>>>>> - * software is freely granted, provided that this notice
>>>>>> - * is preserved.
>>>>>> - * ====================================================
>>>>>> +  Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
>>>>>> +
>>>>>> +  Developed at SunSoft, a Sun Microsystems, Inc. business.
>>>>>> +  Permission to use, copy, modify, and distribute this
>>>>>> +  software is freely granted, provided that this notice
>>>>>> +  is preserved.
>>>>>> +
>>>>>> +================================================================================
>>>>>> +
>>>>>> +Class "org.apache.commons.numbers.complex.Complex" contains
>>>>>> +Java code partly ported from the "Boost C++ Libraries" <boost/math/complex>.
>>>>>> +The source files contain the following notice:
>>>>>> +
>>>>>> +  Boost Software License - Version 1.0 - August 17th, 2003
>>>>>> +
>>>>>> +  Permission is hereby granted, free of charge, to any person or organization
>>>>>> +  obtaining a copy of the software and accompanying documentation covered by
>>>>>> +  this license (the "Software") to use, reproduce, display, distribute,
>>>>>> +  execute, and transmit the Software, and to prepare derivative works of the
>>>>>> +  Software, and to permit third-parties to whom the Software is furnished to
>>>>>> +  do so, all subject to the following:
>>>>>> +
>>>>>> +  The copyright notices in the Software and this entire statement, including
>>>>>> +  the above license grant, this restriction and the following disclaimer,
>>>>>> +  must be included in all copies of the Software, in whole or in part, and
>>>>>> +  all derivative works of the Software, unless such copies or derivative
>>>>>> +  works are solely in the form of machine-executable object code generated by
>>>>>> +  a source language processor.
>>>>>> +
>>>>>> +  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
>>>>>> +  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
>>>>>> +  FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
>>>>>> +  SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
>>>>>> +  FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
>>>>>> +  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>>>>>> +  DEALINGS IN THE SOFTWARE.
>>>>>> diff --git a/commons-numbers-complex/LICENSE.txt b/commons-numbers-complex/LICENSE.txt
>>>>>> index 2a5f502..2ae0957 100644
>>>>>> --- a/commons-numbers-complex/LICENSE.txt
>>>>>> +++ b/commons-numbers-complex/LICENSE.txt
>>>>>> @@ -206,11 +206,39 @@ Class "org.apache.commons.numbers.complex.Complex" contains
>>>>>>     Java code partly ported from the "Freely Distributable Math Library" in C.
>>>>>>     The source files contain the following notice:
>>>>>>
>>>>>> - * ====================================================
>>>>>> - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
>>>>>> - *
>>>>>> - * Developed at SunSoft, a Sun Microsystems, Inc. business.
>>>>>> - * Permission to use, copy, modify, and distribute this
>>>>>> - * software is freely granted, provided that this notice
>>>>>> - * is preserved.
>>>>>> - * ====================================================
>>>>>> +  Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
>>>>>> +
>>>>>> +  Developed at SunSoft, a Sun Microsystems, Inc. business.
>>>>>> +  Permission to use, copy, modify, and distribute this
>>>>>> +  software is freely granted, provided that this notice
>>>>>> +  is preserved.
>>>>>> +
>>>>>> +================================================================================
>>>>>> +
>>>>>> +Class "org.apache.commons.numbers.complex.Complex" contains
>>>>>> +Java code partly ported from the "Boost C++ Libraries" <boost/math/complex>.
>>>>>> +The source files contain the following notice:
>>>>>> +
>>>>>> +  Boost Software License - Version 1.0 - August 17th, 2003
>>>>>> +
>>>>>> +  Permission is hereby granted, free of charge, to any person or organization
>>>>>> +  obtaining a copy of the software and accompanying documentation covered by
>>>>>> +  this license (the "Software") to use, reproduce, display, distribute,
>>>>>> +  execute, and transmit the Software, and to prepare derivative works of the
>>>>>> +  Software, and to permit third-parties to whom the Software is furnished to
>>>>>> +  do so, all subject to the following:
>>>>>> +
>>>>>> +  The copyright notices in the Software and this entire statement, including
>>>>>> +  the above license grant, this restriction and the following disclaimer,
>>>>>> +  must be included in all copies of the Software, in whole or in part, and
>>>>>> +  all derivative works of the Software, unless such copies or derivative
>>>>>> +  works are solely in the form of machine-executable object code generated by
>>>>>> +  a source language processor.
>>>>>> +
>>>>>> +  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
>>>>>> +  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
>>>>>> +  FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
>>>>>> +  SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
>>>>>> +  FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
>>>>>> +  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>>>>>> +  DEALINGS IN THE SOFTWARE.
>>>>>> [...]
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>>> For additional commands, e-mail: dev-help@commons.apache.org
>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>> For additional commands, e-mail: dev-help@commons.apache.org
>>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [commons-numbers] 02/08: Added Boost license for derived works in Complex.

Posted by Gilles Sadowski <gi...@gmail.com>.
Le mer. 1 avr. 2020 à 16:27, Alex Herbert <al...@gmail.com> a écrit :
>
>
> On 01/04/2020 14:56, Gilles Sadowski wrote:
> > Hi.
> >
> > Le mer. 1 avr. 2020 à 15:09, Alex Herbert <al...@gmail.com> a écrit :
> >>
> >> On 01/04/2020 13:10, Gilles Sadowski wrote:
> >>> Hello.
> >>>
> >>> Le mer. 1 avr. 2020 à 12:58, <ah...@apache.org> a écrit :
> >>>> This is an automated email from the ASF dual-hosted git repository.
> >>>>
> >>>> aherbert pushed a commit to branch master
> >>>> in repository https://gitbox.apache.org/repos/asf/commons-numbers.git
> >>>>
> >>>> commit 5f0686220dfd6e94b922e076ef6809de3233cdc4
> >>>> Author: aherbert <ah...@apache.org>
> >>>> AuthorDate: Wed Apr 1 09:31:16 2020 +0100
> >>>>
> >>>>       Added Boost license for derived works in Complex.
> >>>> ---
> >>>>    LICENSE.txt                                        | 44 ++++++++++++++++++----
> >>>>    commons-numbers-complex/LICENSE.txt                | 44 ++++++++++++++++++----
> >>> My understanding of [1] is that these texts must go to the
> >>>       NOTICE
> >>> file(s).
> >> I interpret this using the section on 'BUNDLING PERMISSIVELY-LICENSED
> >> DEPENDENCIES'
> > AFAICT, adapting code from a (permissively-licenced) library is not a
> > "bundled dependency".
> >
> > In my understanding, this pragraph applies instead:
> > ---CUT---
> > Copyright notifications which have been relocated from source files
> > (rather than removed) must be preserved in NOTICE. However, elements
> > such as the copyright notifications embedded within BSD and MIT
> > licenses need not be duplicated in NOTICE -- it suffices to leave
> > those notices in their original locations.
> > ---CUT---
> >
> > I could be mistaken, but I think that the "Complex.java" source file
> > could not be distributed under two licences. If it were so, which one
> > does actually apply?
>
> The legal docs are mainly targetted at inclusion of entire 3rd party
> works. In this case we have snippets adapted from third party works
> included into our code. So perhaps this applies [1]:
>
> ---CUT---
>
> WHAT IS THE PROVENANCE OF SOURCE CODE FROM THE ASF?
>
> CODE DEVELOPED ELSEWHERE, RECEIVED UNDER A CATEGORY A LICENSE,
> INCORPORATED INTO APACHE PROJECTS, DISTRIBUTED BY APACHE, AND LICENSED
> TO DOWNSTREAM USERS UNDER ITS ORIGINAL LICENSE
>
> This code retains its external identity and is being incorporated into
> an Apache project for convenience, to avoid referencing an external
> repository whose contents are not under control of the project. The code
> retains its original license; and distribution as part of the Apache
> project explicitly calls out the license. The code retains its original
> header which refers to its own license in the distribution. If changes
> are made to the code while at Apache, the standard Apache header is
> prepended to each changed file. Additionally, any legally-required
> notices related to the code are published in the distribution.
>
> ---CUT---
>
> So here we fall into the "If changes are made to the code while at
> Apache" section. We prepend the file with the Apache header and include
> the original license as well.
>
> Since the original code is in a different language the source has been
> modified by necessity. I cannot find a section on software conversions.

Doesn't the code (here and there) reference papers?
In that case, I'd say that we use another library for checking
compliance but your work is a re-implementation ("from scratch")
of standard algorithms.

> It may be clearer to extract the relevant parts that have been adapted
> into a new source file. This can have the Apache header and then the
> original header from the original work. For the two items involved they
> can be extracted into separate files without impacting the original
> location.

IANAL, but IMHO that would still not count as two licences and
would not solve the issue (of which licence applies).
Also, if there was substantial adaptation work, it is certainly not
fair (to you) to misrepresent the code here as having been
developed there.

> I can raise this with the legal team if no-one knows any better.

As it is, "Commons Math" has been using your interpretation:
    https://gitbox.apache.org/repos/asf?p=commons-math.git;a=blob;f=LICENSE.txt;h=d97b49ab0f0f1e6d2c991ac0496be35d8bc36ad8;hb=HEAD
However, I don't know whether matters of what goes where
(LICENCE vs NOTICE) has been clarified/changed since those
files were last edited.

Unless someone here can give a definite answer, it would be nice
to have the matter settled officially. ;-)

Thanks,
Gilles

>
> [1] http://apache.org/foundation/license-faq.html#provenance
>
>
> >
> >> Here it states that we can add the 3rd party license within the LICENSE
> >> file.
> >>
> >>
> >> This page describes 'WHAT ARE REQUIRED THIRD-PARTY NOTICES?' [2]
> >>
> >> "Apache releases should contain a copy of each license, usually
> >> contained in the LICENSE document. For many licenses this is a
> >> sufficient notice. For some licenses some additional notice is required.
> >> In many cases, this will be included within the dependent artifact."
> >>
> >>
> >> So I think that we put the 3rd party notice in LICENSE and then add to
> >> NOTICE only if the license text has additional notice requirements. From
> >> reading each included licence it appears to me that the LICENSE is all
> >> that is required and the 3rd party works have no additional notice
> >> requirement.
> >>
> >> [2] http://apache.org/legal/resolved.html#required-third-party-notices
> > This is confusing indeed.
> > I'd tend to think that the page that specifically addresses
> > the contents of both "LICENCE" and "NOTICE" should be
> > the common ground.  [Your interpretation of it may still be
> > correct, of course.  Hopefully someone else can give an
> > opinion.]
> >
> >>> Side-note: Files "LICENCE.txt" and "NOTICE.txt" should be renamed
> >>> (cf. NUMBERS-146).
> >> I can do this if you like.
> > Sure, thanks.
> >
> > Best regards,
> > Gilles
> >
> >> Alex
> >>
> >>> Best,
> >>> Gilles
> >>>
> >>> [1] http://www.apache.org/dev/licensing-howto.html
> >>>
> >>>>    .../apache/commons/numbers/complex/Complex.java    | 24 +++++++++++-
> >>>>    3 files changed, 94 insertions(+), 18 deletions(-)
> >>>>
> >>>> diff --git a/LICENSE.txt b/LICENSE.txt
> >>>> index 2a5f502..2ae0957 100644
> >>>> --- a/LICENSE.txt
> >>>> +++ b/LICENSE.txt
> >>>> @@ -206,11 +206,39 @@ Class "org.apache.commons.numbers.complex.Complex" contains
> >>>>    Java code partly ported from the "Freely Distributable Math Library" in C.
> >>>>    The source files contain the following notice:
> >>>>
> >>>> - * ====================================================
> >>>> - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
> >>>> - *
> >>>> - * Developed at SunSoft, a Sun Microsystems, Inc. business.
> >>>> - * Permission to use, copy, modify, and distribute this
> >>>> - * software is freely granted, provided that this notice
> >>>> - * is preserved.
> >>>> - * ====================================================
> >>>> +  Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
> >>>> +
> >>>> +  Developed at SunSoft, a Sun Microsystems, Inc. business.
> >>>> +  Permission to use, copy, modify, and distribute this
> >>>> +  software is freely granted, provided that this notice
> >>>> +  is preserved.
> >>>> +
> >>>> +================================================================================
> >>>> +
> >>>> +Class "org.apache.commons.numbers.complex.Complex" contains
> >>>> +Java code partly ported from the "Boost C++ Libraries" <boost/math/complex>.
> >>>> +The source files contain the following notice:
> >>>> +
> >>>> +  Boost Software License - Version 1.0 - August 17th, 2003
> >>>> +
> >>>> +  Permission is hereby granted, free of charge, to any person or organization
> >>>> +  obtaining a copy of the software and accompanying documentation covered by
> >>>> +  this license (the "Software") to use, reproduce, display, distribute,
> >>>> +  execute, and transmit the Software, and to prepare derivative works of the
> >>>> +  Software, and to permit third-parties to whom the Software is furnished to
> >>>> +  do so, all subject to the following:
> >>>> +
> >>>> +  The copyright notices in the Software and this entire statement, including
> >>>> +  the above license grant, this restriction and the following disclaimer,
> >>>> +  must be included in all copies of the Software, in whole or in part, and
> >>>> +  all derivative works of the Software, unless such copies or derivative
> >>>> +  works are solely in the form of machine-executable object code generated by
> >>>> +  a source language processor.
> >>>> +
> >>>> +  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> >>>> +  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> >>>> +  FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
> >>>> +  SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
> >>>> +  FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
> >>>> +  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> >>>> +  DEALINGS IN THE SOFTWARE.
> >>>> diff --git a/commons-numbers-complex/LICENSE.txt b/commons-numbers-complex/LICENSE.txt
> >>>> index 2a5f502..2ae0957 100644
> >>>> --- a/commons-numbers-complex/LICENSE.txt
> >>>> +++ b/commons-numbers-complex/LICENSE.txt
> >>>> @@ -206,11 +206,39 @@ Class "org.apache.commons.numbers.complex.Complex" contains
> >>>>    Java code partly ported from the "Freely Distributable Math Library" in C.
> >>>>    The source files contain the following notice:
> >>>>
> >>>> - * ====================================================
> >>>> - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
> >>>> - *
> >>>> - * Developed at SunSoft, a Sun Microsystems, Inc. business.
> >>>> - * Permission to use, copy, modify, and distribute this
> >>>> - * software is freely granted, provided that this notice
> >>>> - * is preserved.
> >>>> - * ====================================================
> >>>> +  Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
> >>>> +
> >>>> +  Developed at SunSoft, a Sun Microsystems, Inc. business.
> >>>> +  Permission to use, copy, modify, and distribute this
> >>>> +  software is freely granted, provided that this notice
> >>>> +  is preserved.
> >>>> +
> >>>> +================================================================================
> >>>> +
> >>>> +Class "org.apache.commons.numbers.complex.Complex" contains
> >>>> +Java code partly ported from the "Boost C++ Libraries" <boost/math/complex>.
> >>>> +The source files contain the following notice:
> >>>> +
> >>>> +  Boost Software License - Version 1.0 - August 17th, 2003
> >>>> +
> >>>> +  Permission is hereby granted, free of charge, to any person or organization
> >>>> +  obtaining a copy of the software and accompanying documentation covered by
> >>>> +  this license (the "Software") to use, reproduce, display, distribute,
> >>>> +  execute, and transmit the Software, and to prepare derivative works of the
> >>>> +  Software, and to permit third-parties to whom the Software is furnished to
> >>>> +  do so, all subject to the following:
> >>>> +
> >>>> +  The copyright notices in the Software and this entire statement, including
> >>>> +  the above license grant, this restriction and the following disclaimer,
> >>>> +  must be included in all copies of the Software, in whole or in part, and
> >>>> +  all derivative works of the Software, unless such copies or derivative
> >>>> +  works are solely in the form of machine-executable object code generated by
> >>>> +  a source language processor.
> >>>> +
> >>>> +  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> >>>> +  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> >>>> +  FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
> >>>> +  SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
> >>>> +  FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
> >>>> +  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> >>>> +  DEALINGS IN THE SOFTWARE.
> >>>> [...]
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> > For additional commands, e-mail: dev-help@commons.apache.org
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [commons-numbers] 02/08: Added Boost license for derived works in Complex.

Posted by Alex Herbert <al...@gmail.com>.
On 01/04/2020 14:56, Gilles Sadowski wrote:
> Hi.
>
> Le mer. 1 avr. 2020 à 15:09, Alex Herbert <al...@gmail.com> a écrit :
>>
>> On 01/04/2020 13:10, Gilles Sadowski wrote:
>>> Hello.
>>>
>>> Le mer. 1 avr. 2020 à 12:58, <ah...@apache.org> a écrit :
>>>> This is an automated email from the ASF dual-hosted git repository.
>>>>
>>>> aherbert pushed a commit to branch master
>>>> in repository https://gitbox.apache.org/repos/asf/commons-numbers.git
>>>>
>>>> commit 5f0686220dfd6e94b922e076ef6809de3233cdc4
>>>> Author: aherbert <ah...@apache.org>
>>>> AuthorDate: Wed Apr 1 09:31:16 2020 +0100
>>>>
>>>>       Added Boost license for derived works in Complex.
>>>> ---
>>>>    LICENSE.txt                                        | 44 ++++++++++++++++++----
>>>>    commons-numbers-complex/LICENSE.txt                | 44 ++++++++++++++++++----
>>> My understanding of [1] is that these texts must go to the
>>>       NOTICE
>>> file(s).
>> I interpret this using the section on 'BUNDLING PERMISSIVELY-LICENSED
>> DEPENDENCIES'
> AFAICT, adapting code from a (permissively-licenced) library is not a
> "bundled dependency".
>
> In my understanding, this pragraph applies instead:
> ---CUT---
> Copyright notifications which have been relocated from source files
> (rather than removed) must be preserved in NOTICE. However, elements
> such as the copyright notifications embedded within BSD and MIT
> licenses need not be duplicated in NOTICE -- it suffices to leave
> those notices in their original locations.
> ---CUT---
>
> I could be mistaken, but I think that the "Complex.java" source file
> could not be distributed under two licences. If it were so, which one
> does actually apply?

The legal docs are mainly targetted at inclusion of entire 3rd party 
works. In this case we have snippets adapted from third party works 
included into our code. So perhaps this applies [1]:

---CUT---

WHAT IS THE PROVENANCE OF SOURCE CODE FROM THE ASF?

CODE DEVELOPED ELSEWHERE, RECEIVED UNDER A CATEGORY A LICENSE, 
INCORPORATED INTO APACHE PROJECTS, DISTRIBUTED BY APACHE, AND LICENSED 
TO DOWNSTREAM USERS UNDER ITS ORIGINAL LICENSE

This code retains its external identity and is being incorporated into 
an Apache project for convenience, to avoid referencing an external 
repository whose contents are not under control of the project. The code 
retains its original license; and distribution as part of the Apache 
project explicitly calls out the license. The code retains its original 
header which refers to its own license in the distribution. If changes 
are made to the code while at Apache, the standard Apache header is 
prepended to each changed file. Additionally, any legally-required 
notices related to the code are published in the distribution.

---CUT---

So here we fall into the "If changes are made to the code while at 
Apache" section. We prepend the file with the Apache header and include 
the original license as well.

Since the original code is in a different language the source has been 
modified by necessity. I cannot find a section on software conversions.

It may be clearer to extract the relevant parts that have been adapted 
into a new source file. This can have the Apache header and then the 
original header from the original work. For the two items involved they 
can be extracted into separate files without impacting the original 
location.

I can raise this with the legal team if no-one knows any better.

[1] http://apache.org/foundation/license-faq.html#provenance


>
>> Here it states that we can add the 3rd party license within the LICENSE
>> file.
>>
>>
>> This page describes 'WHAT ARE REQUIRED THIRD-PARTY NOTICES?' [2]
>>
>> "Apache releases should contain a copy of each license, usually
>> contained in the LICENSE document. For many licenses this is a
>> sufficient notice. For some licenses some additional notice is required.
>> In many cases, this will be included within the dependent artifact."
>>
>>
>> So I think that we put the 3rd party notice in LICENSE and then add to
>> NOTICE only if the license text has additional notice requirements. From
>> reading each included licence it appears to me that the LICENSE is all
>> that is required and the 3rd party works have no additional notice
>> requirement.
>>
>> [2] http://apache.org/legal/resolved.html#required-third-party-notices
> This is confusing indeed.
> I'd tend to think that the page that specifically addresses
> the contents of both "LICENCE" and "NOTICE" should be
> the common ground.  [Your interpretation of it may still be
> correct, of course.  Hopefully someone else can give an
> opinion.]
>
>>> Side-note: Files "LICENCE.txt" and "NOTICE.txt" should be renamed
>>> (cf. NUMBERS-146).
>> I can do this if you like.
> Sure, thanks.
>
> Best regards,
> Gilles
>
>> Alex
>>
>>> Best,
>>> Gilles
>>>
>>> [1] http://www.apache.org/dev/licensing-howto.html
>>>
>>>>    .../apache/commons/numbers/complex/Complex.java    | 24 +++++++++++-
>>>>    3 files changed, 94 insertions(+), 18 deletions(-)
>>>>
>>>> diff --git a/LICENSE.txt b/LICENSE.txt
>>>> index 2a5f502..2ae0957 100644
>>>> --- a/LICENSE.txt
>>>> +++ b/LICENSE.txt
>>>> @@ -206,11 +206,39 @@ Class "org.apache.commons.numbers.complex.Complex" contains
>>>>    Java code partly ported from the "Freely Distributable Math Library" in C.
>>>>    The source files contain the following notice:
>>>>
>>>> - * ====================================================
>>>> - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
>>>> - *
>>>> - * Developed at SunSoft, a Sun Microsystems, Inc. business.
>>>> - * Permission to use, copy, modify, and distribute this
>>>> - * software is freely granted, provided that this notice
>>>> - * is preserved.
>>>> - * ====================================================
>>>> +  Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
>>>> +
>>>> +  Developed at SunSoft, a Sun Microsystems, Inc. business.
>>>> +  Permission to use, copy, modify, and distribute this
>>>> +  software is freely granted, provided that this notice
>>>> +  is preserved.
>>>> +
>>>> +================================================================================
>>>> +
>>>> +Class "org.apache.commons.numbers.complex.Complex" contains
>>>> +Java code partly ported from the "Boost C++ Libraries" <boost/math/complex>.
>>>> +The source files contain the following notice:
>>>> +
>>>> +  Boost Software License - Version 1.0 - August 17th, 2003
>>>> +
>>>> +  Permission is hereby granted, free of charge, to any person or organization
>>>> +  obtaining a copy of the software and accompanying documentation covered by
>>>> +  this license (the "Software") to use, reproduce, display, distribute,
>>>> +  execute, and transmit the Software, and to prepare derivative works of the
>>>> +  Software, and to permit third-parties to whom the Software is furnished to
>>>> +  do so, all subject to the following:
>>>> +
>>>> +  The copyright notices in the Software and this entire statement, including
>>>> +  the above license grant, this restriction and the following disclaimer,
>>>> +  must be included in all copies of the Software, in whole or in part, and
>>>> +  all derivative works of the Software, unless such copies or derivative
>>>> +  works are solely in the form of machine-executable object code generated by
>>>> +  a source language processor.
>>>> +
>>>> +  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
>>>> +  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
>>>> +  FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
>>>> +  SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
>>>> +  FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
>>>> +  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>>>> +  DEALINGS IN THE SOFTWARE.
>>>> diff --git a/commons-numbers-complex/LICENSE.txt b/commons-numbers-complex/LICENSE.txt
>>>> index 2a5f502..2ae0957 100644
>>>> --- a/commons-numbers-complex/LICENSE.txt
>>>> +++ b/commons-numbers-complex/LICENSE.txt
>>>> @@ -206,11 +206,39 @@ Class "org.apache.commons.numbers.complex.Complex" contains
>>>>    Java code partly ported from the "Freely Distributable Math Library" in C.
>>>>    The source files contain the following notice:
>>>>
>>>> - * ====================================================
>>>> - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
>>>> - *
>>>> - * Developed at SunSoft, a Sun Microsystems, Inc. business.
>>>> - * Permission to use, copy, modify, and distribute this
>>>> - * software is freely granted, provided that this notice
>>>> - * is preserved.
>>>> - * ====================================================
>>>> +  Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
>>>> +
>>>> +  Developed at SunSoft, a Sun Microsystems, Inc. business.
>>>> +  Permission to use, copy, modify, and distribute this
>>>> +  software is freely granted, provided that this notice
>>>> +  is preserved.
>>>> +
>>>> +================================================================================
>>>> +
>>>> +Class "org.apache.commons.numbers.complex.Complex" contains
>>>> +Java code partly ported from the "Boost C++ Libraries" <boost/math/complex>.
>>>> +The source files contain the following notice:
>>>> +
>>>> +  Boost Software License - Version 1.0 - August 17th, 2003
>>>> +
>>>> +  Permission is hereby granted, free of charge, to any person or organization
>>>> +  obtaining a copy of the software and accompanying documentation covered by
>>>> +  this license (the "Software") to use, reproduce, display, distribute,
>>>> +  execute, and transmit the Software, and to prepare derivative works of the
>>>> +  Software, and to permit third-parties to whom the Software is furnished to
>>>> +  do so, all subject to the following:
>>>> +
>>>> +  The copyright notices in the Software and this entire statement, including
>>>> +  the above license grant, this restriction and the following disclaimer,
>>>> +  must be included in all copies of the Software, in whole or in part, and
>>>> +  all derivative works of the Software, unless such copies or derivative
>>>> +  works are solely in the form of machine-executable object code generated by
>>>> +  a source language processor.
>>>> +
>>>> +  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
>>>> +  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
>>>> +  FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
>>>> +  SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
>>>> +  FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
>>>> +  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>>>> +  DEALINGS IN THE SOFTWARE.
>>>> [...]
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [commons-numbers] 02/08: Added Boost license for derived works in Complex.

Posted by Gilles Sadowski <gi...@gmail.com>.
Hi.

Le mer. 1 avr. 2020 à 15:09, Alex Herbert <al...@gmail.com> a écrit :
>
>
> On 01/04/2020 13:10, Gilles Sadowski wrote:
> > Hello.
> >
> > Le mer. 1 avr. 2020 à 12:58, <ah...@apache.org> a écrit :
> >> This is an automated email from the ASF dual-hosted git repository.
> >>
> >> aherbert pushed a commit to branch master
> >> in repository https://gitbox.apache.org/repos/asf/commons-numbers.git
> >>
> >> commit 5f0686220dfd6e94b922e076ef6809de3233cdc4
> >> Author: aherbert <ah...@apache.org>
> >> AuthorDate: Wed Apr 1 09:31:16 2020 +0100
> >>
> >>      Added Boost license for derived works in Complex.
> >> ---
> >>   LICENSE.txt                                        | 44 ++++++++++++++++++----
> >>   commons-numbers-complex/LICENSE.txt                | 44 ++++++++++++++++++----
> > My understanding of [1] is that these texts must go to the
> >      NOTICE
> > file(s).
>
> I interpret this using the section on 'BUNDLING PERMISSIVELY-LICENSED
> DEPENDENCIES'

AFAICT, adapting code from a (permissively-licenced) library is not a
"bundled dependency".

In my understanding, this pragraph applies instead:
---CUT---
Copyright notifications which have been relocated from source files
(rather than removed) must be preserved in NOTICE. However, elements
such as the copyright notifications embedded within BSD and MIT
licenses need not be duplicated in NOTICE -- it suffices to leave
those notices in their original locations.
---CUT---

I could be mistaken, but I think that the "Complex.java" source file
could not be distributed under two licences. If it were so, which one
does actually apply?

>
> Here it states that we can add the 3rd party license within the LICENSE
> file.
>
>
> This page describes 'WHAT ARE REQUIRED THIRD-PARTY NOTICES?' [2]
>
> "Apache releases should contain a copy of each license, usually
> contained in the LICENSE document. For many licenses this is a
> sufficient notice. For some licenses some additional notice is required.
> In many cases, this will be included within the dependent artifact."
>
>
> So I think that we put the 3rd party notice in LICENSE and then add to
> NOTICE only if the license text has additional notice requirements. From
> reading each included licence it appears to me that the LICENSE is all
> that is required and the 3rd party works have no additional notice
> requirement.
>
> [2] http://apache.org/legal/resolved.html#required-third-party-notices

This is confusing indeed.
I'd tend to think that the page that specifically addresses
the contents of both "LICENCE" and "NOTICE" should be
the common ground.  [Your interpretation of it may still be
correct, of course.  Hopefully someone else can give an
opinion.]

>
> > Side-note: Files "LICENCE.txt" and "NOTICE.txt" should be renamed
> > (cf. NUMBERS-146).
>
> I can do this if you like.

Sure, thanks.

Best regards,
Gilles

>
> Alex
>
> >
> > Best,
> > Gilles
> >
> > [1] http://www.apache.org/dev/licensing-howto.html
> >
> >>   .../apache/commons/numbers/complex/Complex.java    | 24 +++++++++++-
> >>   3 files changed, 94 insertions(+), 18 deletions(-)
> >>
> >> diff --git a/LICENSE.txt b/LICENSE.txt
> >> index 2a5f502..2ae0957 100644
> >> --- a/LICENSE.txt
> >> +++ b/LICENSE.txt
> >> @@ -206,11 +206,39 @@ Class "org.apache.commons.numbers.complex.Complex" contains
> >>   Java code partly ported from the "Freely Distributable Math Library" in C.
> >>   The source files contain the following notice:
> >>
> >> - * ====================================================
> >> - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
> >> - *
> >> - * Developed at SunSoft, a Sun Microsystems, Inc. business.
> >> - * Permission to use, copy, modify, and distribute this
> >> - * software is freely granted, provided that this notice
> >> - * is preserved.
> >> - * ====================================================
> >> +  Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
> >> +
> >> +  Developed at SunSoft, a Sun Microsystems, Inc. business.
> >> +  Permission to use, copy, modify, and distribute this
> >> +  software is freely granted, provided that this notice
> >> +  is preserved.
> >> +
> >> +================================================================================
> >> +
> >> +Class "org.apache.commons.numbers.complex.Complex" contains
> >> +Java code partly ported from the "Boost C++ Libraries" <boost/math/complex>.
> >> +The source files contain the following notice:
> >> +
> >> +  Boost Software License - Version 1.0 - August 17th, 2003
> >> +
> >> +  Permission is hereby granted, free of charge, to any person or organization
> >> +  obtaining a copy of the software and accompanying documentation covered by
> >> +  this license (the "Software") to use, reproduce, display, distribute,
> >> +  execute, and transmit the Software, and to prepare derivative works of the
> >> +  Software, and to permit third-parties to whom the Software is furnished to
> >> +  do so, all subject to the following:
> >> +
> >> +  The copyright notices in the Software and this entire statement, including
> >> +  the above license grant, this restriction and the following disclaimer,
> >> +  must be included in all copies of the Software, in whole or in part, and
> >> +  all derivative works of the Software, unless such copies or derivative
> >> +  works are solely in the form of machine-executable object code generated by
> >> +  a source language processor.
> >> +
> >> +  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> >> +  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> >> +  FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
> >> +  SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
> >> +  FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
> >> +  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> >> +  DEALINGS IN THE SOFTWARE.
> >> diff --git a/commons-numbers-complex/LICENSE.txt b/commons-numbers-complex/LICENSE.txt
> >> index 2a5f502..2ae0957 100644
> >> --- a/commons-numbers-complex/LICENSE.txt
> >> +++ b/commons-numbers-complex/LICENSE.txt
> >> @@ -206,11 +206,39 @@ Class "org.apache.commons.numbers.complex.Complex" contains
> >>   Java code partly ported from the "Freely Distributable Math Library" in C.
> >>   The source files contain the following notice:
> >>
> >> - * ====================================================
> >> - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
> >> - *
> >> - * Developed at SunSoft, a Sun Microsystems, Inc. business.
> >> - * Permission to use, copy, modify, and distribute this
> >> - * software is freely granted, provided that this notice
> >> - * is preserved.
> >> - * ====================================================
> >> +  Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
> >> +
> >> +  Developed at SunSoft, a Sun Microsystems, Inc. business.
> >> +  Permission to use, copy, modify, and distribute this
> >> +  software is freely granted, provided that this notice
> >> +  is preserved.
> >> +
> >> +================================================================================
> >> +
> >> +Class "org.apache.commons.numbers.complex.Complex" contains
> >> +Java code partly ported from the "Boost C++ Libraries" <boost/math/complex>.
> >> +The source files contain the following notice:
> >> +
> >> +  Boost Software License - Version 1.0 - August 17th, 2003
> >> +
> >> +  Permission is hereby granted, free of charge, to any person or organization
> >> +  obtaining a copy of the software and accompanying documentation covered by
> >> +  this license (the "Software") to use, reproduce, display, distribute,
> >> +  execute, and transmit the Software, and to prepare derivative works of the
> >> +  Software, and to permit third-parties to whom the Software is furnished to
> >> +  do so, all subject to the following:
> >> +
> >> +  The copyright notices in the Software and this entire statement, including
> >> +  the above license grant, this restriction and the following disclaimer,
> >> +  must be included in all copies of the Software, in whole or in part, and
> >> +  all derivative works of the Software, unless such copies or derivative
> >> +  works are solely in the form of machine-executable object code generated by
> >> +  a source language processor.
> >> +
> >> +  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> >> +  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> >> +  FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
> >> +  SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
> >> +  FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
> >> +  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> >> +  DEALINGS IN THE SOFTWARE.
> >> [...]

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [commons-numbers] 02/08: Added Boost license for derived works in Complex.

Posted by Alex Herbert <al...@gmail.com>.
On 01/04/2020 13:10, Gilles Sadowski wrote:
> Hello.
>
> Le mer. 1 avr. 2020 à 12:58, <ah...@apache.org> a écrit :
>> This is an automated email from the ASF dual-hosted git repository.
>>
>> aherbert pushed a commit to branch master
>> in repository https://gitbox.apache.org/repos/asf/commons-numbers.git
>>
>> commit 5f0686220dfd6e94b922e076ef6809de3233cdc4
>> Author: aherbert <ah...@apache.org>
>> AuthorDate: Wed Apr 1 09:31:16 2020 +0100
>>
>>      Added Boost license for derived works in Complex.
>> ---
>>   LICENSE.txt                                        | 44 ++++++++++++++++++----
>>   commons-numbers-complex/LICENSE.txt                | 44 ++++++++++++++++++----
> My understanding of [1] is that these texts must go to the
>      NOTICE
> file(s).

I interpret this using the section on 'BUNDLING PERMISSIVELY-LICENSED 
DEPENDENCIES'

Here it states that we can add the 3rd party license within the LICENSE 
file.


This page describes 'WHAT ARE REQUIRED THIRD-PARTY NOTICES?' [2]

"Apache releases should contain a copy of each license, usually 
contained in the LICENSE document. For many licenses this is a 
sufficient notice. For some licenses some additional notice is required. 
In many cases, this will be included within the dependent artifact."


So I think that we put the 3rd party notice in LICENSE and then add to 
NOTICE only if the license text has additional notice requirements. From 
reading each included licence it appears to me that the LICENSE is all 
that is required and the 3rd party works have no additional notice 
requirement.


[2] http://apache.org/legal/resolved.html#required-third-party-notices


> Side-note: Files "LICENCE.txt" and "NOTICE.txt" should be renamed
> (cf. NUMBERS-146).

I can do this if you like.

Alex

>
> Best,
> Gilles
>
> [1] http://www.apache.org/dev/licensing-howto.html
>
>>   .../apache/commons/numbers/complex/Complex.java    | 24 +++++++++++-
>>   3 files changed, 94 insertions(+), 18 deletions(-)
>>
>> diff --git a/LICENSE.txt b/LICENSE.txt
>> index 2a5f502..2ae0957 100644
>> --- a/LICENSE.txt
>> +++ b/LICENSE.txt
>> @@ -206,11 +206,39 @@ Class "org.apache.commons.numbers.complex.Complex" contains
>>   Java code partly ported from the "Freely Distributable Math Library" in C.
>>   The source files contain the following notice:
>>
>> - * ====================================================
>> - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
>> - *
>> - * Developed at SunSoft, a Sun Microsystems, Inc. business.
>> - * Permission to use, copy, modify, and distribute this
>> - * software is freely granted, provided that this notice
>> - * is preserved.
>> - * ====================================================
>> +  Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
>> +
>> +  Developed at SunSoft, a Sun Microsystems, Inc. business.
>> +  Permission to use, copy, modify, and distribute this
>> +  software is freely granted, provided that this notice
>> +  is preserved.
>> +
>> +================================================================================
>> +
>> +Class "org.apache.commons.numbers.complex.Complex" contains
>> +Java code partly ported from the "Boost C++ Libraries" <boost/math/complex>.
>> +The source files contain the following notice:
>> +
>> +  Boost Software License - Version 1.0 - August 17th, 2003
>> +
>> +  Permission is hereby granted, free of charge, to any person or organization
>> +  obtaining a copy of the software and accompanying documentation covered by
>> +  this license (the "Software") to use, reproduce, display, distribute,
>> +  execute, and transmit the Software, and to prepare derivative works of the
>> +  Software, and to permit third-parties to whom the Software is furnished to
>> +  do so, all subject to the following:
>> +
>> +  The copyright notices in the Software and this entire statement, including
>> +  the above license grant, this restriction and the following disclaimer,
>> +  must be included in all copies of the Software, in whole or in part, and
>> +  all derivative works of the Software, unless such copies or derivative
>> +  works are solely in the form of machine-executable object code generated by
>> +  a source language processor.
>> +
>> +  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
>> +  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
>> +  FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
>> +  SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
>> +  FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
>> +  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>> +  DEALINGS IN THE SOFTWARE.
>> diff --git a/commons-numbers-complex/LICENSE.txt b/commons-numbers-complex/LICENSE.txt
>> index 2a5f502..2ae0957 100644
>> --- a/commons-numbers-complex/LICENSE.txt
>> +++ b/commons-numbers-complex/LICENSE.txt
>> @@ -206,11 +206,39 @@ Class "org.apache.commons.numbers.complex.Complex" contains
>>   Java code partly ported from the "Freely Distributable Math Library" in C.
>>   The source files contain the following notice:
>>
>> - * ====================================================
>> - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
>> - *
>> - * Developed at SunSoft, a Sun Microsystems, Inc. business.
>> - * Permission to use, copy, modify, and distribute this
>> - * software is freely granted, provided that this notice
>> - * is preserved.
>> - * ====================================================
>> +  Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
>> +
>> +  Developed at SunSoft, a Sun Microsystems, Inc. business.
>> +  Permission to use, copy, modify, and distribute this
>> +  software is freely granted, provided that this notice
>> +  is preserved.
>> +
>> +================================================================================
>> +
>> +Class "org.apache.commons.numbers.complex.Complex" contains
>> +Java code partly ported from the "Boost C++ Libraries" <boost/math/complex>.
>> +The source files contain the following notice:
>> +
>> +  Boost Software License - Version 1.0 - August 17th, 2003
>> +
>> +  Permission is hereby granted, free of charge, to any person or organization
>> +  obtaining a copy of the software and accompanying documentation covered by
>> +  this license (the "Software") to use, reproduce, display, distribute,
>> +  execute, and transmit the Software, and to prepare derivative works of the
>> +  Software, and to permit third-parties to whom the Software is furnished to
>> +  do so, all subject to the following:
>> +
>> +  The copyright notices in the Software and this entire statement, including
>> +  the above license grant, this restriction and the following disclaimer,
>> +  must be included in all copies of the Software, in whole or in part, and
>> +  all derivative works of the Software, unless such copies or derivative
>> +  works are solely in the form of machine-executable object code generated by
>> +  a source language processor.
>> +
>> +  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
>> +  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
>> +  FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
>> +  SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
>> +  FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
>> +  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>> +  DEALINGS IN THE SOFTWARE.
>> diff --git a/commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex/Complex.java b/commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex/Complex.java
>> index dcb4cff..5a53698 100644
>> --- a/commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex/Complex.java
>> +++ b/commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex/Complex.java
>> @@ -1307,6 +1307,14 @@ public final class Complex implements Serializable  {
>>        * <p>This function exists to allow implementation of the identity
>>        * {@code acosh(z) = +-i acos(z)}.
>>        *
>> +     * <p>Adapted from {@code <boost/math/complex/acos.hpp>}.
>> +     * The original notice is shown below and the licence is shown in full in LICENSE.txt:
>> +     * <pre>
>> +     * (C) Copyright John Maddock 2005.
>> +     * Distributed under the Boost Software License, Version 1.0. (See accompanying
>> +     * file LICENSE.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
>> +     * </pre>
>> +     *
>>        * @param real Real part.
>>        * @param imaginary Imaginary part.
>>        * @param constructor Constructor.
>> @@ -1475,8 +1483,13 @@ public final class Complex implements Serializable  {
>>        * <p>This function exists to allow implementation of the identity
>>        * {@code asinh(z) = -i asin(iz)}.
>>        *
>> -     * <p>The code has been adapted from the <a href="https://www.boost.org/">Boost</a>
>> -     * {@code c++} implementation {@code <boost/math/complex/asin.hpp>}.</p>
>> +     * <p>Adapted from {@code <boost/math/complex/asin.hpp>}.
>> +     * The original notice is shown below and the licence is shown in full in LICENSE.txt:
>> +     * <pre>
>> +     * (C) Copyright John Maddock 2005.
>> +     * Distributed under the Boost Software License, Version 1.0. (See accompanying
>> +     * file LICENSE.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
>> +     * </pre>
>>        *
>>        * @param real Real part.
>>        * @param imaginary Imaginary part.
>> @@ -1727,6 +1740,13 @@ public final class Complex implements Serializable  {
>>        * <p>This function exists to allow implementation of the identity
>>        * {@code atan(z) = -i atanh(iz)}.
>>        *
>> +     * The original notice is shown below and the licence is shown in full in LICENSE.txt:
>> +     * <pre>
>> +     * (C) Copyright John Maddock 2005.
>> +     * Distributed under the Boost Software License, Version 1.0. (See accompanying
>> +     * file LICENSE.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
>> +     * </pre>
>> +     *
>>        * @param real Real part.
>>        * @param imaginary Imaginary part.
>>        * @param constructor Constructor.
>>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org