Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

DotGNU является списан [1] часть проекта GNU , который направлен на обеспечение свободного программного обеспечения замены для Microsoft «s .NET Framework с помощью Free Software Foundation , . Другие цели проекта - лучшая поддержка платформ, отличных от Windows, и поддержка большего количества процессоров .

Основная цель кодовой базы проекта DotGNU состояла в том, чтобы предоставить библиотеку классов, которая на 100% соответствует спецификации общего языка (CLS).

Основные девелоперские проекты [ править ]

Portable.NET [ править ]

DotGNU Portable.NET , реализация Common Language Infrastructure (CLI) ECMA-335 , включает программное обеспечение для компиляции и запуска приложений Visual Basic .NET , C # и C, которые используют библиотеки базовых классов .NET, XML и Windows Forms . Portable.NET утверждает, что поддерживает различные архитектуры набора команд, включая x86 , PPC , ARM и SPARC .

phpGroupWare [ править ]

phpGroupWare , многопользовательский веб-пакет GroupWare, который также служит для предоставления набора компонентов веб- служб , к которым можно получить доступ через XML-RPC, чтобы их можно было легко интегрировать в приложения веб- служб .

DGEE [ править ]

DotGNU Execution Environment (DGEE) - это сервер веб-службы.

libJIT [ править ]

LibJIT точно в момент компиляции библиотеки является библиотека для разработки передовых компиляции точно в срок в виртуальных машин реализаций, динамических языков программирования и языков сценариев . Он реализует промежуточное представление на основе трехадресного кода , в котором переменные хранятся в статической форме с одним присваиванием .

libJIT также нашел применение в других проектах с открытым исходным кодом, включая GNU Emacs [1] [2] ILDJIT [3] и HornetsEye [4] .

Архитектура каркаса [ править ]

Библиотека классов Portable .NET призвана предоставить средства для разработки приложений. Они в основном написаны на C #, но из-за спецификации общего языка они могут использоваться на любом языке .NET. Как и .NET, библиотека классов разбита на пространства имен и сборки. [2] Он имеет дополнительные пространства имен верхнего уровня, включая доступность и DotGNU. При типичной операции компилятор Portable .NET создает образ Common Language Specification (CLS), как указано в главе 6 ECMA-335, а среда выполнения Portable .NET берет этот образ и запускает его.

Бесплатное программное обеспечение [ править ]

DotGNU указывает, что это бесплатное программное обеспечение, и стремится гарантировать, что все аспекты DotGNU минимизируют зависимость от проприетарных компонентов, таких как вызовы кода графического интерфейса Microsoft Windows. DotGNU был одним из приоритетных проектов свободного программного обеспечения с 31 июля 2007 года [3] по 2 октября 2008 года . [4] [ требуется пояснение ]

Патенты 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.

См. Также [ править ]

  • Сравнение виртуальных машин приложений
  • Portable.NET - портативная версия набора инструментов и среды выполнения DotGNU
  • Mono - популярная бесплатная реализация Microsoft .NET.
  • общеязыковая среда выполнения
  • Общая языковая инфраструктура с общим исходным кодом - реализация Microsoft .NET с общим исходным кодом, ранее носившая кодовое название Rotor

Ссылки [ править ]

  1. ^ http://www.dotgnu.org/ . По состоянию на декабрь 2012 года проект DotGNU был выведен из эксплуатации до тех пор, пока не появятся существенные новые добровольческие усилия. Исключение составляет компонент libjit, который теперь является отдельным пакетом libjit. Отсутствует или пусто |title=( справка )
  2. ^ "Документация GNU Portable .NET" .
  3. ^ GNU High Priority Free Software Projects , FSF , 31 июля 2007, в архиве с оригинала на 10 августа 2007
  4. ^ GNU High Priority Free Software Projects , FSF , 1 октября 2008, в архиве с оригинала на 2 октября 2008

Внешние ссылки [ править ]

  • Домашняя страница проекта
  • Статья '2001 - год рождения DotGNU'
  • Интервью 2003 года с Норбертом Боллоу из DotGNU