| Mono Project aims to bring .Net to Linux |
Nov. 02, 2001
By Michael Caton, of ZDNet News . . .
The open-source community, through Linux software development company Ximian, has embarked on a development effort to bring Microsoft's .Net platform to Linux.
Called the Mono Project, this effort encompasses creating a development environment that will allow applications developed for .Net to run on Linux-based as well as Windows-based systems. Mono originated out of a need for improved development tools for the GNOME community and for Ximian specifically, according to Miguel de Icaza, Ximian's chief technical officer.
The implications of Mono, however, are further reaching because the tools are based on the CLI (Common Language Infrastructure) and C# implementations that Microsoft submitted to the European Computer Manufacturers Association (ECMA) standards body. If Mono can achieve the goal of creating a set of Linux development tools based on those standards, developers will be able to write .Net applications that can run on Linux, Windows, and possibly other non-Windows operating systems, such as Unix.
Aside from the actual development effort, the Mono Project tools must be built in the open-source community without infringing on Microsoft's intellectual property--which essentially means that developers must re-engineer the tools based on the standards without looking at any of Microsoft's source code.
Three critical elements
The Mono Project consists of three critical elements: a compiler for the C# programming language, a CLI, and a class library.
The CLI is a virtual machine that contains a class loader, a just-in-time compiler, and a garbage collection run-time environment. The CLI is the component that will allow programs written in C# to run on non-Windows operating systems such as Linux. This is similar to how the Java Virtual Machine allows an application to run on a variety of operating systems in the Java world.
The class library is the component that allows applications to perform critical functions such as XML processing, file I/O, and connecting to the network. It will be compatible with the Microsoft CLI (closely matching what Microsoft has released in the .Net framework), and the expectation is that additional class libraries that will be written by the open-source community will also be compatible with the CLI.
Ximian's de Icaza expects to reach the development milestone where the compiler can compile the class libraries by the end of the year. The graphical user interface components--the class libraries for building GUI applications--will be available by the middle of next year.
"The reason we are working on this is to upgrade our development platform to build our [Evolution] desktop application," de Icaza says. Evolution is Ximian's e-mail client and personal and workgroup information management application. "When we saw the .Net framework, we said these are the tools we would like to use to build our next generation of products," he says.
Ximian does not see Mono in and of itself as a means of giving Linux developers a way to catch up to the state of development tools available for Windows. Rather, Linux developers will likely use many of the same tools they currently use to write and compile applications. Ximian sees another open-source project, SharpDevelop, as a way to get the same integrated development environment that Microsoft provides with Visual Studio .Net.
By developing Mono through open source, the project involves people who bring a wide range of interests into the development effort. While Ximian may want to have an improved set of development tools to speed development of its applications, other developers may be looking for tools that allow them to write applications on Windows and run them on Linux systems.
Patent issue
One of the big questions is how to avoid infringing on Microsoft's intellectual property. "Our approach to avoiding infringing [on] patents is to stick to non-research topics and implement features using existing technology," de Icaza says. For example, the Mono JIT compiler is not using any advanced JIT-compiler technology. Instead, Mono's version is based on older JIT technology.
De Icaza also stated that Mono has to be "focused on the big picture" and not just on what the ECMA has standardized in the last year. To that end, Ximian is planning to participate in the standards process to create class libraries that improve on areas where the .Net framework is particularly weak, such as e-mail management.
According to Stacey Quandt, associate analyst at Giga Information Group, it is unlikely Microsoft will support Mono because of the licensing associated with the GNU General Public License for the C# compiler and the GNU Lesser Public License for the class and run-time libraries.
But even if Microsoft doesn't support Mono, Mono's very existence lends credibility to Microsoft's claim that .Net is portable to other platforms.
Quandt says reaching a broader developer community is another challenge facing Mono. Both IBM and Sun, for example, have made considerable investments in Java and will be difficult to enlist in what will be a competing effort.
Michael Caton is a freelance writer and technology consultant.
Copyright © CNET Networks, Inc. All rights reserved. Used with permission.
Related stories:
(Click here for further information)
|
|
|
FUEL Database on MontaVista Linux
Whether building a mobile handset, a car navigation system, a package tracking device, or a home entertainment console, developers need capable software systems, including an operating system, development tools, and supporting libraries, to gain maximum benefit from their hardware platform and to meet aggressive time-to-market goals.
Breaking New Ground: The Evolution of Linux Clustering
With a platform comprising a complete Linux distribution, enhanced for clustering, and tailored for HPC, Penguin Computing¿s Scyld Software provides the building blocks for organizations from enterprises to workgroups to deploy, manage, and maintain Linux clusters, regardless of their size.
Data Monitoring with NightStar LX
Unlike ordinary debuggers, NightStar LX doesn¿t leave you stranded in the dark. It¿s more than just a debugger, it¿s a whole suite of integrated diagnostic tools designed for time-critical Linux applications to reduce test time, increase productivity and lower costs. You can debug, monitor, analyze and tune with minimal intrusion, so you see real execution behavior. And that¿s positively illuminating.
Virtualizing Service Provider Networks with Vyatta
This paper highlights Vyatta's unique ability to virtualize networking functions using Vyatta's secure routing software in service provider environments.
High Availability Messaging Solution Using AXIGEN, Heartbeat and DRBD
This white paper discusses a high-availability messaging solution relying on the AXIGEN Mail Server, Heartbeat and DRBD. Solution architecture and implementation, as well as benefits of using AXIGEN for this setup are all presented in detail.
Understanding the Financial Benefits of Open Source
Will open source pay off? Open source is becoming standard within enterprises, often because of cost savings. Find out how much of a financial impact it can have on your organization. Get this methodology and calculator now, compliments of JBoss.
Embedded Hardware and OS Technology Empower PC-Based Platforms
The modern embedded computer is the jack of all trades appearing in many forms.
Data Management for Real-Time Distributed Systems
This paper provides an overview of the network-centric computing model, data distribution services, and distributed data management. It then describes how the SkyBoard integration and synchronization service, coupled with an implementation of the OMG¿s Data Distribution Service (DDS) standard, can be used to create an efficient data distribution, storage, and retrieval system.
7 Advantages of D2D Backup
For decades, tape has been the backup medium of choice. But, now, disk-to-disk (D2D) backup is gaining in favor. Learn why you should make the move in this whitepaper.
|
|
|
|
|