Является ли Java свободным /открытым исходным кодом или нет?

13 ноября 2006 года Sun выпустила большую часть Java в качестве бесплатного программного обеспечения с открытым исходным кодом (FOSS) в соответствии с GNU General Public License (GPL). 8 мая 2007 года Sun завершила процесс, сделав весь базовый код Java доступным по свободному программному обеспечению /с открытым исходным кодом , за исключением небольшой части кода, на которую Sun не обладала авторскими правами .

OpenJDK (Open Java Development Kit) представляет собой бесплатную реализацию языка программирования Java с открытым исходным кодом. Это результат усилий Sun Microsystems, которые начались в 2006 году. Реализация лицензируется в соответствии с GNU General Public License (GNU GPL) со ссылкой на исключение.

  • Почему все еще есть люди, которые говорят, что Java не является открытым исходным кодом или свободным, как в свободной речи?
  • Я что-то упустил?
  • Является ли Java еще собственностью?
31 голос | спросил Tulains Córdova 24 +04002012-10-24T09:08:08+04:00312012bEurope/MoscowWed, 24 Oct 2012 09:08:08 +0400 2012, 09:08:08

3 ответа


35

Проблема в том, что для того, чтобы называть что-то «Java», вам нужно получить сертификат, соответствующий спецификации Java.

Одним из предварительных условий получения этого сертификата является запуск JVM через набор тестов - Java Набор совместимости технологий (TCK ) . Этот набор тестов НЕ открыт.

Итак, вы можете создать JVM, который ведет себя очень похожим на Java, и быть полностью открытым исходным кодом, но если вы хотите называть его «Java JVM», вам нужно купить комплект сертификации по лицензии с открытым исходным кодом. Для многих сторонников с открытым исходным кодом это полный не стартер.

ответил James Anderson 24 +04002012-10-24T10:19:29+04:00312012bEurope/MoscowWed, 24 Oct 2012 10:19:29 +0400 2012, 10:19:29
14

Вам следует прочитать этот ответ , прежде чем он будет удален, о том, какой из них использовать. В главном ответе говорилось:

  

О Java 7 обратите внимание, что JDK7 и OpenJDK7 будут иметь ( почти ) идентичную базу кода.

Обратите внимание на выделенную почти .

Из статьи, связанной с этим ответом:

  

[...], но есть код, в котором есть замены с открытым исходным кодом, где мы по-прежнему используем старый закрытый исходный код. Это прежде всего в растеризации шрифтов и графики. Старый код растеризатора с закрытым исходным кодом, будучи обремененным, имел более 10 лет исправления ошибок и точной настройки и т. Д., И для любой замены с открытым исходным кодом, чтобы сместить этот код в продуктовых сборках JDK, он должен быть достаточно быстрым и стабильным и хорошее качество, как существующий закрытый код.

Кроме того, из ЧаВо Java

  

Java Development Kit (JDK) доступен для загрузки и использования для коммерческого программирования, но не для повторного распространения .

Итак, не с открытым исходным кодом . Почти.

Кроме того, даже если он был полностью открытым исходным кодом, модель разработки и управление не будут. Однако это не проблема лицензирования.

ответил Gallaecio 24 +04002012-10-24T10:28:35+04:00312012bEurope/MoscowWed, 24 Oct 2012 10:28:35 +0400 2012, 10:28:35
0

В 1997 году Sun Microsystems обратилась к ECMA с просьбой оформить Java, но вскоре отказалась от этого процесса. Стандарт Java фактически контролируется через процесс сообщества Java .

Хотя в 2006 году большая часть Java была выпущена Sun Microsystems в соответствии с условиями GPL, но текущая официальная реализация принадлежит Oracle.

Поскольку Java не имеет никакой официальной стандартизации, признанной ECMA, ISO /IEC, ANSI или другой сторонней организацией по стандартизации, реализация Oracle является стандартом defacto. Однако существуют альтернативные реализации, такие как GNU Compiler for Java, GNU Classpath, IcedTea-Web и т. Д.

ответил Sajad Deyargaroo 11 WedEurope/Moscow2013-12-11T02:23:12+04:00Europe/Moscow12bEurope/MoscowWed, 11 Dec 2013 02:23:12 +0400 2013, 02:23:12

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132