Java
8 мая

Как скачать JDK 12? Объяснение длиной в 7 символов

Морфеус: Я тебя прекрасно понимаю. Объясню, почему ты здесь. Потому, что ты что-то понял. Ты не можешь выразить это, но ощущаешь. Ты всю жизнь ощущал, что мир не в порядке — странная мысль, но её не отогнать. Она — как заноза в мозгу. Она сводит с ума. Не даёт покоя. Это и привело тебя ко мне. Понимаешь, о чём я говорю?


Нео: О едином сайте для скачивания OpenJDK?



(Подлинное фото: Нео осознал, какой из дистрибутивов OpenJDK надо скачать).


Мотивация


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


Когда разговариваешь с друзьями про Java, со стороны это похоже на путешествие в машине времени: кто-то всё ещё думает, что существует Oracle JDK и все остальные. Кто-то уже успел прочитать посты в блогах, что "Java теперь платная и несвободная". Кто-то уже знает, что Java осталась свободной, но не понимает, где именно качать "эти новые версии". Кто-то уже определился с выбором дистрибутива, но удивлён тем, что Shenandoah GC не включается в JDK 12, где Shenandoah — одна из главных особенностей.


Всё это можно объяснить, но на это каждый раз тратится слишком много времени. Время тратится на одно и то же. Предложение состоит в том, чтобы создать простенький сайт-листовку со списком загрузки и объяснением основных моментов.


Вчера, поставленный перед необходимостью объяснять в очередной раз, я немного психанул и запилил такую страничку.


Всего семь символов: jdk.dev

Можно прочитать это вслух по телефону. Можно без боязни добавить в твиттер: останется ещё 273 символа. Можно написать кровью на салфетке, как Есенин.


Задачи


  • Цели: предоставить единое место для скачивания и получения кратких пояснений, которое легко устно сообщить любому человеку.
  • Не-цели: предоставить абсолютно нейтральную позицию (это невозможно хотя бы потому, что кто-то должен оказаться вверху списка загрузок, а кто-то — внизу) или наборот — вести целенаправленную кампанию в пользу какого-то определённого решения. Не является целью предоставить CDN и таким образом заменить собой страницы загрузки конкретных дистрибутивов: этот сайт о просвещении людей и повышении доступности дистрибутивов, а не о наматывании рекламного трафика.

Решение


Мысль про сайт совершенно очевидная, и много кому пришла в голову. Есть предположение, почему его никто не сделал: это вопрос политический. Если кто-то, производящий промышленный JDK, сделает такую страничку, на него свалятся все поклёпы мира одновременно. Например, я слышал критику в сторону Саймона Риттера уже за то, что он имел несчастье попытаться публично объяснить фичи новой джавы. С другой стороны, если это сделает человек или группа людей, совершенно непричастная и просто не нуждающаяся во власти, всё будет куда лучше. Поэтому я взял и запилил такую страничку сам.


В качестве первого шага там перечислены все основные дистрибутивы и популярные специализированные решения. Чтобы не тратить ничьё время на поиски, ссылки идут прямо на страницу загрузки.


В будущем будут добавлены ссылки на Docker Images, пакеты дистрибутивов, SDKMAN и другие подобные вещи. Обязательно нужно будет сделать статьи с кратким описанием компаний-производителей и дистрибутивов (например, очень важно, проходит ли дистрибутив TCK и почему). Есть идеи, как особенно позаботиться о пользователях Windows, которые вечно в пролёте с красивыми пакетами.


В качестве платформы для прототипа выбран Wordpress, современный PHP и MySQL. Ну просто потому, что это лучшая современная платформа для быстрого прототипирования сайтов. Превратить это всё в статичный сайт или нечто, работающее поверх Micronaut или Quarkus, не составляет проблемы. На сервере всё крутится в docker под docker-compose на самых свежих образах соответствующих компонентов (например, сейчас работает MySQL 8.0.16), всё это закрыто сверху nginx и убунтовым фаерволом.


Альтернативы


Всё это ищется в Google за пару запросов. К сожалению, нужно знать, что искать — это решается постепенным проникновением информации о свежих версиях JDK и основных вендорах среди широких народных масс. Основная жизненно-важная информация находится в открытом письме Java-чемпионов и других признанных экспертов, которое хранится в в Google Docs.


Риски


Самый главный риск: торговая марка JDK принадлежит Oracle Corporation, это Trademark Class 9 в США. Регистраторы зоны .dev находятся именно в США. В документе Guidelines for Oracle Trademarks они просят не использовать трайдмарки Oracle или что-то на них похожее в доменном имени, потому что это может ввести пользователя в заблуждение, что этот сайт является официальным. Именно поэтому сейчас и всегда в заголовке сайта должно быть объяснение, что этот сайт не является официальным сайтом Oracle. Тем не менее, если оракловские юристы решат, что такое использование неприемлемо — ну что ж, придётся выбрать менее красивый домен и радикально уменьшить количество слов вроде Java и JDK на странице, переименовать JDK в SDK и так далее — ну, вы уже должны были привыкнуть. Ничего страшного от этого не случится, максимум потеряется какое-то количество хитов в поисковых системах. О таких обновлениях вы узнаете на Хабре, в Twitter и других местах.


Второй риск — в сомнительной структуре управления. Вдруг я перестану обновлять страницу, сойду с ума и напишу там дичь и так далее. Поэтому неплохо бы управление страницами перенести в Mediawiki или сделать синхронизацию с GitHub и дать возможность писать контент более компетентным людям. И далее выдать аккаунты (возможно, анонимные) признанным экспертам по разработке JDK и активным членам сообщества. Это отдельный интересный механизм, но пока это просто страничка с несколькими ссылками — особо возиться с ним не имеет смысла. Пишите на oleg@jdk.dev, и я добавлю или исправлю всё, что нужно.


Дальше идут обычные риски, связанные с инфраструктурой. Например, уже сейчас Namecheap вынудил меня перейти на их платный DNS, потому что бесплатный работал не очень хорошо. Вначале это заметили пользователи @jvmchat в телеграме, а потом и я сам уже начал попадать в админку только с пятого раза. Хитрый план, Namecheap, хитрый план!



Всё это решается стандартным и весьма несложным образом, учитывая что это просто статический сайт. Кстати, это же нейтрализует риски, связанные со взломом Wordpress — там нет ничего настолько важного, чтобы специалистам по взлому Wordpress было зачем-то нужно так напрягаться. Если же что-то всё-таки сломалось, то чинится это нажатием 1 кнопки (заменить базу на бэкап, заново слить образы контейнеров и развернуть инфраструктуру).


И даже если ничего не получится, это был хороший эксперимент!


Заключение


После того, как ссылка появилась в @jvmchat и @razbor_poletov_chat, я предполагал, что туда придут только непосредственно знакомые люди, и этим всё закончится. Судя по гуглоаналитике, туда пришли люди уже из 29 стран, а значит, некий интерес к такой странице у сообщества всё-таки существует.


Если у вас есть вопросы и предложения по поводу работы странички — пишите на oleg@jdk.dev, а публичные вопросы для обсуждения — здесь на Хабре либо в два вышеозначенных чата в Телеге. Вживую я есть в районе станции метро Василеостровская в Санкт-Петербурге.


+44
23,4k 54
Комментарии 50