As previously reported, the move could increase the importance and popularity of the .Net strategy while diminishing Microsoft's control over the software itself. With .Net, Microsoft plans to sell its services--such as address books or e-commerce, as well as the software plumbing that powers those services--over the Internet.
The effort to duplicate .Net has two components so far: Mono and DotGNU. The Mono software project, hosted by Ximian, is designed to reproduce on Linux the ability to execute programs written in the C# language invented by Microsoft and used in .Net. DotGNU is designed to sidestep Microsoft's Passport, which is service for approving passwords and holding personal information.
"With DotGNU and Mono, you will be able to use C# if you wish, without surrendering your freedom to study, share, change and generally control all the software that you use," Free Software Foundation President Richard Stallman said in a statement Monday.
Miguel de Icaza, Mono founder and Ximian chief technology officer, said in an interview that he believes Microsoft's technology is worth emulating. Mono, only in its beginning stages now, will include a version of the "common language infrastructure" (CLI) that lets C# programs run on a Linux system.
Microsoft is delighted that others are backing the .Net idea and has submitted CLI and the .Net underpinnings to standardization groups such as ECMA so that the software can become more widely used.
"Overall, we think this is a ringing endorsement for the .Net strategy," said Tony Goodhew, a Microsoft product manager. "It's exactly the reason we went to ECMA and the international standardization process, so people would be able to take these standards and implement them royalty-free on any operating system or device."
A wrench in the works
But Goodhew warned that there could be problems in mixing an open-source version of the .Net basics with Microsoft technology that is distributed along with that standardized version.
Other constraints could hamper an open-source effort as well, Goodhew said. Creating software that implements the CLI standard will require Microsoft technology that will be released through ECMA, Goodhew said. And the license under which that software is released may not be compatible with the licenses that govern Mono and DotGNU, he said.
"Part of the ECMA (standardization process) provides a forum for us to license the intellectual property you will need to have to implement the standard," Goodhew said. "It's up to the implementers to make sure whatever license they choose to use is compatible with the ECMA licensing terms."
People who are wondering about the terms of that license will have to wait, though. Microsoft hasn't yet submitted the license under which ECMA will distribute the technology, Goodhew said.
The licensing issue could give Microsoft some leverage in how .Net technology is used. The company has embarked on a loud campaign against the General Public License and Lesser General Public License, which are widely used in the open-source realm.
The company has gone as far as prohibiting programmers from using some Microsoft programming software in conjunction with GPL or LGPL programming tools.
The open-source movement is a descendent of the free-software movement founded in 1984 by Richard Stallman, who set out to clone the Unix operating system under a project called GNU, or GNU's Not Unix. Free software advocates emphasize that they use the term "free" to mean liberated from proprietary constraints, not zero-cost.
DotGNU and Mono are covered by GPL and LGPL, according to Ximian and the Freedom Software Foundation.
The company of choice?
Although Microsoft wants the foundation of .Net to be widely used, it hopes to be the company of choice when it comes to offering .Net-based services. Among the ways Microsoft hopes to achieve this strength is tight integration of .Net abilities into the Windows computers people use to tap into .Net services, extra abilities that Microsoft servers alone will be able to use in offering .Net services, and the Passport service to govern access to .Net services from Microsoft or others.
DotGNU aims to undermine Passport as a central authentication authority. David Sugar, author of an open-source telephony server software project called Bayonne, will lead the DotGNU effort, which will be hosted at the Savannah Web site.
"We see no technological reason to have services hosted and deployed from a single service provider," Sugar said in a statement. "Distributed authentication can assure users' freedom and privacy, as well as the privacy and integrity for commercial organizations."
To help spread its .Net vision beyond Windows, Microsoft is working on its own version of .Net building blocks for the FreeBSD version of Unix with help from Corel. Microsoft's version of the .Net work for FreeBSD will be released under a "shared-source" license that lets researchers see and modify underlying source code but not use it in commercial projects.
Microsoft objects to a provision in the GPL that prohibits software covered by different licenses to be incorporated into GPL software without becoming GPL software as well. Microsoft argues this "viral" effect is a threat to proprietary licenses that keep some company's software secret because a person distributing GPL software he's changed must publish those changes.
GPL advocates argue that proprietary higher-level software may run on GPL foundations with no problem--and indeed software companies such as IBM, Oracle and SAP all sell proprietary software for Linux, probably the best known GPL software.
Licensing is only one obstacle facing the open-source efforts to outflank .Net. The other is creating the technology in the first place.
Mono has about a half-dozen developers within Ximian, de Icaza said, and it will be some months before many more arrive to collaborate on the project.
In order to attract lots of programmers, de Icaza said, "you need something that does something, not just print a message that says, 'Nothing works.' We don't expect that growth until December."
The first stage is to release an early version of Mono that doesn't require Windows, a goal de Icaza hopes to achieve by the end of 2001. "Right now you need the .Net Toolkit and you need to be running Windows" to create essential software called the compiler that translates C# software written by humans into instructions a computer can understand, he said.
Next will come a working first version of Mono. "I think we're going to have 1.0 by the middle of next year," de Icaza said.