ДотГНУ
![]() | |
Разработчик(и) | Риз Уэзерли (Southern Storm Software Pty), Клаус Трейчел, Тонг Нгуен, Гопал В., Норберт Боллоу |
---|---|
Финальный выпуск | 0.8.0 / 20 марта 2007 г |
Написано в | С , С# |
Операционная система | Linux , BSD , Mac OS X , Solaris , AIX , Microsoft Windows и другие. |
Тип | Системная платформа |
Лицензия | Лицензия GPL и LGPL |
Веб-сайт | www |
DotGNU является выведенной из эксплуатации [1] часть проекта GNU , начавшегося в январе 2001 года и направленного на обеспечение бесплатной замены программного обеспечения Microsoft Framework .NET . Проект DotGNU осуществлялся Фондом свободного программного обеспечения . Другими целями проекта являются улучшение поддержки платформ, отличных от Windows , и поддержка большего количества процессоров .
Основная цель кодовой базы проекта DotGNU состояла в том, чтобы предоставить библиотеку классов, которая на 100% совместима со спецификацией общего языка (CLS).
Основные девелоперские проекты
[ редактировать ]Portable.NET
[ редактировать ]DotGNU Portable.NET, реализация инфраструктуры общего языка (CLI) ECMA-335, включает программное обеспечение для компиляции и запуска приложений Visual Basic .NET , C# и C, которые используют библиотеки базовых классов .NET, XML и Windows Forms . Portable.NET утверждает, что поддерживает различные архитектуры набора команд, включая x86 , PPC , ARM и SPARC .
ДГЭЭ
[ редактировать ]DotGNU Execution Environment (DGEE) — это сервер веб-сервисов.
libJIT
[ редактировать ]libJIT — это JIT-компиляции библиотека для разработки расширенной JIT-компиляции в реализациях виртуальных машин , языках динамического программирования и языках сценариев . Он реализует промежуточное представление, основанное на трехадресном коде , в котором переменные хранятся в статической форме единичного присваивания .
libJIT также нашел некоторое применение в других проектах с открытым исходным кодом, включая GNU Emacs [1] [2], ILDJIT [3] и HornetsEye [4] .
Каркасная архитектура
[ редактировать ]
Библиотека классов Portable .NET предоставляет возможности для разработки приложений. В основном они написаны на C#, но благодаря спецификации общего языка их можно использовать на любом языке .NET. Как и .NET, библиотека классов структурирована на пространства имен и сборки. [2] Он имеет дополнительные пространства имен верхнего уровня, включая Accessibility и DotGNU. В типичной операции компилятор Portable .NET генерирует образ спецификации общего языка (CLS), как указано в главе 6 ECMA-335, а среда выполнения Portable .NET берет этот образ и запускает его.
Бесплатное программное обеспечение
[ редактировать ]DotGNU указывает, что это свободное программное обеспечение, и стремится гарантировать, что все аспекты DotGNU минимизируют зависимость от проприетарных компонентов, таких как вызовы кода графического интерфейса Microsoft Windows. DotGNU был одним из высокоприоритетных проектов свободного программного обеспечения с 31 июля 2007 г. [3] до 2 октября 2008 года . [4] [ нужны разъяснения ]
DotGNU и патенты Microsoft
[ редактировать ]Эта статья нуждается в дополнительных цитатах для проверки . ( июнь 2023 г. ) |
Реализация 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.
- Общеязыковая среда выполнения
- Общеязыковая инфраструктура с общим исходным кодом - реализация .NET с общим исходным кодом от Microsoft, ранее называвшаяся Rotor.
Ссылки
[ редактировать ]- ^ «Проект DotGNU» .
По состоянию на декабрь 2012 года проект DotGNU был закрыт до тех пор, пока не возникнет значительная новая волонтерская деятельность. Исключением является компонент libjit, который теперь представляет собой отдельный пакет libjit.
- ^ «Документация GNU Portable .NET» . Архивировано из оригинала 4 февраля 2005 г. Проверено 15 января 2006 г.
- ^ GNU High Priority Free Software Projects , FSF , 31 июля 2007 г., заархивировано из оригинала 10 августа 2007 г.
- ^ GNU High Priority Free Software Projects , FSF , 1 октября 2008 г., заархивировано из оригинала 2 октября 2008 г.