Plenty of corporate developers watched with great interest when Novell unveiled a road map for the open-source Mono project that it acquired with Ximian.
That's because Mono could give them a chance to run Microsoft's .Net-based applications on Linux or Unix. Launched in 2001, the Mono project is an open-source version of Microsoft's .Net Framework, which includes a runtime for the Common Language Infrastructure, a C# compiler and a set of class libraries. Version 1.0 is due in the second quarter of 2004.
"It's definitely on our emerging-technology radar. We're monitoring it," said Sean Wheeler, director of enterprise technology strategy and planning at The Allstate Corp., a Northbrook, Ill.-based insurer with many .Net-based applications that now runs Linux only for research purposes. "Obviously, if you can run it on Linux, there's potentially large cost savings there."
However, corporate developers are following Mono with some trepidation. Several expressed concern about Novell's spotty track record with acquisitions, the developer community's uphill climb in keeping pace with changes to .Net and Microsoft's potential to derail the Mono project.
"Mono is open-source, but Microsoft would step forward and kill it if there was any real threat to their business model," said Ethan Roberts, a development architect at General Casualty Insurance Company of Wisconsin in Sun Prairie. "Microsoft is under siege from the whole idea of Linux, so why wouldn't they try to derail Mono's success?"
Microsoft refused repeated requests for comment about its position on Mono, saying only that it has worked with partners to standardize parts of the .Net Framework via the European Computer Manufacturers Association (ECMA) and the International Standards Organization.
No matter what Microsoft's current position is, Miguel de Icaza, chief technology officer for Novell's Ximian division, is well aware that customers have worries in the wake of The SCO Group Inc.'s lawsuit against IBM.
De Icaza said Mono developers have been very careful about integrating code from third parties. For example, he said, Microsoft wanted Mono developers to use Rotor, Microsoft's free shared-source implementation of its Common Language Runtime platform, which includes source code for C# and JScript compilers as well as for the Common Language Infrastructure.
"We have a rule: If you look at Rotor, you cannot contribute to Mono. It's as easy as that," de Icaza said, adding that his group recognized the need to be on solid legal footing with its work. When a large code contribution arrives, a third party reviews the changes to make sure it didn't come from Rotor, he said.
The greater challenge facing Mono will be catching up with the APIs Microsoft plans to add with the next version of Windows, code-named Longhorn, around 2006, said de Icaza. He said the community will need to rally more developers to get involved. Currently, 15 Novell employees and about 150 open-source community members work on Mono, he said.
But some corporate users said they aren't sure they will consider using Mono unless the community can keep up. Walt Smith, chief architect at a large U.S.-based financial institution, said his company will consider the .Net development environment once it matures in three to five years, particularly in the area of Web services security. It will also consider Mono to run the applications on Linux -- but only if that technology also matures, he said. "To remain relevant, Mono will need to incorporate these new security features and a vast array of other .Net features as they appear," he said. "That in itself poses a considerable challenge for Novell/Ximian."
Smith and some other corporate IT managers said Novell's purchase of Ximian won't necessarily lend any additional credibility to its work. AndrÈ Mendes, chief technology integration officer at Public Broadcasting Service in Alexandria, Va., said he's interested in Mono and Novell brings some degree of revenue and cash flow. But he added, "Quite honestly, Novell is one of those companies I could never figure out. They lost the competitive advantage they had in the marketplace."
"I would really like to see Novell become a legitimate player in this space, but it's really up to Novell," said General Casualty's Roberts. "One thing that Novell seems to be good at is killing some solid technology."
De Icaza said there are areas where Novell has been helpful, such as directory services, which Mono wasn't going to have until Novell employees volunteered to add them.
Novell Vice Chairman Chris Stone said through a spokesman that the company fully supports the Mono project and is even considering providing the Mono environment on NetWare so .Net applications will also be able to run on that operating system.
But some corporate users said they don't think they will be running their .Net applications on operating systems other than Windows. "I doubt many of them will switch because of this," said one developer who works for a government agency.
"In reality, I don't think we'll need it," said Richard Eber, director of development services at Hawaiian Electric Co., which has substantial investments in Microsoft technology. He said that even though his company may add some Unix systems in the future, those will be for running Java-based applications.
Mono Guru Speaks About His Project
The man behind Mono, Miguel de Icaza, CTO for Novell's Ximian division, spoke last week with Computerworld about the open-source project that he helped launch to enable .Net applications to run on Linux and Unix. Excerpts from the interview follow:
Q: When was the Mono project originally due?
The Mono runtime was intended to be released a year ago or so. But it was only the (virtual machine) and the C# compiler. ... Basically, the scope of Mono has been growing.
Q: How much of the .Net Framework will be supported?
It's easy to say what we include in Mono and what we do not include. It's going to be the corporate tool machine, so that's essentially the runtime that lets you run applications. But the libraries are what makes it really interesting, so the libraries that we're shipping in this version include all of the XML functionality in .Net; ADO.Net, which is the database connectivity tool kit; (and) ASP.Net, which includes both support for creating Web services and creating Web applications.
The two big missing pieces are called Windows Forms, which is a technology for building client applications as opposed to Web applications, and we're also making a technology called Enterprise Services, which is used for transaction management.
Q: How would a developer work around the missing client functionality?
We have our own set of libraries for doing client functionality. We just don't have one that will transparently move your Windows client apps to Linux. We have something which is Unix-specific today. But by the end of next year, we will have the Windows compatibility.
Q: Do you have any concerns about Microsoft raising intellectual property issues?
My main concern with Microsoft is not that one, because .Net is basically a retooling of Java. ... Microsoft should be concerned about .Net. My main concern really is Longhorn in the 2006 time frame. They're adding a lot of APIs, and that's going to be hard to catch up with.
Q: What kind of reaction have you gotten from Microsoft about the Mono project?
The only people who I have talked to are their engineers or the ECMA (standards) committee ... and so far, it's been great. They're very receptive. They help a lot with every problem we have in the spec. ... They're very supportive at the engineering level. We've had a few high-level talks with them, but nothing really concrete.
Q: Can you foresee any potential legal issues?
The only potential legal problem is whether there is a patent on (any) API, and we have a couple of options when we're dealing with patents. The first option is (to) look for prior art, because Microsoft might be granted a patent that they don't really deserve. ... If we cannot find prior art, then we will have to remove that functionality from the Mono runtime, and for customers, we'll negotiate a license for the patents with Microsoft.