[IO] Provenance of copied code in InfiniteCircularInputStream

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

[IO] Provenance of copied code in InfiniteCircularInputStream

garydgregory
Hi All and Pascal S.,

Sharon (Eclipse) has pointed out to me that
in org.apache.commons.io.input.InfiniteCircularInputStream.read() [1], we
have:

    @Override
    public int read() {
        position = (position + 1) % repeatedContent.length;
        return repeatedContent[position] & 0xff; // copied from
                                                 //
java.io.ByteArrayInputStream.read()
    }

Where does the code originate? Oracle JRE? OpenJDK? Where? Such a comment
needs to show better provenance since I am pretty sure we are NOT allowed
to copy code from Oracle.

The code was added with the commit

https://github.com/apache/commons-io/commit/699d6f0eca65837501d7ab7a92ae2c614f8e6cbf#diff-5cdd5f292c77ae5feee8f3f101ded473

With this authorship:

[image: @piotrturski] <https://github.com/piotrturski>[image:
@PascalSchumacher] <https://github.com/PascalSchumacher>
piotrturski
<https://github.com/apache/commons-io/commits?author=piotrturski> authored
and PascalSchumacher
<https://github.com/apache/commons-io/commits?author=PascalSchumacher>
 committed on Dec 1, 2015

Gary

[1]
https://github.com/apache/commons-io/blob/3ad22fe3d689781a76a92908d0bbc119b2c68892/src/main/java/org/apache/commons/io/input/InfiniteCircularInputStream.java#L48-L49
Reply | Threaded
Open this post in threaded view
|

Re: [IO] Provenance of copied code in InfiniteCircularInputStream

Pascal Schumacher
Hi everybody,

the code is from a pull request which I merged:

https://github.com/apache/commons-io/pull/8

I did not author the code.

The comment seems incorrect because I do not think there is a field
"repeatedContent" in java.io.ByteArrayInputStream. The current OpenJDK
implementation looks pretty different:

http://hg.openjdk.java.net/jdk/jdk/file/49e0f711bb2b/src/java.base/share/classes/java/io/ByteArrayInputStream.java#l146

-Pascal

Am 19.11.2018 um 16:59 schrieb Gary Gregory:

> Hi All and Pascal S.,
>
> Sharon (Eclipse) has pointed out to me that
> in org.apache.commons.io.input.InfiniteCircularInputStream.read() [1],
> we have:
>
>     @Override
>     public int read() {
>         position = (position + 1) % repeatedContent.length;
>         return repeatedContent[position] & 0xff; // copied from
>  // java.io.ByteArrayInputStream.read()
>     }
>
> Where does the code originate? Oracle JRE? OpenJDK? Where? Such a
> comment needs to show better provenance since I am pretty sure we are
> NOT allowed to copy code from Oracle.
>
> The code was added with the commit
>
> https://github.com/apache/commons-io/commit/699d6f0eca65837501d7ab7a92ae2c614f8e6cbf#diff-5cdd5f292c77ae5feee8f3f101ded473
>
> With this authorship:
>
> @piotrturski <https://github.com/piotrturski>@PascalSchumacher
> <https://github.com/PascalSchumacher>
> piotrturski
> <https://github.com/apache/commons-io/commits?author=piotrturski> authored
> and PascalSchumacher
> <https://github.com/apache/commons-io/commits?author=PascalSchumacher> committed
> on Dec 1, 2015
>
> Gary
>
> [1]
> https://github.com/apache/commons-io/blob/3ad22fe3d689781a76a92908d0bbc119b2c68892/src/main/java/org/apache/commons/io/input/InfiniteCircularInputStream.java#L48-L49
>

Reply | Threaded
Open this post in threaded view
|

Re: [IO] Provenance of copied code in InfiniteCircularInputStream

Mark Thomas
I'd image the comment is referring to the use of "... & 0xFF" but it
seems to be a fairly pointless comment as that is just the standard way
to switch from signed byte to 'unsigned' int values.

I can't see what else it could possibly be referring to.

I don't see any IP issue here.

I'd suggest simply removing the comment but with a fairly verbose commit
message to help anyone looking into this in the future.

Mark


On 19/11/2018 16:57, Pascal Schumacher wrote:

> Hi everybody,
>
> the code is from a pull request which I merged:
>
> https://github.com/apache/commons-io/pull/8
>
> I did not author the code.
>
> The comment seems incorrect because I do not think there is a field
> "repeatedContent" in java.io.ByteArrayInputStream. The current OpenJDK
> implementation looks pretty different:
>
> http://hg.openjdk.java.net/jdk/jdk/file/49e0f711bb2b/src/java.base/share/classes/java/io/ByteArrayInputStream.java#l146
>
>
> -Pascal
>
> Am 19.11.2018 um 16:59 schrieb Gary Gregory:
>> Hi All and Pascal S.,
>>
>> Sharon (Eclipse) has pointed out to me that
>> in org.apache.commons.io.input.InfiniteCircularInputStream.read() [1],
>> we have:
>>
>>     @Override
>>     public int read() {
>>         position = (position + 1) % repeatedContent.length;
>>         return repeatedContent[position] & 0xff; // copied from
>>  // java.io.ByteArrayInputStream.read()
>>     }
>>
>> Where does the code originate? Oracle JRE? OpenJDK? Where? Such a
>> comment needs to show better provenance since I am pretty sure we are
>> NOT allowed to copy code from Oracle.
>>
>> The code was added with the commit
>>
>> https://github.com/apache/commons-io/commit/699d6f0eca65837501d7ab7a92ae2c614f8e6cbf#diff-5cdd5f292c77ae5feee8f3f101ded473
>>
>>
>> With this authorship:
>>
>> @piotrturski <https://github.com/piotrturski>@PascalSchumacher
>> <https://github.com/PascalSchumacher>
>> piotrturski
>> <https://github.com/apache/commons-io/commits?author=piotrturski> authored
>> and PascalSchumacher
>> <https://github.com/apache/commons-io/commits?author=PascalSchumacher> committed
>> on Dec 1, 2015
>>
>> Gary
>>
>> [1]
>> https://github.com/apache/commons-io/blob/3ad22fe3d689781a76a92908d0bbc119b2c68892/src/main/java/org/apache/commons/io/input/InfiniteCircularInputStream.java#L48-L49
>>
>>
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [IO] Provenance of copied code in InfiniteCircularInputStream

garydgregory
Hi All:

I agree that the 0xff usage does not need to be documented, and while I do
see it used in ByteArrayInputStream#read() in Oracle Java 6, I really do
not think we need to refer to it.

I am +1 to removing the comment. Who will do the honors?

Gary

On Mon, Nov 19, 2018 at 10:15 AM Mark Thomas <[hidden email]> wrote:

> I'd image the comment is referring to the use of "... & 0xFF" but it
> seems to be a fairly pointless comment as that is just the standard way
> to switch from signed byte to 'unsigned' int values.
>
> I can't see what else it could possibly be referring to.
>
> I don't see any IP issue here.
>
> I'd suggest simply removing the comment but with a fairly verbose commit
> message to help anyone looking into this in the future.
>
> Mark
>
>
> On 19/11/2018 16:57, Pascal Schumacher wrote:
> > Hi everybody,
> >
> > the code is from a pull request which I merged:
> >
> > https://github.com/apache/commons-io/pull/8
> >
> > I did not author the code.
> >
> > The comment seems incorrect because I do not think there is a field
> > "repeatedContent" in java.io.ByteArrayInputStream. The current OpenJDK
> > implementation looks pretty different:
> >
> >
> http://hg.openjdk.java.net/jdk/jdk/file/49e0f711bb2b/src/java.base/share/classes/java/io/ByteArrayInputStream.java#l146
> >
> >
> > -Pascal
> >
> > Am 19.11.2018 um 16:59 schrieb Gary Gregory:
> >> Hi All and Pascal S.,
> >>
> >> Sharon (Eclipse) has pointed out to me that
> >> in org.apache.commons.io.input.InfiniteCircularInputStream.read() [1],
> >> we have:
> >>
> >>     @Override
> >>     public int read() {
> >>         position = (position + 1) % repeatedContent.length;
> >>         return repeatedContent[position] & 0xff; // copied from
> >>  // java.io.ByteArrayInputStream.read()
> >>     }
> >>
> >> Where does the code originate? Oracle JRE? OpenJDK? Where? Such a
> >> comment needs to show better provenance since I am pretty sure we are
> >> NOT allowed to copy code from Oracle.
> >>
> >> The code was added with the commit
> >>
> >>
> https://github.com/apache/commons-io/commit/699d6f0eca65837501d7ab7a92ae2c614f8e6cbf#diff-5cdd5f292c77ae5feee8f3f101ded473
> >>
> >>
> >> With this authorship:
> >>
> >> @piotrturski <https://github.com/piotrturski>@PascalSchumacher
> >> <https://github.com/PascalSchumacher>
> >> piotrturski
> >> <https://github.com/apache/commons-io/commits?author=piotrturski
> > authored
> >> and PascalSchumacher
> >> <https://github.com/apache/commons-io/commits?author=PascalSchumacher
> > committed
> >> on Dec 1, 2015
> >>
> >> Gary
> >>
> >> [1]
> >>
> https://github.com/apache/commons-io/blob/3ad22fe3d689781a76a92908d0bbc119b2c68892/src/main/java/org/apache/commons/io/input/InfiniteCircularInputStream.java#L48-L49
> >>
> >>
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
Reply | Threaded
Open this post in threaded view
|

Re: [IO] Provenance of copied code in InfiniteCircularInputStream

Sharon Corbett
Thanks for the quick investigation and response.

It's appreciated!

Regards,
Sharon



On Mon, Nov 19, 2018 at 4:36 PM Gary Gregory <[hidden email]> wrote:

> Hi All:
>
> I agree that the 0xff usage does not need to be documented, and while I do
> see it used in ByteArrayInputStream#read() in Oracle Java 6, I really do
> not think we need to refer to it.
>
> I am +1 to removing the comment. Who will do the honors?
>
> Gary
>
> On Mon, Nov 19, 2018 at 10:15 AM Mark Thomas <[hidden email]> wrote:
>
>> I'd image the comment is referring to the use of "... & 0xFF" but it
>> seems to be a fairly pointless comment as that is just the standard way
>> to switch from signed byte to 'unsigned' int values.
>>
>> I can't see what else it could possibly be referring to.
>>
>> I don't see any IP issue here.
>>
>> I'd suggest simply removing the comment but with a fairly verbose commit
>> message to help anyone looking into this in the future.
>>
>> Mark
>>
>>
>> On 19/11/2018 16:57, Pascal Schumacher wrote:
>> > Hi everybody,
>> >
>> > the code is from a pull request which I merged:
>> >
>> > https://github.com/apache/commons-io/pull/8
>> >
>> > I did not author the code.
>> >
>> > The comment seems incorrect because I do not think there is a field
>> > "repeatedContent" in java.io.ByteArrayInputStream. The current OpenJDK
>> > implementation looks pretty different:
>> >
>> >
>> http://hg.openjdk.java.net/jdk/jdk/file/49e0f711bb2b/src/java.base/share/classes/java/io/ByteArrayInputStream.java#l146
>> >
>> >
>> > -Pascal
>> >
>> > Am 19.11.2018 um 16:59 schrieb Gary Gregory:
>> >> Hi All and Pascal S.,
>> >>
>> >> Sharon (Eclipse) has pointed out to me that
>> >> in org.apache.commons.io.input.InfiniteCircularInputStream.read() [1],
>> >> we have:
>> >>
>> >>     @Override
>> >>     public int read() {
>> >>         position = (position + 1) % repeatedContent.length;
>> >>         return repeatedContent[position] & 0xff; // copied from
>> >>  // java.io.ByteArrayInputStream.read()
>> >>     }
>> >>
>> >> Where does the code originate? Oracle JRE? OpenJDK? Where? Such a
>> >> comment needs to show better provenance since I am pretty sure we are
>> >> NOT allowed to copy code from Oracle.
>> >>
>> >> The code was added with the commit
>> >>
>> >>
>> https://github.com/apache/commons-io/commit/699d6f0eca65837501d7ab7a92ae2c614f8e6cbf#diff-5cdd5f292c77ae5feee8f3f101ded473
>> >>
>> >>
>> >> With this authorship:
>> >>
>> >> @piotrturski <https://github.com/piotrturski>@PascalSchumacher
>> >> <https://github.com/PascalSchumacher>
>> >> piotrturski
>> >> <https://github.com/apache/commons-io/commits?author=piotrturski
>> > authored
>> >> and PascalSchumacher
>> >> <https://github.com/apache/commons-io/commits?author=PascalSchumacher
>> > committed
>> >> on Dec 1, 2015
>> >>
>> >> Gary
>> >>
>> >> [1]
>> >>
>> https://github.com/apache/commons-io/blob/3ad22fe3d689781a76a92908d0bbc119b2c68892/src/main/java/org/apache/commons/io/input/InfiniteCircularInputStream.java#L48-L49
>> >>
>> >>
>> >
>> >
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>>
>>
Reply | Threaded
Open this post in threaded view
|

Re: [IO] Provenance of copied code in InfiniteCircularInputStream

garydgregory
On Tue, Nov 20, 2018 at 8:31 AM Sharon Corbett <
[hidden email]> wrote:

> Thanks for the quick investigation and response.
>
> It's appreciated!
>

You're welcome Sharon.

I removed the comment in commit b487c9e8bc8410c7c0ca94f9494bcff90613946a

Gary


>
> Regards,
> Sharon
>
>
>
> On Mon, Nov 19, 2018 at 4:36 PM Gary Gregory <[hidden email]>
> wrote:
>
>> Hi All:
>>
>> I agree that the 0xff usage does not need to be documented, and while I
>> do see it used in ByteArrayInputStream#read() in Oracle Java 6, I really do
>> not think we need to refer to it.
>>
>> I am +1 to removing the comment. Who will do the honors?
>>
>> Gary
>>
>> On Mon, Nov 19, 2018 at 10:15 AM Mark Thomas <[hidden email]> wrote:
>>
>>> I'd image the comment is referring to the use of "... & 0xFF" but it
>>> seems to be a fairly pointless comment as that is just the standard way
>>> to switch from signed byte to 'unsigned' int values.
>>>
>>> I can't see what else it could possibly be referring to.
>>>
>>> I don't see any IP issue here.
>>>
>>> I'd suggest simply removing the comment but with a fairly verbose commit
>>> message to help anyone looking into this in the future.
>>>
>>> Mark
>>>
>>>
>>> On 19/11/2018 16:57, Pascal Schumacher wrote:
>>> > Hi everybody,
>>> >
>>> > the code is from a pull request which I merged:
>>> >
>>> > https://github.com/apache/commons-io/pull/8
>>> >
>>> > I did not author the code.
>>> >
>>> > The comment seems incorrect because I do not think there is a field
>>> > "repeatedContent" in java.io.ByteArrayInputStream. The current OpenJDK
>>> > implementation looks pretty different:
>>> >
>>> >
>>> http://hg.openjdk.java.net/jdk/jdk/file/49e0f711bb2b/src/java.base/share/classes/java/io/ByteArrayInputStream.java#l146
>>> >
>>> >
>>> > -Pascal
>>> >
>>> > Am 19.11.2018 um 16:59 schrieb Gary Gregory:
>>> >> Hi All and Pascal S.,
>>> >>
>>> >> Sharon (Eclipse) has pointed out to me that
>>> >> in org.apache.commons.io.input.InfiniteCircularInputStream.read()
>>> [1],
>>> >> we have:
>>> >>
>>> >>     @Override
>>> >>     public int read() {
>>> >>         position = (position + 1) % repeatedContent.length;
>>> >>         return repeatedContent[position] & 0xff; // copied from
>>> >>  // java.io.ByteArrayInputStream.read()
>>> >>     }
>>> >>
>>> >> Where does the code originate? Oracle JRE? OpenJDK? Where? Such a
>>> >> comment needs to show better provenance since I am pretty sure we are
>>> >> NOT allowed to copy code from Oracle.
>>> >>
>>> >> The code was added with the commit
>>> >>
>>> >>
>>> https://github.com/apache/commons-io/commit/699d6f0eca65837501d7ab7a92ae2c614f8e6cbf#diff-5cdd5f292c77ae5feee8f3f101ded473
>>> >>
>>> >>
>>> >> With this authorship:
>>> >>
>>> >> @piotrturski <https://github.com/piotrturski>@PascalSchumacher
>>> >> <https://github.com/PascalSchumacher>
>>> >> piotrturski
>>> >> <https://github.com/apache/commons-io/commits?author=piotrturski
>>> > authored
>>> >> and PascalSchumacher
>>> >> <https://github.com/apache/commons-io/commits?author=PascalSchumacher
>>> > committed
>>> >> on Dec 1, 2015
>>> >>
>>> >> Gary
>>> >>
>>> >> [1]
>>> >>
>>> https://github.com/apache/commons-io/blob/3ad22fe3d689781a76a92908d0bbc119b2c68892/src/main/java/org/apache/commons/io/input/InfiniteCircularInputStream.java#L48-L49
>>> >>
>>> >>
>>> >
>>> >
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [hidden email]
>>> For additional commands, e-mail: [hidden email]
>>>
>>>
Reply | Threaded
Open this post in threaded view
|

Re: [IO] Provenance of copied code in InfiniteCircularInputStream

Mark Struberg-2
In reply to this post by Mark Thomas
+1. This is so trivial that it doesn't pass the threshold of originality.

LieGrue,
strub

> Am 19.11.2018 um 18:15 schrieb Mark Thomas <[hidden email]>:
>
> I'd image the comment is referring to the use of "... & 0xFF" but it
> seems to be a fairly pointless comment as that is just the standard way
> to switch from signed byte to 'unsigned' int values.
>
> I can't see what else it could possibly be referring to.
>
> I don't see any IP issue here.
>
> I'd suggest simply removing the comment but with a fairly verbose commit
> message to help anyone looking into this in the future.
>
> Mark
>
>
> On 19/11/2018 16:57, Pascal Schumacher wrote:
>> Hi everybody,
>>
>> the code is from a pull request which I merged:
>>
>> https://github.com/apache/commons-io/pull/8
>>
>> I did not author the code.
>>
>> The comment seems incorrect because I do not think there is a field
>> "repeatedContent" in java.io.ByteArrayInputStream. The current OpenJDK
>> implementation looks pretty different:
>>
>> http://hg.openjdk.java.net/jdk/jdk/file/49e0f711bb2b/src/java.base/share/classes/java/io/ByteArrayInputStream.java#l146
>>
>>
>> -Pascal
>>
>> Am 19.11.2018 um 16:59 schrieb Gary Gregory:
>>> Hi All and Pascal S.,
>>>
>>> Sharon (Eclipse) has pointed out to me that
>>> in org.apache.commons.io.input.InfiniteCircularInputStream.read() [1],
>>> we have:
>>>
>>>     @Override
>>>     public int read() {
>>>         position = (position + 1) % repeatedContent.length;
>>>         return repeatedContent[position] & 0xff; // copied from
>>>  // java.io.ByteArrayInputStream.read()
>>>     }
>>>
>>> Where does the code originate? Oracle JRE? OpenJDK? Where? Such a
>>> comment needs to show better provenance since I am pretty sure we are
>>> NOT allowed to copy code from Oracle.
>>>
>>> The code was added with the commit
>>>
>>> https://github.com/apache/commons-io/commit/699d6f0eca65837501d7ab7a92ae2c614f8e6cbf#diff-5cdd5f292c77ae5feee8f3f101ded473
>>>
>>>
>>> With this authorship:
>>>
>>> @piotrturski <https://github.com/piotrturski>@PascalSchumacher
>>> <https://github.com/PascalSchumacher>
>>> piotrturski
>>> <https://github.com/apache/commons-io/commits?author=piotrturski> authored
>>> and PascalSchumacher
>>> <https://github.com/apache/commons-io/commits?author=PascalSchumacher> committed
>>> on Dec 1, 2015
>>>
>>> Gary
>>>
>>> [1]
>>> https://github.com/apache/commons-io/blob/3ad22fe3d689781a76a92908d0bbc119b2c68892/src/main/java/org/apache/commons/io/input/InfiniteCircularInputStream.java#L48-L49
>>>
>>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]