Something odd happened this week: Two major players in the Linux community announced plans to "embrace and extend" Microsoft's .NET initiative so that it works with the Linux OS. The move comes at an interesting time. Just a week ago, Microsoft announced that it would help Corel port major pieces of .NET technologies to FreeBSD, an open-source Linux competitor. Because of these developments, .NET will become available to a far wider range of systems, and far earlier than anyone expected. But the Linux community's decision to perform the port by itself is sure to increase its already volatile relationship with Microsoft, which has spoken out against open source in recent days.
Microsoft's deal with Corel calls for it to port the .NET Common Language Infrastructure (CLI) and the C# programming language to FreeBSD. "With Corel, we're creating an implementation under our shared-source philosophy \[that\] demonstrates Microsoft's commitment to open standards in .NET and will provide a native XML Web services programming environment across OSs," said Microsoft Senior Vice President of Advanced Strategies Craig Mundie. Microsoft submitted the CLI and C# to the ECMA standards body last October for consideration as Web standards.
No one expects the FreeBSD deal to significantly widen .NET's distribution; in fact, Microsoft says that it expects most people to use FreeBSD for research and learning at universities. And because Microsoft is porting only some of the .NET technologies to FreeBSD, no one will be able to use FreeBSD as a full .NET environment. In many ways, the decision to port even part of .NET to FreeBSD is a slight toward Linux, which has a wider user base than FreeBSD. Given Microsoft's recent pronouncements against open source in general, and Linux specifically, this slight was likely intentional.
The Linux community didn't this news sitting down. Instead, the Free Software Foundation (FSF) and Ximian, which, respectively, produce various GNU tools and desktop environments for Linux, issued a joint statement this week announcing that they would port Microsoft's .NET to Linux. The rationale is simple, they said: .NET solves several problems, and those solutions should be available to everyone—not just Windows users. The companies will port C#, the C# compiler, the CLI, and the .NET Common Language Runtime (CLR), which are key to getting C#-based Web services to run on Linux. According to Ximian, the companies will finish the process by mid-2002.
Ximian's Miguel de Icaza said, "Instead of wasting our time trying to create a new standard, we're embracing .NET and extending it for our own purposes," which is hardly surprising, given Ximian's usual policy of copying various Windows and Microsoft applications. (The company makes a version of the GNOME desktop environment, which features COM-like functionality; an Outlook clone called Evolution; and various other familiar-looking applications.) Ximian's work is called GNU Mono; a complementary release from FSF is dubbed DotGNU. How these products will differ exactly is unclear, but we might look to Ximian's GNOME desktop enhancements for clues. Typically, Ximian adds value through graphical niceties and end-user enhancements, so it's likely that its GNU Mono project will build on DotGNU in a similar fashion.
Microsoft has publicly supported the Linux ports, but with a caveat. "Ximian's announcement is fundamentally a ringing endorsement of the .NET strategy and the vision of Internet services," said Microsoft's Tony Goodhew earlier this week. But Goodhew warned that Ximian will be violating Microsoft's intellectual property rights if the Mono's licensing model isn't identical to .NET's. This comment is probably a direct jab at Linux's use of the GNU Public License (GPL), which Microsoft has described as "cancerous." Companies that use GPL-licensed code must supply source code access for any products they create. By forcing Ximian to use Microsoft's licensing, Microsoft is implicitly warning the company that it can't use the GPL for its .NET work.
Partly in response to this threat, Ximian has notified the ECMA about its work to ensure that it has a say in the development of the CLI and C# going forward. If the ECMA oversees the development of these technologies, Ximian conceivably won't have to go through Microsoft. And if Ximian and the FSF are successful with their ports, Microsoft's .NET strategy might truly become the cross-platform phenomenon the company originally touted it to be.