On 1/5/15, 10:48 AM, "Harbs" <harbs.li...@gmail.com> wrote:

>My eyes kind of glazed over at the beginning of the discussion, so I’m
>kind of with Erik on this…

Well, at least you are trying to follow.  Hopefully, reviewing is easier
than figuring out what changes to make.  While it would be great to have
other PMC members scour everything carefully, it will be helpful if you at
least take a quick look.  Here’s my ‘short’ summary:

-Fundamentally, the LICENSE needs to mention any non-ASF or non-Apache
Licensed 2.0 source code or other materials in any zip or tar.gz you
review when voting.
-All licenses, including ASF-based Apache 2.0 licensed dependencies may
mention certain things they want the user to be notified of.  Those go in
NOTICE.

-Since the binary zip or tar.gz contains things we download that aren’t in
the source zip or tar.gz, we need to have different LICENSE and NOTICE
files in the binary vs source packages.
-Apache also wants every jar we create to have a LICENSE and NOTICE in
META-INF that is tuned to the contents of that jar and not the collection
of licenses for the release.

So, the review should be something like:
1) get a source package, expand it.
2) look at LICENSE.  See list of Subcomponents.
  2a) Are any listed that aren’t actually in the package?
  2b) Do you know of anything that is missing?
Note that source code that belongs to another Apache project that is
licensed under Apache 2.0 doesn’t need to be listed here.  It does if it
is under an older Apache license like 1.1, or is under Apache 2.0 but not
an Apache project, like if we borrowed some code from GoogleCode or
something like that.
3) look at NOITCE.  It will have some copyright info about Adobe.  That’s
ok.
  3a) Is the year right?
  3b) Where did the rest of the text come from?  It should come from the
licenses and/or notices for other source code and fonts and images we have
included in the source package.
  3c) Did we miss anything?

This whole thing started because I noticed we mentioned MPL in LICENSE
even though we only download OSMF (and Saxon).  The OSMF source doesn’t
get included in our source package.  Then on further digging, Justin found
more issues, especially with the binary package.

The binary package review works just like the source package review,
except that the stuff in NOTICE will also come from any jars we’ve
downloaded and included in the package.  Sometimes the jar’s LICENSE and
NOTICES are located in a folder near the jar, other times the jar has the
LICENSE and NOTICE packaged in the jar.  To extract files from a jar, run
jar -xf <jar>.  It will put the files in the current folder so maybe do
that in a temporary folder.  Most jars put LICENSE and NOTICE in a
META-INF folder, but some put it elsewhere and some don’t include it at
all.  So yeah, that’s painful, but basically, the process is to look for
jars, look for legal files near the jars, dump jars, look for things in
the dump that look like legal stuff that implies that we have to notify
the customer about something and make sure we’ve mentioned it in NOTICE.
Sometimes notices are in README files as well.  Saxon is tricky in that it
has some legal files for code that isn’t in the actual jar we use so it
doesn’t matter.

Another part of the binary package review is to dump each Flex jar and
make sure it has a LICENSE and NOTICE and the contents of those files
makes sense for the contents of the jar.

And, BTW, it might be easier for folks to wait for Justin to fix up the
Saxon stuff and build script before reviewing all of this.  Right now the
LICENSE points to places that don’t exist.  But I really think we need
folks to actually look or maybe divide up the review.  Given that Justin
and I voted +1 on many releases with these or similar problems in the
past, you can’t trust us to find everything every time.

Also, I am hopeful that this could be the last time we have to go digging
this hard.  In theory, if we try to keep track of major new developments
in between releases, then we have an idea if any serious review of LICENSE
and NOTICE might even be required for the next release, so it shouldn’t
always take this kind of time before you vote in future releases.  Our
mail archives seem to show that the binary package never got any sort of
review from the mentors which is why it had this many issues.  The mentors
probably didn’t bother because binary packages aren’t official Apache
products so it may have just gotten lost in the noise.

HTH,
-Alex



Reply via email to