incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Harui <aha...@adobe.com>
Subject Re: File headers for third party utility code
Date Tue, 05 Jan 2016 00:00:17 GMT


On 1/4/16, 3:41 PM, "Todd Lipcon" <todd@cloudera.com> wrote:
>
>Right, I guess I'm not sure what qualifies minor vs major. In some cases,
>we've done trivial edits like putting things in a "kudu" namespace or
>removing some portability code. In other cases, we've made more
>substantial
>alterations to fit our codebase (eg
>https://github.com/cloudera/kudu/commit/0ee3218b9edcd7e5e9d450307bc22d0ead
>fb53be
>) but still kept the overall API/design. At what point do we go ahead and
>add the Apache License header?

The way I think of it is that every line of code has a home.  The home for
3rd-party code is not in the ASF repo or the source package you downloaded
from Apache, so we want to warn folks that more care is needed when
mucking in a particular file/folder.  When there are lines of code whose
home is the ASF mixed with code whose home is not at the ASF, IMO, that
still needs to be pointed out in LICENSE until the amount of non-ASF code
is reduced to the point where mucking with that code isn't going to matter
to the home community.

The uber ASF license in the LICENSE file grants permission to all lines
whose home is the ASF regardless of what the header looks like.  I would
put annotations in the source code about what code in a mixed file does
have a home at the ASF if I thought it would be helpful.  I would not add
all of that information to the LICENSE.

An attorney for my employer said that these headers are just sign posts
provided as a convenience to the consumer.  The code is owned and has a
home regardless of header.  The header and any other annotations in a
source file are just to save the consumer time in figuring out who owns
what and where the "canonical copy" lives.  The LICENSE file is IMO, also
a sign post.

So, when grabbing a release for use, LICENSE ought to give me a quick idea
of the ingredients (which is why I prefer pointers to 3rd party licenses
vs whole copies of licenses).  Then if I feel the need to go change some
source code, the headers and other annotations in that file give me a
warning that the contents may not all have a home at the ASF.  After that
it is a judgement call as to whether it is worth making the file more
bloated at the line-level to define the boundaries of the mixing or make
it an exercise of the consumer to figure it out.  But at least they've
been warned.

My 2 cents,
-Alex


---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org
Mime
View raw message