Chris Gray wrote:
Hi Etienne,
A little clarification. I don't claim that you can't study another's
Free/Open Source (F/OS) VM source code, or that you can't contribute to
multiple VMs over time. I claim that this does not allow you to COPY
one VM's source code into another one without respecting the Copyright.
This is clear. I was a bit alarmed though by your reference to "clean room"
conditions - clean room conditions are enforced in order to eliminate all
possibility of taint, because there is a presumption that the owner of the
copyright in A will sue the developers of B if they think they have even a
chance of proving taint. In the open-source world the presumption is usually
the other way around - that developer A will not sue developer B unless there
is evidence of blatant plagiarism (and maybe not even then).
I prefer to think that I can look at, say, Kaffe or Classpath to se how they
approach certain issues without worrying that Dalibor or Mark or the FSF will
use the mere fact that I have admitted to doing so in order to argue that
anything I create in the way of core libraries or VM is somehow derived from
their work. I would like that think that I can look at SableVM in the same
way, provided I do just that: look, add the ideas to the broth already
steaming in my head, and forget the details (the last bit comes very easy).
That's something I don't allow myself to do with Sun's published code,
because of the different presumption that applies. (For the record, up until
now am untainted by SableVM, although I did pick up some interesting ideas
from a talk you gave at JVM01 (and for which you won a prize, IIRC)).
Chris,
from what I understand, Etienne claims that Archie has done more than
simply looking at the code to get inspiration and then wrote his own
code with that inspiration in mind. He is not claiming, as far as I
understood, that if you look at somebody else's source code you are
tainted for life.
If Archie did cut and paste and then modified the for loops into whiles,
moved the if/then/else around and changed the variable names, it would
be way more than taking inspiration and in that case Etienne would be
correct in claiming copyright infringement.
If Archie did not do such thing and he has such a wonderful memory that
allowed him to simply rewrite the concept and algorithms (upon which
Etienne does not have a patent, therefore cannot prohibit him to use)
and came out with the current code, Etienne's claim would not be correct.
The matter of fact is: even if Archie did use cut/paste, he could claim
the opposite and nobody would be able to prove him wrong. Archie could
also claim he didn't and Etienne could claim he doesn't believe him.
Again, there is no way to prove who's right and who's wrong.
There are two ways to get out of such an 'impasse':
#1 throw away the offending code and have somebody else write it in a
clean room fashion.
#2 avoid the resolution of the infringement claim by making the
licensing of the pieces of code in question (or, even better, the entire
SableVM) compatible with the Harmony licensing terms and apply Etienne's
copyright on the stuff that was created with strong inspiration from it.
We are currently working toward #2, but if that, for whatever reason
would fail, we would probably go down the #1 route instead of trying to
go to court to prove that Harmony did not violate Etienne's copyright.
Even if we were proven right, the value of such a result would be very
minimal compared to the economical costs and ecosystem damage.
NOTE: neither the ASF, the ASF incubator nor the Apache Harmony project
are admitting that Archie infringed Etienne's copyright and resolving
with either #1 or #2 above would not be a claim that such a copyright
violation was in place. We simply want to avoid dealing with the issue
as much as we can since we know it's so hard to determine.
--
Stefano.