Бесплатные реализации Java
Свободные реализации Java — это программные проекты, которые реализуют технологии Oracle Java и распространяются по лицензиям на свободное программное обеспечение , что делает их свободным программным обеспечением . В мае 2007 года компания Sun выпустила большую часть своего исходного кода Java как бесплатное программное обеспечение, так что теперь его можно считать практически свободной реализацией Java. [1] Реализации Java включают компиляторы, среды выполнения, библиотеки классов и т. д. Сторонники бесплатного программного обеспечения с открытым исходным кодом называют бесплатное программное обеспечение для виртуальных машин Java или программное обеспечение с открытым исходным кодом свободными средами выполнения или свободными средами выполнения Java .
Некоторые сторонники этого движения предпочитают не использовать термин «Java», поскольку с ним связаны проблемы с товарным знаком . Следовательно, хотя это «движение за свободную Java», они избегают термина «свободная среда выполнения Java».
Середина 1990-х по 2006 год.
[ редактировать ]Первым бесплатным проектом, предлагающим значительную часть функциональности платформы Java, вероятно, был guavac, который начался незадолго до ноября 1995 года. [2] [3]
С тех пор движение за свободное программное обеспечение разработало другие компиляторы Java, в первую очередь компилятор GNU для Java . Другие включают Eclipse Java Compiler (ECJ), который поддерживается Eclipse Foundation , и Jikes , который больше не поддерживается активно. Начиная с версии 4.3 коллекции компиляторов GNU , GCJ (его компилятор Java) использует анализатора ECJ для анализа Java. интерфейс синтаксического [4]
Примеры бесплатных сред выполнения включают Kaffe , SableVM и gcj .
GNU Classpath — это основная библиотека классов свободного программного обеспечения для Java. Большинство бесплатных сред выполнения используют GNU Classpath в качестве библиотеки классов.
В мае 2005 года было анонсировано Apache Harmony , однако проект выбрал лицензию Apache , которая на тот момент была несовместима со всеми существующими бесплатными реализациями Java.
Другим событием мая 2005 года стало объявление о том, что OpenOffice.org 2.0 будет зависеть от функций Java, которые не могут обеспечить реализации свободного программного обеспечения. После разногласий OpenOffice.org принял директиву, требующую работать со свободными реализациями Java.
Известные приложения, которые уже работали с реализациями свободного программного обеспечения Java до ноября 2006 года, включают OpenOffice.org и Vuze , оба из которых работают при компиляции с GCJ.
Объявление Sun в ноябре 2006 г.
[ редактировать ]13 ноября 2006 года Sun выпустила свой компилятор javac под лицензией GNU General Public License . [5]
По состоянию на сентябрь 2007 года, помимо javac, Sun выпустила код HotSpot ( виртуальной машины ) и почти всю библиотеку классов Java в качестве бесплатного программного обеспечения.
Следуя своему обещанию выпустить полностью готовый к сборке JDK, почти полностью основанный на бесплатном и открытом исходном коде, в первой половине 2007 года, [6] Sun выпустила полный исходный код библиотеки классов под лицензией GPL 8 мая 2007 года, за исключением некоторых ограниченных частей, которые были лицензированы Sun у третьих сторон, которые не хотели, чтобы их код выпускался под лицензией свободного программного обеспечения. [7] Sun заявила, что стремится заменить части, которые остаются проприетарными и закрытыми, альтернативными реализациями и сделать библиотеку классов полностью бесплатной и с открытым исходным кодом. Поскольку в JDK есть некоторый обремененный код , Sun будет продолжать использовать этот код в коммерческих выпусках до тех пор, пока он не будет заменен полнофункциональными бесплатными альтернативами с открытым исходным кодом.
После выпуска кода в мае 2007 г.
[ редактировать ]Этот раздел необходимо обновить . ( январь 2014 г. ) |
По состоянию на май 2008 г. единственная часть библиотеки классов, остающаяся проприетарной (4% по состоянию на май 2007 г. для OpenJDK 7, [8] [9] и менее 1% по состоянию на май 2008 г. в OpenJDK 6. [10] [11] )это реализация SNMP . [12]
С момента первого выпуска в мае 2007 года Sun Microsystems с помощью сообщества выпустила как бесплатное программное обеспечение (или заменила альтернативами бесплатного программного обеспечения) почти весь обремененный код:
- Весь код аудиодвижка, включая программный синтезатор , был выпущен с открытым исходным кодом. [12] [13] Программный синтезатор с закрытым исходным кодом был заменен новым синтезатором, разработанным специально для OpenJDK, под названием Gervill . [14]
- Все классы криптографии , используемые в библиотеке классов, выпущены как бесплатное программное обеспечение. [15]
- FreeType заменил код, масштабирующий и растрирующий шрифты . [16] [17] [18]
- LittleCMS заменил родную систему управления цветом . [17] В JDK есть подключаемый уровень, поэтому коммерческая версия может использовать старую систему управления цветом, а OpenJDK может использовать LittleCMS.
- Средство рендеринга Pisces с открытым исходным кодом, используемое в проекте phoneME, заменило сглаживания графики код растеризатора . [17] [19] [20] Этот код полностью функционален, но требует некоторых улучшений производительности. [21]
- Плагин JavaScript имеет открытый исходный код ( сам движок JavaScript с самого начала был открытым). [22]
Из-за этих ранее обремененных компонентов было невозможно собрать OpenJDK только с использованием компонентов свободного программного обеспечения. Чтобы иметь возможность сделать это до того, как вся библиотека классов станет бесплатной, а также иметь возможность объединить OpenJDK в Fedora Core и другие бесплатные Linux дистрибутивы , Red Hat запустила проект под названием IcedTea . По сути, это гибрид OpenJDK/ GNU Classpath , который можно использовать для загрузки OpenJDK, используя только бесплатное программное обеспечение. [23] [24]
По состоянию на март 2008 года дистрибутив Fedora 9 был выпущен с OpenJDK 6 вместо реализации IcedTea OpenJDK 7. [11] Некоторые из заявленных причин этого изменения:
- Sun заменила большинство обременений, для которых IcedTea предоставляла замены (менее 1% обременённого кода остаётся в библиотеке классов , и этот код не обязателен для запуска OpenJDK).
- OpenJDK 6 был стабильной ветвью, тогда как OpenJDK 7 был нестабильным, и ожидается, что стабильная версия не выйдет до 2009 года.
- Sun лицензировала торговую марку OpenJDK для использования в Fedora. [ нужна ссылка ]
В июне 2008 года было объявлено, что IcedTea 6 (как упакованная версия OpenJDK в Fedora 9 ) прошла тесты Technology Compatibility Kit и может претендовать на звание полностью совместимой реализации Java 6. [25] [ нужна ссылка ]
В сентябре 2013 года Azul Systems выпустила Zulu, бесплатную сборку OpenJDK с открытым исходным кодом для Windows Server и Microsoft Azure Cloud. В более поздних выпусках добавлена поддержка Mac OS X , нескольких версий Linux и платформы Java Standard Edition версии 8. Zulu сертифицирован на совместимость с Java SE 8, 7 и 6 с использованием комплекта совместимости технологий сообщества OpenJDK . [26]
Amazon выпустила Amazon Corretto — бесплатный, мультиплатформенный, готовый к использованию дистрибутив Open Java Development Kit. Он выпущен под лицензией GPL v2 с исключением Classpath . Доступны версии Java 8 и Java 11 с долгосрочной поддержкой. Впервые он был публично выпущен 31 января 2019 года. [27]
В 2017 году фонд Eclipse Foundation выпустил AdoptOpenJDK, который теперь называется Adoptium , основной целью которого является «продвижение и поддержка с открытым исходным кодом бесплатных высококачественных сред выполнения и связанных с ними технологий для использования в экосистеме Java ».
См. также
[ редактировать ]- Java (программная платформа)
- Явак
- Горячая точка
- Апач Гармония
- OpenJDK
- Путь к классам GNU и GCJ
- ХолодныйЧай
- ДжемВМ
- IKVM.NET
- Список виртуальных машин Java
- Сравнение виртуальных машин Java
- принятие
Ссылки
[ редактировать ]- ^ «OpenJDK и проект IcedTea» . www.redhat.com (на корейском языке) . Проверено 16 декабря 2019 г.
- ^ «Анонсируем: guavac 0.2.5, бесплатный компилятор языка Java» . 7 сентября 1996 года. Архивировано из оригинала 14 августа 2009 года . Проверено 24 июня 2007 г.
- ^ «Журнал изменений гуавака, показывающий, что первый выпуск состоялся в январе 1996 года» . Архивировано из оригинала 28 сентября 2007 года . Проверено 24 июня 2007 г.
Ср, 22 ноября 05:43:07 1995 [...] CompilerMain.C, Компилятор. C, Compiler.h, lexer.l, parser.y: первоначальная версия
- ^ «Серия выпусков GCC 4.3 — изменения, новые функции и исправления» . Проверено 8 октября 2007 г.
- ^ Sun выбирает лицензию GPL для кода Java
- ^ Часто задаваемые вопросы по OpenJDK. Архивировано 2 апреля 2007 г. на Wayback Machine.
- ^ «Открытый JDK уже здесь!» . Сан Микросистемс. 8 мая 2007 года . Проверено 9 мая 2007 г.
- ^ Херрон, Дэвид (4 октября 2007 г.). «Планы для OpenJDK» . Архивировано из оригинала 11 октября 2007 года . Проверено 9 октября 2007 г.
- ^ Фицсиммонс, Томас (18 мая 2007 г.). «Планы для OpenJDK» . Проверено 22 мая 2007 г.
- ^ Ангел, Лилиан (13 марта 2008 г.). «OpenJDK заменит IcedTea в Fedora 9» . Архивировано из оригинала 18 апреля 2008 года . Проверено 5 апреля 2008 г.
- ^ Jump up to: а б Уэйд, Карстен (13 марта 2008 г.). «OpenJDK в Fedora 9!» . redhatmagazine.com. Архивировано из оригинала 21 апреля 2008 года . Проверено 5 апреля 2008 г.
Томас Фитцсиммонс обновил исходные страницы примечаний к выпуску Fedora 9, указав, что Fedora 9 будет поставляться с OpenJDK 6 вместо реализации OpenJDK 7 IcedTea. Fedora 9 (Sulphur) должна быть выпущена в мае 2008 года.
- ^ Jump up to: а б «Опубликован исходный код OpenJDK 6 b10» . 30 мая 2008 года . Проверено 1 июня 2008 г.
- ^ страница проекта аудио-движка
- ^ «Гервилл — программный синтезатор» . Архивировано из оригинала 4 октября 2011 года . Проверено 1 июня 2008 г.
- ^ «Криптовалюта была добавлена в OpenJDK» . 27 сентября 2007 года . Проверено 7 октября 2007 г.
- ^ страница проекта Font-Scaler
- ^ Jump up to: а б с Страница проекта Java2D
- ^ «Растеризация шрифтов Freetype» . 7 августа 2007 года . Проверено 24 ноября 2007 г.
- ^ phoneme.dev.java.net/. Архивировано 10 июня 2007 г. на Wayback Machine.
- ^ страница проекта графического растеризатора
- ^ Грэм, Джим (3 октября 2007 г.). «Растеризатор с открытым исходным кодом» . Сан Микросистемс . Проверено 9 мая 2007 г.
- ^ «Javascript перегружен, и нет поддержки плагинов Javascript» . Ледяной чай . 11 марта 2008 года. Архивировано из оригинала 27 сентября 2008 года . Проверено 1 июня 2008 г.
Изменение резюме. JavaScript больше не обременен, но нам по-прежнему нужна поддержка liveconnect.
- ^ Эндрю, Хейли (7 июня 2007 г.). «Репозиторий экспериментальных сборок на сайте Icedtea.classpath.org» . Архивировано из оригинала 11 февраля 2008 года . Проверено 9 июня 2007 г.
- ^ Вилаард, Марк (7 июня 2007 г.). «Репозиторий экспериментальных сборок на сайте Icedtea.classpath.org» . Архивировано из оригинала 19 июня 2007 года . Проверено 9 июня 2007 г.
- ^ Шарплс, Рич (19 июня 2008 г.). «Java наконец стала свободной и открытой» . Архивировано из оригинала 20 июня 2008 года.
- ^ "Основной" .
- ^ Арун Гупта (31 января 2019 г.). «Amazon Corretto 8 теперь общедоступен» . Веб-сервисы Amazon . Проверено 25 июля 2019 г.
Внешние ссылки
[ редактировать ]- Свободен, но скован — ловушка Java
- Как выбраться из ловушки Java: практический план действий по альтернативам бесплатному программному обеспечению и открытому исходному коду
- Гибриды объединяют GNU Classpath и OpenJDK
- Часовое видео семинара 2007 года с разработчиками Sun, GGJ и GNU Classpath.
- Проблемы с товарными знаками Java