Mono (software)

Mono (from the Greek monos for "alone" or " only " and Spanish for " monkey ") is a. NET -compatible development and runtime environment for platform-independent software, based on the CLI standard and the C # programming language and supplemented by the Integrated Development Environment MonoDevelop. The open source project has been Driven primarily by employees of the software company Novell, Xamarin later.

Background and technical details

Mono itself gets its very existence on the one hand from its platform independence, its relatively freely available ( under open source licensing) and the desire of a significant number of developers to minimize their dependence on large corporations in Microsoft software issues.

Microsoft, however, offers its runtime environment. NET exclusively for its own Windows operating systems. From Microsoft, there is still a variant of. NET called rotor, which is available in addition to Windows and for Mac OS X and FreeBSD. Nevertheless, the company Ximian was once of the opinion that it might have success with its own development in this area, especially because his license terms offered by Microsoft for many areas appeared too restrictive.

With mono, it is in principle possible, programs that were created for the Microsoft. NET environment to run without recompilation under Unix-like operating systems. Also can use it to develop on other operating systems, programs that are run with Microsoft. NET.

Mono offers from version 2.10 compatibility with non- Windows- specific libraries. NET 2.0. Applications based on. NET 3.0, . NET 3.5 or. NET 4.0, are currently under mono may not run because so far only a subset is implemented. Missing Windows Presentation Foundation, Windows Workflow Foundation and Windows Communication Foundation partially. Furthermore, the access to windows -specific functionality using P- Invoke or COM interop, that is, the use of libraries that are not present in IL code, but in normal, processor-specific assembler code not allowed. While it can also Mono access to libraries that are written in C or C , however, most of these libraries are platform-dependent.

. Currently 4.0 of the NET standards working on the implementation of the version; in September 2010 appeared a corresponding preview ( mono version 2.8). Was explicitly exempted the support of the Windows Presentation Foundation, which will not be re-implemented in the foreseeable future. However, it will still give support for XAML. Support for Mac OS X on x86 -64 remains until further notice in the " unstable". Windows x64 has been forgotten.

History

Co-founded by Miguel de Icaza company Ximian (bought on August 4, 2003 by Novell) sat down to develop a set of. NET -compatible development tools to target, including a C # compiler and a Common Language Runtime for operation under Windows, GNU / Linux, various Unix derivatives, and Mac OS X.

Miguel de Icaza was interested in the. NET technology, since in December 2000 the first. NET information was available. In February 2001, he began to practice purposes a C # compiler in C # programming language to write. In April 2001, he was able to present on a GNOME conference, a first version.

In Ximian there were many internal discussions about the development of tools to increase productivity to create more applications in less time and to reduce development costs. After a feasibility study, the Mono team was formed. Because of the limited number of staff it was Ximian not possible to write a full. NET spare, so the Mono open source project has been founded, which was announced at the O'Reilly conference in July 2001.

Three years later, on 30 June 2004, Mono 1.0 has been released.

With published on October 6, 2008 Version 2.0 the most important features of. NET 2.0 have been added and there is the Olive project also an initiative that newer technologies. NET 3.0 and. NET to implement 3.5. In addition, the C # compiler been added to the language features of C # 3.0 adds (this is primarily to support LINQ ), as well as developed a new XAML parser. However, the developers explicitly point out that the Windows Presentation Foundation is probably not implemented for the time being because of the enormous complexity. Also with version 2.0 is now also a Visual Basic 8.0 compiler on board.

With published on 9 December 2009 Version 2.4.3 has been - in addition to some bug fixes - the free C # compiler supplemented with all the essential features of C # 4.0.

Beginning of 2011 presented the new owners Attachmate Novell, a further development of the Mono project and released May 2, 2011 30 Mono developer. Nils Brauckmann (the new Suse CEO ) cited the reason the low demand from customers. A few days after stopping the Mono project at Novell founded Miguel de Icaza, the company Xamarin, which will be devoted in the future the development of mono. Most previously employed by Suse Mono developer switched to Xamarin.

Subsequently granted SUSE Xamarin a perpetual license to use and commercial exploitation of Mono, MonoTouch for iOS and Android, as well as the Mono Tools for Visual Studio.

DotGNU and Portable.NET

Comparable was the DotGNU project that wanted to form an alternative basis for the creation of Web services and C # applications that are programmed in the context of. NET framework. Example was there for the success of GNU / Linux as the licensing model for vendor- independent software.

The Portable.NET project was a subproject of DotGNU project for the creation of free software tools to programs for the Common Language Infrastructure translate and be able to run (also known as short CLI). The initial target platform was GNU / Linux, but now works Portable.NET under Microsoft Windows, Mac OS X and various flavors of Unix.

The focus of Portable.NET lay on compatibility with the ECMA -334 specification and ECMA- 335, which describe C # and the CLI, as well as compatibility with the commercial CLI implementation. NET.

Work on DotGNU project has come to a halt in August 2006. DotGNU was practically detached from the Mono project.

Standardization and Patents

Parts of the class library may affect software patents from Microsoft. Microsoft has with Novell signed a patent cross license agreement that protects Novell and its customers against legal claims Microsoft. This also includes a patent protection for Mono. For ( almost) all other users, the risk persists. The view of the development on the issue brought Torvalds to the point when he was confronted by claims of SCO with the theme: ". I do not pay principle to patents, because that would be a waste of time " Not without reason are software patents highly controversial and in the EU formally prohibited.

The basic technologies have been partially standardized by Microsoft at Ecma International and ISO. Microsoft Licensing guarantees the ECMA parts RAND basis. Other parts, such as Windows Forms, ADO.NET and ASP.NET, however, are excluded from it.

The Open Invention Network defends mono in patent disputes.

Because of the danger of patent lawsuits on the part of Microsoft, Richard Stallman, the ideological leader of the Free Software Movement, warned of mono after some distributions were gone over to record a mono in the default installation. Microsoft has released by now. NET and C # irrevocably under the Community Promise Agreement and wants to give up patent lawsuits.

292290
de