On 1 July 2016 at 12:54, Grzegorz Słowikowski <[email protected]> wrote:
> I have some more technical questions. I'll let the actual Maven developers chip in on those :) > My second questions is how and where should I describe my modifications? > Do I need to provide somehow the original source of modified class? So in this case it's easy, it just needs to "carry prominent notices stating that You changed the files". The top of the file says: /* * Licensed to the Apache Software Foundation (ASF) under one (..) * specific language governing permissions and limitations * under the License. */ Simply add right below: /* * This file was adapted from Apache Maven Embedder * https://github.com/apache/maven/blob/maven-3.3.5/maven-embedder/src/main/java/org/apache/maven/cli/event/ExecutionEventLogger.java * and modified by XXX Inc. * to use org.apache.maven.plugin.logging.Log * instead of org.slf4j.Logger */ Note that legally you don't have to say WHAT you have changed, but of course that's good engineering practice as otherwise you wouldn't know why this file was modified at all. :) I would include the exact tag/commit id and repository of where it came from - this will make it easier if you come back later to compare with a newer ExecutionEventLogger from Maven. > When using (not modified) classes from another ASLv2 project do I need > to create NOTICE file (I've had no NOTICE file before) in the root > directory of my repository containing: No, you do not NEED to create a NOTICE file if none exists already in any of the sources you have redistributed. In a way not having a NOTICE file is good for the user as then they don't need to propagate it; it's almost like a "Public domain under ASF" option. But in your case I think you are including code from Apache Maven, which HAS a NOTICE file, in which case you would want to propagate it. However you need to insert your stuff to the top, as your new thing is not "Apache Maven". :) > This product includes software developed at > XXX Inc. <https://www.xxx.com>, > which is licensed under the Apache 2 license. > > Is this note OK? I would keep your private NOTICE in a similar format to the Apache style, e.g. for a product Foo Bar: Foo Bar Copyright 2015-2016 XXX Inc. This product includes software developed at XXX Inc. <https://www.xxx.com>. And then as you have included your Apache Maven files, in the same NOTICE file also add BELOW: --------- foo-module-x/src/main/java/com/example/ExecutionEventLogger.java Apache Maven Copyright 2001-2015 The Apache Software Foundation This product includes software developed at The Apache Software Foundation (http://www.apache.org/). -------- (and similar for any other files from other AL2 sources that also have a NOTICE). You have to propagate the NOTICE content verbatim - except if it doesn't apply to what you copy. (E.g. if someone copies from you now, but don't copy your modified ExecutionEventLogger.java, then they don't need to propagate those separate Maven NOTICE lines, but would have to propagate the Foo Bar lines.) Because of this, for Apache projects we try to keep our NOTICEs slim - so don't add stuff there that you don't need to. > Additionally, identical NOTICE file should be added to > /src/main/resources/META-INF directory of every module using external > classes, right? Yes, that would be very good practice - however you should only NEED to do this if you are going to distribute the compiled JARs separate from your source code (which would also have the top level NOTICE). Publishing to Maven Central could be seen as such a distribution - but if you just provide your JARs within say a ZIP file, then you can just put the NOTICE (and LICENSE) file in that ZIP file. > I will ask next questions on [email protected]. Thank you in > advance. Regards. You seem to have got a great understanding of this already - but that would probably be the best place for more generic Apache license and attribution questions :-) And thank you for following open source licensing seriously! :-) -- Stian Soiland-Reyes Apache Taverna (incubating), Apache Commons http://orcid.org/0000-0001-9842-9718 --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
