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 "
Actually, Compaq did it with the IBM BIOS.
Microprocessor technology back then was shared under sweeping technology cross-liscence agreements.
The fit hit the Shan when Intel decided that the cross-liscence agremeents did not apply to 5th generation (Pentium, 586, the generation after the i486) processors. Before that, cross-liscence agreements were fairly common.
As far as I can tell, Microsoft's winning or losing this case has nothing to do with your rights or my rights to write software under the law. It has little to do with the right to reverse engineer or to make clean-room implementations. It mostly has to do with how smart Microsoft's lawyers were in their contract negotiations with Sun.
About ASP - it's a server thing, not a client thing. Saying ASP is MS only is like saying PERL is Unix only; it's true (from the server perspective) but is irrelevant in a discussion of browsers.
VBScript can be either server- or client-side, so that point is well-taken.
Actually, I think the key thing (or one of them) was that Microsoft could not pass the compatibility tests because they refused to implement JNI and RMI. I'm pretty sure that's all part of the public tests...
----------
In a real emergency, we would have all fled in terror, and you would not have been notified.
I'll go with your "Latte" nomer... Say MS develops Latte as an alternative, E&E'd version of Java -- MS cannot "break" the code for the Java VM portion and still call it "Java Compatible" or the like. Since Sun has control of the Java trademark, MS will be hard-pressed to successfully market Latte.
Also, since Java applets have wider distribution potential then Latte applets would have (what webmaster in their right mind would dileberately exclude non-MS users?), Java will remain strong for web-based programming.
The support for the Java platform will, however, need to come most strongly from the programming community. Only in this way can Java continue to progress in spite of MS E&E.
0 1 - my two bits.
Posted by the Proteus
We may not imagine how our lives could be more frustrating and complex—but Congress can. – Cullen Hightower
Hmm... usually the upgrade licenses though maintain that you have to keep the original base software, send in some identifying thing from the base software to register the upgrade, etc., and do prohibit you from giving your old software away.
Also, for things like Office97 upgrade, say you did give your Office95 CD away. Ooo, time to reinstall to apply the SPs. Oh oh... the Upgrade needs something to upgrade to reinstall... DOH!
as I understand it a clean room implementation is one which matches the specification of the origninal but does not use the original in any way. Therefore the developers can not even have seen the original Java code (and perhaps not even a derivative of the original Java code). This also rules out anything like disassebling a compiled version of the JVM and rebuilding from that. This was how the old i386 clones where produced - two teams one of which took the chips apart and derived their specifications and another who implemented a solution to the specifications that they where handed. In this way it doesn't really matter if you happen to use exactly the same code as the original if you can show that you developed it independantly. as usual my grammer probably ain't up to much but I think the contents there. Tom
A while back we saw news of MS writing something called COOL (C Object Oriented Language I think). It was there clean room project to mimic Java. They will probably make it pretty similar to Java but jut incompatible enough that the 2 won't work well together and developers will go to one or the other. I'm sure that this is there goal but does the world really need another proprietary interpreted language from MS? Visual Basic and Visual FoxPro aren't enough? I'm sure they aren't going to worry about cross platform capability because they only really care about the intel platform. Yes they have Alpha stuff but that is a comparatively small market. I believe that VB runs on alphas as well. It seems to me that they are going to end up spending a lot of money to subvert Java and then once its done you won't here about these COOL programmers anymore.
In Republican America phones tap you.
You have an odd definition of "public." Good thing you're not a judge.
I misunderstood the ruling at first, and this parent post helped me really understand what the judge was trying to indicate that M$ was allowed to do. I'm glad to hear that there was no disruption of Sun's patent on Java.
So, that leaves us with the question of what benefit a Java-clone would give Microsoft. (I believe that M$ did announce a long time ago that future versions of MSJ++ might not use the Java name. I wish I could remember more about that.) We all know that M$ has decided to use a "embrace, extend, extinguish" strategy on Java. But M$ has little to gain in continuing this strategy. Especially since Java seems to have found a sweet spot different than many people thought. (More on that later.)
Assume that M$ does develop a Latte language. And invests the large amount of developer effort to develop a clean room clone of JDK 1.1 and a clean-room clone of a Win32 JVM 1.1. M$ then has to decide how quickly to extend. Like remande points out above, this will be very tricky for M$. No IT manager will trust M$ to keep "Latte" compatible, or even to keep investing money in the "Latte" product (since VB is blantantly M$'s flagship development tool). So M$ will have to keep "Latte" relatively close to the Java standard, since few people will be willing to use the extensions in the beginning.
But this is a double-edged sword for M$. If "Latte" is just a straight clone of Java, then what will the compelling reason be to use it. "Latte" will become the white elephant that client-side VBScript has become. No one uses client-side VBScript because it's only supported by a fraction of the population and there's a suitable competitor that's widely supported. (Yes, I'm sure there are a few client-side VBScript exceptions, but they are very rare.)
There is one place that "Latte" could be successful: and that's on the middle-tier of NT-based web applications. Java is becoming enormously popular in both application and database servers for capturing business logic. It's just a great language for doing that kind of work, especially since its so extensible and cross-platform. (Servlets rock!)
"Latte" could be built with extensions relevant to the NT server market, and do reasonably well in the IIS Servlet market. Building a "Latte"-based servlet engine into IIS that the Latte++ development tool integrated with would be a powerfully strong move from M$. But, M$ has already shown its direction for the NT server-based web application: Visual Basic!
Bill would view "Latte"-based servlets as a threat to his world-view of a VB dominated world. Strangely enough, M$ seems to be promoting Visual Basic as its web development language. In his little COM-based dreamland, Visual Basic is easier to develop in than Java. And it's better suited for the web. Until Bill sees a need to ditch that strategy, (probably when Java developers outnumber VB developers) VisualJ++ and "Latte" will just be sidetracks to him.
8086, I think you mean...
Posted by Lord Kano-The Gangster Of Love:
This bodes well for the entire computing community as well as M$. Now the WINE project and other initiatives like it can use a precedent which M$ helped to set in order to shield themselves from M$ threats of litigation over their work. If WINE uses NO M$ code, then it's clean. All bets are off. WINE, Samba, Dosemu, and the like are all now protected from MS, by M$.
Thank you chairman bill.
LK
I read in a lot of the above comments that people were wondering if this allows for a GPL'ed version of Java to be developed.
I just thought I'd inform you guys that there are GPL'ed versions of both the Java Virtual Machine and the Java Class Library in development.
The Classpath website has more information.
Felix
arvind rulez
One idea that I have found interesting is if an free/open source (fully compatible with the standard) gains momentum we could see it on all sorts of platform insuring at least one fully compatible VM. Kind of like you can find GCC every where. I think Suns step to license under the SCSL might lead us there or perhaps some other implementation (Kaffe?). Today though I think compatibility is pretty good. There are good/decent VMs for all major platforms. Another player not to forget is IBM which is full force behind Java. If companies like MS (and maybe HP?) try to popularize handi capped (IMO) VMs then I'm pretty sure other fully compliant VMs for those platforms well step in and take over. At least I hope so.
Snoop Baron
a BSD license does indeed mean that MS could adopt/incorporate it. when the Net became a buzzword (1993) and MS needed to incorporate a TCP/IP stack into Windows, I read here once that they took the code from BSD's "Networking Release 2", which of course is under a BSD license.
I hope I interpreted this incorrectly, but the last statement in the article seemed to imply that MS was attempting to force Sun to implement additional classes in order to bring MS perversion of Java into compliance and that the judge was actually considering this? I wish I could come up with a proper analogy on why this is a bad-thing tm, but Iam too flabergasted by the gall of this to even think clearly.
Rule 1 of programming for the masses:
Maintain backwards compatibility.
Besides - define compliance! As part of the Sun/MS contract, it's explicitly stated that the compatibility tests used must be PUBLICLY available.
Funnily enough, I don't see any publicly available Java Compatibility suites on sites anywhere.
Reading the stuff from the antitrust trial is interesting too - with Sun saying that they'd use the compatibility suites to force MS to implement anything they liked.
Coming soon - pyrogyra
As far as I understand MS already has a group doing a clean room version of Java and even if they don't HP does and we all know HP and MS are very friendly so if MS can't do their own quick enough they will just license it from HP, so this does not really set back MS that badly but it is good since it does mean they have to at least for now cease their products altogether or bring their products to compliance which they are definatly not happy about. As well even if they do use a clean room version they can not use the Sun Java logo which trust me makes a difference, so although MS will recover it does suck for them.
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
"what webmaster in their right mind would dileberately exclude non-MS users?"
Unfortunately, a number have already adopted MS only features... VBScript, ASP, etc...
"Java will remain strong for web-based programming."
Not good enough. Java's promise was not web programming. Java's promise was true platform independance in a heterogeneous world.
MS tends to play the anti-pirate side of things really well, often filling trade show booths with 'RULegit' displays rather than information about product. However in cases such as the Sun / MS Java one, MS KNOWS it's wrong, but feels it should be able to get away with it.
In a sense MS is the worst of pirates as they steal code, ideas, entire companies, all while playing the anti piracy spin.
Hypocrisy - a game that's fun for the whole family. Also known as 'Do what we say, not what we do'
--- http://foo.ca
Keep this ruling in mind when InfoSpinner tries to enforce its patent award for dynamic webpages and web load balancing.
Been there, Done that, Sold the t-shirt to the next idiot in line
MS should be more concerned about how this appears to the public at large. It's okay for MS to violate copyrights but it's not okay for anyone else to violate THEIR copyrights. Even in smaller more subtle ways.
MS will prosecute someone who gives a copy of BOB(tm) to a friend or someone who uses a DOS disk from one machine to test another machine. Or someone who uses the same license of Office at home and at work. All the way up to the large pirates that ship thousands of CDs.
There's a difference between copyright infringement and copyright theft; and this had to go to court to prove that there was an infringement - not to mention the fact that there has been no final decision from the judge yet .
However, with piracy, that's a clear case of copyright theft. And if you advocate piracy, please, please, please go directly to hell.
Coming soon - pyrogyra
Actually, you would find that Microsoft is very liberal regarding single-user incidents of software copying. If you upgrade to a newer version of Office, their response is "give the old copy to a friend if you like" because they know once someone is on the Office bandwagon they'll eventually be buying an upgrade version. (go ahead and groan, anti MS zealots, but it's the truth) Obviously the official position has to be absolute, but I'd be curious to hear of any instances where Microsoft has busted an individual end user for copying one of their products for personal use. They've got bigger fish to fry, i.e. businesses pirating their products on a wide scale.
Duh! Can we say Kaffe? Japhar? Can we say "Sun has explicitly stated that this is ok for a very long time, even when HP threatened to do the same thing"?
So, what exactly is new here? To me, the Judge just said "snow is white, grass is green, and MS can create Java clean room implementations". All three things are facts which have been known for a long time.
Another non-issue. Isn't that what the entire contract was about, the fact that Microsoft was licensing Java technology from Sun? So therefore it obviously follows that Microsoft products have Sun's Java technology in them?
This to me seems also like an extremely straightforward point. Sun only allows certain Java products to officially use the logo and Java trademark; these are ones that pass their compatibility tests at minimum, and most likely ones that are based on their actual intellectual property. Clean room implementations do not a priori fit this category, so they can't officially bear the Java logo or name. (Unless Sun of course decides to explicitly give them this right.)
So, if Microsoft follows Sun's rules, they can bear the logo and name, if they don't, they can't. This applies regardless of clean room implementation or not.
This also seems to be another clear-cut issue unaffected by Judge Whyte's rulings (except peripherally, meaning that determining Microsoft violated the contract with Sun also means determining Microsoft violated use of the Java trademark).
The only significant thing here is that Judge Whyte has decided that Microsoft violated the Java license by not passing the compatibility tests. Why the emphasis? Because this is what the trial is about in the first place! (See here.)
This trial was not originally about clean room implementations; it's been known from the beginning that is acceptable. It's only about whether Microsoft had a contractual obligation to comply with the full Java spec and Sun's compatibility tests. From that regard, Judge Whyte's "preliminary rulings" are equivalent to deciding the trial: Microsoft is guilty.
----------
In a real emergency, we would have all fled in terror, and you would not have been notified.
Uh, isn't this already what's happening? Especially when it comes to browser VMs. I don't know about you, but right now I'm downloading HotJava 3 for the sole express purpose of watching that Star Wars ASCIImation thing. Why? Because the Netscape VM breaks when it tries to run it.
Try the MS JVM - it runs fine on there.
;-)
Coming soon - pyrogyra
I'm not exactly sure I understand the full definition or implication of the phrase "clean room." Is Microsoft able to write a version of Java, as long as it uses no Sun code and is compatible with Sun Java? Does this mean that there could be a GNU Java project that could be called Java as long as it was compatible with Sun?
Someone please clarify this for me.
The idea of delegates is wonderful. Instead of having to use inner classes and use a generic method name for your handler, delegates allow you to allow any method in any class with any name you like to be the handler for any event, as long as you match the signatures. Very clear and convenient.
Conditional compilation? I think it's great. You can even specify in a JavaDoc comment that a method is debug-only, and you don't have to mark up the places in your code where that method is called. Every call to a debug-only method automatically gets an invisible "if debug..end if" built around it.
This and a dozen other little niceties were added to Java by Microsoft. If they had been added by Sun, developers would have ooh'ed and ah'ed. Since they were added by Microsoft, developers just boo'ed and hissed. Instead of asking Sun to add these things to "pure Java" so we could all have them, people screamed at Microsoft to remove them.
What idiots....
I'm no fan of Microsoft, but I'm a fan of good ideas, wherever they come from. I'm also a fan of Java, but unlike a lot of Java fans, I'd like to see two or three heavyweight competitors to Java slugging it out. Then we developers would choose the ones that met our needs instead of having to subordinate our needs to those of Sun.
Right now, developers can scream till they're blue in the face about features they want in Java. Tough. It's Sun's, and there's no competition. As soon as there is a significant challenger, Sun is going to have to start accepting popular features, whether they fit into their plans or not.
We know they'll call it "MS AcitveJava"
duh.
"The number of suckers born each minute doubles every 18 months."
-jafac's law
These are my friends, See how they glisten. See this one shine, how he smiles in the light.
if the judge rules that microsoft can clean-room java.. wouldn't that same ruling apply to clean-rooming other "machines", even real (not virtual) ones? like, say, connectix VGS? or SNES9X?
/. story they got some letter from nintendo saying they were illegal, and they immediately ceased to exist.
a th/
or are these different situations? does the fact that Java is copyrighted and the Playstation is patented change anything?
or does java's liscensing terms specifically allow clean-rooming? or something? excuse my ignorance..
or are we just up against the basic truth that people like the SNES9X group simply don't live under the same set of laws as huge corporations with lawyers such as MS?
...
whatever happened to SNES9X, anyway? the way i understood it from the earlier
--mcclure111
INTELLECTUAL PROPERTY IS THEFT
http://home.earthlink.net/~mcclure111/hamsterde
Irritable, left-wing and possibly humorous bumper stickers and t-shirts
But there's another intellectual property type: trademarks. Of course Microsoft should be allowed to make their own clean-room version of Java, but will they be able to call it "Java"? Isn't this a lot like Mesa, which can't call itself OpenGL, or ghostscript, which can't call itself postscript? Isn't the best Microsoft can do is call it "Java compliant" or something like that?
Hmm... they'll have to not really include Java in the name at all.
Even Linux falls into this trap. Remember, it is still only Unix-like, not a Unix clone... Gotta keep the USL's dogs at bay...
I think he is referring to back when Microsoft mostly was selling Basic Interpreters (in software and in firmware) and IBM contracted with them to produce (purchase and repackage, actually) PC-DOS to run on the new IBM-PC.
The court expressly noted emphasized that its rulings and reasoning were only "tentative." Oral argument is set for June 24, 1999, and in each ruling, counsel was invited once more to try to change the Court's mind.
It is significant to note that the summary judgment of copyright infringement for Sun is not an insignificant blow to Microsoft, since it opens the door to an award of damages, but mostly since it may well result in an award to Sun of reasonable attorney fees and costs, which for this case will be substantial.
Moreover, the Court has shown what appears to be greater tentativeness in some of these rulings than in others, in each case asking specific questions for the lawyers to address during oral argument. Compare the Court's question on the "reverse-engineering" issues:
"Does a Runtime Interpreter, which does not incorporate Sun's intellectual property, but nevertheless "emulates" a Java Runtime Interpreter, constitute a "Product" under the [license agreement.]"
which indicates that the Court is still considering whether the license agreement would still require a "clean-room" Microsoft interpreter to pass the Sun tests, with the almost sardonic, almost rhetorical, questions on the tentative ruling granting Sun's motion for Summary Judgment of copyright infringement:
"1. Is it Microsoft's contention that someone could take the source code to Windows98, run it through a different compiler, distribute the resulting object code and not be liable for copyright infringement for such distribution?
"2. Is it Microsoft's contention that object code is not substantially similar to source code?"
Also, don't overlook the off-hand remark in Question 4 of the questions at the end of the "Right to Engage in Independent Development" opinion, where the court expressly noted by reference to Sun's patents that "In light of the above, it does not appear that Microsoft's [unlicensed] independent development rights relating to the Java Technology would be very broad."
While I agree with the commentary that the Court has done good for all (including, Microsoft) by suggesting that one doesn't need a license to perform a clean room, the Court did do Microsoft some harm yesterday, and might not have given Microsoft as much room as has been supposed to go forward in the Java arena.
Also, as noted by others, Trademark law may have an awful lot to say with how Microsoft will be able to characterize any independently developed product.
In response to some of the questions/comments above about GPL'd or free Java, here's a summary of what I'm aware of:
Compilers:
egcs - Now with Java support, compiles to native code, includes necessary runtime lib. I haven't tried it but I've heard it's good from those who have.
guavac - GNU Java compilers, compiles to java bytecode. Worked pretty well last time I tried it a year or so back.
Java Virtual Machines (to run bytecode):
kaffe - probably the best non-Sun JVM I've seen, includes JIT for many platforms. Released under a BSD-style license (which might mean that Microsoft could adopt it?)
japhar - LGPL'd JVM. I have no experience with this one.
Other Java related:
GNU Classpath - LGPL'd core class libraries
Kore - cleanroom core class libraries - for JDK 1.0.2, now obsolete and the code has been rolled into the Kaffe class libs
TYA - a GPL'd JIT compiler/vm for i386/linux
Mauve - non-Sun compliance test suite
There may well be more out there, its been a few months since I was following this closely.
-- Alastair
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
Not only can you not use Sun's source, but you cannot look at Sun's source to develop your own source. Those developers who have looked at the Sun source cannot be used in developing a clean room implementation because that would taint the clean room.
As for the preliminary rulings, the Sun win was much more important than the two minor and expected Microsoft wins.
Can you say pyric victory?
"I once preached peaceful coexistence with Windows. You may laugh at my expense - I deserve it." Be's Jean-Louis Gass
I'm guessing the only reason there aren't many replies to your comments stems from two facts.
.sig openly confesses your being under the cerebral chains of big brother bill.
.sig, reveal the extent of #1 above.
1) your
2) your comments, regardless of your disclaiming
Now... if only there were a way to systematically redirect all Munchkins "directly to hell"...
What chains? You appear to be under the cereberal chains of misplaced anger. Go tell it to your shrink.
My comments are my own. Wanna see some more? Go to the MSNBC Technology BBS and check them out. While you're there, ask a few of the Linux-heads (John Cavan, Jonathan Graham, Aleatoric, etc etc) what they think of me.
I feel perfectly justified in telling pirates to go to hell (and I hope that you noted that I was advocating that course of action only if the original poster was advocating piracy).
Good things and bad things are defined by the overall circumstances (net gain/loss). If MS is criticized for doing something that might have been called 'good' if it were done by another company, this is simply an illustration of a normal human distaste for the way MS does things, coupled with the fact that they're 'king of the hill' and the object of the game is to unseat the king.
If you don't like being part of the 'king of the hill', perhaps you need to look for another job.
Nah. Quite happy with my job, thankyouverymuch. Just unhappy with people like you who have an irrational hatred of software developers like me.
You know, the ones who do it to try and make people's lives better, rather than as a form of intellectual masturbation.
Coming soon - pyrogyra
Java 1, Sun 0. A year ago, it was difficult to see the difference between Sun and Java. But now a ruling has been made that's good for Java and bad for Sun, thus making a clear distinction. Anyone interested in this topic should visit the JavaLobby.
Will end the threats being made to companies who try to sell GLIDE API wrappers for their 3D boards ?
Or are there other precedents out there ?
You can already script IE (or any COM/DCOM stuff for that matter) using any language which supports Active Scripting. This includes Perl, Python, JavaScript, VBScript, REXX, etc.
ActiveScripting is includuded in IE, and in the Windows Scripting Host, and can be embedded into your own applications.
I don't like MS much, but some of their stuff (like this) is pretty cool.
perhaps i'm naive, but i think the real issue is if microsoft is allowed to call it java.
Not to spend too much time quibbling over definitions, but I disagree. To me, the clean-room approach is just a method of reverse-engineering. Sort of like getting a job is one method of earning money. I'm not alone in this belief. For example take the following excerpt from a Wired article (http://www.wired.com/news/news/business/story/111 19.html)
"Sun's Kannegaard said that HP's move was perfectly legal. Anyone is allowed to work in their own "clean room," as the industry refers to the process of reverse-engineering a technology, using the specifications posted on Sun's Web site."
"I once preached peaceful coexistence with Windows. You may laugh at my expense - I deserve it." Be's Jean-Louis Gass
Sometimes I just get fed up with the entire industry. It seems to me that none of these companies really care about the technology.. or the user.. or developers... it's all about marketshare and killing your competition. It's just plain silly... we waste all this time and money for what... how many versions of Java do we need ? Is the MS version going to differ from the Sun version ? yeah...I wonder. WE lose...
When I look at this stuff my head just spins... COM DCOM DCOM+ CORBA KORBA/OP Gtk, QT ad infintum... sure...what this industry needs is MORE CONFUSION AND MORE *STANDARDS*
Enough already... sheesh
Big win for Sun/Java.
In the beginning, there was a promise of true platform independance with Java. Microsoft saw this as a dangerous threat to their emerging server strategies. To see why, we have to examine the origins of Microsoft's server market...
Prior to NT (and even the NT-OS/2 debacle), Microsoft had wrapped up the desktop market. Every PHB, and most others had a Windows/DOS box on their desktop. Microsoft saw a lucrative server market that it wished to enter. Microsoft chose to play on fears of platform incompatibility to encourage blind adoption of homogeneous network solutions. This allowed them to leverage their massive desktop installed base to grow their server market.
There was a problem, however. Java came along. Java's not yet realized promise of true platform independance would kill the fear tactics supporting Microsoft's server business. Java would provide people with the option to choose heterogeneous computing environments. It would provide people with the option of choosing anb operating environment based on speed, reliability and security, instead of market share.
Rather than encouraging and nurturing a growing technology, Microsoft set out to destroy it. Microsoft attacked the true purpose of Java, undermining its fundamental underpinning - platform independance.
What the courts are saying today is this is not acceptable. It is not reasonable for us to require a trademark owner (Sun) to allow a licensed user (Microsoft) of that trademark (Java) to use that trademark in order to undermine that trademark.
I'm pretty happy with this. I don't think that anyone is going to argue against clean-rooming Java (or much else) and I don't feel that it's worth it to bother MS on that regard. OTOH, it's nice to see that the Judge is not going to let them get off scot-free. Wish it were more than a preliminary ruling....
-- This and all my posts are in the public domain. I am a lawyer. I am not your lawyer, and this is not legal advice.
Good point. Could someone start calling X-Windows Windows 95? Not that you'd want to, but imagine if it tricked people into buying it, just cause of the name?
Seems like, as usual, I just don't understand.....
First, make it work, then make it right, then make it fast, then, make it bloated!
Uh, isn't this already what's happening? Especially when it comes to browser VMs. I don't know about you, but right now I'm downloading HotJava 3 for the sole express purpose of watching that Star Wars ASCIImation thing. Why? Because the Netscape VM breaks when it tries to run it.
Bottomline: language standardization doesn't prevent the problem. Good VM programming does.
To the editors: your English is as bad as your Perl. Please go back to grade school.
What is actually much more important to me is whether Microsoft can call their implementation "Java". I believe the plethora of security problems, portability problems, and bugs Microsoft has introduced into their product and shipped under the trademarked name of "Java" are a classic case of trademark dilution.
As someone who has to "sell" (at least to management) Java projects, that matters a lot to me.
I hope Sun hasn't give up the right to limit Microsoft's use of the "Java" trademark as part of their contract, and I also hope Sun will start enforcing the "Java" trademark against Microsoft.
Who cares whether Microsoft ships a language called "J++" or anything else. The harm is done if Microsoft calls it "Java".
This ruling is pretty good, allowing a company to clean room something another company developed. The problem is is that Microsoft is trying to takeoever java, now Sun had the right idea by suing MS, but it's just not goning to work. What needs to happen is that Java developers need to _not_ use MS Java and hooks. The developers need to use Java products that conform to the standard and that can run on all supported operating systems otherwise the whole idea of Java is lost.
There are a lot of comments pointing out that MS will have a 100% Java VM for Windows, and that if this occurs, it would force would-be developers to choose.
Not so. There are an assortment of JVM's available, and nearly every commercially-available package I've run across either includes a JVM or provides links to one. If developers say "sorry, you need a 100% Compatible JVM to run our package" - then people will get a 100% Compatible JVM. Especially since many of them are free.
MS does not stand to gain much here.
Posted by the Proteus
We may not imagine how our lives could be more frustrating and complex—but Congress can. – Cullen Hightower
"There's a difference between copyright infringement and copyright theft; and this had to go to court to prove that there was an infringement - not to mention the fact that there has been no final decision from the judge yet."
I'm a little unclear on this, please explain the difference between "copyright theft" and "copyright infringement", I thought the former was a more emotive term for the latter.
On the second point, any infringement of law, whether breach of copyright, theft, murder or treason can can only be determined by a court of law. As far as that goes Microsoft are in exactly the same position as anyone else.
MS will prosecute someone who gives a copy of BOB(tm) to a friend or someone who uses a DOS disk from one machine to test another machine. Or someone who uses the same license of Office at home and at work. All the way up to the large pirates that ship thousands of CDs.
But of course they play by another rulebook entirely that says that while they have the rights to prosecute, they hold those rights exclusively. I often wonder what colour the sky is in their little world.
--- http://foo.ca
MS has no incentive to promote the growth of Java. The don't support 1.2, and couldn't if they wanted to because of the lawsuit, but they no longer have any intention of supporting it. From their perspective, they've already given Java too much of a boost, but they felt they had to in order to capture browser market share from Netscape.
If they never support 1.2 in any way, 1.2 is going to have a heck of a time trying to replace Java 1.1. Running "anywhere" would certainly have to include the 90% of clients that are Windows machines. Sun could try to get people to download Sun's own JVM, but very little of the vast Windows client market will bother.
Instead, MS will provide clean room support for Java 1.1 buried inside a larger MS system that won't be called Java. It won't be "not quite compatible" with Java 1.2--it will be completely compatible with Java 1.1 and not even close to Java 1.2.
no, they can't call it java compliant because it didn't pass the compability tests. possibly java compatible, or make up another cool sounding, but utterly meaningless bit of marketing-speak (don't know if you have these commercials in your area, but the sprint PCS commercial, where they talk about 'built from the ground up', listen to the phrasing, you could easily say 'built from the horizon to the side' or some other nonsense and it would mean just as little)
Appologies for the above formatting, I only just got round to changing my default format to text from HTML.
Tom
I'm uncomfortable with this statement for two reasons. First, you mention "the standard". Java is 100% owned by Sun, and Sun has made it abundantly clear that any standards organization that doesn't allow Sun to do whatever it wants isn't going to get any part of Java. Calling Sun's Java "the standard" is like calling Microsoft Excel "the standard" spreadsheet when discussing other spreadsheet programs that have the ability to read and write Excel document formats. I'm not saying it's wrong to use the term standard this way, but it's not quite the same sense of standard that most of us use most of the time in this industry. Where is the RFC for Java? There isn't one. Java is a product, not a standard. Sun's may be "the real thing" and others may be knockoffs, but that's a different sense of "standard".
Secondly, you mention "the whole idea of Java" being lost. Presumably you mean the concept of binary portability. While hardly new, I agree that this is a great idea, but I bristle at the concept that this is the "whole" idea.
Binary portability matters when your executable has to travel to unknown destinations at the drop of a hat. This was supposed to have been Java's claim to fame: client-side Java running on whatever client happens to connect to the server.
Java isn't getting much traction on the client. Most of the big, public client-side application initiatives seem to have fallen far short of success: Corel's office suite, Javagator, HotJava, the NC in general, Java taking the place of HTML on most major websites, etc.
Java appears to be coming in very handy on the server side, however. On the server, however, Java's claim to fame is its usefulness as a language, not its ability to run as bytecode. When the server is known in advance, performance matters more than binary portability. While source portability (just recompile if you switch servers) is very nice to have, a few system-specific tweaks for better performance isn't too high a price to pay for many. After all, how often are you likely to completely change server platforms vs. how often would it be nice to have better performance?
I think there are lots of ideas to Java, not just one. The ones that matter depend on how you intend to use it, not on how Sun intends for you to use it.
I'm guessing the only reason there aren't many replies to your comments stems from two facts.
.sig openly confesses your being under the cerebral chains of big brother bill.
.sig, reveal the extent of #1 above.
1) your
2) your comments, regardless of your disclaiming
Now... if only there were a way to systematically redirect all Munchkins "directly to hell"...
------------
It doesn't matter who the bully is. No one likes a bully.
Pointing out the inconsistencies of the human spirit does not validate MS's right to bully.
If the slashdot community tends to forgive smaller players for bigger offenses, so what. It's not hypocrisy, it's human nature. If you're in last place (relief pitcher, 2nd team player, benchwarmer, etc.) in the game of life, society will be forgiving of minor (sometimes even major) transgressions.
But, if you're the "king of the hill", don't whine and pout because "everyone's out to get you". That's the way the game is played.
Each and every step up the ladder of success brings with it an additional obligation to refine one's impeccability. The more successful you are, the more closely you will be scrutinized (and rightfully so, in order to prevent the MS's of the world from becoming so powerful that they could dictate when/where I can/must pee, belch, or fart).
Good things and bad things are defined by the overall circumstances (net gain/loss). If MS is criticized for doing something that might have been called 'good' if it were done by another company, this is simply an illustration of a normal human distaste for the way MS does things, coupled with the fact that they're 'king of the hill' and the object of the game is to unseat the king.
If you don't like being part of the 'king of the hill', perhaps you need to look for another job.
~~~~~~~~
Signature illegible, could be somebody else.
Somewhat off-topic: Remember this little bit of news?
Sun stands to make quite a bit on the Java hardware side of things in much the same way...
On one hand it's great because it means anyone can get a hold of the processor core and design embedded systems around it - fantastic in an Academic environment. Sun benefits from up-and-coming design community penetration and familiarity.
But then all those designers have become "tainted" through their exposure; good luck trying to do a clean-room version of the core...
I'm pretty much neutral on this; Sun stands to gain a lot, but so does academia...
--The more you know, the less you know.
Overall, I don't have a problem with third-party clean-room Java VMs and compilers.
What I DO worry about is compatibility. It's bad enough now that people joke about "write once, test everywhere". Introducing a bunch of "mostly" compatible VMs negates a big reason for using Java. I fear a support nightmare for developers trying to write Java applications ("Ok, it works fine under the Sun and Blackdown VMs, but it barfs on the HP").
I don't have much faith in the market weeding out incompatible VMs in this case. It seems more likely that the work will fall on the developers to make sure that their code runs even on bad VMs. It's too easy to say, "Well, PCBonehead Magazine says the Caffeine Overdose Java VM is the fastest. If your stuff doesn't work on it, that's YOUR problem."
Save the whales. Feed the hungry. Free the mallocs.
It seems to me that this will make Java turn out
to be just another programming language. One
of the reasons for having languages like C,
PASCAL, etc is that assembler language is too
machine-dependent. So as long as you have a C
compiler on your machine, any C program should
compile and run. However, it splintered.
Different standards popped up, different companies
added their own stuff to the language, etc. Sun
didn't want this to happen to Java and that's why
they kept the strangle-hold. This releases said
strangle-hold and we'll soon see the Java
splintering begin.
Copyrights (which Java is probably protected by) indicate that you can make your own knock-off as long as you don't use the original code. This is the reason that Mesa3D and Lesstif can exist. A patent, on the other hand, means that no matter what, you can't make a knock-off without paying royalties, wether you saw the original code or not.
The way I read this, the judge in the case said that MS is free to make their own knock-off of Java, which doesn't have to pass the tests the same way Mesa3D and Lesstif don't have to. But, the existing codebase that MS is using is tained by Sun code.
Where this will hurt MS is that they may have to scrap their entire Java group, since most of them have probably been tainted by seeing the original Sun code. That means that MS will have to start fresh and could cause a delay in getting their knockoff up and running. Probably on the order of at least 6 months.
Does this ruling give credence to an entirely free (gpl) version of Java?
As I read it, it does.
If so, I think that's great! I really like Java as a language, but feel that it has been held back by Sun's treatment of it as a product...
Being able to code in a language I enjoy, with a clear conscience is close to nirvana.
DISCLAIMER: Just because I like Java a lot, doesn't mean I hate other languages.
----- Documentation is worth it just to be able to answer all your mail with 'RTFM' - Alan Cox.
It sounds like MS can do a clean-room implementation of Java and that's OK. They probably could NOT call it Java, since Sun owns the trademark to that and would not allow it to be used with a non-standard implementation.
Personally I'd prefer perl as a web scripting language, anyway. Maybe MS should just embed Perl in IE...
There is an important distinction between reverse engineering and clean room methods. Reverse engineering usually involves trying to reconstruct the code of a compiled piece of software from the machine code itself, mimicking low-level functionality. Clean room methods, however, involve trying to emulate functionality without effective access to the compiled program being emulated.
Consider the WINE project. WINE is an attempt to provide the function calls in Windows programming for a UNIX machine. Windows programming is well documented as to which functions provide what functionality and so on. So in theory the WINE developers could work without a windows computer in sight and still produce an excellent implementation of Windows function calls. This is an example of clean room tactics, and actually the fact that WINE is clean room is precisely the reason why M$ hasn't sued the pants off them already.
Compare this to Microsoft's own tactics in incorporating Java into IE. Microsoft entered into a contract with Sun to share Java code, but to preserve Sun's intellectual property (the code itself). Microsoft went against this agreement, using Sun code in their proprietary implementation of Java, hence the lawsuit. You could call this the most blatant form of reverse-engineering; instead of trying to reconstruct code from machine language, they took the code itself!
In any case, you should be mindful of the distinction. In most contexts where patents are not an issue, clean room methods are legal while reverse-engineering is illegal.
Aren't you dead?
Microsoft could look at the reality of today's world and notice that almost nobody is using any version of Java later than 1.1--the version MS already supports--in great part because MS doesn't support 1.2 in IE and never will. As IE takes over the browser market, it has more and more leverage, too.
.exe) than Sun's Java 1.2.
They don't have to gradually deviate from Java. They can create something great that runs anything written in Java 1.1, but completely ignores Java 1.2, using WFC for the Windows GUI instead of Swing, DirectX instead of JavaMedia, OpenGL instead of Java3D, etc.
They would also design it with native compilation as a priority. In other words, they could essentially create an instant competitor with all of the stature of Sun's Java by saying to the developers: use Java 1.1 where it has to run every platform, but go for the Microsoft extensions to 1.1 instead of the Sun extensions to 1.1, where you want to use it as a better C++ and it only needs to run on Windows.
I would guess that at least a portion of the Win32 API could be loaded into Internet Explorer's non-Win32 editions, too, so this version of Java could become a lot more popular on the client side (both running in the browser and running as a natively compiled
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.
I hope I interpreted this incorrectly, but the last statement in the article seemed to imply that MS was attempting to force Sun to implement additional classes in order to bring MS perversion of Java into compliance and that the judge was actually considering this? I wish I could come up with a proper analogy on why this is a bad-thing tm, but Iam too flabergasted by the gall of this to even think clearly.
I don't get this ruling. As everybody here has already pointed out, a "clean room" project is one where the clean room project is designed to create a functionally identical product that does not infringe on the intellectual design property of the original company.
The classic examples (already cited) were the IBM BIOS and the Intel x86 designs. Competitors created "knock-offs" that were functionally compatible.
Sun's already allowing this kind of clean-room effort. I think HP is already working on a version. The catch is that you have to be able to prove to Sun that you are functionally compatible in order to use the Java brand name. And Sun is charging quite a bit of money to perform the functional compatibility tests.
Perhaps the judge is saying that Microsoft can use the brand name of Java without passing the functionality compatibility tests, as long as they are actually compatibile. (In other words, Sun can't charge Microsoft money for the privilege of using the name.)
If, on the other hand, the judge is saying that Microsoft can do whatever it wants with Java, as long as it doesn't use Sun's source code; this stinks. It means that Microsoft will continue its "not quite compatible" track, and 100% Java programs may or may not work on Windows. (Which is exactly the kind of FUD, M$ is trying to create.)
I do feel I need to rebutt one thing - Java's ability to deploy via the web (or an intranet) is key. Most Java-based applications I see are in Servlet/Applet contexts, not full Applications. Besides, since alternate browsers -- most notably netscape -- will definately support pure Java and not some MS adaptation, the web side will be safe.
Additionally, Java applications are often deployed containing at least one JVM and providing links to alternates. In the online age (god, that sounded cheesy) people will download JVM's that are 100% compatible! It's up to the programmers to force the issue, that's all.
Posted by the Proteus
We may not imagine how our lives could be more frustrating and complex—but Congress can. – Cullen Hightower