You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@harmony.apache.org by Dalibor Topic <ro...@kaffe.org> on 2005/06/09 13:29:19 UTC
On Tainting/Residual Rights (Was: Re: [Legal] Requirements for Committers)
Steve Blackburn wrote:
> Dalibor Topic wrote:
>
>> Many people don't see the need to look at non-free software in
>> general, and chances are pretty slim that anyone I know will ever get
>> that bored and out of reading material to accept the 'Read only'
>> license, for an example of a very funny non-free software license.
>
>
> I have never looked at non-free implementations, but I am interested to
> know what this means for those of us who have extensive exposure to
> implementations such as Kaffe (GPL) or Jikes RVM (CPL). My reading of
> it is that I can't work on any part of Harmony for which I am tainted by
> my Jikes RVM exposure without permission from the copyright holder of
> Jikes RVM. Is that right?
Nope. :)
You can look at free software and work on other software as much as you
want to, as free software licenses do not claim further rights beyound
the rights granted to the author through copyright laws. I.e. if you
copy or modify free software works, you are bound by their license
terms, as the copyright laws grant the authors a say in derivative
works. If you don't do that, then the author has no say in your own,
original work. You are allowed to study free software (freedom 1 [1]).
You can do what you want with that knowledge, modulo patents and
creating derived works.[0]
Non-free software licenses, though, like the SCSL-derivatives covering
large portions of core Java technology, make claims that go wildly
beyound the rights given to the copyright holders through copyright law.
For example, the SCSL claims all sorts of rights on 'Modifications',
defining Modifications for the purpose of the license way beyound the
scope of the copyright law.
" GLOSSARY, 13. "Modification(s)" means (i) any change to Covered Code;
(ii) any new file or other representation of computer program statements
that contains any portion of Covered Code; and/or (iii) any new Source
Code implementing any portion of the Specifications.
13(i) is your normal copyright law. 13(ii) is your normal copyright law
with an extra spin: it tries to prohibit fair use by claiming that
containing *any portion* of SCSL covered code turns your code into a
modification of SCSL covered code.
Given that you're writing your code in java, chances are that any class
you write shares a certain amount of text with some SCSLd covered code,
simply because they are written in the same programming language. So
13(ii) covers pretty much all java code ever written by anyone who
licensed code under SCSL. To put more graphically, GLOSSARY,13(ii) ==
All your Java are belong to us
Let's get to 13(iii), which is a little more convulted. It says any
*new* Source Code implementing *any portion* of the *Specifications*.
New code is quite obvious, so it coveres all new code you write. Then we
have a clarification, it's any new code you write that implements any
portion of some specs. "implementing any portion of specs" doesn't say
'extending Object is OK', it says "there are some specs, you implement
any single bit out of them, your code is covered". Both the JDK API spec
and the JLS cover java.lang.Object's method signatures. If your code
extends java.lang.Object, it implements "a portion" of the JLS and JDK
API, since you can call the methods covered by the Object API on it. If
that's too far fetched for you, take classes implementing the
Serializable interface, or your classes extending SCSL covered classes,
and overriding methods in them.
But the really convulted part of 13(iii) is in the reference to
"Specifications". If we look up "Specifications" in the glossary, we'll find
GLOSSARY, 21. "Specifications" means the specifications for the
Technology and other documentation, as designated on the Technology
Download Site, as may be revised by Original Contributor from time to time.
This clause gives the copyright owner (or whoever hacks the site) a
backdoor to revise the specifications, and claim violation afterwards,
even if you were compliant originally. The license does not specify the
"Technology download site" precisely (with some URL) anywhere. It does
specify the community source download site, but that one has no JDK
specs. Beautyful."
From my blog on just a few of the hidden gems of tragicomical legalese
buried in the SCSL available on
http://advogato.org/person/robilad/diary.html?start=46.
Free Software licenses don't start from the maximal 'we now fully own
you, period' position. They start from the minimal 'we own our work,
copyright law is cute, this license and copyright law together grant you
broad rights, use them wisely and have fun' position and simply rely on
copyright law, permissions for dervied works and common sense to sort
out the authorship rights rather than claiming everything and all you
come up with by default as covered by them.
You still own your own brain after studying Free software. Free Software
licenses need not to explicitely tell you that, as they make no claims
to your memory, or other body parts. Non-free software licenses, otoh,
that make fancy claims to own you, need to somehow make sure that
thinking in public is still legal after you signed them, so they have to
disclaim ownership to your memory, at least :)
cheers,
dalibor topic
[0] For the record, I don't own any software patents, and regard them as
a mild, cureable form of mass insanity.
[1] The freedom to study how the program works, and adapt it to your
needs (freedom 1).
Re: On Tainting/Residual Rights (Was: Re: [Legal] Requirements for
Committers)
Posted by Dalibor Topic <ro...@kaffe.org>.
Dalibor Topic wrote:
[hot stuff]
Holy cow, with a bit of hindsight, that was one little emotional
firebrand speech without harmonic undertones. I am afraid I pressed the
send button way too soon, so sorry about that, and I hope to avoid
turning the list into a legal speculative fest. After some experience on
debian-legal, I should know better than to send firebrand speeches to
mailing lists. ;(
Instead of sheepishly feeding the speculations further myself, I'll take
it up with some friendly folks at the parents of the JRL, and try to
figure out what the JRL is really meant to mean, and see if all of my
fears regarding the JRL covering other things really are as unfounded as
everyone would/should hope. If they are unfounded, well, awesome,
everyone wins. If they are not unfounded, well, the JRL could be fixed
to make them unfounded, and everyone wins. Let's be winners.
love, peace and understanding,
dalibor topic
Re: On Tainting/Residual Rights (Was: Re: [Legal] Requirements for
Committers)
Posted by Dalibor Topic <ro...@kaffe.org>.
Bruno F. Souza wrote:
> Dalibor Topic wrote:
>
>>
>> You can look at free software and work on other software as much as
>> you want to, as free software licenses do not claim further rights
>> beyound the rights granted to the author through copyright laws. I.e.
>> if you copy or modify free software works, you are bound by their
>> license terms, as the copyright laws grant the authors a say in
>> derivative works. If you don't do that, then the author has no say in
>> your own, original work. You are allowed to study free software
>> (freedom 1 [1]). You can do what you want with that knowledge, modulo
>> patents and creating derived works.[0]
>>
>
> Well, the "tainting" (if that can be said that way) on open source
> licenses only have any effect if the original license has some
> reciprocity rules (like the GPL/LGPL for example) that prevents you to
> use the code anyway you want. Under copyright, you cannot simply copy
> the code, and as such, Harmony's code should not bear any resemblance to
> other free J2SE implementations to which the license is not Apache
> compatible. As seen in the JBoss vs Geronimo legal discussion, we should
> probably be careful here as well.
Yep, copying the code verbatim, or copying a derived work of the code is
covered by Free Software licenses, and some of them have stricter rules
than the Apache Software License v2, so that code can not be used in
Harmony unless relicensed. Note that one would want to have copyright
disclaimers on all the code going into Harmony, to avoid funny
misunderstandings (cheers to everyone's friends in SCO) later.
Otoh, you are fine to look at Kaffe's source code (GPLd), for example,
decide that it does some things not that well, and go on to implement
your own, better runtime/jit/gc/verifier/whatever (just listen to Miguel
for a while, to hear how many things Mono does better than Kaffe :), and
license it as you wish (Mono is not GPLd), as it is your own original
work, that does not share copyrightable portions with GPLd code.
Copyright protects an expression, patents protect ideas. Ideas expressed
in Free Software can be learned and reused freely, modulo any weird
software patents. The literal, tangible expressions of those ideas,
though, can be copied and modified only according to the liberal, OSI
certified rules set forth by the authors.
> And another can or worms is Sun's research license (JRL), that
> specifically says:
>
> B. Residual Rights. You may use any information in
> intangible form that you remember after accessing the
> Technology, except when such use violates Sun's copyrights
> or patent rights.
>
> That pretty much spells out the same as what Dalibor said:
>
> > You can do what you want with that knowledge, modulo
> > patents [rights] and creating derived works [copyright rights].
Well, there is a major difference: the JRL claims copyright rights for
any code implementing any part of the specifications, no matter whether
that new code actually contains a copyrightable portion of the JRL code
or not. As Harmony would be writing new code, it should avoid getting
under such claims from the JRL. See
http://www.mail-archive.com/classpath@gnu.org/msg09825.html for details.
quoting from it:
"As long as Sun says that anything that implements the specs for J2SE,
without actually being derived from Sun's JRLd code, is nevertheless a
modification of their work, the FAQ is pretty misleading, in my opinion,
though it may be factually correct:
Yes, the JRL-bound developer probably can *create* your own independent
implementation, but she can't distribute it without violating Sun's
claimed rights, unless she distributes it under the JRL or an
equivalent, which is very, very far from being open source. Yes, she
probably can *work* on an open source implementation, but she can't
distribute the results of her work under an open-source license.
That means the Residual Rights section, while well-meant, is not useful
in real life. Most people writing open source software also happen to
like to distribute their own, independant works to other people, under
open source licenses, even. :)"
Copyright does not work the way the JRL-modification-clause works: for
copyright claims to work, a work must somehow derive from another work,
usually by incorporating a modified or verbatim copy of it. What the JRL
gives the copyright holder is a
'copyright-claim-through-wishful-thinking', i.e. a claim on works that
do not contain any copyrightable portion of their original work. The JRL
(and other 'Bride of SCSL' licenses) essentially tries to give the
copyright holder an easy way to slap software patent-like protection of
ideas embodied in an interface on their source code, without actually
going through the cumbersome process of acquiring software patents.
That is extremely different from OSI-certified licenses: those must
constrain themselves to just the works that are derived (in the sense of
copyright law) from them, and can make no claims to unrelated works,
that happen to implement the same interface. Which is why some software
vendors can legally ship their Java(TM) desktop systems on both
GNU/Linux and on non-free operating systems: Free Software does not
claim their independent non-free software as covered by the free
software licenses, just because it happens to do the same thing using
the same ideas.
> So, if we're allowing (with the mentioned care to not infringe copyright
> rights) anyone to work on Harmony that have worked on the open source
> implementations, should we allow those that have read or worked on Sun's
> code under the JRL the same treatment? Or for the sake of extra care, we
> should avoid both or one of the situations? Maybe that would be going
> too far? Geronimo did not avoid contributions from people that worked at
> JBoss, and I understand that besides some trouble along the way, it all
> turned out OK in the end.
The JRL, and other similar Java(TM) technology licenses, unfortunately
try to make it very hard for someone who agrees to them to both work on
*and* release a free software implementation of the specs without
violating the license, afaict, despite well-meant comments from some
executives and marketing staff to the contrary.
If the JRL did not make any claims to new, original code calling it a
modification (see Modifications(b)), then the Residual Rights section
*may* work as advertised, if the termination clause is fixed [1]. On the
other hand, I'd be surprised if there were not too many legal mines
buried in it to make fixing it a dull and pointless excercise. :(
cheers,
dalibor topic
[1] Yeah, termination is broken, as well, as it does not preserve your
Residual Rights, just section V, which covers Trademarks, Export Control
and similarly useless things. Residual Rights, for your JRL-trapped
inconvenience, are under section III, which does not survive
termination, afaict.
Not that it is really easy to terminate the JRL anyway, as it does not
tell you where to send your written notice of termination. And so on,
and so on. Short story: don't touch non-free source code with licenses
from the legal team that gave us such gems like the 'Read-only' license,
without spending some serious time with your lawyers.
Re: On Tainting/Residual Rights (Was: Re: [Legal] Requirements for Committers)
Posted by "Geir Magnusson Jr." <ge...@apache.org>.
On Jun 13, 2005, at 6:43 PM, acoliver@apache.org wrote:
> I've had different answers on legal-discuss to some of these
> questions.
Feel free to share.
> I would encourage folks to avoid these kinds of detailed legal
> discussions here in favor of discussions with generally more
> qualified people on that list.
I'm not sure anything is detailed. We're just calling out the issues
that will need competent legal review.
> I would merely like to state that the issue of "derivative work"
> is NOT straightforward and the issue of the JRL is not even as
> straighforward as it seems unfortunately and encourage further
> discussion take place on legal-discuss.
Yep - but we need to bring that back here for our policy.
geir
--
Geir Magnusson Jr +1-203-665-6437
geirm@apache.org
Re: On Tainting/Residual Rights (Was: Re: [Legal] Requirements for
Committers)
Posted by ac...@apache.org.
I've had different answers on legal-discuss to some of these questions.
I would encourage folks to avoid these kinds of detailed legal
discussions here in favor of discussions with generally more qualified
people on that list. I would merely like to state that the issue of
"derivative work" is NOT straightforward and the issue of the JRL is not
even as straighforward as it seems unfortunately and encourage further
discussion take place on legal-discuss.
Moreover, it is my personal opinion that the JBoss-Geronimo issue was a
very specific set of circumstances that have no real lessons to learn
for this project (though I speak only for myself).
-Andy
Geir Magnusson Jr. wrote:
>
> On Jun 9, 2005, at 8:10 AM, Bruno F. Souza wrote:
>
>> Dalibor Topic wrote:
>>
>>> You can look at free software and work on other software as much as
>>> you want to, as free software licenses do not claim further rights
>>> beyound the rights granted to the author through copyright laws.
>>> I.e. if you copy or modify free software works, you are bound by
>>> their license terms, as the copyright laws grant the authors a say
>>> in derivative works. If you don't do that, then the author has no
>>> say in your own, original work. You are allowed to study free
>>> software (freedom 1 [1]). You can do what you want with that
>>> knowledge, modulo patents and creating derived works.[0]
>>>
>>>
>>
>> Well, the "tainting" (if that can be said that way) on open source
>> licenses only have any effect if the original license has some
>> reciprocity rules (like the GPL/LGPL for example) that prevents you
>> to use the code anyway you want. Under copyright, you cannot simply
>> copy the code, and as such, Harmony's code should not bear any
>> resemblance to other free J2SE implementations to which the license
>> is not Apache compatible. As seen in the JBoss vs Geronimo legal
>> discussion, we should probably be careful here as well.
>>
>
> To be clear, there never was any JBoss code copied for Geronimo. One
> issue from that discussion was similarity of design approach, but I
> think that's ok. If we see that Kaffe has a great trick of caching the
> $foo objects to solve the problem of constantly reloading from disk,
> then I don't see a problem with us using the same strategy as long as
> we don't use the source code from Kaffe.
>
> This is how fields of knowledge grow - people learn from each other.
>
>> And another can or worms is Sun's research license (JRL), that
>> specifically says:
>>
>> B. Residual Rights. You may use any information in
>> intangible form that you remember after accessing the
>> Technology, except when such use violates Sun's copyrights
>> or patent rights.
>>
>> That pretty much spells out the same as what Dalibor said:
>>
>> > You can do what you want with that knowledge, modulo
>> > patents [rights] and creating derived works [copyright rights].
>>
>> So, if we're allowing (with the mentioned care to not infringe
>> copyright rights) anyone to work on Harmony that have worked on the
>> open source implementations, should we allow those that have read or
>> worked on Sun's code under the JRL the same treatment?
>
>
> This non-lawyer says yes, but there may be some clarification needed.
>
>> Or for the sake of extra care, we should avoid both or one of the
>> situations? Maybe that would be going too far? Geronimo did not avoid
>> contributions from people that worked at JBoss, and I understand that
>> besides some trouble along the way, it all turned out OK in the end.
>
>
> Yes. One of the key lessons from Geronimo (which had nothing to do
> with JBoss, actually) was that we should track the "bulk"
> contributions, even from committers. These can be a small as a
> developers favorite little string library or something, and if that
> person has been doing OSS for a while, has probably licensed that under
> other licenses to other projects. That dev is free to relicense if
> they choose, of course. The problem is when someone does a source code
> comparison and gets a match, questions are asked, and it's much easier
> to answer the question when you have a database of contributions you
> can refer to rather than "um, lets go look..."
>
> geir
>
>
>>
>> More food for though...
>>
>> --
>> Bruno.
>> ______________________________________________________________________
>> Bruno Peres Ferreira de Souza Brazil's JavaMan
>> http://www.javaman.com.br bruno at javaman.com.br
>> if I fail, if I succeed, at least I live as I believe
>>
>>
>
--
Andrew C. Oliver
SuperLink Software, Inc.
Java to Excel using POI
http://www.superlinksoftware.com/services/poi
Commercial support including features added/implemented, bugs fixed.
Re: On Tainting/Residual Rights (Was: Re: [Legal] Requirements for Committers)
Posted by "Geir Magnusson Jr." <ge...@apache.org>.
On Jun 9, 2005, at 8:10 AM, Bruno F. Souza wrote:
> Dalibor Topic wrote:
>
>> You can look at free software and work on other software as much
>> as you want to, as free software licenses do not claim further
>> rights beyound the rights granted to the author through copyright
>> laws. I.e. if you copy or modify free software works, you are
>> bound by their license terms, as the copyright laws grant the
>> authors a say in derivative works. If you don't do that, then the
>> author has no say in your own, original work. You are allowed to
>> study free software (freedom 1 [1]). You can do what you want with
>> that knowledge, modulo patents and creating derived works.[0]
>>
>>
>
> Well, the "tainting" (if that can be said that way) on open source
> licenses only have any effect if the original license has some
> reciprocity rules (like the GPL/LGPL for example) that prevents you
> to use the code anyway you want. Under copyright, you cannot simply
> copy the code, and as such, Harmony's code should not bear any
> resemblance to other free J2SE implementations to which the license
> is not Apache compatible. As seen in the JBoss vs Geronimo legal
> discussion, we should probably be careful here as well.
>
To be clear, there never was any JBoss code copied for Geronimo. One
issue from that discussion was similarity of design approach, but I
think that's ok. If we see that Kaffe has a great trick of caching
the $foo objects to solve the problem of constantly reloading from
disk, then I don't see a problem with us using the same strategy as
long as we don't use the source code from Kaffe.
This is how fields of knowledge grow - people learn from each other.
> And another can or worms is Sun's research license (JRL), that
> specifically says:
>
> B. Residual Rights. You may use any information in
> intangible form that you remember after accessing the
> Technology, except when such use violates Sun's copyrights
> or patent rights.
>
> That pretty much spells out the same as what Dalibor said:
>
> > You can do what you want with that knowledge, modulo
> > patents [rights] and creating derived works [copyright rights].
>
> So, if we're allowing (with the mentioned care to not infringe
> copyright rights) anyone to work on Harmony that have worked on the
> open source implementations, should we allow those that have read
> or worked on Sun's code under the JRL the same treatment?
This non-lawyer says yes, but there may be some clarification needed.
> Or for the sake of extra care, we should avoid both or one of the
> situations? Maybe that would be going too far? Geronimo did not
> avoid contributions from people that worked at JBoss, and I
> understand that besides some trouble along the way, it all turned
> out OK in the end.
Yes. One of the key lessons from Geronimo (which had nothing to do
with JBoss, actually) was that we should track the "bulk"
contributions, even from committers. These can be a small as a
developers favorite little string library or something, and if that
person has been doing OSS for a while, has probably licensed that
under other licenses to other projects. That dev is free to
relicense if they choose, of course. The problem is when someone
does a source code comparison and gets a match, questions are asked,
and it's much easier to answer the question when you have a database
of contributions you can refer to rather than "um, lets go look..."
geir
>
> More food for though...
>
> --
> Bruno.
> ______________________________________________________________________
> Bruno Peres Ferreira de Souza Brazil's JavaMan
> http://www.javaman.com.br bruno at javaman.com.br
> if I fail, if I succeed, at least I live as I believe
>
>
--
Geir Magnusson Jr +1-203-665-6437
geirm@apache.org
Re: On Tainting/Residual Rights (Was: Re: [Legal] Requirements for
Committers)
Posted by "Bruno F. Souza" <br...@javaman.com.br>.
Dalibor Topic wrote:
>
> You can look at free software and work on other software as much as you
> want to, as free software licenses do not claim further rights beyound
> the rights granted to the author through copyright laws. I.e. if you
> copy or modify free software works, you are bound by their license
> terms, as the copyright laws grant the authors a say in derivative
> works. If you don't do that, then the author has no say in your own,
> original work. You are allowed to study free software (freedom 1 [1]).
> You can do what you want with that knowledge, modulo patents and
> creating derived works.[0]
>
Well, the "tainting" (if that can be said that way) on open source
licenses only have any effect if the original license has some
reciprocity rules (like the GPL/LGPL for example) that prevents you to
use the code anyway you want. Under copyright, you cannot simply copy
the code, and as such, Harmony's code should not bear any resemblance to
other free J2SE implementations to which the license is not Apache
compatible. As seen in the JBoss vs Geronimo legal discussion, we should
probably be careful here as well.
And another can or worms is Sun's research license (JRL), that
specifically says:
B. Residual Rights. You may use any information in
intangible form that you remember after accessing the
Technology, except when such use violates Sun's copyrights
or patent rights.
That pretty much spells out the same as what Dalibor said:
> You can do what you want with that knowledge, modulo
> patents [rights] and creating derived works [copyright rights].
So, if we're allowing (with the mentioned care to not infringe copyright
rights) anyone to work on Harmony that have worked on the open source
implementations, should we allow those that have read or worked on Sun's
code under the JRL the same treatment? Or for the sake of extra care, we
should avoid both or one of the situations? Maybe that would be going
too far? Geronimo did not avoid contributions from people that worked at
JBoss, and I understand that besides some trouble along the way, it all
turned out OK in the end.
More food for though...
--
Bruno.
______________________________________________________________________
Bruno Peres Ferreira de Souza Brazil's JavaMan
http://www.javaman.com.br bruno at javaman.com.br
if I fail, if I succeed, at least I live as I believe
Re: On Tainting/Residual Rights (Was: Re: [Legal] Requirements for
Committers)
Posted by Ben Laurie <be...@algroup.co.uk>.
Dalibor Topic wrote:
> Steve Blackburn wrote:
>
>> Dalibor Topic wrote:
>>
>>> Many people don't see the need to look at non-free software in
>>> general, and chances are pretty slim that anyone I know will ever get
>>> that bored and out of reading material to accept the 'Read only'
>>> license, for an example of a very funny non-free software license.
>>
>>
>>
>> I have never looked at non-free implementations, but I am interested
>> to know what this means for those of us who have extensive exposure to
>> implementations such as Kaffe (GPL) or Jikes RVM (CPL). My reading of
>> it is that I can't work on any part of Harmony for which I am tainted
>> by my Jikes RVM exposure without permission from the copyright holder
>> of Jikes RVM. Is that right?
>
>
> Nope. :)
>
> You can look at free software and work on other software as much as you
> want to, as free software licenses do not claim further rights beyound
> the rights granted to the author through copyright laws. I.e. if you
> copy or modify free software works, you are bound by their license
> terms, as the copyright laws grant the authors a say in derivative
> works. If you don't do that, then the author has no say in your own,
> original work. You are allowed to study free software (freedom 1 [1]).
> You can do what you want with that knowledge, modulo patents and
> creating derived works.[0]
Its not quite as simple as that (I happen to have been taking legal
advice recently on this question) - if I look at your implementation,
then I write my own, and my own is substantially similar to yours, then
I may be infringing your copyright, even if I wrote mine from scratch.
--
>>>ApacheCon Europe<<< http://www.apachecon.com/
http://www.apache-ssl.org/ben.html http://www.thebunker.net/
"There is no limit to what a man can do or how far he can go if he
doesn't mind who gets the credit." - Robert Woodruff