OpenJDK | |
---|---|
![]() | |
Тип | библиотека Java[d], библиотека функций и открытое программное обеспечение |
Разработчик | Oracle |
Написана на | C++ и Java[1] |
Операционная система | Linux |
Аппаратная платформа | Java Virtual Machine |
Последняя версия |
|
Лицензия | GNU GPL 2 |
Сайт | openjdk.java.net |
OpenJDK — проект по созданию полностью совместимого Java Development Kit, состоящего исключительно из свободного и открытого исходного кода.
Компания Sun на конференции JavaOne 2006 объявила, что Java станет свободным программным обеспечением[3][4], и 25 октября 2006 на конференции Oracle OpenWorld Джонатан Шварц сказал, что компания намерена открыть коды ядра платформы Java в течение 30—60 дней.
Sun опубликовала исходные коды виртуальной машины HotSpot и компилятора Java под лицензией GPL 13 ноября 2006 года с обещанием, что остальные компоненты JDK (которые включают Java Runtime Environment) будут размещены под лицензией GNU GPL до марта 2007 года «за исключением некоторых компонентов, которые Sun не имеет права публиковать в виде исходников под GPL»[5]. По мнению Ричарда Столлмана, это должно было положить конец «ловушке Java» для интеграторов, использующих Java, и программистов, пишущих на Java[6], а Марк Шаттлворт назвал исходное объявление в прессе «настоящей вехой для сообщества свободного программного обеспечения»[7].
Следом за обещанием выпустить Java Development Kit (JDK), почти полностью основанным на свободном и открытом коде в первой половине 2007 года, Sun опубликовала полные исходные коды библиотеки классов Java под GPL 8 мая 2007, за исключением некоторых частей, ограниченных третьей стороной, и исключающих условия GPL[8]. В списке среди обременённых частей были несколько важных компонентов Java для графического интерфейса. Sun заявила, что планирует заменить оставшиеся собственнические компоненты альтернативными реализациями и сделать библиотеку классов полностью свободной[9]
5 ноября 2007 года компания Red Hat заключила соглашение с Sun, подписав обширное соглашение участника проекта (которое охватывает участие разработчиков Red Hat во всех руководимых Sun свободных и открытых проектах) и лицензию сообщества OpenJDK (которая дает доступ компании к тестовым программным пакетам, определяющим, соответствует ли проект OpenJDK спецификациям Java SE 6)[10].
Также в ноябре 2007 года в OpenJDK была создана Porters Group[11] для оказания помощи в портировании (адаптации) OpenJDK на различные процессорные архитектуры и операционные системы. Проект портирования под BSD, возглавляемый Куртом Миллером и Грегом Льюисом, и проект портирования под Mac OS X (основанный также на ядре BSD), руководимый Лэндоном Фуллером, имели повышенный интерес во включении OpenJDK посредством Porters Group.
В декабре 2007 года Sun перевела контроль версий OpenJDK с TeamWare на Mercurial как часть процесса перевода на открытые средства разработки[12][13].
OpenJDK имеет сравнительно строгие процедуры принятия изменений кода: каждое предполагаемое изменение должно быть рассмотрено двумя инженерами Sun (впоследствии — Oracle), а участник должен предварительно подписать особое «соглашение участника»[14]), предпочтительно также должен быть проведен тест JTreg[15], демонстрирующий, что ошибка была исправлена. Первоначально процесс принятия исправлений извне был довольно медленный[16], и изменения в кодах до сентября 2008 года вносились только непосредственно инженерами Sun[17]. Процесс улучшился начиная с 2010 года, небольшие патчи и изменения от версии OpenJDK7 до OpenJDK6 могут быть приняты за несколько часов вместо нескольких дней.[18].
11 октября 2010 IBM и Oracle объявили о совместном сотрудничестве в дальнейшей разработке OpenJDK[19].
OpenJDK изначально основывался только на JDK 7.
15 февраля 2008 года OpenJDK разделился на два проекта: OpenJDK, который базируется на JDK 7, и JDK 6, которая обеспечивает свободной версией Java 6.
Все версии OpenJDK (6, 7, 8, 9) имеют единую кодовую базу. То есть, mercurial-репозитории для новых версий OpenJDK создаются из предыдущих. Основная разработка ведется в версии OpenJDK, которая готовится к релизу. В частности, в 2011—2013 годах основная разработка велась в OpenJDK 8, а в 2014—2016 годах — в OpenJDK 9. Таким образом, разработка новых библиотек и подсистем ведется в версии, которая только готовится к релизу и после интеграции в основной репозитории, портируется в более ранние версии.
Компилятор Java и виртуальная машина HotSpot доступны под лицензией GPL.
В июне 2008 года был анонсирован проект IcedTea (пакетная версия OpenJDK в Fedora 9), который прошёл Technology Compatibility Kit и теперь может претендовать на звание реализации, полностью совместимой с Java 6.
12 июля 2008 года OpenJDK был принят в нестабильную ветку Debian.
В июле 2009 года бинарная сборка OpenJDK для Ubuntu 9.04 прошла все испытания на совместимость с платформой Java SE 6.[20]
Сборка OpenJDK 6 устанавливается в основном наборе пакетов OpenSUSE 11, входит в состав пакетов, поставляемых на DVD и присутствует в основных репозиториях проекта.
Сотрудничество с IBM, Apple и SAP
11 октября 2010 года, компания IBM, как наикрупнейший участник Apache Harmony, присоединился к проекту "OpenJDK" компании Oracle, переложив все усилия с Harmony на OpenJDK project.
12 ноября 2010 года, компания Apple и корпорация Oracle анонсировала проект OpenJDK для платформы Mac OS X.
11 января 2011 года, был создан проект Mac OS X Port на основе уже созданной OpenJDK.
В июле 2011 года, SAP AG объявила что официально присоединяется к проекту OpenJDK.
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .