incubator-easyant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jean-Louis Boudart <jeanlouis.boud...@gmail.com>
Subject Re: Third Party Jars
Date Thu, 10 Mar 2011 12:44:42 GMT
Thanks for all thoses clarifications Stefan. I still got a few questions :p



> >>> Then come the problem of plugins. As you should know easyant a
> >>> plugin based architecture. A plugin is a reusable ant script
> >>> answering a given need such as "compile-java" or "package-jar". Some
> >>> plugins additionnal relies on existing ant tasks such as :
>
> >>>    - Checkstyle
>
> >> Such a plugin cannot be distributed as ASF software since it is in
> >> Categoy X - apache-extras.org might be an option.
>
> > Just to be sure is this kind of plugin really forbidden in ASF  ?
>
> > I guess the plugin basically uses checkstyle ant task and require a
> > given version of checkstyle as a dependency.  For example ant's
> > build.xml uses checkstyle task, isn't it? The problem is probably
> > about distributing checkstyle jars.
>
> We are talking about two or three different things.
>
> (1) using something at build time
>
>    You can use whatever you want no matter what the license says (as
>    long as you are legally allowed to run it, of course).  Be that gcc,
>    Visual Studio or checkstyle.
>
>    This is what Ant's build file does.
>
> (2) writing code that depends on an external library
>
>    This is a no-go for external dependencies with reciprocal licenses.
>    I'm afraid the checkstyle plugin falls into this category.
>
> (3) distributing a library
>
>    This is OK for Category A and B but not for Category X as defined in
>     <http://www.apache.org/legal/resolved.html>
>
>     This would prohibit distribution of checkstyle.jar or the checkstyle
>    Ant task.
>
The problem is we want to distribute a plugin (basically a build.xml) using
checkstyle ant task.
In an ideal world we should not distribute checkstyle.jar but it should be
fetched from maven repository when users will use checkstyle plugin in their
project.


>
> > So plugins could be released under apache licenses and specify in their
> > dependencies such as :
> > <dependency org="checkstyle" module="checkstyle" revision="xxx"/>
>
> It is not possible to write a checkstyle plugin that was licensed under
> any license incompatible with the LGPL - this includes the Apache
> Software License.  Unless you write a task like Cobertura's Ant task
> that jumps through a hoop or two in order to insulate itself from the
> GPL.
>

Then how maven checkstyle plugin could be hosted and distributed under ASL ?
Plugin website
http://maven.apache.org/plugins/maven-checkstyle-plugin/
Sources
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-checkstyle-plugin/
<http://maven.apache.org/plugins/maven-checkstyle-plugin/>
http://svn.apache.org/viewvc/maven/plugins/tags/maven-checkstyle-plugin-2.6/




>
> >>>    - Antunit
> >>>    - compile-groovy (using groovy.jar)
> >>>    - compile-scala (usign scala-compiler.jar)
> >>>    - scm-svn (using svnant.jar)
> >>>    - cobertura
> >>>    - emma
> >>>    - ogsi-bundle (using bnd.jar)
> >>>    - jetty-deploy (using jetty.jar)
>
> >> We'll need to review their licenses as well.
>
> Category-A: AntUnit (obviously), Groovy, Scala, bnd, cobertura Ant tasks,
>            Jetty (in case of Jetty 7+ you need to make clear you are
>            using the Apache Software License as it is dual licensed).
>
> Category-B: emma
>
> Category-X: cobertura
>
> I've been unable to find license information about svnant.  If it is
> under the same license as Subclipse (EPL 1.0) it is in Category B.
>
>From what i have seen it's an ASL 1.1  if license.txt is up2date here
http://subclipse.tigris.org/source/browse/subclipse/trunk/svnant/
<http://subclipse.tigris.org/source/browse/subclipse/trunk/svnant/>

>
> Cobertura seems to go a long way to make the Ant task Apache licensed,
> so a plugin using Cobertura's Ant task is OK as is distributing the
> Cobertura Ant tasks, but distributing the dependencies of the Ant task
> is not.
>
And if dependencies are not distributed within easyant but retrieved from
public maven repositories at runtime by project using coberta plugin ?


-- 
Jean Louis Boudart
Independent consultant
Project Lead http://www.easyant.org

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message