incubator-cassandra-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ryan Daum <r...@thimbleware.com>
Subject Re: Thoughts on issue 697 (Mitigate unpublished dependencies when using Cassandra with Maven)
Date Fri, 09 Apr 2010 18:28:30 GMT
Properly constructed Maven artifacts have to declare their license in their
POM, and there are maven plugins for checking license conformity.

R

On Fri, Apr 9, 2010 at 2:25 PM, Eric Evans <eevans@rackspace.com> wrote:

> On Fri, 2010-04-09 at 10:11 -0700, Hannes Schmidt wrote:
> > > https://issues.apache.org/jira/browse/CASSANDRA-850
> > >
> > > The highlights:
> > >
> > > You either (a) have to find a way to create binary artifacts that
> > > contain all of the necessary libs while satisfying their license
> > > requirements, or (b) turn the tide of public opinion and build
> > consensus
> > > that using maven to retrieve the dependencies post-download is OK.
> > >
> > >
> > The Maven build should produce as it's main artifact a slim jar that
> > contains only the classes and resources that are derived from the
> > sources
> > inside the project. Like every Maven-produced jar artifact, the slim
> > jar
> > would contain the pom.xml which would declare the slim jar's
> > dependencies.
> > The slim jar is for people who want to use Cassandra in a Maven
> > project.
> > They would simply declare a dependency on the slim jar in their
> > project and
> > Maven would pull that in along with the transitive dependencies, i.e.
> > the
> > slim jar's dependencies (for this to work, all of those dependencies
> > would
> > have to be available through a public repository which is what this
> > issue is
> > about).
> >
> > The Maven build would also produce an attached (Maven lingo) fat jar.
> > This
> > is a JAR that contains all classes and resources of Cassandra and its
> > dependencies rolled into a single JAR that's executable via "java
> > -jar".
> > This is also the artifact that the Download section would link to.
>
> As CASSANDRA-850 covers (and I summarized separately), we are required
> to conform to the individual license requirements of these third-party
> dependencies if we are to legally redistribute them. These requirements
> vary from license to license, and TTBOMK, there is no deterministic way
> to identify a license (including any additional provisions) and generate
> compliant artifacts.
>
> > Optionally, and as you already suggested, the client- or API-specific
> > stuff
> > could be factored out into a separate project.
> >
> >
> > > I wish you the best of luck (seriously).
> > >
> > >
> > Well, Eric, let's start with you: Would you be in support of moving
> > Cassandra to a Maven build and abandoning Ant/Ivy or at least have the
> > Ant
> > build deploy the necessary artifacts to the Maven repo?
>
> I don't like Maven either, but you aren't the first person to tell me I
> have it all Wrong. If someone were to do the work and demonstrably prove
> that there is a Better Way, as opposed to just telling me what I should
> do, I'd be open to a change.
>
> --
> Eric Evans
> eevans@rackspace.com
>
>

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