Return-Path: Delivered-To: apmail-legal-discuss-archive@www.apache.org Received: (qmail 56155 invoked from network); 31 Mar 2011 14:20:39 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 31 Mar 2011 14:20:39 -0000 Received: (qmail 26400 invoked by uid 500); 31 Mar 2011 14:20:39 -0000 Delivered-To: apmail-legal-discuss-archive@apache.org Received: (qmail 26242 invoked by uid 500); 31 Mar 2011 14:20:39 -0000 Mailing-List: contact legal-discuss-help@apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: Reply-To: legal-discuss@apache.org List-Id: Delivered-To: mailing list legal-discuss@apache.org Received: (qmail 26235 invoked by uid 99); 31 Mar 2011 14:20:39 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 31 Mar 2011 14:20:39 +0000 X-ASF-Spam-Status: No, hits=-2.3 required=5.0 tests=RCVD_IN_DNSWL_MED,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [128.149.139.106] (HELO mail.jpl.nasa.gov) (128.149.139.106) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 31 Mar 2011 14:20:33 +0000 Received: from mail.jpl.nasa.gov (altvirehtstap01.jpl.nasa.gov [128.149.137.72]) by smtp.jpl.nasa.gov (Switch-3.4.3/Switch-3.4.3) with ESMTP id p2VEKBgI027987 (using TLSv1/SSLv3 with cipher RC4-MD5 (128 bits) verified NO); Thu, 31 Mar 2011 07:20:11 -0700 Received: from ALTPHYEMBEVSP20.RES.AD.JPL ([128.149.137.82]) by ALTVIREHTSTAP01.RES.AD.JPL ([128.149.137.72]) with mapi; Thu, 31 Mar 2011 07:20:10 -0700 From: "Mattmann, Chris A (388J)" To: Benson Margulies CC: "legal-discuss@apache.org" , Jim Jagielski Date: Thu, 31 Mar 2011 07:20:09 -0700 Subject: Re: Building ASL code requiring LGPL 3rd party Thread-Topic: Building ASL code requiring LGPL 3rd party Thread-Index: Acvvrr4fJcpU9HQQRBuh9+BokjtfQw== Message-ID: <0E2BF4AF-438E-48D8-B19B-43F99546C708@jpl.nasa.gov> References: <69836A6E-50AD-4BB7-B6E2-C5B2A3711A8D@jpl.nasa.gov> <1012AAE6-F803-4692-B4D4-B7A4582B64B9@jpl.nasa.gov> <28CB8445-F615-4D07-AE8B-F45C588038B9@jpl.nasa.gov> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Source-IP: altvirehtstap01.jpl.nasa.gov [128.149.137.72] X-Source-Sender: chris.a.mattmann@jpl.nasa.gov X-AUTH: Authorized Thanks for sharing your experience, Benson. Appreciate it. Cheers, Chris On Mar 31, 2011, at 6:55 AM, Benson Margulies wrote: > Chris, >=20 > CXF has many examples of the use of explicit java reflection to > exploit optional dependencies. At least one of them has, as I will > explain, a slightly cloudy license status. Just grepping for > 'loadClass' finds dozens of calls. I don't think that any are > 'category-X' components. In fact, I just grepped, and I'm certain that > none of them are. In other words, we use the same technology to give > our users more flexibility and reduce the footprint, even when there's > no licensing issue. >=20 > CXF's compass is always http://www.apache.org/legal/3party.html. >=20 > The 'cloudy' case is 'msv', the multi-schema validator. We wanted to > support XML Schema validation over Stax. This was possible by using > Woodstox (AL) + MSV (BSD). However, MSV in turn has a dependency on a > library of schema-related (relaxngDatatype) code that has, well, > somewhat uncertain parentage. We don't even use this in CXF, since, > sadly, web services can't do relax-ng. >=20 > So, the maven poms for CXF simply list MSV as a dependency, and due to > the wonders of transitive dependency management, relaxngDatatype > trails along. However, we do NOT include this jar in our release > packages, and none of our source code actually depends on msv in the > classpath to compile. If you want schema validation, you must download > MSV and dependencies and drop them into the classpath. CXF isn't > compiled against their API; it's all done reflectively. >=20 > We could be more stringent by listing msv as a maven 'runtime' > dependency -- that would keep it out of the compilation classpath and > make it harder to accidently create a source dependency, but we could > still have automated tests. Or someone could bust our chops to come up > with some non-maven download scheme. >=20 > So, someone who downloads CXF source and types 'mvn' ends up with > relaxngDatatype.jar on their machine. I could imagine taking some flak > for that. Something tells me that, out in the wilder corners of 7-step > transitive dependencies, we're not the only ASF package where > something like this happens. It's awfully hard to keep track of. >=20 > For a project like Lucene/Solr, with an ant build, the testing problem > requires the use of the 'optional download' guidelines of the web page > cited above. The build.xml would need to have an entirely optional > target which either (a) expected the user to have downloaded the > radioactive Jar in advance, or (b) downloaded it for them, and then > ran the tests. >=20 > --benson ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Chris Mattmann, Ph.D. Senior Computer Scientist NASA Jet Propulsion Laboratory Pasadena, CA 91109 USA Office: 171-266B, Mailstop: 171-246 Email: chris.a.mattmann@nasa.gov WWW: http://sunset.usc.edu/~mattmann/ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Adjunct Assistant Professor, Computer Science Department University of Southern California, Los Angeles, CA 90089 USA ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --------------------------------------------------------------------- To unsubscribe, e-mail: legal-discuss-unsubscribe@apache.org For additional commands, e-mail: legal-discuss-help@apache.org