Можем ли мы использовать Java для коммерческого использования?

49

Java является лицензией GPL (ссылка из Википедии). Я не уверен, что смогу использовать его в коммерческих проектах. У меня уже есть веб-сайт, написанный на Java, и я планирую использовать его для коммерческого использования. Это незаконно?

Shisoft
источник
2
@Sathya Этот вопрос касается использования плагина GPL в приложении Java. Этот вопрос, кажется, касается законности использования самой Java.
Адам Лир
6
@Shisoft Учитывая, сколько коммерческих Java-приложений существует, я не думаю, что вам есть о чем беспокоиться. Вы бы увидели, по крайней мере, несколько судебных процессов, если бы не все в порядке.
Адам Лир
Java SE больше не является GPL, это BCL. Oracle может свободно менять лицензию по своему усмотрению. (FAQ # 8 oracle.com/technetwork/java/javase/overview/… ). При этом Oracle не может обновлять старые версии Java, выпущенные под лицензией GPL.
snmcdonald
3
@snmcdonald OpenJDK 6 и 7 по-прежнему лицензируются как GPL с исключением Classpath. «Sun» JDK 6 и более ранние никогда не были GPL. (IANAL)
Том Хотин - tackline

Ответы:

80

Лицензия GPL применяется к самому источнику Java, а не к приложениям, созданным с использованием Java. Вы должны быть обеспокоены, только если вы расширяете / модифицируете сам язык Java и перепродаете результат как коммерческий продукт (или любую другую лицензию не-GPL).

Эран Гальперин
источник
8
Это в лучшем случае мутно, поэтому есть GPL с Classpath Exception. Код, работающий на JDK, связан с библиотекой Java. Код, связанный с кодом GPL, должен соответствовать GPL (при условии интерпретации соответствующей юрисдикции). (Я не слой!)
Том Хотин - tackline
3
@tom - это называется исключением из стандартной библиотеки - в противном случае весь код, который вызывается в ядре Linux под GPL, должен быть GPL
Мартин Беккет
4
@Tom: именно поэтому существует исключение classpath, чтобы гарантировать, что скомпилированный Java-код (который опирается на стандартные библиотеки GPL, если вы скачали релиз OpenJDK, а не если вы скачали коммерческий выпуск) не должен быть GPL.
jwenting
этот ответ является правильным, только правильным, потому что он выпущен под GPL с исключением classpath, а не необработанным GPL
ihebiheb
19

OpenJDK лицензируется по лицензии GPL с исключением Classpath . Часть исключения Classpath важна. Это позволяет использовать OpenJDK с программным обеспечением любой лицензии, а не только с GPL. В частности, вы можете использовать OpenJDK с проприетарным программным обеспечением.

Крис Шут-Янг
источник
2
@Shisoft «Sun» реализации Java SE 6 и более ранних версий лицензируются под различными лицензиями, некоторые из которых бесплатны, как в пиве, но не [пока] ни в каком виде GPL. OpenJDK 6 и 7 (6 - это обратный порт 7), это GPLv2 с исключением Classpath. Он также предназначен для выпуска JDK7 "Sun".
Том Хотин - tackline
17

Java JDK бинарный это НЕ GPL, это BCL. Oracle может свободно менять лицензию по своему усмотрению. ( FAQ # 8 ) При этом Oracle не может отказываться от более старых версий Java, выпущенных под лицензией GPL.

Всегда консультируйтесь с Лицензией для получения актуальной информации. На сегодняшний день лицензия гласит :

Внутреннее / внутреннее использование: двоичные файлы платформы Java SE (JDK и JRE) лицензируются в соответствии с Лицензией двоичного кода Sun (BCL) с дополнительными условиями. Для большинства разработчиков и конечных пользователей двоичный JDK и двоичный JRE - это все, что нужно для знакомства с миром технологий Java. ИСПОЛЬЗОВАНИЕ: двоичные JDK и JRE доступны бесплатно от Sun (согласно условиям BCL) для использования с настольными персональными компьютерами. Использование JDK или JRE для встраиваемых устройств и других вычислительных сред может потребовать лицензионного сбора от Sun. Узнайте больше о встроенном использовании Java SE или обратитесь в местный офис Sun для получения лицензии.

Имейте в виду, что вы не можете выпустить Java SE на встроенном устройстве (например, Google Android), как указано в FAQ.

Исходный код Java SDK доступен по лицензии SCSL и JPL.

Исходный код: исходный код JDK доступен для исследователей и других лиц, заинтересованных в изучении деталей JDK. Каждый выпуск имеет свою собственную лицензию или набор лицензий, который часто включает в себя условия лицензии Sun Community Source License (SCSL). Недавно Sun начала предлагать упрощенный доступ к исходному коду JDK в рамках новой лицензии Java Research License (JRL). Обратите внимание, что в любом случае (SCSL или JRL), если вы решите использовать свой проект для продуктивного использования или распространить свой продукт среди других, вы должны подписать коммерческое соглашение и выполнить требования совместимости Java. Свяжитесь с местным офисом Sun для получения соглашения.

snmcdonald
источник
2
-1 Ваша формулировка предполагает, что предоставляемые Sun / Oracle дистрибутивы JDK были когда-то GPL, но больше не. Это неправда. Они никогда не были GPL. Что было и есть, выпущено под GPL, это OpenJDK , который отличается от коммерческих выпусков JDK. Как владелец авторских прав на OpenJDK, они могут бесплатно предоставлять коммерческие, не GPL, версии производных OpenJDK.
Крис Джестер-Янг
2
Кроме того, в FAQ по OpenJDK : «Oracle JDK основан на исходном коде OpenJDK. Кроме того, он содержит компоненты с закрытым исходным кодом. Окончательный результат лицензируется по лицензии двоичного кода». Материал с закрытым исходным кодом - это материал третьих сторон, который они не могли получить повторно. Для действительно бесплатного, полного дистрибутива OpenJDK есть IcedTea (именно это большинство дистрибьюторов GNU / Linux используют в качестве своей основной реализации Java).
Крис Шестер-Янг
5

Вы путаете несколько вещей.

  • GPL - это лицензия на распространение программного обеспечения. Даже если используемый вами компилятор Java был под лицензией GPL, это не помешало бы вам распространять собственное программное обеспечение, поскольку оно отличается от перераспределения Java. (В любом случае, среда выполнения Java может быть загружена отдельно от Oracle).
  • GPL не является несовместимым с коммерческим программным обеспечением. Некоторые ответы здесь, кажется, путают «проприетарные против бесплатных (как в речи)» с «коммерческими против бесплатных (как в пиве)». Это правда, что нужно соблюдать осторожность при продаже программного обеспечения под GPL (продажа считается «перераспределением»), но это не невозможно.
  • Реализация Java в Oracle не поддерживается GPL. Прочитайте его лицензию здесь .
  • Open JDK является реализацией под GPL , но, как уже упоминалось выше, это не делает его несовместимым с коммерческим программным обеспечением.
Андрес Ф.
источник
1

Как я знаю, согласно текущей лицензии Java находится под лицензией BCL (Sun Binary Code License), вы можете использовать JDK и JRE бесплатно для коммерческого использования. Используйте ECLIPSE в качестве вашей IDE в качестве отправной точки для разработки вашего Java-кода. Это с открытым исходным кодом, поэтому вам не нужно никаких лицензий для того же. Когда вы работаете над проектом, вам понадобится много других инструментов для выполнения различных задач. Большинство необходимых функций дано в виде плагинов (загружаемых) в Eclipse.

Санни Хануджа
источник
-1

После перехода на Java BLC все лицензии на использование Java подлежат интерпретации, что означает «свяжитесь с Oracle, если вы действительно уверены».

Это значит платить, если они хотят, чтобы вы заплатили. Согласно BLC, Java может свободно использоваться для «Настольных компьютеров и серверов общего назначения» (как в http://www.oracle.com/technetwork/java/javase/terms/license/index.html ), определение которого включает слова "вычисления общего назначения".

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

Проверьте с вашим юридическим отделом.

netpilot
источник
5
Это ФУД. Я вижу множество компаний вокруг меня, включая крупные банки, которые используют Java, не задумываясь о проблемах лицензирования.
Quant_Dev
Спросите Google, не вызывало ли это каких-либо проблем. Скептицизм в отношении доверия к Oracle в отношении их толкования авторских прав оправдан до 9 миллиардов долларов. Я надеюсь, что вы правы - но я уверен, что Google думал так же. Oracle недавно сделала крупную сделку по изменению лицензии, так что, вероятно, они ожидают, что эта лицензия принесет $$. будьте бдительны
Джефф К
-3

Нет. Насколько я знаю в настоящее время, GPL ограничивает использование только исходного кода кода или программы, лицензируемой им (в данном случае, программой, которая выполняет код Java). Но это не ограничивает сам код Java.

Abbafei
источник
Я не использую код, только его библиотеки. Как насчет этого?
Shisoft
1
Ваш ответ неоднозначен. Вы говорите «нет» названию «можем ли мы использовать java для коммерческого использования», или вы говорите «нет» последней части вопроса «это незаконно»?
Брайан Оукли
-3

Вы можете скомпилировать приложение, используя gcc - бесплатное программное обеспечение. Тогда вы можете лицензировать свое приложение, как вам угодно, но не компилятор gcc.

гость
источник
3
В прошлый раз, когда я проверял, gcc не компилировал Java.
Дэн Пичельман,