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