<div dir="ltr">Also, I don't think we have a difference of opinion regarding the complexities of determining whether something is a derived work. However, in the case of the GNU Classpath extension, it is the understanding, explicitly noted, that a derived work is created (a combined work) by the linking of the library. The license then makes an exception for this specific kind of derived work (as copyright owners they can license it as they please). Of course if there is no derived work then there isn't anything to argue about.<div><span style="line-height:1.5"><br></span></div><div><span style="line-height:1.5"> Perhaps the question comes up as to whether a project that is following the terms of the Classpath license is a derived work. It is an interesting academic question as to whether it is a derived work or not. However the question is moot since the license excludes such considerations as making a difference, as long as the library license terms are followed. </span></div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Jul 1, 2015 at 1:29 AM Alan Ruttenberg <<a href="mailto:alanruttenberg@gmail.com">alanruttenberg@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I guess I'm confused. You see to imply that the copyright owner expresses an intent in a license, the licensee acts according to the intent, and then something bad happens. Could you say what the scenario you are imagining is?<br></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Jul 1, 2015 at 12:45 AM Pascal J. Bourguignon <<a href="mailto:pjb@informatimago.com" target="_blank">pjb@informatimago.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Alan Ruttenberg <<a href="mailto:alanruttenberg@gmail.com" target="_blank">alanruttenberg@gmail.com</a>><br>
writes:<br>
<br>
> It *is* a derived work, which is why the class path/use as library is<br>
> called an *exception*.<br>
<br>
The point of my last message was to note that you do not get to decide<br>
what is derived work and what is not. It's up to a judge, and as the<br>
judgement examples cited in the reference show, the considerations used<br>
to decide whether it's derived work or not are not technical and<br>
definitely don't depend on the parties involved.<br>
<br>
<br>
> Is ABCL licensed as GPL or LGPL? It is the latter that clearly gives<br>
> the permission to use as a library. Oh, I see not. I think it might<br>
> be a good idea to include LGPL an option. The ABCL FAQ says<br>
><br>
> -------<br>
><br>
> ABCL is distributed under the GNU General Public License with<br>
> Classpath exception. This is the same license as used for JAVA SE and<br>
> GNU Classpath.<br>
><br>
> Basically this means you can use ABCL from your application without<br>
> the need to make your own application open source.<br>
><br>
> In general, such usage means that whenever you keep ABCL as a<br>
> separate jar file, you won't have licensing problems. The combining<br>
> in the Classpath exception means that you can<br>
<br>
This is what you, as a programmer, would hope. This is not what a judge<br>
may determine.<br>
<br>
Since my last message was in response to a different question about a<br>
java project using a lisp library compiled with abcl, I ignored the abcl<br>
part.<br>
<br>
Assume that your lisp code implements some superset of the Common Lisp<br>
programming language with some IDE features (eg. an improved debugger).<br>
<br>
Assume that your java project implements a GUI over this superset and<br>
debugger.<br>
<br>
I wouldn't bet that a judge determine that:<br>
<br>
1- the java project is a derived work of your lisp library.<br>
<br>
2- the lisp library is a derived work of abcl, notably if it is<br>
demonstrated that this library cannot be compiled or run similarly on<br>
another implementation (eg. perhaps it uses ABCL extension to CL:OPEN<br>
to accept urls and fetch resources, and cannot work without obtaining<br>
those web resources?)<br>
<br>
<br>
But if the lisp library purpose was something else (eg. implementing a<br>
game), it is possible that a judge would determine that this is not a<br>
derived work of abcl, even if it uses the exact same set of features of<br>
ABCL!<br>
<br>
And while this would stand, it is quite possible that the java project<br>
be still considered a derived work of the lisp library, and therefore<br>
bound to the privative license restrictions of the lisp library.<br>
<br>
<br>
> Extend ABCL java classes in your program<br>
> Use ABCL java classes in your program<br>
> Invoke ABCL lisp functions in your program<br>
> without having to worry about the licensing. You do have to<br>
> distribute the source code of ABCL (including modifications) if you<br>
> distribute ABCL, but otherwise the license of ABCL is not viral.<br>
<br>
While the classpath exception expresses an intent on the part of the<br>
copyright owner, (and similarly for LGPL, LLGPL, the GPL in general,<br>
etc) I'm sure it would have only a small influence on a judge decision.<br>
<br>
<br>
<br>
I would like to note also that the Copyright law definition of derived<br>
work is very large, including: translations. Assume you take a GPL<br>
program written in C, and translate it in Common Lisp, either<br>
mechanically or manually, and when manually, either doing a literal<br>
translation ("word for word") or doing a "re-interpretation", a<br>
rewrite. As long as the general structure and features remains the<br>
same, it seems clear that this rewrite will be considered a derived<br>
work, and will have to remain licensed under the GPL.<br>
<br>
--<br>
__Pascal Bourguignon__ <a href="http://www.informatimago.com/" rel="noreferrer" target="_blank">http://www.informatimago.com/</a><br>
“The factory of the future will have only two employees, a man and a<br>
dog. The man will be there to feed the dog. The dog will be there to<br>
keep the man from touching the equipment.” -- Carl Bass CEO Autodesk<br>
<br>
<br>
</blockquote></div></blockquote></div>