- By Grant Gross -
Closed-source giant Microsoft has been slowly releasing more details about .Net and Hailstorm, its huge Web-based services projects, for nearly a year, and the Open Source and Free Software communities have been mostly silent, at least until now. This week, two infant projects received the blessing of the Free Software Foundation, while a couple of other projects have been quietly plugging away.
On Monday, the Free Software Foundation endorsed the Ximian-led Mono project and FreeDevelopers.net's DotGNU project. Meanwhile, IBM has been working on an open-standards project intended to do some of the same things as .Net, and the Open Source project at XNS.org provides some of the same services as .Net's Passport service.
Expect even more Open Source/Free Software responses to .Net. Late Monday, NuSphere announced the July 16 launch of MySQL.org, a "community-driven Web site"
where visitors will be able to "freely re-distribute any code offered under the GPL." According to announcement to tech journalists, "By placing no commercial restrictions on technical developments, MySQL.org will contain the best and most current ideas
and serve as an incubator of innovation in the emerging battle with Microsoft.Net."
.Net, by Microsoft's definition, is "Microsoft's platform for XML Web services. XML Web services allow applications to communicate and share data over the Internet, regardless of operating system or programming language." In a nutshell: a bunch of mostly pay-per-use Web-based services and applications that work well with each other, or at least are supposed to work together, no matter what operating system you're using.
Hailstorm, by extension, is a bunch of Web services that collects data based around a user's identity in a set of XML documents. Think of Hailstorm as Microsoft's attempt to collect your entire online self in one location, including your calendar, credit card and profile information. Among the concerns about Hailstorm is the sometimes security-lax Microsoft collecting and housing these massive amounts of data about each user.
DotGNU: Important project for Free Software
The fledgling DotGNU project (whose FAQ is based on questions from NewsForge) is more than one project -- project leaders see it as a group of 10 to 20 projects.
Tony Stanco, founder of FreeDevelopers.Net, calls DotGNU a "very important strategic project for free software."
"It is probably the battleground where we win or lose against MS in the next few years ..." he adds.
Swiss developer Norbert Bollow says DotGNU plans to compete with .Net on all levels. "Just like it's the goal of the GNU project to create a complete operating system that makes it completely unnecessary to use a non-free operating system. Like ... Microsoft Windows, it's the goal of the DotGNU project to be a complete competitor to Microsoft's '.Net initiative' and 'Hailstorm' products," he writes in the FAQ, and in response to NewsForge questions. "The DotGNU project will compete with Microsoft for end-users, business customers and developers."
The project is just getting off the ground, with a discussion of strategy and design issues happening on the DotGNU mailing list. Project leaders suggest this is a good time for developers to get in on the ground floor.
Asked what DotGNU developers think of Microsoft's .Net, Bollow says the Free Software project will probably get inspiration from some good ideas from Microsoft and vice versa. But the DotGNU crew is concerned about the potential for a Microsoft choke-hold on such services.
"The project has started out of concern that Microsoft could possibly obtain an effective monopoly on some aspects of Internet commerce," Bollow says. "No programming work that is specific to the DotGNU project has been done yet, but in many areas there is some
high-quality Free Software already that can be adapted to meet the needs of the DotGNU project.
'[Microsoft's efforts are] dangerous stuff," he adds. "It is often said that the price of freedom is eternal vigilance. Unless we counter them, Microsoft's efforts are not only a
threat to Free Software, they are also extremely dangerous tools in the hands of any Evil Government that wants to make their citizens unfree."
Mono: Open Source developer tools
There's been lots of news about Ximian's Mono project since word of it leaked late last week (search on "Ximian" and ".Net" in NewsForge to see the stories). Ximian co-founder and CTO Miguel de Icaza has been quietly working on the project since February, and the Gnome services company officially announced the project Monday.
Think of Mono as the Open Source answer to the "build once, deploy anywhere" tools Microsoft is championing with its .Net set of development tools, except that with Mono, developers don't have to buy in to Microsoft's "shared source" .Net scheme.
The Mono project, which now has four people at Ximian working on it, will include:
A C# compiler that allows Gnome developers to create .Net compatible applications.
A complete implementation of class libraries compatible with Microsoft's libraries that will allow developers to create applications and Web services.
A Linux version of the Microsoft Common Language Run-Time just-in-time (run-time engine, allowing Linux systems to run .Net applications built on Windows, Linux or UNIX platforms.
"There's some pieces of .Net that are really interesting to us, from a developer's standpoint," de Icaza says. "We basically want to have better tools for creating applications, and we saw that Microsoft was getting this cool technology, and we're not getting it. We decided we had to get a piece of that cake."
Mono will allow developers to program in any language to create applications that will run both in Linux and Windows. He's also interested in the potential for Mono to allow development of Web-based services. "You can choose the language you're most comfortable with to develop applications," he says. "For the the first time, you don't need to have an XML implementation for Perl, an XML implementation for Python, another one for C++, another one for Pascal ..."
de Icaza's goal is to have the run-time development platform available by the end of the year and database and Microsoft API functions available by mid-2002. He says he hasn't heard much about DotGNU yet, but he believes the two projects can complement each other.
de Icaza's team has written part of the C# compiler so far, and part of the run-time engine. The team has about 70 class libraries out of an estimated 1,000 written. He expects interest in the project to start slowly, then pick up after it shows more progress.
"There's a lot of people who realize the potential of .Net, and they're interested in contributing," de Icaza says. "As with any other Open Source project, I would expect that it's going to have a slow start, until we have something people can use. At that point is when the development accelerates."
However, de Icaza doesn't want developers who've already played with .Net's tools. "If you have looked at the source code for .Net, and you feel tempted to cut and paste code into Mono, then you may taint the whole project," he says. "It's the same care you have with a new project -- please do not bring any proprietary technology to the project."
XNS: Do you want Microsoft controlling your data?
The XNS.org team has created a "global identity management, privacy control,
and XML-based data exchange technology," according to XNSORG chairman Adam C. Engst. XNS will duplicate some of the services that Microsoft's Passport online wallet service provides.
Engst describes XNS as a "global identity management, privacy control,
and XML-based data exchange technology." He adds, "The main place where XNS
offers an alternative to Microsoft products is in naming, authentication, and privacy control."
From the XNS FAQ: "Like DNS, XNS is a globally distributed service that can be implemented by any ISP, portal, corporation, university, or other network service provider. Unlike DNS, however, all XNS agencies and agents enter into registration agreements incorporating global terms specified by the XNS Public Trust Organization (XNSORG), an independent non-profit organization responsible for governance of the XNS global trust community."
A the main difference between the Open Source project and .Net is who will have control of your personal data, he says. Instead, of a corporate-controlled information system, the XNS information is controlled by the independent, non-profit XNSORG.
"Microsoft says it will never use personal information and it will require .Net
service providers to adhere to its privacy guidelines, but in the
end, Microsoft is a corporation in business to make money," Engst says. "Whatever
your view of Microsoft's privacy efforts, it's hard to argue that a single company should have such control over personal information."
XNSORG, which governs the XNS project, is "specifically chartered
to provide non-discriminatory governance of the XNS standard," he adds. "XNSORG isn't handing these [standards] down from on high -- we're inviting participation at all
levels to evolve these documents as the Internet world itself evolves."
As others including de Icaza say, it's hard to pin down exactly what the scope of .Net will become, so Engst says he's not sure how to answer a question about where .Net goes beyond the work of XNS. But while XNSORG hasn't exactly trumpeted its work compared to .Net, the project has been around for several years.
"OneName Corporation developed the patented communication
agent technology that underlies XNS and recognized that it stood no chance of adoption if it was held as a closed, proprietary technology," Engst remembers. "So [we] formed the non-profit XNS Public Trust Organization (XNSORG) to promulgate and manage the XNS standard ..."
Engst continues: "The status today is that XNS is operational -- you can go to
http://www.xns.org/user/services/ today and follow the links to register your own XNS agent, which is fully functional. Another simple thing you can do now is use a Web gateway we set up to see the
public profile of XNS users who've set them up ... The two challenges we face right now are expanding the capabilities of the agents (something that's done by adding what we
call 'knowledgepack' -- essentially XNS applications) and attracting
additional public agencies."
Engst says there's mixed feelings about .Net and Hailstorm among the XNS developers.
"There's no question that Microsoft can put more money and effort into the field than almost any organization on the planet, so we're happy to see their validation of many of the kinds of benefits we've been saying XNS could provide all along. Like so many
others in the Internet community, we're deeply troubled by the privacy and security implications of centralizing such important data and functions with Microsoft -- or any one company. And finally, we would far rather convince Microsoft that supporting XNS and participating as one of many entities in XNSORG would work better for
Microsoft and the Internet community than competing directly with
IBM: Web-based business model
IBM's open standards Dynamic E-Business Web-based platform, which didn't generate a lot of attention when it was first announced in May, is a business model, as opposed to a technology, says Stefan Van Overtveldt, program director for IBM's WebSphere technical marketing department.
The idea behind Dynamic E-Business is that a company can concentrate on its core activities and farm out its other functions to specialists offering Web-based services, Van Overtveldt says. IBM offers a suite it's calling Web Services, which can tie the business model to specific technology needs.
Van Overtveldt uses the example of an e-commerce site using a specialist to figure out import/export fees, which nations are likely to start collecting, for items it's shipping across the globe. Web Services would allow the e-commerce site to look for and compare specialists, and then have the best specialist could figure out the import tax for a specific country, and collect those taxes from the e-commerce site.
"Web Services is really all about allowing an application to do on the Internet what [computer] users have been able to do for quite sometime, therefore automating a task for the user," he explains.
IBM will use open standards such as SOAP to deliver its Web Services on multiple platforms, including Linux and several Unixes, Van Overtveldt says. IBM plans to Open Source much of the Web Services work, he adds, so that companies can create their own services. "The fact that we want to implement these open standards on as many platforms as possible is not just important, it's absolutely mandatory," he says. "What we don't want is a company that has put a lot of effort into developing a set of transactions against a database needing to go out and develop those same applications in another language just to publish them as a Web Service."
IBM believes a universal registry that's necessary for Web Services, a la Microsoft's Hailstorm, doesn't belong in the hands of one company, Van Overtveldt says. IBM believes companies will develop their own internal registries, then share them with partners. Ultimately, a "big registry in the sky" should be hosted by a dot-org, he adds.
IBM is also pitching its Web Services' "intelligent transactions" as a difference to .Net. Intelligent transactions can "make decisions" about what part of your business application should link to what businesses, and remember that function over a long period of time, he says. "Our vision is that Microsoft sees .Net as ... how you can extend desktop applications with additional components over the Web," Van Overtveldt says. "Our vision about Web Services is that it really allows you to create a complete business process over the Internet."