dcsimg

Why Linux Should Embrace and Extend Microsoft.NET

A couple of years ago, I built a subscriber-access version of the Byte Magazine Web site. I started with two prototypes. One used Windows NT, IIS, and Win32 versions of Perl and the Solid database. The other used Linux, Apache, mod_perl and Solid for Linux. The Linux/Apache solution won out on its technical merits. It was stabler, faster and more manageable. We'll never know the ultimate outcome, because Byte went out of business just as I was ready to go into production. But, I was set to deploy the most significant application I'd ever built on a system that was (in Sun-speak) 100 percent Pure Open Source.





Trenches chart

A couple of years ago, I built a subscriber-access version of the Byte Magazine Web site. I started with two prototypes. One used Windows NT, IIS, and Win32 versions of Perl and the Solid database. The other used Linux, Apache, mod_perl and Solid for Linux. The Linux/Apache solution won out on its technical merits. It was stabler, faster and more manageable. We’ll never know the ultimate outcome, because Byte went out of business just as I was ready to go into production. But, I was set to deploy the most significant application I’d ever built on a system that was (in Sun-speak) 100 percent Pure Open Source.

Why did I even consider NT? At that time, I was more familiar with NT/IIS than with Linux/Apache. But, when Linux and Apache showed me what they could do, they got the job.

I’m not an ideologue though. There’s only one software religion for me: whatever works. I care passionately about Linux, Apache, Perl and other open source technologies, because they enable me to do useful and important things. But, I sometimes worry a bit about the open source movement’s anti-Microsoft rhetoric. It’s fun to bash Microsoft, and they’ve been an easy target for a long time. When Eric Raymond used to tell audiences of Linux advocates that NT 5 would never ship, there was much rejoicing and smug satisfaction. Three years later, Windows 2000 is here, and it is doing rather well by most accounts.

Another open source rap against the Redmond giant has been that Microsoft doesn’t “get” the standards process that governs the architecture of the Internet. That was true until recently. But, Microsoft is an adaptive organism, and it has now adapted itself to the ways of the Net. One objective indicator, measured by the number of RFCs (Request for Comments) listing authors with microsoft.com e-mail addresses, is its growing involvement in the IETF (Internet Engineering Task Force) process.

We all know that Microsoft was clueless about the Internet in 1995. But by June 2000, it ranked 6th overall on this measure of IETF involvement. It was third after Cisco and IBM in 1999. If this projection holds, it will rank second after Cisco in 2000. Combine this with the fact that Microsoft has submitted its Java-killer (the C# program-ming language) to the ECMA (European Computer Manufacturer Association) standards body, while Sun has withdrawn its own Java submission, and it’s clear that Microsoft is learning to play the Net’s game on the Net’s terms.

Why should open source people care? We’re at a crucial moment in history. The architecture of the next-generation Internet is, literally, up for grabs. Winning the battle for the desktop (an oft-stated mission for Linux) is just part of a much larger picture. The Net itself is now the scene of the action. Applications are becoming network services. Clients and servers are becoming peers. For Linux, of course, there’s nothing new about these ideas. In that sense, it’s ahead of the curve. But, this is no time for the movement to rest on its laurels.

What is .NET?

Microsoft is now articulating a grand vision that includes:

* The transformation of Web sites into a cloud of network services that communicate over an open, XML-over-HTTP protocol called SOAP (Simple Object Access Protocol).

* The transformation of the browser into a “universal canvas” on which heterogeneous data types (text, vector graphics, math, spreadsheet cells) fluidly interact, backed by open and standard XML storage.

* The ability for browser components to function both as local components or as SOAP-callable remote services, with trivial programming effort.

* The deployment of a SOAP-aware runtime system that supplies a range of common services to any scripting language, including JavaScript, Perl, Python and Microsoft’s own C#. Chief among these services is compilation to a common intermediate language.

Is any of this true innovation? Some is, some isn’t, but that’s really beside the point. What matters is that Microsoft is now orchestrating a series of coordinated developments on many fronts. Taken together, these form the icing on the standards layer cake. They define new ways to build applications, and deploy services, on the next-generation Internet.

Clearly, Microsoft is doing all of this to reassert in the application realm the control that the U.S. Department of Justice may wrest from it in the OS realm. How should Linux, and the other open source communities, respond? Some are calling for an alternative effort that will be the open source “answer” to .NET. But, the “scratch your own itch” ethos doesn’t lend itself to large-scale, coordinated action on many fronts.

Could a messianic Anti-Gates forge an alliance among the open source communities, chart a battle plan, and allocate resources in strict accordance with strategic priorities? That doesn’t seem possible, or even desirable. The open source movement doesn’t want to be a military-style bureaucracy, and it shouldn’t have to be.

Still, we can’t keep on chanting the same old “open source powers the Internet” line forever. Microsoft powers a chunk of the Internet too. In its inimitably, Borg-like way, it is working hard to assimilate the rest. This needn’t happen. But, to move forward, Linux and other open source projects may want to temper their “world domination” rhetoric with a healthy dose of “embrace and extend.”

Early Embracers

In light of this analysis, I’d like to take a moment to mention a few open-source-oriented companies whose strategies suggest, in different ways, what it might mean to “embrace and extend .NET.”

Linux makes a great platform for Net services, and it’s been rewarded with a goodly piece of the server market. The next frontier, it’s often said, is the desktop market. While that’s true, the goal at this late date shouldn’t be merely to recreate an easier-to-use 1990s Microsoft desktop through windowing environments like GNOME or KDE.

The real opportunity, which Andy Hertzfeld’s Eazel, Inc. appears to grasp, is to build a new kind of GUI that not only manages local resources, but also connects to network services. Suppose that you wanted to print a digital image and send it to a friend, Eazel’s task isn’t just to help you find that image on your hard disk so that you can print it and put it in an envelope. Eazel will also try to offer a selection of Net-based services that can do the printing and delivery for you. How will that happen? Very likely, it will be an XML-over-HTTP protocol (such as SOAP) that lets Eazel’s Nautilus file manager discover, and convey, those services.

Dick Hardt, CEO of ActiveState, has taken more than his fair share of flak from open source zealots over the years. Why? Because Microsoft paid ActiveState to make Perl a first-class citizen in the Win32 environment. Now that ActiveState is working to bring Perl and Python into the Visual Studio and .NET environments, there probably will be more catcalls. Yet, ironically, ActiveState deserves an open source medal of honor for its parallel project, Komodo.

Built on Mozilla, Komodo is a modern, high-quality IDE (integrated development environment) for Perl and Python developers who don’t want to work under the Windows-only Visual Studio regime. I’ve seen Komodo. It rocks. Mozilla desperately needs this proof-of-concept validation, and Linux developers need tools like Komodo. But, ActiveState is, above all, pragmatic. Why argue about Linux versus Windows when you can support both? Why argue about Perl versus Python when you can support both? The end game is to empower more people to build more of the network services that we’re all going to need.

Final Word

The Nasdaq isn’t showering riches upon dot-com and open source companies anymore. It’s time for the Net to deliver real value. To do that, it has to reorganize itself into a collection of programmable, and interoperable, services. That’s a big vision and a huge task. Nobody’s going to control the whole game.

But, make no mistake, Microsoft will have a lot to say about the new rules of engagement. And, some of the ideas it’s advancing make perfectly good sense. Why fight what you can embrace and extend?”



Jon Udell, an independent author and consultant, runs the Linux Magazine Web site. He can be reached at udell@monad.net.

Comments are closed.