harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dalibor Topic <robi...@kaffe.org>
Subject On Tainting/Residual Rights (Was: Re: [Legal] Requirements for Committers)
Date Thu, 09 Jun 2005 11:29:19 GMT
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).

Mime
View raw message