Advanced | Help | Encyclopedia
Directory


Mono development platform

Mono is the name of an open source project led by Novell (formerly by Ximian) to create an ECMA Standard compliant (Ecma-334 and Ecma-335), .NET compatible set of tools, including a C# compiler, a Common Language Runtime and more. Mono can be run on GNU/Linux, UNIX, Mac OS X, and Windows based computers.

While Microsoft made a version of .NET available for FreeBSD called Rotor, Microsoft's shared source license is not really Free Software and is insufficient for the needs of the community (it explicitly forbids commercial use).

A lot of discussion has taken place about whether Microsoft could destroy the Mono project with patents. The Mono team has acknowledged this problem in their FAQ:

"The .NET Framework is divided in two parts: the ECMA/ISO covered technologies and the other technologies developed on top of it like ADO.NET, ASP.NET and Windows.Forms. Mono implements the ECMA/ISO covered parts, as well as being a project that aims to implement the higher level blocks like ASP.NET, ADO.NET and Windows.Forms."
"The controversial elements are the ASP.NET, ADO.NET and Windows.Forms subsets. Those are convenient for people who need full compatibility with the Windows platform, but are not required for the open source Mono platform, nor integration with today's Mono's rich support of Linux. The Mono strategy for dealing with these technologies is as follows: (1) work around the patent by using a different implementation technique that retains the API, but changes the mechanism; if that is not possible, we would (2) remove the pieces of code that were covered by those patents, and also (3) find prior art that would render the patent useless."

For more information on their patent position, see http://www.mono-project.com/FAQ:_Licensing.

Versions 1.0.6 (Stable) of Mono was released on February 17, 2005 and 1.1.6 (Development) was released on March 31, 2005. Mono 1.0.6 is a maintenance release in the 1.0.x-series. Focusing on new functions is the 1.1.x-series that eventually will lead to a stable 1.2 release.

The Mono VM contains JIT engines for a number of processors: x86, SPARC, PowerPC (in 32 bit mode) and x86–64 and SPARC for 64 bit modes. The VM can just-in-time compile or it can pre-compile the code to native code For other systems not listed, an interpreter is used.

A similar project, called Portable.NET, is part of the DotGNU project.

Table of contents

History

Miguel de Icaza got interested in the .NET technology as soon as the .NET documents came out in December 2000. Some early work were done in coorporation between Rhys Weatherley, Jay Freeman and Miguel de Icaza. On GUADEC 2001 Miguel de Icaza showed a demo for a few folks of their C# compiler and how it was able to parse itself.

Internally at Ximian there was much discussion about building tools to increase productivity: making it possible to create more applications in less time and therefore reduce time and cost of development. After a feasibility study Ximian finally decided to move staff from other projects and create the Mono team. The Mono team didn't have the strength to build a full .NET replacement on their own and on July 19 2001 the Mono open source project were announced at the O'Reilly conference.

Almost three years later, on June 30 2004 Mono 1.0 was finally released.

Sub-projects

Numerous sub-projects have been created to allow developers to use Mono in their development environment:

  • gtk# are bindings which tie the Mono framework into the Gtk libraries.
  • gecko# are bindings for embeding the layout engine used in Mozilla (Gecko).

Software developed with Mono

These are programs that uses Mono API and C#.

See also

External links








Links: Addme | Keyword Research | Paid Inclusion | Femail | Software | Completive Intelligence

Add URL | About Slider | FREE Slider Toolbar - Simply Amazing
Copyright © 2000-2008 Slider.com. All rights reserved.
Content is distributed under the GNU Free Documentation License.