- DotGNU
-
Developer(s) Rhys Weatherly (Southern Storm Software Pty), Klaus Treichel, Thong Nguyen, Gopal V, Norbert Bollow Stable release 0.8.0 / March 20, 2007 Operating system Linux, BSD, Mac OS X, Solaris, AIX, Microsoft Windows, others Type System platform License GPL and LGPL Website http://dotgnu.org DotGNU is a part of the GNU Project that aims to provide a free software replacement for Microsoft's .NET Framework by Free Software Foundation. Other goals of the project are better support for non-Windows platforms and support for more processors.
The main goal of the DotGNU project code base is to provide a class library that is 100% Common Language Specification (CLS) compliant.
Contents
Main development projects
Portable.NET
DotGNU Portable.NET, an implementation of the ECMA-335 Common Language Infrastructure (CLI), includes software to compile and run Visual Basic .NET, C#, and C applications that use the .NET base class libraries, XML, and Windows Forms. Portable.NET claims to support various instruction set architectures including x86, PPC, ARM, and SPARC.
phpGroupWare
phpGroupWare, a multi-user web-based GroupWare suite, which also serves to provide a collection of webservice components that can be accessed through XML-RPC so that can easily integrate them into webservice applications.
DGEE
DotGNU Execution Environment (DGEE), a webservice server.
libJIT
The libJIT Just-In-Time compilation library, generally known as libJIT, is a library for development of advanced Just-In-Time compilation in Virtual Machine implementations, Dynamic programming languages, and Scripting languages. It implements an intermediate representation based on three-address code, in which variables are kept in static single assignment form.
libJIT has also seen some use in other open source projects, including ILDJIT [1] and HornetsEye [2].
Framework architecture
The Portable .NET class library seeks to provide facilities for application development. These are primarily written in C#, but because of the Common Language Specification they can be used by any .NET language. Like .NET, the class library is structured into Namespaces and Assemblies.[1] It has additional top-level namespaces including Accessibility and DotGNU. In a typical operation, the Portable .NET compiler generates a Common Language Specification (CLS) image, as specified in chapter 6 of ECMA-335, and the Portable .NET runtime takes this image and runs it.
Free software
DotGNU points out that it is Free Software, and it sets out to ensure that all aspects of DotGNU minimize dependence on proprietary components, such as calls to Microsoft Windows' GUI code. DotGNU was one of the High Priority Free Software Projects from July 31, 2007[2] till October 2, 2008.[3]
DotGNU and Microsoft’s patents
For more details on this topic, see Software patents and free software.DotGNU’s implementation of those components of the .NET stack not submitted to the ECMA for standardization has been the source of patent violation concerns for much of the life of the project. In particular, discussion has taken place about whether Microsoft could destroy the DotGNU project through patent suits.
The base technologies submitted to the ECMA may be non-problematic. The concerns primarily relate to technologies developed by Microsoft on top of the .NET Framework, such as ASP.NET, ADO.NET, and Windows Forms (see Non standardized namespaces), i.e. parts composing DotGNU’s Windows compatibility stack. These technologies are today not fully implemented in DotGNU and are not required for developing DotGNU-applications.
See also
- Comparison of application virtual machines
- Portable.NET - A portable version of DotGNU toolchain and runtime
- Mono - A popular free software implementation of Microsoft's .NET
- Common Language Runtime
- Shared Source Common Language Infrastructure - Microsoft's shared source implementation of .NET, previously codenamed Rotor
References
- ^ "GNU Portable .NET documentation". http://dotgnu.info/pnetlib-status/.
- ^ GNU High Priority Free Software Projects, FSF, July 31, 2007, archived from the original on August 1, 2007, http://web.archive.org/web/20070810230457/http://www.fsf.org/campaigns/priority.html
- ^ GNU High Priority Free Software Projects, FSF, October 1, 2008, archived from the original on October 2, 2008, http://web.archive.org/web/20081002034833/http://www.fsf.org/campaigns/priority.html
External links
- Project homepage
- Article '2001 -- The Year When DotGNU Was Born'
- A 2003 interview with Norbert Bollow of DotGNU
GNU Project History Licenses Software Public speakers Other topics .NET Framework Architecture CLI Languages Common1Other2Components ADO.NET (Entity Framework · Data Services) · ASP.NET (AJAX · MVC · Dynamic Data) · Language Integrated Query · CardSpace · ClickOnce · Communication Foundation · Dynamic Language Runtime · Forms · Presentation Foundation · Remoting · Workflow Foundation · XAML · Parallel Extensions · Managed Extensibility FrameworkOther implementations Mono · Compact Framework · XNA Framework · Micro Framework · Portable.NET · Silverlight · SSCLI · DotGNUComparisons Upcoming "Jasper" · "Roslyn"Past "Acropolis"Tools 1 Languages that are, will be, or have been included with Visual Studio or Microsoft Windows.
2 Non-academic or research languages with relatively large user-bases.Categories:- Microsoft development tools
- Computing platforms
- GNU Project software
Wikimedia Foundation. 2010.