Share to: share facebook share twitter share wa share telegram print page

Apache Harmony

Apache Harmony
ТипJava Virtual Machine
РозробникApache Software Foundation
Стабільний випуск6.0 M3 (15 вересня 2010)
Платформавіртуальна машина Java Редагувати інформацію у Вікіданих
Операційна системаWindows і Linux
Мова програмуванняC++ і Java
Стан розробкиЗакрито
ЛіцензіяApache License 2.0
Репозиторійsvn.apache.org/repos/asf/harmony/
Вебсайтharmony.apache.org

Apache Harmony — альтернативна вільна реалізація платформи Java SE (J2SE 5 і 6) від Apache Software Foundation і була каменем спотикання в конфлікті з компанією Sun Microsystems і надалі з Oracle.

Історія

Початковою метою проєкту Harmony була спроба об’єднати всіх розробників вільних реалізацій платформи Java у межах одного проєкту. Багато розробників очікували, що проєкт не буде підконтрольний GNU, Apache чи іншій спільноті, а буде керуватися окремо. Розробники від GNU брали участь у підготовчому плануванні проєкту.

Проте пізніше було вирішено не використовувати код GNU Classpath і що проєкт буде мати несумісну ліцензію, що значно ускладнило співробітництво між Harmony і існуючими вільними реалізаціями Java. Розробники Apache не планували переписування усіх класів з нуля, а очікували на пожертвування коду від великих компаній з розробки ПЗ.

На початковому етапі розробки проєкт Apache Harmony прийняв великі внески коду від декількох компаній. На листопад 2006 року у проєкті брали участь 16 розробників, 12 з яких були співробітниками IBM або Intel.

Закриття проєкту

Проєкт Apache Harmony був заснований за кілька років до відкриття під ліцензією GPLv2 коду JDK і домігся відмінної сумісності з Java SE. Тим не менш, небажання Sun і Oracle піти на скасування обмежень на сферу використання продуктів, протестованих в JCK (Java Compatibility Kit), призвело до неможливості формального визнання проєкту Apache Harmony повністю сумісним з Java SE. Для вільних GPL-проєктів JCK поширюється без обмежень, але реалізація Apache Harmony поширюється під ліцензією Apache 2.0. Компанія Sun пішла на певні поступки і дала можливість безплатно використовувати JCK в проєктах Apache, але за умови дотримання низки обмежень, наприклад, заборонено тестувати в JCK реалізації Java SE, які можуть бути використані для роботи контент-кіосків (платіжні термінали, інформаційні автомати, банкомати тощо).

Таким чином, використання тестового пакета для перевірки сумісності Apache Harmony з Java в певних областях вимагало оплати ліцензійних відрахувань, що на думку представників Apache, порушує угоду JSPA (Java Specification Participation Agreement), в якому обговорено безплатний характер поширення специфікацій. Oracle же вважає, що дотримується заявленої угоди, бо ліцензує JCK на умовах FRAND ("fair, reasonable and non-discriminatory" - "справедливий, прийнятний, неупереджений").

Після того як спроби залагодити конфлікт протягом багатьох років не увінчалися успіхом, фонд Apache закликав учасників комітету JCP голосувати проти прийняття специфікацій для наступної версії Java. У підсумку, бунт не вдався, а фонд Apache демонстративно заявив про вихід зі складу комітету JCP, що приймає рішення про подальший розвиток Java SE/EE. При виході було заявлено про неможливість створення незалежних відкритих реалізацій Java, які могли б гарантувати користувачам захист від можливих позовів, пов'язаних порушенням інтелектуальної власності авторів специфікацій. Також було вказано на те, що Java-технології залишаються власницькими, незважаючи на відкритий код OpenJDK, бо одноосібне втручання компанії Oracle спотворює процес прозорого управління в екосистемі Java. Приблизно в цей же час проєкт Apache Harmony позбувся свого основного союзника і спонсора — компанія IBM заявила про співпрацю з Oracle і підключилася до розвитку OpenJDK.

3 листопада 2011 року більшістю голосів (20 - "за" і 2 - "проти") розробники проголосували за переміщення всіх пов'язаних з проєктом напрацювань в репозиторій застарілих проєктів Apache Attic.[1][2]

Використання в Android

Віртуальна машина Dalvik, що є частиною платформи Google Android, використовує частину проєкту Harmony як основну складову бібліотеки класів. Проте Dalvik не відповідає стандартному API Java SE і Java ME, а взамін використовує власну стандартну бібліотеку, що побудована поверх бібліотеки класів проєкту Harmony.

Виноски

  1. Move Apache Harmony to the Attic. Архів оригіналу за 27 квітня 2012. Процитовано 2 квітня 2012. [Архівовано 2012-04-27 у Wayback Machine.]
  2. Закрытие проекта Apache Harmony, независимой реализации Java SE. Архів оригіналу за 20 травня 2012. Процитовано 2 квітня 2012.

Дивись також

Kembali kehalaman sebelumnya