Pull to refresh

Comments 69

UFO just landed and posted this here

Да это несомненно перевод и оригинал здесь. MSBlast укажите пожалуйста ссылку на него в начале вашей статьи.

Пардон, ссылка на оригинальную статью теперь есть в первом абзаце.

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


По мне так это тактика мелких жуликов, совершенно не вяжущаяся с образом большой солидной корпорации. Но давно уже чувствовалось, что с Oracle что-то не так.

Дайте ссылку, пожалуйста. Если исходная статья чуть выше, то там нет комментариев вообще.
А еще они убрали возможность загрузки старых версий jre/jdk со своего сайта из командной строки, т.е. всякие wget/curl уже не помогут. Для доступа к старым версиям надо обязательно регистрироваться на их сайте.

curl пашет — я свой скрипт даже не менял.
А то, что регистрацию требуют — так это вроде не так и критично...

Если я правильно понял скрипт download_oracle.bash, то там происходит логин на oracle.com, т.е. вам нужно заводить учетную запись там.

да. для архивных надо заводить. Но, как я написал выше — это не критично же. Учётка заводится один раз — можно завести "техническую" учётку для таких дел (вроде не нарушает лицензии)

Раньше я выкачивал JDK подобной командой:
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
Так ровно так они ведут свой бизнес уже много лет с БД.
Они заключают контракт с фирмой на их БД и описывают в контракте, какими фичами можно пользоваться. Спустя некоторое время происходит обновление версии БД с разными фиксами и новыми фичами. Новые фичи доступны полностью, но формально юзать их нельзя. Раз в какое-то время Оракл проводит аудит и замечает, что фичи, которые нельзя юзать по контракту используются кем-то и требует уплаты кучи штрафов за это.
UFO just landed and posted this here
UFO just landed and posted this here
Вообще-то огромный красный баннер там есть, намекающий о том что надо почитать лиц. соглашение. А вот и оно, и кстати оно небольшое.

Скриншот ниже, тут в комментариях

З.Ы. Не являюсь никак лицом представляющим Oracle, просто рекомендую всё же идти и проверять информацию с хабра. Это полезно увидеть своими глазами.
Дядя, ты дурак?

Если вы scala-разработчик, то мне искренне жаль ваших коллег. Вы не можете отличить язык от платформы.

Я ничего не понял.
apt search jdk

openjdk-11-jdk/cosmic 10.0.2+13-1ubuntu1 amd64
OpenJDK Development Kit (JDK)

Это оракл или кто-то другой?

Это чистый OpenJDK, конечно же. Если через PPA привезти Оракл, он бы назывался как-то oracle-java8.

То есть проблема с oracle решена. Используйте apt-get и не используйте подозрительный код с легальными бомбами с подозрительных сайтов.

(На самом деле я всё понимаю и перевёл единственный проект в моём хозяйстве с oracle-jdk на openjdk ещё во времена версии 8, не смотря на вялое сопротивление java-программистов, у которых «всё и так работает, не надо трогать»).

Подскажу: не у всех есть apt-get, особенно, на Windows. Там очень многие минимум качали установщик с https://java.com, и вот-с.

UFO just landed and posted this here
Если ваш опенсорс потом окажется в платном проекте — я бы не стал испытывать на прочность юротдел oracle.
так он на си пишет.
UFO just landed and posted this here
UFO just landed and posted this here

Для запуска clion и любых производных idea рекомендуется использовать jetbrains jre. Если вы пользуетесь jb toolbox, то у вас она уже используется.


В ней исправлены проблемы сглаживания шрифтов, а так же добавлен марлин, который только в jre9+ есть у других сборок.

А это вы зря. OpenJDK вовсе не замена Oracle JDK. Я находил openjdk специфичные баги там. Кроме того некоторые вещи, например JAI, в openjdk не работают. Вы создали проблемы для ваших разработчиков ибо окружение стало не унифицированным и воспроизведение ошибок стало сложнее. Так что на их месте я бы сопротивлялся более активно.
Замена.

Oracle, например, ломает partner ссылку ubuntu, сначала запретив редистрибьюцию, а потом удалив версию с сайта без предупреждения.

У нас сломался CI (на котором ставился oracle-java), и в в процессе решения проблемы, проблему с oracle решили.

Алсо, легальная бомба. Это не opensource а очень даже махровый проприетарный код. Какой oracle? Зачем?
Это тоже Оракл, но openjdk сборка имеет другую (GPL v2) лицензию и будет поддерживаться самим Ораклом (включая security патчи) только следующие 6 месяцев после релиза, до выхода следующего мажорного (необязательно LTS) релиза.

Подробности здесь — stackoverflow.com/questions/22358071/differences-between-oracle-jdk-and-openjdk и по ссылкам, что приведены в конце статьи.
Поясните пожалуйста, запуская свой продукт под этой jdk я буду использовать библиотеки из поставки, rt.jar там и прочее… Насколько я знаю, лицензированные под GPL продукты не позволяют их использовать даже как библиотеки (в отличие от L-GPL). Значит ли это, что и я буду обязан раскрывать исходники своего продукта, запуская его на openjdk?
Там есть Classpath exception, так что с этим всё в порядке.
На линуксе я использую sdkman.io для установки джавы от разных вендоров. Очень удобно переключаться с oracle на openjdk и на zulu. И graal там есть.
На странице загрузки JDK11 висит достаточно крупная и заметная плашка о том, что условия лицензионного соглашения изменились и было бы неплохо их внимательно прочитать, иначе ССЗБ.

image
Все же, как хорошо, что есть Хабр, на котором есть добрые люди, которые скажут что к чему, и куда теперь бежать :)
UFO just landed and posted this here
Это всё конечно прикольно и интересно. Однако подобные вещи всегда очень быстро вскрываются. И вот теперь вопрос: как они собираются получать с этого деньги если есть openJDK который судя по недолгому гуглению в общем-то ничем не отличается от 11 версии oracle JDK кроме, естественно лицензии. Разве что залицензируют по самые помидоры какие-то части и будет полный oracle JDK и неполный openJDK. Как пример community и pro версия idea. Но это ведь не среда разработки, это язык. Подавляющие большинство сидят на версиях <9 и ещё очень-очень долго не будут понимать зачем им куда-то на что-то переходить. В enterprise приложениях есть немало примеров когда проекты сидят на 1.6 и плевать хотели что он устарел.
во времена 7,8 не все проекты с Сан/Оракл Явы запускались на ОпенЖДК.
1.6 это не версия Явы, а версия запускалки.

GPL вынуждает открыть исходники по первому требованию. Поэтому в энтерпрайз она часто используется разработчиками как способ для вымогательства денег за нормальную лицензию.

Вынуждает открыть исходники виртуальной машины (если вы ее модифицировали), а не вашего приложения. И только в том случае, если вы собрались виртуальную машину эту распространять (например поставлять с приложением). Если она у вас где-то на бэкенде крутится, то никто никому ничего не должен.

Вы путаете JDK с JRE. JDK это не только машина, но и куча стандартнных библиотек. Линковка с ними вынудит отдать свой код под GPL. Даже если речь о бекенде, код которого под GPL, то в принципе любой ваш обиженный сотрудник может выложить исходники в паблик на легитимных основаниях. Деплой в облака при определенных условиях так же может трактоваться как распространение. И тут вопрос для бизнеса, что дешевле: отрабатывать юридические риски или купить. Орал все четко сделал.

получается с java 11 — либо ты платишь килобаксы, либо опенсорсишь.
ну или как-то скрываешь платформу.

как-то не до конца понятна ситуация с jvm 8, т.е. в принципе можно остаться на jvm 8, использовать jdk 8 + kotlin/scala, таким образом скрывая исходники, но не нарушая лицензии, правильно ли я понимаю «архивные» java?
да, натупил жестко про лицензии :)
А на какой версии OpenJDK, в нынешней ситуации, правильно начинать новый java-проект?

Слава Богу, что к моменту лишения разума Оракла, Мелкомягкие исправились и теперь вместо Java 11 с Spring, есть C# 7 с .Net core.

Вообще иронично, что джава много где (от андроидов до блюреев) выбиралась по принципу "ну открытое же", однако по факту Оракл регулярно нагибает с лицензиями и портит кровь разрабам, в том время как обитель зла в лице Мелкомягких ещё никого с дотнетом не нагнула, хотя изначально даже судьба Моно держалась на честном пионерском, и лишь относительно недавно они решили некоторые части дотнета и шарпа полноценно пооткрывать.


Интересно, почему так. Мелкомягким не настолько покласть на свою репутацию, как Ораклу?

UFO just landed and posted this here
С Java есть несколько проблем в дизайне языка. Он разрабатывался довольно давно и при этом всегда тянул обратную совместимость из за чего однажды принятые оптимальные тогда но не оптимальные сейчас решения нельзя изменить.
Зато c# иногда ломал совместимость зато сейчас приятнее в использовании.

Developers же. Чем больше лояльных разработчиков, тем лучше Microsoft. Потому что создаётся больше программных решений, которые работают на их ОС. А кто-то из разработчиков её и Visual Studio купит, так что плюсы со всех сторон.
Ну а Oracle что? Их основной бизнес — СУБД, так что с Java они могут экспериментировать как угодно.

UFO just landed and posted this here
Не понял про classpath. Поясните пожалуйста, что это за исключение?

Позволяет линковать Java код с JDK/JRE не накладывая вирусное условие GPL

можно пример? а то пока непонятно

Ваша программа слинкованная с JDK не становится GPL программой. Ровно до тех пор, пока вы не линкуетесь с нативным кодом JDK и пока используете публичные механизмы Java. Конечно же, вам разрешено наследовать классы JDK, тут ограничений нет.

что такое линковка с JDK?
программа должна быть написана на с++ и скомпилирована вместе с jdk?

Грубо говоря при наследовании от Object (или любого другого класса, но от Object вы наследуйтесь всегда), GPL вас вынудила бы открыть свой код.

Друзья, читайте лицензии, а лучше имейте специалиста по лицензированию в штате или на аутсорсе. Специалисты вендоров и дистрибьюторов хуже вас разбираются в вопросах лицензирования, там главное — продать.
Через 3-5 лет к вам приходит вендор с аудитом, вы как добропорядочная компания запускаете скрипты (предварительно проверив их на закладки) аудита и отправляете вендору. Спустя пару недель к вам с настойчивостью коллектора, начинают стучаться дятлы с требованием заплатить $100к-$700к, хотя изначально спецификация одобрялась вендором же
Вы должны будете оплатить за поддержку софта (если не платили) за все годы использования, штраф и разницу в лицензиях.
Еще одна засада: при установке софта ставьте только то, за что заплатили (например, партициониорование Oracle входит в стандартный дистрибутив, но помните, это платная фича и ее нужно покупать).

Кстати на продакшене JDK вовсе не нужен. Нужен JRE. А это вероятно другая лицензия.
Sign up to leave a comment.

Articles