On Mon, Dec 20, 1999 at 01:44:13AM -0500, Brian Jones wrote:
> Mark Wielaard <[EMAIL PROTECTED]> writes:
> >
> > Just me being paranoid,
>
> Rightly to be paranoid about this. A number of books out there right
> now on Swing liberally include source code from Sun's implementation;
> don't buy such books. The books on J2EE (which I think O'Reilly has
> one) all contain the SCSL license which you essentially agree to by
> reading the book.
Wait a minute. I might be paranoid, but not that paranoid.
I cannot believe that I actually agree to any licence by just reading
a book I bought in any ordinary store. What I was warning against was
accepting any license before downloading documentation from Suns site.
Which I think is a completely different issue from buying a book (or
picking up any publicly available documentation).
Let me try to write down the 'Classpath rules' as I understand them.
Please correct me if I am wrong on anything, because I think this is
important for everybody that wants to contribute to Classpath.
(Or implement their own clean room implementation of anything Java.)
Since there is no standards document for the Java class libraries
(yet?) Classpath uses freely available documentation such as specs and
javadoc that can be freely downloaded from the javasoft site or which
have been printed in books. The publisher of that information (Sun or
O'Reilly or ...) holds the copyright on that documentation so it can
not be directly copied, but ideas from them can be used to implement
the described libraries.
When you have not agreed to a license/contract the publisher can not
force you to do or don't do anything with the information. You can
use the ideas for everything you want as long as you don't violate
the copyright by directly copying large portions and distributing them
to others. (Just like I am not bound by the GPL until I actually do
something, like distributing a complete copy of a program, that would
violate the copyright of the program that I legally obtained.)
So a license in a book is void as long as I do not accept it and that
does not prevent me from actually reading the book. (Then they shouldn't
have sold me the book in the first place. Now it is mine, mine, mine :)
The problem with some of the J2EE libraries is that you cannot get
any documentation (from the javasoft site) without first agreeing
to a restrictive license. Since you have to really agreed to that
license before you get the documentation that might count as really
accepting a license/contract. (Although you haven't actually signed
anything you should probably not do this when working on Classpath.)
Another problem is reading (Sun) source code. It is possible to read
the source code and still produce a clean room implementation. But
since a lot of the libraries are very trivial it would be very hard
to proof (in court) that you really came up with the idea yourself
after having seen the other code first. This is the reason that
Classpath doesn't accept code from people that have already seen Sun
source code. And it would also suggest that it would be a bad idea
to read books that have actual Sun code for implementation of standard
classes in them.
Something completely different is the Java trademark that Sun holds.
Classpath can not call the version of the libraries Java unless it
gets permission from Sun to do so. And that probably means that
Classpath (together with a JVM) would have to pass the JCK. Since
Classpath has (at the moment) no intention to pass the JCK it does
only use the Java name as allowed by Sun.
All this is also (much of) the reason of assigning all the copyright
of the code you write for Classpath to the FSF. This is annoying and
bureacratic nonsense but required so that the FSF can protect the
freedom of the software. And it makes sure that the FSF can legally
distribute Classpath and defend itself if Sun or anybody else thinks
Classpath violates any of their copyright claims.
But of course IANAL.
It might be a good idea to put something like this in the hackers guide
(although some of this is already explained there) since it took me a
long time to understand these issues and I believe a lot of people don't
know how all of this works.
Now back to coding,
Mark