Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
DotGNU — устаревшая часть проекта GNU, запущенная в январе 2001 года и нацеленная на создание свободно распространяемой альтернативы платформе .NET Framework от Microsoft. Проект DotGNU поддерживался Фондом свободного программного обеспечения. Среди других целей проекта — улучшенная поддержка не-Windows платформ и расширение поддержки процессоров. Главной целью кодовой базы DotGNU было создание библиотек классов, полностью соответствующих спецификации общего языка (CLS).
DotGNU is a decommissioned 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 Windows platforms and support for more processors. The main goal of the DotGNU project code base was to provide a class library that is 100% Common Language Specification (CLS) compliant.
Портативный.NET
Портативный DotGNU Portable. NET, реализация ECMA 335 Common Language Infrastructure (CLI), включает программное обеспечение для компиляции и запуска приложений Visual Basic NET, C# и C, использующих библиотеки базовых классов .NET, XML и Windows Forms. Portable. NET заявляет о поддержке различных архитектур наборов команд, включая x86, PPC, ARM и SPARC.
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.
DGEE
DotGNU Execution Environment (DGEE) - это сервер веб-сервисов.
DotGNU Execution Environment (DGEE) is a web service server.
ЛибДЖИТ
libJIT — это библиотека JIT-компиляции для разработки продвинутых систем JIT-компиляции в реализациях виртуальных машин, динамических языков программирования и скриптовых языков. Она реализует промежуточное представление, основанное на трехадресном коде, в котором переменные хранятся в форме статического одиночного присваивания. libJIT также находит применение в других проектах с открытым исходным кодом, включая GNU Emacs ILDJIT и HornetsEye.
libJIT is a just in time compilation 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 GNU Emacs ILDJIT and HornetsEye .
Архитектура рамок
Портативная библиотека классов .NET предоставляет средства для разработки приложений. Она написана преимущественно на C#, но благодаря спецификации Common Language Specification (CLS) может использоваться любым языком .NET. Как и .NET, библиотека классов структурирована в пространства имен и сборки. Она включает в себя дополнительные пространства имен верхнего уровня, такие как Accessibility и DotGNU. В процессе типичной работы компилятор Portable .NET генерирует образ, соответствующий спецификации Common Language Specification (CLS), как описано в главе 6 стандарта ECMA 335, а среда выполнения Portable .NET загружает этот образ и запускает его.
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. 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.
Свободные программы
DotGNU отмечает, что является свободным программным обеспечением, и ставит своей целью обеспечить минимизацию зависимости всех аспектов DotGNU от проприетарных компонентов, таких как обращения к коду графического интерфейса Microsoft Windows. DotGNU был одним из проектов свободного программного обеспечения высокого приоритета с 2007 по 2008 год.
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 2007 till 2008.
Патенты DotGNU и Microsoft
Реализация DotGNU тех компонентов стека .NET, которые не были представлены в ECMA для стандартизации, на протяжении большей части существования проекта являлась причиной опасений относительно нарушения патентных прав. В частности, обсуждалось, может ли Microsoft уничтожить проект DotGNU посредством патентных исков. Базовые технологии, представленные в ECMA, могут не вызывать проблем. Основные опасения связаны с технологиями, разработанными Microsoft на основе .NET Framework, такими как ASP.NET, ADO.NET и Windows Forms (см. Нестандартные пространства имен), то есть с частями, составляющими стек совместимости DotGNU с Windows. Эти технологии в настоящее время не полностью реализованы в DotGNU и не требуются для разработки приложений DotGNU. В 2009 году Microsoft выпустила .NET Micro Framework под лицензией Apache, версия 2.0, которая включает в себя предоставление патентных прав. Однако .NET Micro Framework является повторной реализацией CLR и ограниченным подмножеством базовых библиотек классов, предназначенным для использования на встраиваемых устройствах. Кроме того, патентное соглашение в лицензии Apache защищало бы только участников и пользователей .NET Micro Framework, а не пользователей и разработчиков альтернативных реализаций, таких как DotGNU или Mono. В 2014 году Microsoft выпустила Roslyn, официальный компилятор Microsoft C# нового поколения, под лицензией Apache. Позднее в том же году Microsoft объявила о "перезапуске" официального .NET Framework. Фреймворк будет основан на .NET Core, включая официальную среду выполнения и стандартные библиотеки, выпущенные под лицензией MIT, а также патентное соглашение, которое явно защищает получателей от патентов Microsoft, касающихся .NET Core.
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. In 2009, Microsoft released NET Micro Framework under 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 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.