Comments 69
В комментариях к исходной статье есть еще любопытное дополнение: Oracle давно начала отслеживать скачивания «бесплатных» дополнений для VirtualBox, и затем присылать угрожающие письма и счета компаниям, с адресов которых были скачаны данные дополнения.
По мне так это тактика мелких жуликов, совершенно не вяжущаяся с образом большой солидной корпорации. Но давно уже чувствовалось, что с Oracle что-то не так.
Я зарапортовался — это из комментариев к статье на reddit:
https://www.reddit.com/r/coding/comments/9j2zes/do_not_fall_into_oracles_java_11_trap/
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/10.0.1+10/fb4372174a714e6b8c52526dc134031e/jdk-10.0.1_linux-x64_bin.rpm
Они заключают контракт с фирмой на их БД и описывают в контракте, какими фичами можно пользоваться. Спустя некоторое время происходит обновление версии БД с разными фиксами и новыми фичами. Новые фичи доступны полностью, но формально юзать их нельзя. Раз в какое-то время Оракл проводит аудит и замечает, что фичи, которые нельзя юзать по контракту используются кем-то и требует уплаты кучи штрафов за это.
Скриншот ниже, тут в комментариях
З.Ы. Не являюсь никак лицом представляющим Oracle, просто рекомендую всё же идти и проверять информацию с хабра. Это полезно увидеть своими глазами.
apt search jdk
…
openjdk-11-jdk/cosmic 10.0.2+13-1ubuntu1 amd64
OpenJDK Development Kit (JDK)
Это оракл или кто-то другой?
Это чистый OpenJDK, конечно же. Если через PPA привезти Оракл, он бы назывался как-то oracle-java8
.
(На самом деле я всё понимаю и перевёл единственный проект в моём хозяйстве с oracle-jdk на openjdk ещё во времена версии 8, не смотря на вялое сопротивление java-программистов, у которых «всё и так работает, не надо трогать»).
Подскажу: не у всех есть apt-get
, особенно, на Windows. Там очень многие минимум качали установщик с https://java.com, и вот-с.
Для запуска clion и любых производных idea рекомендуется использовать jetbrains jre. Если вы пользуетесь jb toolbox, то у вас она уже используется.
В ней исправлены проблемы сглаживания шрифтов, а так же добавлен марлин, который только в jre9+ есть у других сборок.
www.java.com/en/download/release_notice.jsp
Oracle, например, ломает partner ссылку ubuntu, сначала запретив редистрибьюцию, а потом удалив версию с сайта без предупреждения.
У нас сломался CI (на котором ставился oracle-java), и в в процессе решения проблемы, проблему с oracle решили.
Алсо, легальная бомба. Это не opensource а очень даже махровый проприетарный код. Какой oracle? Зачем?
Подробности здесь — stackoverflow.com/questions/22358071/differences-between-oracle-jdk-and-openjdk и по ссылкам, что приведены в конце статьи.
1.6 это не версия Явы, а версия запускалки.
GPL вынуждает открыть исходники по первому требованию. Поэтому в энтерпрайз она часто используется разработчиками как способ для вымогательства денег за нормальную лицензию.
Вынуждает открыть исходники виртуальной машины (если вы ее модифицировали), а не вашего приложения. И только в том случае, если вы собрались виртуальную машину эту распространять (например поставлять с приложением). Если она у вас где-то на бэкенде крутится, то никто никому ничего не должен.
Вы путаете JDK с JRE. JDK это не только машина, но и куча стандартнных библиотек. Линковка с ними вынудит отдать свой код под GPL. Даже если речь о бекенде, код которого под GPL, то в принципе любой ваш обиженный сотрудник может выложить исходники в паблик на легитимных основаниях. Деплой в облака при определенных условиях так же может трактоваться как распространение. И тут вопрос для бизнеса, что дешевле: отрабатывать юридические риски или купить. Орал все четко сделал.
ну или как-то скрываешь платформу.
как-то не до конца понятна ситуация с jvm 8, т.е. в принципе можно остаться на jvm 8, использовать jdk 8 + kotlin/scala, таким образом скрывая исходники, но не нарушая лицензии, правильно ли я понимаю «архивные» java?
Слава Богу, что к моменту лишения разума Оракла, Мелкомягкие исправились и теперь вместо Java 11 с Spring, есть C# 7 с .Net core.
Вообще иронично, что джава много где (от андроидов до блюреев) выбиралась по принципу "ну открытое же", однако по факту Оракл регулярно нагибает с лицензиями и портит кровь разрабам, в том время как обитель зла в лице Мелкомягких ещё никого с дотнетом не нагнула, хотя изначально даже судьба Моно держалась на честном пионерском, и лишь относительно недавно они решили некоторые части дотнета и шарпа полноценно пооткрывать.
Интересно, почему так. Мелкомягким не настолько покласть на свою репутацию, как Ораклу?
Developers же. Чем больше лояльных разработчиков, тем лучше Microsoft. Потому что создаётся больше программных решений, которые работают на их ОС. А кто-то из разработчиков её и Visual Studio купит, так что плюсы со всех сторон.
Ну а Oracle что? Их основной бизнес — СУБД, так что с Java они могут экспериментировать как угодно.
Позволяет линковать Java код с JDK/JRE не накладывая вирусное условие GPL
Ваша программа слинкованная с JDK не становится GPL программой. Ровно до тех пор, пока вы не линкуетесь с нативным кодом JDK и пока используете публичные механизмы Java. Конечно же, вам разрешено наследовать классы JDK, тут ограничений нет.
программа должна быть написана на с++ и скомпилирована вместе с jdk?
Грубо говоря при наследовании от Object (или любого другого класса, но от Object вы наследуйтесь всегда), GPL вас вынудила бы открыть свой код.
похоже, что терминология GPL больше расчитана на с++
https://en.wikipedia.org/wiki/GPL_linking_exception#The_classpath_exception
Друзья, читайте лицензии, а лучше имейте специалиста по лицензированию в штате или на аутсорсе. Специалисты вендоров и дистрибьюторов хуже вас разбираются в вопросах лицензирования, там главное — продать.
Через 3-5 лет к вам приходит вендор с аудитом, вы как добропорядочная компания запускаете скрипты (предварительно проверив их на закладки) аудита и отправляете вендору. Спустя пару недель к вам с настойчивостью коллектора, начинают стучаться дятлы с требованием заплатить $100к-$700к, хотя изначально спецификация одобрялась вендором же
Вы должны будете оплатить за поддержку софта (если не платили) за все годы использования, штраф и разницу в лицензиях.
Еще одна засада: при установке софта ставьте только то, за что заплатили (например, партициониорование Oracle входит в стандартный дистрибутив, но помните, это платная фича и ее нужно покупать).
Не попадитесь в ловушку используя Oracle JDK 11