netbeans-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matthias Bläsing <mblaes...@doppel-helix.eu>
Subject Re: [Mentors] Re: License handling (was: Re: Ready to vote on Apache NetBeans (incubating) 9.0 Beta RC3?)
Date Sun, 28 Jan 2018 21:25:55 GMT
Hey Geertjan,

Am Sonntag, den 28.01.2018, 22:06 +0100 schrieb Geertjan Wielenga:
> 
> Two questions from me to begin to understand this:
> 
> 1. How does your work relate to this file, i.e., does it replace the
> file now or later or not at all:
> 
> https://github.com/apache/incubator-netbeans/blob/master/nbbuild/rat-
> exclusions.txt

At this time it partly replaces the exclusions. It moves the
information from the global file to local files in the individual
modules.

This is relevant, as for example the EDL requires adding the copyright
information for the files. This is covered by the "license" tag in the
licenseinfo.xml file and the ref attribute of the license tag.

The exclusions "just exclude" a file, but don't give context/license
info, that is replace by my file.

The context is also made clear to reviewers, as the "rat-
licenseinfo.txt" summarizes the data.


> 2. Is what you have done needed for rc3 or is it relevant for after
> rc3:
> 
> https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+
> 9.0+Beta+rc3

It was made clear, that missing license info was the reason for the -1.
Id did not take part in that discussion, so I can't decide, but I
looked through the commits after RC2 and did not see to much license
work. Jan indicated also, that he has changes prepared.

My takeaway from the discussion is this: We should get the rat
exclusions down and license info fixed. I would not go for a RC3 at
this point.

Greetings

Matthias

> 
> On Sun, Jan 28, 2018 at 5:53 PM, Matthias Bläsing
> <mblaesing@doppel-helix.eu> wrote:
> > Hey Mentors and all other interested,
> > 
> > I'd like you to have a look at the work done in PR-396:
> > 
> > https://github.com/apache/incubator-netbeans/pull/396
> > 
> > This adds an optional file "licenseinfo.xml" that is placed into
> > each
> > module directory. This file can address multiple filesets and for
> > each
> > set of files the information:
> > 
> >  * license (reference to one of the standard licenses)
> >  * license info (free text further clarifying the license, for
> > example
> >    the requirement to spell out copyrights)
> >  * commenttype (if there is a generic reason for the explicit
> >    licenseinfo)
> >  * comment (free text to further give reason)
> >  * sourceOnly -> boolean and if present indicates, that these files
> >    don't end up in the binary build (and thus should not be present
> > in
> >    the license info)
> > 
> > Sample 1 - files distributed in the binary, various licenses:
> > https://github.com/apache/incubator-netbeans/pull/396/commits/896c8
> > e082f33c6dd03e3c9d39bd3ae5470c9ef60#diff-
> > 0dadd3d7a90ed77f9999bb61216fad06
> > 
> > Sample 2 - files only used at build-time and not present in binary:
> > https://github.com/apache/incubator-netbeans/pull/396/commits/896c8
> > e082f33c6dd03e3c9d39bd3ae5470c9ef60#diff-
> > 914c0a18bdf2e283ebf756d05fc424ac
> > 
> > 
> > From these licenseinfo.xml files:
> > 
> >  * additional information for LICENSE is pulled (see attached
> > samples,
> >    names adjusted to clarify the distribution)
> >  * license references are verified to be present
> >  * an exclusion list for the rat report is build (they would fail
> > it
> >    anyway) and
> >  * to document this a `nbbuild/build/rat-licenseinfo.txt` file is
> >    created that hold the license information and comments
> > 
> > The base work is contained in this commit:
> > 
> > https://github.com/apache/incubator-netbeans/pull/396/commits/96391
> > 64894234623aede1a8d2f611a7571a4838f
> > 
> > Based on this I added the information for various files in the
> > followup
> > commits (in that process also adding license info where possible
> > and
> > removing files, that are not needed).
> > 
> > Does this sound like a reasonable way forward?
> > 
> > Greetings,
> > 
> > Matthias
> > 
> > 
> > Am Samstag, den 27.01.2018, 22:11 +0100 schrieb Matthias Bläsing:
> > > Hi Jan,
> > > 
> > > Am Samstag, den 27.01.2018, 17:21 +0100 schrieb Jan Lahoda:
> > > > On Sat, Jan 27, 2018 at 3:20 PM, Matthias Bläsing <mblaesing@doppel
> > > > -helix.eu
> > > > > wrote:
> > > > > Hi Jan,
> > > > > 
> > > > > Am Samstag, den 27.01.2018, 15:12 +0100 schrieb Jan Lahoda:
> > > > > > 
> > > > > > Does this relate only to things we have in source, or also to
> > > > > > external
> > > > > > binaries?
> > > > > 
> > > > > I'm only looking into the files in the repository. I'm touching
> > > > > the
> > > > > CreateLicenseSummary and VerifyLibsAndLicenses tasks for this.
> > > > > 
> > > > 
> > > > Cool. For the maven (and probably a few more similar jars), I so
> > > > far also
> > > > have a tweak for CreateLicenseSummary:
> > > > ---
> > > > diff --git
> > > > a/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/CreateLicenseSummary.
> > > > java
> > > > b/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/CreateLicenseSummary.
> > > > java
> > > > index da4f169..b4cef9b 100644
> > > > ---
> > > > a/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/CreateLicenseSummary.
> > > > java
> > > > +++
> > > > b/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/CreateLicenseSummary.
> > > > java
> > > > @@ -253,9 +253,11 @@ public class CreateLicenseSummary extends Task
> > > > {
> > > >                              if (!innerName.endsWith(".jar") &&
> > > > !innerName.endsWith(".zip")) {
> > > >                                  continue;
> > > >                              }
> > > > +                            Map<String, String> nestedHeaders =
> > > > binary2License.get(n + "!/" + innerName);
> > > > +                            if (nestedHeaders == null)
> > > > nestedHeaders = headers;
> > > >                              is = zf.getInputStream(entry);
> > > >                              try {
> > > > -                                crc2LicenseHeaders.put(computeCRC3
> > > > 2(is), headers);
> > > > +                                crc2LicenseHeaders.put(computeCRC3
> > > > 2(is), nestedHeaders);
> > > >                              } finally {
> > > >                                  is.close();
> > > >                              }
> > > >  ---
> > > > 
> > > > Would that fit into what you are doing? (The intent is basically to
> > > > allow
> > > > the -license.txt files to say something like:
> > > > Files: apache-maven-3.3.9-bin.zip!/apache-maven-3.3.9/lib/jsr250-
> > > > api-1.0.jar
> > > > 
> > > > to refer to a file that is inside an external binary zip/jar.
> > > > 
> > > 
> > > If I'm not mistaken, the syntax you are using is the way nested
> > > resources are addressed in the java API. Sounds good and sensible to
> > > me.
> > > 
> > > Your work may conflict with my changes on the source level (I did
> > > some
> > > rearranging), but should not conflict with the general changes.
> > > 
> > > I think I got the changeset into a workable state and pushed it to
> > > github:
> > > 
> > > https://github.com/apache/incubator-netbeans/pull/396
> > > 
> > > This is not the complete solution, but from my perspective should
> > > give
> > > us a solid start.
> > > 
> > > 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.incubator.apache.org
For additional commands, e-mail: dev-help@netbeans.incubator.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists




Mime
View raw message