Justin,
Thank you for your detailed response!  This is very helpful.

I will address each one of your license issues:

1. src/main/java/org/apache/datasketches/memory/AccessByteBuffer.java
There is only one method (6 lines long) in this entire file that was
"adapted" from the the original source file and is properly attributed  in
the Javadoc for the method and referenced in the LICENSE file.   Even this
method is modified quite a bit from the original.  Putting their license
header at the top of the file would be disregarding our original code in
the rest of the file.
My recommendation is to leave it as it is.  But if you have a suggestion as
to how this should be handled better, please let me know.

2. src/main/java/org/apache/datasketches/memory/XxHash64.java
About half of the original was copied (in form) and extensively modified.
Considerable functionality was removed and replaced with completely new
functionality.  The source is attributed at the top of the file and in the
LICENSE file.  Because of the extensive modifications, and the presence of
our original code, putting their license header at the top of the file
would be disregarding our original code in the rest of the file.  My
recommendation is to leave it as it is.  But please advise.

3. src/test/java/org/apache/datasketches/memory/XxHash64Test.java
Only one method in this file (~15 lines) is adapted from the original
source and every one of the lines had to be modified to suit our
environment.
The source is attributed at the top of the file and in the LICENSE file.
Because of the extensive modifications, and the presence of our original
code, putting their license header at the top of the file would be
disregarding our original code in the rest of the file.  My recommendation
is to leave it as it is.  But please advise.

4. src/test/java/org/apache/datasketches/memory/XxHash64LoopingTest.java
This file contains one method (~7 lines), which is heavily adapted from the
original source, and about 1000 static data values that are used in a
bit-for-bit compatibility test to make sure our implementation of this hash
function produces the exact same hashes bit-for-bit!  Even so, this file is
not an exact copy of the original.   The source is attributed at the top of
the file and in the LICENSE file. Perhaps it could be argued that because
the majority of this file contains a copy of their test data, Their
copyright header should be used.  Even that would disregard the
modifications we did make.  My recommendation is to leave it as it is.  But
please advise.

5. src/main/java/org/apache/datasketches/memory/Utf8.java
This file adapts portions of the original with extensive modifications.
Method names are changed, looping methods are different, etc.  Some of the
same code comments are copied over, but additional code comments were
added.  Again, bit-for-bit compatibility is critical.  The source is
attributed at the top of the file and in the LICENSE file.  My
recommendation is to leave it as it is.  But please advise.

6. src/test/java/org/apache/datasketches/memory/Utf8Test.java
This file adapts portions of the original with modifications. Some of the
same code comments are copied over, but additional code comments were
added.  It could be argued that the original license header could be placed
at the top.  The source is attributed at the top of the file and in the
LICENSE file.  My recommendation is to leave it as it is.  But please
advise.


7 src/test/java/org/apache/datasketches/memory/IsValidUtf8TestUtil.java
This is a vastly stripped down version of the original.   It could be
argued that the original license header could be placed at the top.  The
source is attributed at the top of the file and in the LICENSE file.  My
recommendation is to leave it as it is.  But please advise.

8 src/main/java/org/apache/datasketches/memory/XxHash64.java  Duplicate of
#2.

Of all of these, perhaps #4, #6, #7 (perhaps #5) could have the source
license header at the top.  Even so, that would be incredibly conservative
and generous.

Lee.



On Tue, Aug 20, 2019 at 9:04 PM Justin Mclean <jus...@classsoftware.com>
wrote:

> Hi,
>
> +1 (binding)
>
> I checked:
> - incubating in name
> - signatures and hashes fine
> - DISCLAIMER exists and uses the WIP text. you also might want to fill in
> #Podling-Name#
> - LICENSE is OK. Do you know what is missing?
> - NOTICE is fine
> - NO binary files in release
> - All source files have ASF header
> - Can compile from source
>
> There’s some very minor issues:
> - I assume that some of the files may have an incorrect header?
> [1][2][3][4][6][7][8]. 3rd party headers should probably not be replaced
> with ASF ones [9] unless they have been extensively modified. This shod be
> mentioned in the DISCLAIMER.
> - In LICENSE there is probably no need to mention the java files that use
> the Gettysburg address.
> - "lee...@users.noreply.github.com” is probably not the best email to
> sign the release with, please use an apache one in future.
> - It’s nicer if the source unzips into a directory
>
> Thanks,
> Justin
>
> 1. src/main/java/org/apache/datasketches/memory/AccessByteBuffer.java
> 2. src/main/java/org/apache/datasketches/memory/XxHash64.java
> 3. src/test/java/org/apache/datasketches/memory/XxHash64Test.java
> 4. src/test/java/org/apache/datasketches/memory/XxHash64LoopingTest.java
> 5. src/main/java/org/apache/datasketches/memory/Utf8.java
> 6. src/test/java/org/apache/datasketches/memory/Utf8Test.java
> 7 src/test/java/org/apache/datasketches/memory/IsValidUtf8TestUtil.java
> 8 src/main/java/org/apache/datasketches/memory/XxHash64.java
> 9 https://www.apache.org/legal/src-headers.html#3party
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
> For additional commands, e-mail: general-h...@incubator.apache.org
>
>

Reply via email to