Apache Harmony
Apache Harmony — це вільна реалізація платформи Java SE, яка повністю відповідає версіям J2SE 5 і 6. Вона розроблена Apache Software Foundation як альтернатива фірмовій реалізації Sun Microsystems (унаслідуваної Oracle).
Розробка
Apache Harmony було розпочато в 2005 році як проект, покликаний надати безкоштовну альтернативу реалізації Java від Sun. Основною метою проєкту було створення реалізації, заснованої на відкритому вихідному коді, яка відповідала б усім специфікаціям Java.
Проєкт використовував підхід "чистий домен", який передбачав реалізацію платформи Java з нуля без використання будь-якого коду з власницьких реалізацій. Це відрізняло Harmony від інших проєктів, таких як GNU Classpath, який був заснований на частиновому використанні коду з пропрієтарної реалізації Java від Sun.
Конфлікт із Sun Microsystems
Розробка Harmony викликала занепокоєння Sun Microsystems, яка володіла правами на торгову марку Java. Sun стверджувала, що реалізація Harmony порушує її патенти та торговельні марки. Відповідно, Sun подала в суд на Apache Foundation і попросила суд заборонити випуск і розповсюдження Harmony.
Судовий процес тривав кілька років, і врешті-решт сторони врегулювали конфлікт у 2010 році. Відповідно до угоди Apache Foundation погодилася припинити розповсюдження Harmony як реалізації Java.
Відновлення проєкту
Після врегулювання судового процесу Apache Foundation відродила проєкт Harmony під новою назвою — Apache Harmony (rebasing). Мета перезавантаженого проєкту полягала в тому, щоб адаптувати кодову базу Harmony для підтримки новіших версій платформи Java, таких як Java SE 7.
Поточний стан
Поточна версія Apache Harmony (rebasing) — 2.1.0. Проєкт підтримується командою волонтерів і оновлюється періодично. Однак слід зазначити, що Harmony не є офіційною реалізацією Java і не може використовуватися в комерційних цілях, де потрібна сертифікація Java.
Переваги Apache Harmony
Apache Harmony має кілька переваг:
- Відкритий вихідний код: Harmony базується на відкритому вихідному коді, що дозволяє розробникам переглядати, модифікувати та розповсюджувати код.
- Безкоштовне використання: Harmony доступна безкоштовно, що робить її привабливим варіантом для проєктів з обмеженим бюджетом.
- Взаємодія з Java: Harmony повністю сумісна з платформою Java, що дозволяє запускати програми Java, написані для інших реалізацій.
- Підтримка декількох платформ: Harmony підтримує різні платформи, включаючи Windows, Linux і macOS.
Недоліки Apache Harmony
Apache Harmony також має деякі недоліки:
- Неофіційна реалізація: Harmony не є офіційною реалізацією Java, що означає, що вона не відповідає вимогам сертифікації Java.
- Обмежена підтримка: Harmony підтримується командою волонтерів і не має такого рівня підтримки, як офіційні реалізації від Oracle.
- Не всі функції реалізовано: Harmony не реалізує всі функції платформи Java, тому деякі програми Java можуть не працювати належним чином на Harmony.
Apache Harmony — це вільна реалізація платформи Java, яка надає деякі переваги, такі як відкритий вихідний код і безкоштовне використання. Однак її важливо використовувати з обережністю, оскільки вона не є офіційною реалізацією Java і не відповідає вимогам сертифікації Java.
Поширені запитання
- Чи є Apache Harmony офіційною реалізацією Java?
Ні, Apache Harmony не є офіційною реалізацією Java. - Чи можу я використовувати Apache Harmony в комерційних цілях?
Ні, Apache Harmony не можна використовувати в комерційних цілях, які вимагають сертифікації Java. - Чи сумісна Apache Harmony з усіма програмами Java?
Ні, Harmony не реалізує всі функції платформи Java, тому деякі програми Java можуть не працювати належним чином на Harmony. - Чи підтримується Apache Harmony?
Так, Apache Harmony підтримується командою волонтерів, але її підтримка обмежена у порівнянні з офіційними реалізаціями Java. - Чи безкоштовна Apache Harmony?
Так, Apache Harmony доступна безкоштовно без будь-яких ліцензійних зборів.