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 <eev...@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 > eev...@rackspace.com > >