You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@incubator.apache.org by Steve Varnau <st...@esgyn.com> on 2016/02/11 18:14:37 UTC
License statement third party modified code
Hello,
Instructions on the website regarding source headers:
http://www.apache.org/legal/src-headers.html
Gives instructions for “Treatment of third-party works”. Point five says:
Major modifications/additions to third-party should be
dealt with on a case-by-case basis by the PMC.
So here I am with cases we have in Trafodion. In both cases, I believe we
have handled the third-party copyright/license statements correctly in the
LICENSE file and in the source code. The question is whether this code has
had so much modification that we need to also put an Apache license header
into these files, or some other sort of statement, or if it fine as is with
only the third-party copyrights?
Case 1: One file (only couple hundred lines) that was taken from flex for
parsing was modified substantially to create new function in order to
handle parsing of Unicode text. As far as I can tell, all the
Unicode-specific work is specific to Trafodion and was developed by HP,
which was then granted to ASF.
https://github.com/apache/incubator-trafodion/blob/master/core/sql/parser/ulexer.h
Case 2: Several dozen tests that were written for Phoenix by Salesforce.
Trafodion took a copy of those tests after they were open-sourced, but
before the code was granted to ASF. Trafodion adapted those tests to run
against Trafodion instead of Phoenix. The tests generally do the same
things as originally intended, but were heavily modified due to what
Phoenix supported versus what Trafodion supported at that time and since.
The forked tests were maintained separately over the last couple years,
they were not merged over after the initial copy.
https://github.com/apache/incubator-trafodion/tree/master/tests/phx/src/test/java/org/trafodion/phoenix/end2end
Any guidance?
--Steve
RE: License statement third party modified code
Posted by Steve Varnau <st...@esgyn.com>.
> -----Original Message-----
> From: shaposhnik@gmail.com [mailto:shaposhnik@gmail.com] On Behalf Of
> Roman Shaposhnik
> Sent: Friday, February 19, 2016 4:52 PM
> To: legal-discuss@apache.org
> Subject: Re: License statement third party modified code
>
> On Fri, Feb 19, 2016 at 4:40 PM, Henri Yandell <ba...@apache.org> wrote:
> >
> >
> > On Fri, Feb 19, 2016 at 9:32 AM, Steve Varnau <st...@esgyn.com>
> > wrote:
> >>
> >> Hello,
> >>
> >> Instructions on the website regarding source headers:
> >> http://www.apache.org/legal/src-headers.html
> >> Gives instructions for “Treatment of third-party works”. Point five
> >> says:
> >>
> >> Major modifications/additions to third-party should be
> >> dealt with on a case-by-case basis by the PMC.
> >>
> >> So I raised these questions in the general@incubator list. I got no
> >> responses except for suggestion to bring the question to this
> >> legal-discuss list.
> >>
> >> I've identified two cases we have in Trafodion. In both cases, I
> >> believe
> >> we have handled the third-party copyright/license statements correctly
> >> in
> >> the LICENSE file and in the source code.
> >>
> >> The question is whether this code has had so much modification that we
> >> need to also put an Apache license header into these files, or some
> >> other
> >> sort of statement, or if it fine as is with only the third-party
> >> copyrights?
> >>
> >> Case 1: One file (only couple hundred lines) that was taken from flex
> >> for
> >> parsing was modified substantially to create new function in order to
> >> handle parsing of Unicode text. As far as my research can tell, all the
> >> Unicode-specific work is specific to Trafodion and was developed by HP,
> >> which was then granted to ASF.
> >> https://github.com/apache/incubator-
> trafodion/blob/master/core/sql/parser/
> >> ulexer.h
> >>
> >> Case 2: Several dozen tests that were written for Phoenix by
> >> Salesforce.
> >> Trafodion took a copy of those tests after they were open-sourced, but
> >> before the code was granted to ASF. Trafodion adapted those tests to
> >> run
> >> against Trafodion instead of Phoenix. The tests generally do the same
> >> things as originally intended, but were heavily modified due to what
> >> Phoenix supported versus what Trafodion supported at that time and
> >> since.
> >> The forked tests were maintained separately over the last couple years,
> >> they were not merged over after the initial copy.
> >> https://github.com/apache/incubator-
> trafodion/tree/master/tests/phx/src/te
> >> st/java/org/trafodion/phoenix/end2end
> >>
> >> Any guidance?
> >
> >
> > Both cases seem like sufficient modification to also add Apache
> > licensing
> > headers to the existing licensing information. The existing licensing
> > information should not be removed (repeating the obvious for clarity
> > :) ).
>
> Right. And the case gets tricky when there's NO embedded pre-existing
> licensing
> information. In that case, personally, I would feel adding an ASF
> license header to
> be highly confusing since looking at the file in isolation would make
> it look like
> all of its content was licensed to ASF under ALv2.
>
> Thanks,
> Roman.
>
Good point. I will add the header carefully, with comments aimed to reduce
confusion.
Thanks,
-Steve
---------------------------------------------------------------------
To unsubscribe, e-mail: legal-discuss-unsubscribe@apache.org
For additional commands, e-mail: legal-discuss-help@apache.org
Re: License statement third party modified code
Posted by Roman Shaposhnik <ro...@shaposhnik.org>.
On Fri, Feb 19, 2016 at 4:40 PM, Henri Yandell <ba...@apache.org> wrote:
>
>
> On Fri, Feb 19, 2016 at 9:32 AM, Steve Varnau <st...@esgyn.com>
> wrote:
>>
>> Hello,
>>
>> Instructions on the website regarding source headers:
>> http://www.apache.org/legal/src-headers.html
>> Gives instructions for “Treatment of third-party works”. Point five says:
>>
>> Major modifications/additions to third-party should be
>> dealt with on a case-by-case basis by the PMC.
>>
>> So I raised these questions in the general@incubator list. I got no
>> responses except for suggestion to bring the question to this
>> legal-discuss list.
>>
>> I've identified two cases we have in Trafodion. In both cases, I believe
>> we have handled the third-party copyright/license statements correctly in
>> the LICENSE file and in the source code.
>>
>> The question is whether this code has had so much modification that we
>> need to also put an Apache license header into these files, or some other
>> sort of statement, or if it fine as is with only the third-party
>> copyrights?
>>
>> Case 1: One file (only couple hundred lines) that was taken from flex for
>> parsing was modified substantially to create new function in order to
>> handle parsing of Unicode text. As far as my research can tell, all the
>> Unicode-specific work is specific to Trafodion and was developed by HP,
>> which was then granted to ASF.
>> https://github.com/apache/incubator-trafodion/blob/master/core/sql/parser/
>> ulexer.h
>>
>> Case 2: Several dozen tests that were written for Phoenix by Salesforce.
>> Trafodion took a copy of those tests after they were open-sourced, but
>> before the code was granted to ASF. Trafodion adapted those tests to run
>> against Trafodion instead of Phoenix. The tests generally do the same
>> things as originally intended, but were heavily modified due to what
>> Phoenix supported versus what Trafodion supported at that time and since.
>> The forked tests were maintained separately over the last couple years,
>> they were not merged over after the initial copy.
>> https://github.com/apache/incubator-trafodion/tree/master/tests/phx/src/te
>> st/java/org/trafodion/phoenix/end2end
>>
>> Any guidance?
>
>
> Both cases seem like sufficient modification to also add Apache licensing
> headers to the existing licensing information. The existing licensing
> information should not be removed (repeating the obvious for clarity :) ).
Right. And the case gets tricky when there's NO embedded pre-existing licensing
information. In that case, personally, I would feel adding an ASF
license header to
be highly confusing since looking at the file in isolation would make
it look like
all of its content was licensed to ASF under ALv2.
Thanks,
Roman.
---------------------------------------------------------------------
To unsubscribe, e-mail: legal-discuss-unsubscribe@apache.org
For additional commands, e-mail: legal-discuss-help@apache.org
RE: License statement third party modified code
Posted by Steve Varnau <st...@esgyn.com>.
*From:* Henri Yandell [mailto:bayard@apache.org]
*Sent:* Friday, February 19, 2016 4:41 PM
*To:* ASF Legal Discuss <le...@apache.org>
*Subject:* Re: License statement third party modified code
On Fri, Feb 19, 2016 at 9:32 AM, Steve Varnau <st...@esgyn.com>
wrote:
Hello,
Instructions on the website regarding source headers:
http://www.apache.org/legal/src-headers.html
Gives instructions for “Treatment of third-party works”. Point five says:
Major modifications/additions to third-party should be
dealt with on a case-by-case basis by the PMC.
So I raised these questions in the general@incubator list. I got no
responses except for suggestion to bring the question to this
legal-discuss list.
I've identified two cases we have in Trafodion. In both cases, I believe
we have handled the third-party copyright/license statements correctly in
the LICENSE file and in the source code.
The question is whether this code has had so much modification that we
need to also put an Apache license header into these files, or some other
sort of statement, or if it fine as is with only the third-party
copyrights?
Case 1: One file (only couple hundred lines) that was taken from flex for
parsing was modified substantially to create new function in order to
handle parsing of Unicode text. As far as my research can tell, all the
Unicode-specific work is specific to Trafodion and was developed by HP,
which was then granted to ASF.
https://github.com/apache/incubator-trafodion/blob/master/core/sql/parser/
ulexer.h
Case 2: Several dozen tests that were written for Phoenix by Salesforce.
Trafodion took a copy of those tests after they were open-sourced, but
before the code was granted to ASF. Trafodion adapted those tests to run
against Trafodion instead of Phoenix. The tests generally do the same
things as originally intended, but were heavily modified due to what
Phoenix supported versus what Trafodion supported at that time and since.
The forked tests were maintained separately over the last couple years,
they were not merged over after the initial copy.
https://github.com/apache/incubator-trafodion/tree/master/tests/phx/src/te
st/java/org/trafodion/phoenix/end2end
Any guidance?
Both cases seem like sufficient modification to also add Apache licensing
headers to the existing licensing information. The existing licensing
information should not be removed (repeating the obvious for clarity :) ).
Hen
That was what I was thinking. Thanks for the confirmation.
-Steve
Re: License statement third party modified code
Posted by Henri Yandell <ba...@apache.org>.
On Fri, Feb 19, 2016 at 9:32 AM, Steve Varnau <st...@esgyn.com>
wrote:
> Hello,
>
> Instructions on the website regarding source headers:
> http://www.apache.org/legal/src-headers.html
> Gives instructions for “Treatment of third-party works”. Point five says:
>
> Major modifications/additions to third-party should be
> dealt with on a case-by-case basis by the PMC.
>
> So I raised these questions in the general@incubator list. I got no
> responses except for suggestion to bring the question to this
> legal-discuss list.
>
> I've identified two cases we have in Trafodion. In both cases, I believe
> we have handled the third-party copyright/license statements correctly in
> the LICENSE file and in the source code.
>
> The question is whether this code has had so much modification that we
> need to also put an Apache license header into these files, or some other
> sort of statement, or if it fine as is with only the third-party
> copyrights?
>
> Case 1: One file (only couple hundred lines) that was taken from flex for
> parsing was modified substantially to create new function in order to
> handle parsing of Unicode text. As far as my research can tell, all the
> Unicode-specific work is specific to Trafodion and was developed by HP,
> which was then granted to ASF.
> https://github.com/apache/incubator-trafodion/blob/master/core/sql/parser/
> ulexer.h
>
> Case 2: Several dozen tests that were written for Phoenix by Salesforce.
> Trafodion took a copy of those tests after they were open-sourced, but
> before the code was granted to ASF. Trafodion adapted those tests to run
> against Trafodion instead of Phoenix. The tests generally do the same
> things as originally intended, but were heavily modified due to what
> Phoenix supported versus what Trafodion supported at that time and since.
> The forked tests were maintained separately over the last couple years,
> they were not merged over after the initial copy.
> https://github.com/apache/incubator-trafodion/tree/master/tests/phx/src/te
> st/java/org/trafodion/phoenix/end2end
>
> Any guidance?
Both cases seem like sufficient modification to also add Apache licensing
headers to the existing licensing information. The existing licensing
information should not be removed (repeating the obvious for clarity :) ).
Hen
RE: License statement third party modified code
Posted by Steve Varnau <st...@esgyn.com>.
> -----Original Message-----
> From: shaposhnik@gmail.com [mailto:shaposhnik@gmail.com] On Behalf Of
> Roman Shaposhnik
> Sent: Friday, February 19, 2016 4:19 PM
> To: legal-discuss@apache.org
> Subject: Re: License statement third party modified code
>
> On Fri, Feb 19, 2016 at 9:32 AM, Steve Varnau <st...@esgyn.com>
> wrote:
> > Hello,
> >
> > Instructions on the website regarding source headers:
> > http://www.apache.org/legal/src-headers.html
> > Gives instructions for “Treatment of third-party works”. Point five
> > says:
> >
> > Major modifications/additions to third-party should be
> > dealt with on a case-by-case basis by the PMC.
> >
> > So I raised these questions in the general@incubator list. I got no
> > responses except for suggestion to bring the question to this
> > legal-discuss list.
> >
> > I've identified two cases we have in Trafodion. In both cases, I believe
> > we have handled the third-party copyright/license statements correctly
> > in
> > the LICENSE file and in the source code.
> >
> > The question is whether this code has had so much modification that we
> > need to also put an Apache license header into these files, or some
> > other
> > sort of statement, or if it fine as is with only the third-party
> > copyrights?
> >
> > Case 1: One file (only couple hundred lines) that was taken from flex
> > for
> > parsing was modified substantially to create new function in order to
> > handle parsing of Unicode text. As far as my research can tell, all the
> > Unicode-specific work is specific to Trafodion and was developed by HP,
> > which was then granted to ASF.
> > https://github.com/apache/incubator-trafodion/blob/master/core/sql/parser/
> > ulexer.h
> >
> > Case 2: Several dozen tests that were written for Phoenix by Salesforce.
> > Trafodion took a copy of those tests after they were open-sourced, but
> > before the code was granted to ASF. Trafodion adapted those tests to
> > run
> > against Trafodion instead of Phoenix. The tests generally do the same
> > things as originally intended, but were heavily modified due to what
> > Phoenix supported versus what Trafodion supported at that time and
> > since.
> > The forked tests were maintained separately over the last couple years,
> > they were not merged over after the initial copy.
> > https://github.com/apache/incubator-trafodion/tree/master/tests/phx/src/te
> > st/java/org/trafodion/phoenix/end2end
> >
> > Any guidance?
>
> IANAL, but having dealt with a lot of situations like the above, I've
> always been
> advised to be extremely conservative about licensing implications of
> refactoring
> existing code. In certain cases, even if you no so much refactor, but
> rewrite it
> from scratch you may still be 'contaminated' by the original
> implementation
> and
> thus you may not be able to unilaterally release it under a different
> license(*).
>
> So let me ask you a question back: why do you think it would be a problem
> to leave those files be and keep calling them out in LICENSE/NOTICE ?
>
> Thanks,
> Roman.
No, I have no problem keeping the existing copyright statements and LICENSE
file
info. Just wondering if we also need Apache header.
-Steve
>
> (*) I was once witness of the clean-room reverse engineering exercise in a
> big
> corporation that was trying to integrate with GPL library and had to
> do a tricky
> assembly-level handshake. The exercise consisted of one engineer reading
> the original's handshake assembly code and then explaining it to the
> 2nd engineer
> in generic terms so that the 2nd guy could write an implementation.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: legal-discuss-unsubscribe@apache.org
> For additional commands, e-mail: legal-discuss-help@apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: legal-discuss-unsubscribe@apache.org
For additional commands, e-mail: legal-discuss-help@apache.org
Re: License statement third party modified code
Posted by Roman Shaposhnik <ro...@shaposhnik.org>.
On Fri, Feb 19, 2016 at 9:32 AM, Steve Varnau <st...@esgyn.com> wrote:
> Hello,
>
> Instructions on the website regarding source headers:
> http://www.apache.org/legal/src-headers.html
> Gives instructions for “Treatment of third-party works”. Point five says:
>
> Major modifications/additions to third-party should be
> dealt with on a case-by-case basis by the PMC.
>
> So I raised these questions in the general@incubator list. I got no
> responses except for suggestion to bring the question to this
> legal-discuss list.
>
> I've identified two cases we have in Trafodion. In both cases, I believe
> we have handled the third-party copyright/license statements correctly in
> the LICENSE file and in the source code.
>
> The question is whether this code has had so much modification that we
> need to also put an Apache license header into these files, or some other
> sort of statement, or if it fine as is with only the third-party
> copyrights?
>
> Case 1: One file (only couple hundred lines) that was taken from flex for
> parsing was modified substantially to create new function in order to
> handle parsing of Unicode text. As far as my research can tell, all the
> Unicode-specific work is specific to Trafodion and was developed by HP,
> which was then granted to ASF.
> https://github.com/apache/incubator-trafodion/blob/master/core/sql/parser/
> ulexer.h
>
> Case 2: Several dozen tests that were written for Phoenix by Salesforce.
> Trafodion took a copy of those tests after they were open-sourced, but
> before the code was granted to ASF. Trafodion adapted those tests to run
> against Trafodion instead of Phoenix. The tests generally do the same
> things as originally intended, but were heavily modified due to what
> Phoenix supported versus what Trafodion supported at that time and since.
> The forked tests were maintained separately over the last couple years,
> they were not merged over after the initial copy.
> https://github.com/apache/incubator-trafodion/tree/master/tests/phx/src/te
> st/java/org/trafodion/phoenix/end2end
>
> Any guidance?
IANAL, but having dealt with a lot of situations like the above, I've
always been
advised to be extremely conservative about licensing implications of refactoring
existing code. In certain cases, even if you no so much refactor, but rewrite it
from scratch you may still be 'contaminated' by the original implementation and
thus you may not be able to unilaterally release it under a different
license(*).
So let me ask you a question back: why do you think it would be a problem
to leave those files be and keep calling them out in LICENSE/NOTICE ?
Thanks,
Roman.
(*) I was once witness of the clean-room reverse engineering exercise in a big
corporation that was trying to integrate with GPL library and had to
do a tricky
assembly-level handshake. The exercise consisted of one engineer reading
the original's handshake assembly code and then explaining it to the
2nd engineer
in generic terms so that the 2nd guy could write an implementation.
---------------------------------------------------------------------
To unsubscribe, e-mail: legal-discuss-unsubscribe@apache.org
For additional commands, e-mail: legal-discuss-help@apache.org
License statement third party modified code
Posted by Steve Varnau <st...@esgyn.com>.
Hello,
Instructions on the website regarding source headers:
http://www.apache.org/legal/src-headers.html
Gives instructions for “Treatment of third-party works”. Point five says:
Major modifications/additions to third-party should be
dealt with on a case-by-case basis by the PMC.
So I raised these questions in the general@incubator list. I got no
responses except for suggestion to bring the question to this
legal-discuss list.
I've identified two cases we have in Trafodion. In both cases, I believe
we have handled the third-party copyright/license statements correctly in
the LICENSE file and in the source code.
The question is whether this code has had so much modification that we
need to also put an Apache license header into these files, or some other
sort of statement, or if it fine as is with only the third-party
copyrights?
Case 1: One file (only couple hundred lines) that was taken from flex for
parsing was modified substantially to create new function in order to
handle parsing of Unicode text. As far as my research can tell, all the
Unicode-specific work is specific to Trafodion and was developed by HP,
which was then granted to ASF.
https://github.com/apache/incubator-trafodion/blob/master/core/sql/parser/
ulexer.h
Case 2: Several dozen tests that were written for Phoenix by Salesforce.
Trafodion took a copy of those tests after they were open-sourced, but
before the code was granted to ASF. Trafodion adapted those tests to run
against Trafodion instead of Phoenix. The tests generally do the same
things as originally intended, but were heavily modified due to what
Phoenix supported versus what Trafodion supported at that time and since.
The forked tests were maintained separately over the last couple years,
they were not merged over after the initial copy.
https://github.com/apache/incubator-trafodion/tree/master/tests/phx/src/te
st/java/org/trafodion/phoenix/end2end
Any guidance?
Thanks,
--Steve
---------------------------------------------------------------------
To unsubscribe, e-mail: legal-discuss-unsubscribe@apache.org
For additional commands, e-mail: legal-discuss-help@apache.org
RE: License statement third party modified code
Posted by Steve Varnau <st...@esgyn.com>.
Thanks, I will take the question to legal-discuss list.
--Steve
> -----Original Message-----
> From: Marvin Humphrey [mailto:marvin@rectangular.com]
> Sent: Thursday, February 18, 2016 6:36 PM
> To: general@incubator.apache.org
> Subject: Re: License statement third party modified code
>
> On Thu, Feb 18, 2016 at 8:59 AM, Steve Varnau <st...@esgyn.com>
> wrote:
>
> > I did not see any responses in the past week on the general list. Is
> > there
> > another place I should ask this question?
>
> This was a good list to ask on. Since you've haven't received
> answers, though, I'd ask on legal-discuss@apache next.
>
> For what it's worth, I haven't answered in part because although I
> have ideas about how these cases could be handled, I don't know if my
> ideas align with the recommendations you'd hear from others. This
> issue hasn't come up a lot since I got active in the Incubator around
> 2010 and the policy predates that.
>
> Marvin Humphrey
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
> For additional commands, e-mail: general-help@incubator.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org
Re: License statement third party modified code
Posted by Marvin Humphrey <ma...@rectangular.com>.
On Thu, Feb 18, 2016 at 8:59 AM, Steve Varnau <st...@esgyn.com> wrote:
> I did not see any responses in the past week on the general list. Is there
> another place I should ask this question?
This was a good list to ask on. Since you've haven't received
answers, though, I'd ask on legal-discuss@apache next.
For what it's worth, I haven't answered in part because although I
have ideas about how these cases could be handled, I don't know if my
ideas align with the recommendations you'd hear from others. This
issue hasn't come up a lot since I got active in the Incubator around
2010 and the policy predates that.
Marvin Humphrey
---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org
RE: License statement third party modified code
Posted by Steve Varnau <st...@esgyn.com>.
Hi,
I did not see any responses in the past week on the general list. Is there
another place I should ask this question?
--Steve
*From:* Steve Varnau [mailto:steve.varnau@esgyn.com]
*Sent:* Thursday, February 11, 2016 9:15 AM
*To:* 'general@incubator.apache.org' <ge...@incubator.apache.org>
*Subject:* License statement third party modified code
Hello,
Instructions on the website regarding source headers:
http://www.apache.org/legal/src-headers.html
Gives instructions for “Treatment of third-party works”. Point five says:
Major modifications/additions to third-party should be
dealt with on a case-by-case basis by the PMC.
So here I am with cases we have in Trafodion. In both cases, I believe we
have handled the third-party copyright/license statements correctly in the
LICENSE file and in the source code. The question is whether this code has
had so much modification that we need to also put an Apache license header
into these files, or some other sort of statement, or if it fine as is with
only the third-party copyrights?
Case 1: One file (only couple hundred lines) that was taken from flex for
parsing was modified substantially to create new function in order to
handle parsing of Unicode text. As far as I can tell, all the
Unicode-specific work is specific to Trafodion and was developed by HP,
which was then granted to ASF.
https://github.com/apache/incubator-trafodion/blob/master/core/sql/parser/ulexer.h
Case 2: Several dozen tests that were written for Phoenix by Salesforce.
Trafodion took a copy of those tests after they were open-sourced, but
before the code was granted to ASF. Trafodion adapted those tests to run
against Trafodion instead of Phoenix. The tests generally do the same
things as originally intended, but were heavily modified due to what
Phoenix supported versus what Trafodion supported at that time and since.
The forked tests were maintained separately over the last couple years,
they were not merged over after the initial copy.
https://github.com/apache/incubator-trafodion/tree/master/tests/phx/src/test/java/org/trafodion/phoenix/end2end
Any guidance?
--Steve