Kevin Regan | 2 Jul 2009 02:25
Picon
Favicon

OpenJDK and JNI -- licensing


A portion of our client library (.so) uses JNI and is loaded into our Java application.  Does this client
library now fall under the OpenJDK license?  Does this libraries source code need to be shared?  Are there
any other licensing issues to be aware of when working with JNI?

Sincerely,
Kevin Regan

_________________________________________________________________
Windows Live™: Keep your life in sync. 
http://windowslive.com/explore?ocid=TXT_TAGLM_WL_BR_life_in_synch_062009
Dalibor Topic | 2 Jul 2009 02:43
Picon

Re: OpenJDK and JNI -- licensing

Kevin Regan wrote:
> 
> A portion of our client library (.so) uses JNI and is loaded into our Java application.  Does this client
library now fall under the OpenJDK license?  Does this libraries source code need to be shared?  Are there
any other licensing issues to be aware of when working with JNI?

Hi Kevin,

The licensing FAQ is at http://www.sun.com/software/opensource/java/faq.jsp#g .

cheers,
dalibor topic
--

-- 
*******************************************************************
Dalibor Topic                   Tel: (+49 40) 23 646 738
Java F/OSS Ambassador           AIM: robiladonaim
Sun Microsystems GmbH           Mobile: (+49 177) 2664 192
Nagelsweg 55                    http://openjdk.java.net
D-20097 Hamburg                 mailto:Dalibor.Topic@...
Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten
Amtsgericht München: HRB 161028
Geschäftsführer: Thomas Schröder, Wolfgang Engels, Wolf Frenkel
Vorsitzender des Aufsichtsrates: Martin Häring

Kevin Regan | 2 Jul 2009 02:57
Picon
Favicon

RE: OpenJDK and JNI -- licensing


Thank you for the response.  I've read the FAQ.  However, I don't see any references to JNI.  I do see the
Classpath exception.  However, I'm not sure how it applies to JNI.

Is there a specific link within the license section that covers this?

--Kevin

> Date: Thu, 2 Jul 2009 02:43:04 +0200
> From: Dalibor.Topic@...
> Subject: Re: OpenJDK and JNI  -- licensing
> To: galabar@...
> CC: discuss@...
> 
> Kevin Regan wrote:
> > 
> > A portion of our client library (.so) uses JNI and is loaded into our Java application.  Does this client
library now fall under the OpenJDK license?  Does this libraries source code need to be shared?  Are there
any other licensing issues to be aware of when working with JNI?
> 
> Hi Kevin,
> 
> The licensing FAQ is at http://www.sun.com/software/opensource/java/faq.jsp#g .
> 
> cheers,
> dalibor topic
> -- 
> *******************************************************************
> Dalibor Topic                   Tel: (+49 40) 23 646 738
> Java F/OSS Ambassador           AIM: robiladonaim
(Continue reading)

Kevin Regan | 2 Jul 2009 19:56
Picon
Favicon

RE: OpenJDK and JNI -- licensing


Maybe I can be a bit more specific.

I'm reading the Classpath exception as meaning that a compiled java .class file that is run with the JRE
would otherwise be subject to the GPL, if not for the exception.  Is this correct?  Does this extend to JNI
libraries (that do not reference any OpenJDK code) that are actually linked into the JRE through a dynamic
library at runtime?

--Kevin 

> From: galabar@...
> To: dalibor.topic@...
> Subject: RE: OpenJDK and JNI  -- licensing
> Date: Wed, 1 Jul 2009 19:57:59 -0500
> CC: discuss@...
> 
> 
> Thank you for the response.  I've read the FAQ.  However, I don't see any references to JNI.  I do see the
Classpath exception.  However, I'm not sure how it applies to JNI.
> 
> Is there a specific link within the license section that covers this?
> 
> --Kevin
> 
> 
> > Date: Thu, 2 Jul 2009 02:43:04 +0200
> > From: Dalibor.Topic@...
> > Subject: Re: OpenJDK and JNI  -- licensing
> > To: galabar@...
> > CC: discuss@...
(Continue reading)

Kevin Regan | 2 Jul 2009 21:31
Picon
Favicon

RE: OpenJDK and JNI -- licensing


I'm seeing that the only file in the hotspot code to have the Classpath exception is jni_zero.cpp.  Can I
assume from this that JNI code falls under then Classpath exception?

--Kevin

> > Date: Thu, 2 Jul 2009 02:43:04 +0200
> > From: Dalibor.Topic@...
> > Subject: Re: OpenJDK and JNI  -- licensing
> > To: galabar@...
> > CC: discuss@...
> > 
> > Kevin Regan wrote:
> > > 
> > > A portion of our client library (.so) uses JNI and is loaded into our Java application.  Does this client
library now fall under the OpenJDK license?  Does this libraries source code need to be shared?  Are there
any other licensing issues to be aware of when working with JNI?
> > 
> > Hi Kevin,
> > 
> > The licensing FAQ is at http://www.sun.com/software/opensource/java/faq.jsp#g .
> > 
> > cheers,
> > dalibor topic
> > -- 
> > *******************************************************************
> > Dalibor Topic                   Tel: (+49 40) 23 646 738
> > Java F/OSS Ambassador           AIM: robiladonaim
> > Sun Microsystems GmbH           Mobile: (+49 177) 2664 192
> > Nagelsweg 55                    http://openjdk.java.net
(Continue reading)

Kevin Regan | 2 Jul 2009 21:32
Picon
Favicon

RE: OpenJDK and JNI -- licensing


That is jni_zero.h (not .cpp).

--Kevin

> From: galabar@...
> To: dalibor.topic@...; discuss@...
> Subject: RE: OpenJDK and JNI  -- licensing
> Date: Thu, 2 Jul 2009 14:31:12 -0500
> 
> 
> I'm seeing that the only file in the hotspot code to have the Classpath exception is jni_zero.cpp.  Can I
assume from this that JNI code falls under then Classpath exception?
> 
> --Kevin
> 
> 
> > > Date: Thu, 2 Jul 2009 02:43:04 +0200
> > > From: Dalibor.Topic@...
> > > Subject: Re: OpenJDK and JNI  -- licensing
> > > To: galabar@...
> > > CC: discuss@...
> > > 
> > > Kevin Regan wrote:
> > > > 
> > > > A portion of our client library (.so) uses JNI and is loaded into our Java application.  Does this client
library now fall under the OpenJDK license?  Does this libraries source code need to be shared?  Are there
any other licensing issues to be aware of when working with JNI?
> > > 
> > > Hi Kevin,
(Continue reading)

Xiomara Jayasena | 3 Jul 2009 00:44
Picon

JDK 7 build 63 is available at the openjdk.java.net website


The OpenJDK source is available at:
http://hg.openjdk.java.net/jdk7/jdk7
http://hg.openjdk.java.net/jdk7/jdk7/rev/57f7e028c7ad

The OpenJDK source binary plugs for the promoted JDK 7 build 63 are 
available under the openjdk http://openjdk.java.net website under Source 
Code (direct link to bundles: http://download.java.net/openjdk/jdk7)

Summary of changes:
http://download.java.net/jdk7/changes/jdk7-b63.html

-Xiomara

Mark Wielaard | 3 Jul 2009 09:00
Favicon
Gravatar

RE: OpenJDK and JNI -- licensing

Hi Kevin,

On Thu, 2009-07-02 at 12:56 -0500, Kevin Regan wrote:
> I'm reading the Classpath exception as meaning that a compiled
> java .class file that is run with the JRE would otherwise be subject
> to the GPL, if not for the exception.  Is this correct?

Yes.

>   Does this extend to JNI libraries (that do not reference any OpenJDK
> code) that are actually linked into the JRE through a dynamic library
> at runtime?

The exception is not specific to any language (be it a module written in
java, c, c++, etc). So it covers anything written that is an independent
module according to the exception clause.

If that isn't clear, then maybe someone from Sun can update the openjdk
legal page and/or faq.

Cheers,

Mark

Andrew Wiley | 4 Jul 2009 05:39
Picon

Dynamic Class Reloading

I'm fairly new to OpenJDK, and I'm wondering if there's any way to reload a
class while an application is in operation. There's JavaRebel and Apache JCI
to do this with the Sun JDK, but I don't know if there's an equivalent for
OpenJDK.
I have a server application that I want to be able to update without
rebooting it. I would like to at least be able to reload classes when the
signature doesn't change. These would be classes on the classpath that are
used normally (directly, not through reflection) in the application. Is this
possible?
On a side note, I'm fairly sure this has been done, but does OpenJDK run on
ARM systems?

Peter B. Kessler | 4 Jul 2009 07:47
Picon

Re: Dynamic Class Reloading

Andrew Wiley wrote:
> I'm fairly new to OpenJDK, and I'm wondering if there's any way to reload a
> class while an application is in operation. There's JavaRebel and Apache JCI
> to do this with the Sun JDK, but I don't know if there's an equivalent for
> OpenJDK.
> I have a server application that I want to be able to update without
> rebooting it. I would like to at least be able to reload classes when the
> signature doesn't change. These would be classes on the classpath that are
> used normally (directly, not through reflection) in the application. Is this
> possible?

If you can describe the part you want to reload as an interface, you can change the implementation behind the
interface at any time by having your own classloader.  Nothing JDK-specific is required, nor is anything
needed beyond what's already in the JVM.

			... peter


Gmane