Two programmers, Matthew Skall in Canada and Eddy Jansson in Sweden, wrote a program to decrypt the prohibited Web site list used by the CyberPatrol Web site blocker that is used by schools, libraries and parents to block access to Web sites with "dangerous" information or pictures. Apparently they posted both the site list and the software to decrypt the list on the Web. The Standard reports that a Judge in Boston issued a restraining order against the two programmers and three Web sites that had mirrored the software and CyberPatrol banned site list. In order to settle the litigation, the programmers have agreed to turn over the software to Microsystems, which develops and sells CyberPatrol.
What action resulted in the copyright infringment: decoding the software or publishing it on the Internet? Publishing someone else's work (or compilation, in this case) on the Internet without their permission does violate copyright. However, it is difficult to see how the software or the act of decoding the encrypted file violates copyright. Only publishing the result on the Internet would so this.
This court case and its implications are of interest to the Java community because a number of Java class file decompilers exist which can read Java class files and produce Java source. And in fact, when the Mocha class file decompiler was published, the author, the late Hanpeter van Vliet, was threatened with a law suit. He writes
Enough reason for two companies to threaten to sue me for damages. Not immediately recognizing this as a knee-jerk reaction, I have responded to that by temporarily removing Mocha from my site [Mocha is now available on line - Editor]. I needed some time to figure out whether the claims could be substantiated, and I wanted to give developers a time-out to get over the shock. In the meantime I have discovered that it is a small (but vocal) minority that objects to Java decompilers, and that their moaning has no legal basis.
There are also a number of byte code to native compilers (See my page on native compilers) that read Java byte code and produce native code.
When a human decompiles a Java class file and looks at it, does this violate copyright? If copyright is violated when a human looks at the Java byte code, what about the case where a program, like a byte code to native compiler reads it and translates it?
Copyright law is going through some strange contortions right now. I don't claim to understand it. As they say, "I'm not a lawyer and I don't play one on TV." To me it seems that the issue revolves around publishing and use. Since the class file is published or made available to the user, the user can read it. However, it the user republishes it or makes use of it in a product without the agreement of the author, it seems to me that the copyright law is violated.
So you can use Mocha to decompile a class file to learn what it does, but you can't publish the resulting source on the Internet without violating the copyright.
Ian Kaplan, March 30, 2000
back to javacompilers.com (BPI) table of contents