stringtranslate.com

Бесплатные реализации Java

Бесплатные реализации Java — это программные проекты, которые реализуют технологии Java компании Oracle и распространяются по лицензиям свободного программного обеспечения , что делает их свободным программным обеспечением . Sun выпустила большую часть своего исходного кода Java как свободное программное обеспечение в мае 2007 года, поэтому теперь его можно считать практически свободной реализацией Java. [1] Реализации Java включают компиляторы, среды выполнения, библиотеки классов и т. д. Сторонники свободного и открытого программного обеспечения называют свободное или открытое программное обеспечение виртуальной машины Java свободными средами выполнения или свободными средами выполнения Java .

Некоторые сторонники этого движения предпочитают не использовать термин «Java», поскольку с ним связаны проблемы с товарными знаками . Поэтому, хотя это и «движение за свободную Java», термин «свободные среды выполнения Java» они избегают.

Середина 1990-х — 2006 г.

Первым бесплатным проектом, предлагающим существенную часть функциональности платформы Java, вероятно, был guavac, который начался незадолго до ноября 1995 года. [2] [3]

С тех пор движение за свободное программное обеспечение разработало другие компиляторы Java, наиболее заметным из которых является GNU Compiler for Java . Другие включают Eclipse Java Compiler (ECJ), который поддерживается Eclipse Foundation , и Jikes , который больше не поддерживается активно. Начиная с выпуска GNU Compiler Collection 4.3, 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 г.

По состоянию на май 2008 года единственной частью библиотеки классов, которая остается проприетарной (4% по состоянию на май 2007 года для OpenJDK 7, [8] [9] и менее 1% по состоянию на май 2008 года в OpenJDK 6 [10] [11] ), является реализация SNMP . [12]

Начиная с первого релиза в мае 2007 года, Sun Microsystems при поддержке сообщества выпустила в качестве свободного программного обеспечения (или заменила альтернативными свободными программными обеспечениями) почти весь обременительный код:

Из-за этих ранее обремененных компонентов было невозможно собрать OpenJDK только с компонентами свободного ПО. Чтобы иметь возможность сделать это до того, как вся библиотека классов станет бесплатной, и иметь возможность объединить OpenJDK в Fedora Core и других свободных дистрибутивах Linux , Red Hat начала проект под названием IcedTea . По сути, это гибрид OpenJDK/ GNU Classpath , который можно использовать для загрузки OpenJDK с использованием только свободного ПО. [23] [24]

По состоянию на март 2008 года дистрибутив Fedora 9 был выпущен с OpenJDK 6 вместо реализации IcedTea OpenJDK 7. [11] Некоторые из заявленных причин этого изменения:

В июне 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 Platform, Standard Edition версии 8. Zulu сертифицирован на совместимость с Java SE 8, 7 и 6 с использованием OpenJDK Community Technology Compatibility Kit . [26]

Amazon выпустили Amazon Corretto — бесплатный, многоплатформенный, готовый к производству дистрибутив Open Java Development Kit. Он выпущен под лицензией GPL v2 с исключением Classpath Exception . Доступны версии Java 8 и Java 11 с долгосрочной поддержкой. Впервые он был публично выпущен 31 января 2019 года. [27]

В 2017 году Eclipse Foundation выпустил AdoptOpenJDK, теперь именуемый Adoptium , главной целью которого является «продвижение и поддержка бесплатных и высококачественных сред выполнения с открытым исходным кодом и связанных с ними технологий для использования в экосистеме Java ».

Смотрите также

Ссылки

  1. ^ "OpenJDK и проект IcedTea". www.redhat.com (на корейском языке) . Получено 16 декабря 2019 г.
  2. ^ "Анонс: guavac 0.2.5, бесплатный компилятор для языка Java". 7 сентября 1996 г. Архивировано из оригинала 14 августа 2009 г. Получено 24 июня 2007 г.
  3. ^ "Changelog of guavac, показывающий, что первый релиз состоялся в январе 1996 года". Архивировано из оригинала 28 сентября 2007 г. Получено 24 июня 2007 г. Ср Ноя 22 05:43:07 1995 [...] CompilerMain.C, Compiler. C, Compiler.h, lexer.l, parser.y: Первоначальная редакция
  4. ^ "GCC 4.3 Release Series -- Changes, New Features, and Fixes" . Получено 8 октября 2007 г. .
  5. ^ Sun выбирает лицензию GPL для кода Java
  6. OpenJDK FAQ. Архивировано 2 апреля 2007 г. на Wayback Machine.
  7. ^ "Open JDK уже здесь!". Sun Microsystems. 8 мая 2007 г. Получено 9 мая 2007 г.
  8. ^ Херрон, Дэвид (4 октября 2007 г.). "Планы для OpenJDK". Архивировано из оригинала 11 октября 2007 г. Получено 9 октября 2007 г.
  9. ^ Фицсиммонс, Томас (18 мая 2007 г.). "Планы OpenJDK" . Получено 22 мая 2007 г.
  10. Энджел, Лиллиан (13 марта 2008 г.). "OpenJDK заменит IcedTea в Fedora 9". Архивировано из оригинала 18 апреля 2008 г. Получено 5 апреля 2008 г.
  11. ^ ab Wade, Karsten (13 марта 2008 г.). "OpenJDK в Fedora 9!". redhatmagazine.com. Архивировано из оригинала 21 апреля 2008 г. Получено 5 апреля 2008 г. Томас Фицсиммонс обновил исходные страницы заметок о выпуске Fedora 9, чтобы отразить, что Fedora 9 будет поставляться с OpenJDK 6 вместо реализации OpenJDK 7 в IcedTea. Fedora 9 (Sulphur) должна выйти в мае 2008 г.
  12. ^ ab "OpenJDK 6 b10 source posted". 30 мая 2008 г. Получено 1 июня 2008 г.
  13. ^ страница проекта аудио-движка
  14. ^ "Gervill - Software Synthesizer". Архивировано из оригинала 4 октября 2011 г. Получено 1 июня 2008 г.
  15. ^ "Крипто было добавлено в OpenJDK". 27 сентября 2007 г. Получено 7 октября 2007 г.
  16. ^ Проектная страница масштабирования шрифтов
  17. ^ Страница проекта abc Java2D
  18. ^ "Freetype font rasteriser". 7 августа 2007 г. Получено 24 ноября 2007 г.
  19. ^ phoneme.dev.java.net/ Архивировано 10.06.2007 на Wayback Machine
  20. ^ страница проекта graphics-rasterizer
  21. ^ Грэм, Джим (3 октября 2007 г.). "Растеризатор с открытым исходным кодом". Sun Microsystems . Получено 9 мая 2007 г.
  22. ^ "Javascript обременен, и нет поддержки плагина javascript". IcedTea . 11 марта 2008 г. Архивировано из оригинала 27 сентября 2008 г. Получено 1 июня 2008 г. Изменение резюме. JavaScript больше не обременен, но нам по-прежнему нужна поддержка liveconnect.
  23. Эндрю, Хейли (7 июня 2007 г.). "Экспериментальный репозиторий сборки на icedtea.classpath.org". Архивировано из оригинала 11 февраля 2008 г. Получено 9 июня 2007 г.
  24. ^ Wielaard, Mark (7 июня 2007 г.). "Экспериментальный репозиторий сборки на icedtea.classpath.org". Архивировано из оригинала 19 июня 2007 г. Получено 9 июня 2007 г.
  25. Sharples, Rich (19 июня 2008 г.). «Java наконец-то стала свободной и открытой». Архивировано из оригинала 20 июня 2008 г.
  26. ^ «Ядро».
  27. ^ Арун Гупта (31 января 2019 г.). «Amazon Corretto 8 теперь доступен в общем доступе». Amazon Web Services . Получено 25 июля 2019 г. .

Внешние ссылки