On Sat, Apr 22, 2017 at 9:43 PM Niclas Hedhman <nic...@hedhman.org> wrote:
> John, > thanks for pointing me to the issue. I argue against Marvin on it, based on > "this is a tool" that is made conveniently available for those who are not > paranoid. > > NOTICE; Ok, let's rename the file. > NOTICES-POSSIBLY-NEEDED-FOR-BINARY-DISTRIBUTION > > Sure - but there's still issues with it. And you still need a NOTICE file in your source distribution. Here's an example: fastjson is listed in the NOTICE file. If I look at fastjson's repository, and build artifacts, there's no NOTICE file included. As a result, there should be no entry in the NOTICE file for this dependency. https://github.com/alibaba/fastjson Likewise, for each MIT licensed artifact, an entry in LICENSE should be made pointing to the MIT license for that product. Same applies to each BSD-3-Clause licensed work included in the binary. Same applies to other non-Apache-2 licensed products (Apache 2 is already included, so you're good). Apache 2 products are meant to carry NOTICE files for copyright to avoid repeating licenses. At the same time, dexposed has a ridiculously long NOTICE file - completely incorrectly build, but its all in there. This may technically mean the entire contents have to be included in your binary NOTICE file: https://github.com/alibaba/dexposed/blob/master/NOTICE If you need me to, I can go into each of your dependencies and give a heads up, but would recommend that the PPMC does this, based on the assembling guide I've linked to already. > Ok? > > I thought about your points a bit more last night, and conversely I want to explain why its actually more of a burdon. Suppose that for some reason I found the contents of this class to be useful and wanted to use it alone in my work: https://github.com/apache/incubator-weex/blob/master/android/commons/src/main/java/com/alibaba/weex/commons/SimpleWeexActivity.java . By having an extremely verbose NOTICE, as a user of this file alone, I have to carry all of that along with me. I also just noticed that your files are including the full license text of the apache license in each file. We typically use the abbreviated version. > > On Sun, Apr 23, 2017 at 8:01 AM, John D. Ament <johndam...@apache.org> > wrote: > > > On Sat, Apr 22, 2017 at 7:57 AM Niclas Hedhman <nic...@hedhman.org> > wrote: > > > > > On Sat, Apr 22, 2017 at 7:25 PM, John D. Ament <johndam...@apache.org> > > > wrote: > > > > > > > > On Sat, Apr 22, 2017 at 6:41 AM Niclas Hedhman <nic...@hedhman.org> > > > wrote: > > > > > > > > > Note on gradle-wrapper.jar, > > > > > > > Agreed, and this is mostly my argument as well. However, in *nix the > > JAR > > > > will get downloaded automatically if not present. On windows, you > need > > > to > > > > pre-install gradle. > > > > > > Where did you get this idea? The gradlew launches the Java program > inside > > > the gradle-wrapper.jar which in turn downloads the full Gradle distro > if > > > not present already. I have not heard neither that the gradlew would > > > download the wrapper jar, nor that the gradle-wrapper does not work on > > > Windows. > > > > > > > > I must have seen a custom built version of gradlew then. > > > > > > > > > > > The argument I've seen from present VP Legal is that the JARs may > have > > > > viruses in them, or contain other malware. > > > > > > That was the silliest reason I have heard in a long time. With that > > > argument, we only allow source distributions, only allow to use tools > > that > > > are built from source recursively back through time... Yeah! Right... > > now, > > > there are a few projects that needs that, such as the Bitcoin > blockchain > > > toolchain, as they distrust everything, and settled on some binary from > > > decades ago with a known hash as the starting point. In any event, ASF > > > would collapse under the "they may contain malware" banner of paranoia. > > > > > > I don't buy it, since I trust my fellow folks at ASF rather than assume > > > malevolence from everyone. > > > > > > > > I don't disagree with you. And now may be a good time to bring this back > > up. But for now, its not allowable in the release. See also > > https://issues.apache.org/jira/browse/LEGAL-288 > > > > > > > > > In this particular case, I don't think that gradle-wrapper.jar ever > > > changes, so committing a new version would set off red flags, at least > > with > > > me (used Gradle for about 7 years now). A small script that traverse > all > > of > > > Apache GitHub and compares them all?? > > > > > > > > > > > > Note on LICENSE; > > > > > IIUIC, the source distribution doesn't ship any dependencies > (except > > > Gradle > > > > > above), and there is only Apache License to be considered. > > > > > > > > > > As for NOTICE, the ASF documentation you point to, basically says > > that > > > a) > > > > > don't put in anything that is not bundled (i.e. just about nothing > in > > > the > > > > > source release), b) no burden on downstream users. HOWEVER, by > > > excluding > > > > > the list of dependencies that will be in the resulting product, we > > > would > > > > > actually increase the burden of downstream users as they would need > > to > > > > > figure out what licensing requirements will come out of it all, if > > they > > > > > choose to distribute. > > > > > Therefor, I would argue that documentation is in this case arguing > > > against > > > > > itself in a single sentence, and think that the approach taken by > > Weex > > > is > > > > > appropriate. > > > > > > > > > > > > > I disagree. I think you're thinking of source release vs binary > > release. > > > > Weex has only presented a source release. > > > > > > I am aware of that, but the documentation says "make it easier for the > > > downstream" and by "excluding all non-bundled, but required, > dependencies > > > from NOTICE" we actually make it harder for the downstream. And sorry, > I > > > place "common sense" and "tribal knowledge" way over someone writing a > > > documentation and perhaps didn't realize the consequences. I never stop > > > thinking, just because I read something somewhere. > > > > > > > > I'm not sure what a valid response to this would be. I don't believe we > > should be taking into account ease of use for downstream consumers, > however > > at the end of the day those downstream consumers of a source release > > eventually get a binary and that binary should include proper data. > What I > > am trying to say is that these contents look more appropriate for the > > binary release, which would be a satisfactory use case for downstream > > consumers. > > > > > > > > > > > > Cheers > > > -- > > > Niclas Hedhman, Software Developer > > > http://polygene.apache.org - New Energy for Java > > > > > > > > > -- > Niclas Hedhman, Software Developer > http://polygene.apache.org - New Energy for Java >