On 01/04/2020 15:51, Gilles Sadowski wrote:
Le mer. 1 avr. 2020 à 16:27, Alex Herbert <alex.d.herb...@gmail.com> a écrit :

On 01/04/2020 14:56, Gilles Sadowski wrote:
Hi.

Le mer. 1 avr. 2020 à 15:09, Alex Herbert <alex.d.herb...@gmail.com> a écrit :
On 01/04/2020 13:10, Gilles Sadowski wrote:
Hello.

Le mer. 1 avr. 2020 à 12:58, <aherb...@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 <aherb...@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-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

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

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


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

Reply via email to