Preliminary Ruling in Sun/Microsoft Case
Mihg writes "The judge in the Sun/Microsoft case over Java has issued preliminary rulings on 3 of the 10 issues in the trial. (Siding with Microsoft twice.) Basically, the rulings indicate that Microsoft has the right to author their own clean-room versions of Java without Sun's input, but none of their current products qualify as "clean-room." Read more at NEWS.COM "
Microsoft can make a clean-room implementation of a Java Virtual Machine. Unless there is are patents on the JVM, this makes sense. A clean-room implementation uses no Sun source and infringes on no Sun copyrights.
I'm guessing (and hoping) that they cannot call such a clean-room implementation "Java". This isn't copyright, this is trademark. Sun has been very enthusiastic about protecting their Java trademark (remember when they were threatening online coffee shops?). I cannot conceive of any legal reason that Microsoft would be able to call it "Java" against Sun's wishes. They may be able to get the Java Compatibility Logo on it if they meet the compatibility tests. However, doing that puts their software back under Sun's control, and makes it hard to break real Java code.
They could use their new language (call it "Latte" for the sake of argument) to embrace and extend Java. In theory, Latte would be a superset of Java that would run exclusively on Windows platforms. In practice, this would depend on Microsoft's ability and desire to do bug-for-bug compatible clean rooms. They may want to make Latte slightly incompatible with Java, just to make sure that Windows "Java" developers would just break down and write Latte code.
Such a situation would be, IMHO, completely legal and absolutely disgusting. Latte arrives as a mostly-compatible replacement for Java, with extensions, and ships for Windows. Thus, you would have to download Java to run all Java apps or applets (thus forcing Web servers to choose between Java applets or Latte applets).
For Microsoft to pull this off, they have to slowly fork the Latte spec away from Java. Fork it too quickly, and you don't suck away from Java; Latte is treated as just "A new Microsoft language". Fork it too slowly, and you increase the time that the languages are compatible. This is a matter of timing, and I think that Microsoft is very good at timing.
Sun, OTOH, can counter this. It is probably easier for Sun to rev Java and pass patches to its paying partners than it is for Microsoft to rev a clean room. Sun could quickly, relentlessly rev Java to render Latte useless. Unfortunately, many customers will not care to keep up. Fast Java revs will drop Java's usefulness. This is thus a "scorched earth" strategy.
Anybody got better ideas?
--The basis of all love is respect
i think this is a Good Thing. regardless of what anyone thinks of microsoft. it looks like the courts have decided (in a preliminary ruling) that ms can rewrite java on their own, provided they don't actually use sun's source.
..
and that's exactly what we, as a community, need! am i right? we want to be able to rewrite existing non-free software. the question i have is: how does this play to the patent system? i don't know what patent laws are like, but does sun hold any patents at apply to its java technology? if so, how do they apply now, if ms is given a go-ahead to write their own java development platform?
it would be nice to think that now they _don't_ apply, if such things exist.
- pal
Here's how it works:
A "clean room" implementation involves two teams of people. The first team goes meticulously over the original code, specs, etc. and documents it all, but does not include any actual code in the documentation. This document is then passed on to the second team, none of whom have ever seen the original code (and must create legally valid documentation to that effect). This team then rewrites the code on the basis of the first team's documentation.
This way, except for those rare cases where there's only one way to code something, you have code that was written by people who could not possibly influenced by the original code, hence it's "clean."
This is nothing new. Phoenix (the BIOS company) got started by making a clean room BIOS based on the IBM XT BIOS. Frankly, I'm surprised it doesn't happen more often.
If I read it correctly, in this case the judge is saying that Microsoft can create a clean room version of Java without Sun's code, support, blessing, or compatibility tests. They will not, however, be able to use the Java trademark or claim their product is associated in any way with Sun. IANAL so this may be wrong or incomplete (they might, for example, be able to claim that it passes Java compatibility tests, assuming it does).
And yes, there could be a GNU clean room Java if anyone was sufficiently motivated to create one. I seem to remember seeing a Java front end for egcs but since I'm not a Java programmer I didn't follow up on it.
Caw caw
I'll side with the last group of people. The idea that you would need "permission" from a third party to distribute software you have written yourself is absurd. As a programmer, I see that this severely limits the ability to make good implementations. Suddenly, our laws would have turned against us, limiting our freedom.
Luckily, this doesn't seem to be the case now. Although we shouldn't loose track of what we're dealing with. This is only a tentative judgement on three issues and while it's good to focus, I think the other issues might be just as important.
There's two places I'd like to ask you to go to, which doesn't relate precisely to the topic at hand, but which talks about programming freedom.