You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by Andy Seaborne <an...@apache.org> on 2020/01/17 17:53:52 UTC

Re: [] Apache Jena 3.14.0 RC 2

Thanks for the vote.

On 17/01/2020 15:58, ajs6f wrote:

> I did notice:
> 
>> Portions of this software are from Apache Xerces and were originally based on the following:
>>    - software copyright (c) 1999, IBM Corporation., http://www.ibm.com.
>>    - software copyright (c) 1999, Sun Microsystems., http://www.sun.com.
> 
> I haven't kept track of all of our moves around Xerces and its datatype code. Do we still need this, or did we excise all the Xerces-derived stuff?

Jena has Xerces source code in it.  Some of the datatype code was lifted 
from Xerces.  That's why NOTICE has that text, rather than a binary 
dependency on Xerces.

Nowadays, to avoid a binary dependency, Jena has the source code for all 
the datatype machinery under "org.apache.jena.ext.xerces" without the 
XML parser. Taken from 2.11.0.

A binary dependency is a bit problematic using Jena as a library. 
xercesImpl.jar has various ServiceLoader files. It will wire itself into 
the JVM.

So the whole application gets Jena's choice of XML parser. Not good.
And there is the recurrent matter of incorrectly repackage/shading jars.

Extracting the datatype parts (which aren't huge and get called directly 
from Jena anyway) and repackaging under "org.apache.jena.ext.xerces" 
means Jena uses whatever XML parser the application chooses, including 
the JDK one (which is a older fork of Xerces but then modified). No 
ServiceLoader. Helps with OSGi as well. JENA-1537 lists a few issues 
that have come up over the years.

     Andy






Re: [] Apache Jena 3.14.0 RC 2

Posted by ajs6f <aj...@apache.org>.
Sounds like nothing to worry about (wrt to my NOTICE question).

ajs6f

> On Jan 17, 2020, at 12:53 PM, Andy Seaborne <an...@apache.org> wrote:
> 
> Thanks for the vote.
> 
> On 17/01/2020 15:58, ajs6f wrote:
> 
>> I did notice:
>>> Portions of this software are from Apache Xerces and were originally based on the following:
>>>   - software copyright (c) 1999, IBM Corporation., http://www.ibm.com.
>>>   - software copyright (c) 1999, Sun Microsystems., http://www.sun.com.
>> I haven't kept track of all of our moves around Xerces and its datatype code. Do we still need this, or did we excise all the Xerces-derived stuff?
> 
> Jena has Xerces source code in it.  Some of the datatype code was lifted from Xerces.  That's why NOTICE has that text, rather than a binary dependency on Xerces.
> 
> Nowadays, to avoid a binary dependency, Jena has the source code for all the datatype machinery under "org.apache.jena.ext.xerces" without the XML parser. Taken from 2.11.0.
> 
> A binary dependency is a bit problematic using Jena as a library. xercesImpl.jar has various ServiceLoader files. It will wire itself into the JVM.
> 
> So the whole application gets Jena's choice of XML parser. Not good.
> And there is the recurrent matter of incorrectly repackage/shading jars.
> 
> Extracting the datatype parts (which aren't huge and get called directly from Jena anyway) and repackaging under "org.apache.jena.ext.xerces" means Jena uses whatever XML parser the application chooses, including the JDK one (which is a older fork of Xerces but then modified). No ServiceLoader. Helps with OSGi as well. JENA-1537 lists a few issues that have come up over the years.
> 
>    Andy
> 
> 
> 
> 
>