Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
DotGNU
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Primary sources|date=August 2011}} {{Infobox software |name = |logo = dotgnu-small.png |logo size = 240px |caption = |developer = Rhys Weatherly (Southern Storm Software Pty), Klaus Treichel, Thong Nguyen, Gopal V, Norbert Bollow |latest release version = 0.8.0 |latest release date = {{Start date and age|2007|03|20}} |programming language = [[C (programming language)|C]], [[C Sharp (programming language)|C#]] |operating system = [[Linux]], [[BSD]], [[Mac OS X]], [[Solaris (operating system)|Solaris]], [[AIX operating system|AIX]], [[Microsoft Windows]], others |genre = [[System platform]] |license = [[GPL]] and [[LGPL]] |website = {{URL|www.dotgnu.org/}} |discontinued = yes }} '''DotGNU''' is a decommissioned<ref>{{cite web|url=http://www.dotgnu.org/|title=DotGNU Project |quote=As of December 2012, the DotGNU project has been decommissioned, until and unless a substantial new volunteer effort arises. The exception is the libjit component, which is now a separate libjit package.}}</ref> part of the [[GNU Project]] that started in January 2001 and aimed to provide a [[free software]] replacement for [[Microsoft]]'s [[.NET Framework]]. The DotGNU project was run by the [[Free Software Foundation]]. Other goals of the project are better support for non-[[Microsoft Windows|Windows]] platforms and support for more [[Processor (computing)|processors]]. The main goal of the DotGNU project code base was to provide a class library that is 100% [[Common Language Infrastructure#Overview|Common Language Specification]] (CLS) compliant. ==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 Sharp (programming language)|C#]], and [[C (programming language)|C]] applications that use the .NET base class libraries, XML, and [[Windows Forms]]. Portable.NET claims to support various [[instruction set architectures]] including [[x86]], [[PowerPC|PPC]], [[ARM Limited|ARM]], and [[SPARC]]. ===DGEE=== [[DotGNU Execution Environment]] (DGEE) is a web service server. ===libJIT=== [[libJIT]] is a [[just-in-time compilation]] [[Library (computing)|library]] for development of advanced just-in-time compilation in [[virtual machine]] implementations, [[dynamic programming language]]s, 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 [[GNU Emacs]],<ref>{{cite web | url=https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00393.html | title=Emacs Lisp JIT Compiler }}</ref><ref>{{cite web | url=http://git.savannah.gnu.org/cgit/emacs.git/log/?h=feature/libjit | title=Emacs.git - Emacs source repository }}</ref> ILDJIT<ref>[https://web.archive.org/web/20111201192347/http://sourceforge.net/apps/mediawiki/ildjit/index.php?title=Main_Page]</ref> and HornetsEye.<ref>[https://web.archive.org/web/20100328171539/http://www.wedesoft.demon.co.uk/hornetseye-api/files/HornetsEye-txt.html]</ref> ==Framework architecture== [[File:Mono architecture.svg|300px|thumb|Simplified Mono 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.<ref>{{cite web|url=http://dotgnu.info/pnetlib-status/|title=GNU Portable .NET documentation|access-date=2006-01-15|archive-date=2005-02-04|archive-url=https://web.archive.org/web/20050204233008/http://dotgnu.info/pnetlib-status/|url-status=dead}}</ref> 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 {{dts|2007|7|31}}<ref>{{citation |title = GNU High Priority Free Software Projects |url = http://www.fsf.org/campaigns/priority.html |date = July 31, 2007 |archiveurl = https://web.archive.org/web/20070810230457/http://www.fsf.org/campaigns/priority.html |archivedate=August 10, 2007 |publisher = [[Free Software Foundation|FSF]] }}</ref> till {{dts|2008|10|2}}.<ref>{{citation |title = GNU High Priority Free Software Projects |url = http://www.fsf.org/campaigns/priority.html |date = October 1, 2008 |archiveurl = https://web.archive.org/web/20081002034833/http://www.fsf.org/campaigns/priority.html |archivedate = October 2, 2008 |publisher = [[Free Software Foundation|FSF]] }}</ref>{{clarify|why is it no longer a priority?|date=December 2016}} ==DotGNU and Microsoft's patents== {{More citations needed|date=June 2023}}{{Further|Software patents and free software}} DotGNU's implementation of those components of the .NET stack not submitted to the [[Ecma International|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 [[Base Class Library#Non standardized namespaces|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. In 2009, Microsoft released [[.NET Micro Framework]] under [[Apache License#Version 2.0|Apache License, Version 2.0]], which includes a patent grant. However, the .NET Micro Framework is a reimplementation of the CLR and limited subset of the base class libraries meant for use on embedded devices. Additionally, the patent grant in the Apache License would have protected only contributors and users of the .NET Micro Framework—not users and developers of alternative implementations such as DotGNU or Mono. In 2014, Microsoft released [[.NET Compiler Platform|Roslyn]], the next generation official Microsoft C# compiler, under the Apache License. Later that year, Microsoft announced a "reboot" of the official .NET Framework. The framework would be based on [[.NET Core]], including the official runtime and standard libraries released under the [[MIT License]] and a patent grant explicitly protecting recipients from Microsoft-owned patents regarding .NET Core. ==See also== {{Portal|Free and open-source software}} *[[Comparison of application virtual machines]] *[[Portable.NET]] – A portable version of DotGNU toolchain and runtime *[[Mono (software)|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== {{Reflist|2}} ==External links== *[https://www.gnu.org/software/dotgnu/ Project homepage] *[https://lwn.net/2002/0103/a/dotgnu.php3 Article '2001 – The Year When DotGNU Was Born'] *[https://web.archive.org/web/20110607073028/http://www.network-theory.co.uk/articles/bollow.html A 2003 interview with Norbert Bollow of DotGNU] {{.NET}} {{GNU}} {{Common Language Infrastructure}} {{DEFAULTSORT:Dotgnu}} [[Category:.NET implementations]] [[Category:Computing platforms]] [[Category:GNU Project software]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:.NET
(
edit
)
Template:Citation
(
edit
)
Template:Cite web
(
edit
)
Template:Clarify
(
edit
)
Template:Common Language Infrastructure
(
edit
)
Template:Dts
(
edit
)
Template:Further
(
edit
)
Template:GNU
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Main other
(
edit
)
Template:More citations needed
(
edit
)
Template:Portal
(
edit
)
Template:Primary sources
(
edit
)
Template:Reflist
(
edit
)
Template:Template other
(
edit
)