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/[email protected]/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.

Reply via email to