www-legal-discuss mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Avi Kivity <...@scylladb.com>
Subject Re: Question about the "prominent notice" about me changing the file
Date Wed, 28 Dec 2016 15:04:09 GMT
Thanks, this is very helpful, more below.

On 12/28/2016 04:06 AM, Alex Harui wrote:
> I am not a lawyer and even though a lawyer told me the following, it is
> not legal advice:
>
>    Headers don't change the licensing or copyright
>    of the source code, they are only convenience
>    sign posts as to the licensing or copyright.
>
> If I understand the question, it is about the minimum attribution that
> Apache requires in derivative works.

Not really, the question of whether I'm allowed to remove the ALv2 blurb 
arose in conversion but was not my original question.  My own opinion is 
that I'm not allowed to do it, because it is this blurb that gives me 
the rights to copy and modify the code.

My question was, rephrased:

   "Right now, for every file that I modify, I am adding three separate 
items of information:

     1. A "modified by me" line, as required by ALv2, the "prominent 
notice"?
     2. A "copyright me" line, to assert my own rights
     3. A new license for the combined work.

   Does item 2 (my own copyright) satisfy the "prominent notice" 
requirement?  It just feels inane to have two such similar lines."


>    IMO, that question can be thought of
> in two ways:
>
> 1) What would be too minimal that the ASF would get upset and ask you to
> do more.
> 2) What would be too minimal that customers may not use your software
> because they aren't sure it is derived from Apache software?
>
> IMO, you should have the ASF header in every file, and the NOTICE that
> came with the original ASF source.  Then it would never be considered too
> minimal and customers would see what they expect.  The ASF header can be
> before or after your copyright/license.  I can't image the ASF getting
> upset about that or customers getting confused by that.

That's what I expect and what I do.  I don't have any wish to remove the 
Apache blurb.

However, I would like to make it clear that the modified file is not 
licensed under ALv2, just the original.  Is there an accepted way to do 
this?

>
> Also, IMO, you cannot change the licensing and copyright of the lines of
> code that you don't touch, but you can use a different license on the
> lines you do touch.  Hence, except for substantial rewrites you'll have
> lots of ASF code in your source.

We are talking about a substantial rewrite.  There is a lot more 
non-Apache code than Apache code in this project.

> In this world of GitHub where it is easy for folks to grab single files, I
> like the idea of headers in each file.  I cannot offer any opinion on
> whether the ASF would get on your case if you don't do that.

That was not my concern; I'm not trying to reduce attribution and am not 
worried about this at all.

> My 2 cents,
> -Alex

Thanks!

> On 12/27/16, 3:29 PM, "Stian Soiland-Reyes" <stain@apache.org> wrote:
>
>> I think a minimal "prominent notification" could just be to start the
>> file with
>>
>>> Modifications (c) 2012-2016 Foo inc
>>
>> I believe what Ted hinted at is it would be legal to add contributions
>> of a different license - the ASF license is not "viral".
>>
>> So for instance take an ASF-licensed source code file from the Apache
>> httpd server, retain its current headers, and then copy-paste a
>> function from the GPL 3 licensed Bash source code, and add a GPL 3
>> license header on top of the ASF header (as required by the license of
>> the GPLed code).
>>
>> (Word of warning for those that for some reason think the above sounds
>> like a great idea - it has to be GPL 3, or GPL 2 with upgrade clause,
>> see https://www.apache.org/licenses/GPL-compatibility.html )
>>
>>
>> You would then just also have to include a notice that you have
>> modified the source - if you are mixing licenses like above, then I
>> would suggest a bit more detailed than the minimal Modifications line,
>> but go into detail of what you have added from where, for instance:
>>
>>> This code was adapted from
>>> Apache Bar 1.4.1 http://bar.apache.org/
>>> with additional modifications by Foo inc, including:
>>>
>>>   - Sort algorithm fooSort() adapted from GNU Bash
>>>   - Optimized memory management in allocate()
>>>
>>> This modified source code is distributed under the
>>> GNU Public License (GPL) 3.0 license or newer.
>>> ... (insert whatever GNU requires here)
>>>
>>> The license and attribution for the original Apache Bar code is:
>>>
>>>     Licensed to the Apache Software Foundation (ASF) under one or more
>>>    contributor license agreements.  See the NOTICE file distributed with
>>>     ...
>>
>> If you are just making new ASF-licensed code it should be much
>> simpler, and the one-liner "Modifications (c)"  is should be enough,
>> as downstream would be able to use your modifications the same way as
> >from ASF, and you have carried a prominent notice - top of the file!
>> (Hidden as an in-line comment on line 1281 would NOT be prominent.
>> Directly below the ASF license would also be promiment - but use some
>> newlines!)
>>
>>
>> Technically your contributions are not be "licensed to ASF" before you
>> actually contribute it back to ASF (e.g. "intentionally submitted for
>> inclusion") , so you may want to say the "Modifications (c) Foo Inc"
>> **above** the ASF license header blurb to not confuse matters.
>>
>>
>> I think as long as you comply with the license terms, you are not
>> required to distribute ASF-licensed software under the ASF license,
>> just to *include* the license and the current attributions. If the
>> attributions contain mentions of the ASF license (as is the case of
>> our own software), then downstream users would be able to hunt around
>> and find the original "ASF-pure" code if they so wishes. Best software
>> engineering practice is of course to give them the the right URLs, not
>> to obscure deliberately.
>>
>> Note that ASF projects have a NOTICE file which content you MUST
>> propagate along with the licensed code - our NOTICE files should
>> always include the name of the ASF project and thus to some extent
>> prevents provenance obscurication.  You may want to add your own
>> attribution to NOTICE for your modifications - however that is not
>> sufficient for non-ASF modifications to satisfy the clause to "cause
>> any modified files to carry prominent notices"  - that has to be added
>> to each modified file. (Unmodified files don't need to be changed).
>>
>>
>> As it's late, I won't delve into if changing the "package " line in
>> Java source code can be classified as a modification :-)
>>
>> On 27 December 2016 at 18:58, Henri Yandell <bayard@apache.org> wrote:
>>>
>>> On Tue, Dec 27, 2016 at 6:42 AM, Ted Dunning <ted.dunning@gmail.com>
>>> wrote:
>>>>
>>>> On Tue, Dec 27, 2016 at 12:37 AM, Avi Kivity <avi@scylladb.com> wrote:
>>>>> Speaking as a reader of code, I like to see the history when
>>>>> necessary.
>>>>>
>>>>>
>>>>> Isn't that stored in the version control system?
>>>>
>>>> Not necessarily in the version control system that your modified code
>>>> is
>>>> sitting in.
>>>>
>>>> I meant it would be nice to have an explicit pointer back to the Apache
>>>> project. A URL.
>>>>
>>>>>
>>>>>
>>>>> But that doesn't answer my question.  As far as I can tell, I'm not
>>>>> allowed to remove the license blurb and replace it with my license.
>>>>> Is that
>>>>> incorrect?
>>>>
>>>> You are allowed to relicense the software.
>>>
>>> ??
>>>
>>> I'm confused by your replies here Ted; I have the same understanding as
>>> Avi
>>> and am confused by the notion of 'previous license' that you're
>>> suggesting.
>>>
>>>
>>>>
>>>> You are also required to prominently mark files that you have changed.
>>>> The
>>>> easiest way to do so is to preserve the old header and add your own.
>>>>
>>>>>
>>>>> My IDE hides the details until I need them so 1 line or 50 makes no
>>>>> difference to me as a reader. The Apache header is pretty short
>>>>> anyway.
>>>>>
>>>>> I also like to know where I can find the previous versions of the
>>>>> code.
>>>>>
>>>>>
>>>>> Use the version control system for that project?
>>>>
>>>> As I mentioned, the version control system for the code I am looking at
>>>> may not have the necessary history.
>>>
>>> I took your original reply to mean you wanted to indicate where the
>>> software
>>> originally came from. So less about the version control and more about
>>> the
>>> link to somewhere else. Given the name of the original software is in
>>> the
>>> NOTICE, and one has to retain the contents of the NOTICE, I think the
>>> connection is still there to dig into the history.
>>>
>>> Hen
>>
>>
>> -- 
>> Stian Soiland-Reyes
>> http://orcid.org/0000-0001-9842-9718
>>
>> ---------------------------------------------------------------------
>> 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
>


---------------------------------------------------------------------
To unsubscribe, e-mail: legal-discuss-unsubscribe@apache.org
For additional commands, e-mail: legal-discuss-help@apache.org


Mime
View raw message