The sentencing is over, but the guillotine has yet to drop. Judge Thomas Penfield Jackson's ruling in the Microsoft antitrust case now languishes in the appeals process, and Redmond's software juggernaut appears to roll on unhindered. Has anything changed at all?
Look closer, however, and you may see ripples of the judgment already moving through Microsoft and its practices. Perhaps the most telltale evidence is its brand new .NET strategy, unveiled at the Forum 2000 conference in June.
The .NET vision is one of centralized, network-based "Web services," offered to customers on a subscription basis. In this model, the role of the desktop PC becomes depreciated, and the network itself becomes the dominant computing force.
Microsoft CEO Steve Ballmer has gone so far as to compare the scope of this transition to the original shift from DOS to Windows.
Under the old paradigm, users are accustomed to installing applications software onto their PCs from disks or CD-ROM. As new features are added or bugs fixed, we're forced to apply patches to update our copies of the software to the latest versions. For an IT manager at a large company, this task might be multiplied a hundredfold.
The .NET way is different. Here, the software exists not on individual computers, but on remotely located master servers. Code is distributed from these servers to the end user as components via the Internet.
If improvements are made to the spell checker in a .NET version of Microsoft Word, for example, users will automatically be delivered the latest version. Upgrades and bug fixes will be seamless, and simultaneous for all subscribers.
If this sounds a little bit like Sun's network-centric programming language Java, and its related technologies, then you've got the general idea.
Another component of .NET is the concept of centralized data repositories. Not just the applications, but the user data itself, will reside on the master servers.
The idea here is that this removes the need for a user to transfer data from one device to another. No more downloading documents to your handheld or syncing contacts with your mobile phone. Instead, every type of Internet-connected device, from Pocket PCs to tablet computers to cable set-top boxes, can have access to the same user information.
Better still, they'll be able to manipulate that information, using .NET software components delivered over the network. Potentially, says Microsoft, the same .NET software can run on a mobile phone and on a desktop PC.
What makes this possible is a framework called the "Common Language Runtime," or CLR. Like its cousin the Java Virtual machine, the CLR's aim is to make program code more-or-less platform independent.
You don't need to port code written for the CLR to each new machine. Once someone ports the CLR itself, all CLR-compliant code will be able to run on that hardware.
Of course, not all .NET code will be appropriate for every device. An entire full-featured word processor might be inappropriate software for a handheld. But the code that displays that word processor's document format might not; that's why the .NET development model emphasizes designing software as collections of smaller components.
As mentioned before, it was Sun's Java that first popularized the run-anywhere idea. But while the Java Virtual Machine is in many ways wedded to the Java language, the CLR was designed with multiple programming languages in mind.
A .NET component written in Microsoft's C# language will be able to connect seamlessly with others written in Python, or Perl, or Haskell, through a communication layer called SOAP. And all of them will enjoy the platform independence offered by the CLR.
This technology would be so beneficial to software developers that it's won itself some unlikely support — though perhaps grudgingly given.
The Linux developer community is home to some of the staunchest and most vocal anti-Microsoft sentiment around. And yet, for many Linux hackers there was no denying what a boon it would be should the .NET platform, CLR and all, be ported to the free operating system.
When it recently came to light that Linux vendor Corel had signed contracts giving Microsoft the option to have it perform just such a port, the buzz in the industry was palpable.
Microsoft had seemingly given a similar endorsement to Linux only a few months earlier, at the Seybold Expo in San Francisco, when a representative suggested the company was "open" to bringing its Microsoft Reader software to the platform.
It's all enough to make anyone ask: Just what the heck company is this, anyway?
Microsoft encouraging, even supporting, Linux?
Microsoft, whose market dominance is founded on monopoly control of desktop PC operating systems, actively endorsing a move to handhelds and other non-PC devices?
Microsoft, who derided earlier network computing efforts from Sun and Oracle as misguided regressions to the mainframe-centric model of the 1970s, now turning 180 degrees and embracing a network computing model itself?
Just what is going on here? And, might it not have anything to do with that as-yet-unrealized decision by Judge Jackson?
Think about it. Though Microsoft's appeal has yet to be heard, Jackson's judgment is a done deal. If the appeal fails, Microsoft will be split into two companies: one to handle its application software, another for the OS products.
Though Bill Gates has insisted time and again that such a solution is unacceptable, that it would cripple Microsoft's business, and that he will fight it to the bitter end, any strategist of his caliber must surely hope for the best while planning for the worst. Any sensible long-term strategy by Microsoft would have to accept the likely possibility of a breakup.
One way to reduce the impact of a breakup might be to adjust the company's strategy such that one side or the other of its business is downplayed. The majority of Microsoft's development resources could then be focused on the "winning" side, before the breakup actually occurs.
So on which side does .NET fall? Is it about applications, or is it an operating system?
"It's a Microsoft platform," said Gates in an interview with The Red Herring magazine. "Like the Windows platform."
Microsoft has used the term "platform" before. It was used to describe Java, when Microsoft sought to convince the courts that Sun's network-delivered, multi-environment programming language competed with the Windows OS.
Now Gates seems to speak of .NET, with its multi-environment, network-delivered programming model, as a platform itself, distinct from Windows. And with a reported 80 percent of Microsoft R&D resources now going to .NET, it sounds like Windows loses.
Little wonder, then, that Microsoft's new strategy seems so closely to resemble Sun Microsystems' strategy of the last decade.
Sun, whose slogan is "The Network is the Computer," originally embarked on its Java strategy largely out of desperation. They knew the only way to loosen Microsoft's stranglehold on the software market would be to downplay the significance of the Windows OS.
Ironically, Microsoft now finds itself stuck in the same boat: faced with the possibility of having to compete with — and defeat — its own OS. What better tactic, then, than to adopt the very strategy dreamed up by one of its most competent competitors?
In other words, "If you can't beat 'em — and you can't eat 'em — might as well join 'em."
So, has anything changed since Judge Jackson's finding in favor of the Department of Justice? Yes and no.
The strategy is different. But it's certainly the same old Microsoft.