Articulo de referencia

DotGNU

DotGNU es una parte descontinuada [ 1 ] del Proyecto GNU que comenzó en enero de 2001 y tenía como objetivo proporcionar un reemplazo de software libre para el .NET Framework de...

DotGNU es una parte descontinuada [ 1 ] del Proyecto GNU que comenzó en enero de 2001 y tenía como objetivo proporcionar un reemplazo de software libre para el .NET Framework de Microsoft . El proyecto DotGNU fue dirigido por la Free Software Foundation . Otros objetivos del proyecto son un mejor soporte para plataformas que no son Windows y soporte para más procesadores .

El objetivo principal del código fuente del proyecto DotGNU era proporcionar una biblioteca de clases que cumpliera al 100% con la Especificación de Lenguaje Común (CLS).

Principales proyectos de desarrollo

Portable.NET

DotGNU Portable.NET, una implementación de la infraestructura de lenguaje común (CLI) ECMA-335 , incluye software para compilar y ejecutar aplicaciones Visual Basic .NET , C# y C que utilizan las bibliotecas de clases base de .NET, XML y Windows Forms . Portable.NET afirma ser compatible con diversas arquitecturas de conjuntos de instrucciones, incluidas x86 , PPC , ARM y SPARC .

DGEE

DotGNU Execution Environment (DGEE) es un servidor de servicios web.

libJIT

libJIT es una biblioteca de compilación justo a tiempo para el desarrollo de compilación justo a tiempo avanzada en implementaciones de máquinas virtuales , lenguajes de programación dinámica y lenguajes de scripting . Implementa una representación intermedia basada en código de tres direcciones , en la que las variables se mantienen en forma de asignación única estática .

libJIT también se ha utilizado en otros proyectos de código abierto, incluidos GNU Emacs , [ 2 ] [ 3 ] ILDJIT [ 4 ] y HornetsEye. [ 5 ]

Arquitectura del marco

Arquitectura Mono simplificada

La biblioteca de clases Portable .NET busca proporcionar herramientas para el desarrollo de aplicaciones. Estas están escritas principalmente en C#, pero gracias a la Especificación de Lenguaje Común (CLS) pueden ser utilizadas por cualquier lenguaje .NET. Al igual que .NET, la biblioteca de clases está estructurada en espacios de nombres y ensamblados. [ 6 ] Tiene espacios de nombres de nivel superior adicionales, incluidos Accessibility y DotGNU. En una operación típica, el compilador Portable .NET genera una imagen de la Especificación de Lenguaje Común (CLS), como se especifica en el capítulo 6 de ECMA-335, y el entorno de ejecución Portable .NET toma esta imagen y la ejecuta.

Software gratuito

DotGNU destaca que es software libre y se propone garantizar que todos sus aspectos minimicen la dependencia de componentes propietarios, como las llamadas al código de la interfaz gráfica de usuario de Microsoft Windows. DotGNU fue uno de los proyectos de software libre de alta prioridad desde el 31 de julio de 2007 [ 7 ] hasta el 2 de octubre de 2008. [ 8 ]

DotGNU y las patentes de Microsoft

La implementación en DotGNU de aquellos componentes de la pila .NET que no se sometieron a la ECMA para su estandarización ha generado preocupaciones sobre posibles infracciones de patentes durante gran parte de la vida del proyecto. En particular, se ha debatido si Microsoft podría destruir el proyecto DotGNU mediante demandas por infracción de patentes.

Las tecnologías base presentadas a la ECMA podrían no presentar problemas. Las preocupaciones se refieren principalmente a las tecnologías desarrolladas por Microsoft sobre .NET Framework, como ASP.NET , ADO.NET y Windows Forms (véase Espacios de nombres no estandarizados ), es decir, componentes de la pila de compatibilidad de DotGNU con Windows. Actualmente, estas tecnologías no están completamente implementadas en DotGNU y no son necesarias para el desarrollo de aplicaciones DotGNU.

En 2009, Microsoft lanzó .NET Micro Framework bajo la Licencia Apache, versión 2.0 , que incluye una patente. Sin embargo, .NET Micro Framework es una reimplementación del CLR y un subconjunto limitado de las bibliotecas de clases base, diseñadas para su uso en dispositivos integrados. Además, la patente contemplada en la Licencia Apache solo habría protegido a los colaboradores y usuarios de .NET Micro Framework, no a los usuarios y desarrolladores de implementaciones alternativas como DotGNU o Mono.

En 2014, Microsoft lanzó Roslyn , el compilador oficial de C# de próxima generación, bajo la licencia Apache. Ese mismo año, Microsoft anunció una renovación del .NET Framework oficial. Este framework se basaría en .NET Core , incluyendo el entorno de ejecución oficial y las bibliotecas estándar publicadas bajo la licencia MIT , y una concesión de patente que protegía explícitamente a los beneficiarios de las patentes de Microsoft relacionadas con .NET Core.

Véase también

Referencias

  1. "Proyecto DotGNU" . Desde diciembre de 2012, el proyecto DotGNU ha sido desmantelado, a menos que surja un nuevo esfuerzo voluntario sustancial. La excepción es el componente libjit, que ahora es un paquete libjit independiente.
  2. "Compilador JIT de Emacs Lisp" .
  3. "Emacs.git - Repositorio de código fuente de Emacs" .
  4. https://web.archive.org/web/20111201192347/http://sourceforge.net/apps/mediawiki/ildjit/index.php?title=Main_Page
  5. https://web.archive.org/web/20100328171539/http://www.wedesoft.demon.co.uk/hornetseye-api/files/HornetsEye-txt.html
  6. "Documentación de GNU Portable .NET" . Archivado del original el 4 de febrero de 2005. Consultado el 15 de enero de 2006 .
  7. Proyectos de software libre de alta prioridad de GNU , FSF , 31 de julio de 2007, archivado del original el 10 de agosto de 2007.
  8. Proyectos de software libre de alta prioridad de GNU , FSF , 1 de octubre de 2008, archivado del original el 2 de octubre de 2008
  • Página principal del proyecto
  • Artículo '2001: El año en que nació DotGNU'
  • Una entrevista de 2003 con Norbert Bollow de DotGNU