Wordpress

Сериал про Wordpress продолжается

Сериал “Мэтт Мюлленвег против WP Engine” продолжает развиваться. Примерно в то же время, когда мы в Радио-Т обсуждали историю с дополнительной галочкой (теперь при логине на Wordpress.org вы должны подтвердить, что не аффилированы с WP Engine), Wordpress.org приняли решение и форкнули плагин Advanced Custom Fields.

Advanced Custom Fields — это популярный плагин, с 2 млн установок, который широко используется разработчиками при разработке сайтов на Wordpress, он позволяет гибко конфигурировать дополнительные поля для существующих типов контента и задавать новые. И да, в свое время его купила компания WP Engine и достаточно давно ведет его разработку. Поскольку теперь у разработчиков компании нет возможности обновлять плагин, размещенный в репозитории Wordpress.org (в своем зеркале они это делают, а пользователи платной версии получают обновления отдельным образом, как и с любым другим платным плагином), то Wordpress.org на основании статьи 18 правил репозитория сделали форк плагина и переименовали его в Secure Custom Fields. Теперь, если у вас стоит исходный плагин и вы обновитесь, у вас появится новый плагин. На данный момент он полностью совместим с оригиналом, в нем просто закрыта уязвимость — собственно, необходимостью её закрыть в условиях отсутствия доступа оригинальных разработчиков этот форк и объяснен официально.

WP Engine в лице команды разработчиков ACF назвали это захватом (take over). С одной стороны, open source с учетом требований GPLv2 никак не ограничивает любого желающего в праве форкнуть любой проект и развивать его самостоятельно. С другой — если я или вы форкнем любой плагин, мы никак при этом не затронем существующую аудиторию оригинального плагина, а Wordpress фактически сделал именно это. Если внимательно почитать тот самый пункт 18, то, в целом, он оставляет за Wordpress, то есть за Automattic, то есть за Мэттом Мюлленвегом лично, право захватить таким образом любой другой плагин — например, уже высказываются предположения, что следующей жертвой станут разработчики конструкторов страниц типа Elementor, мол, и Мэтт про них высказывался нелицеприятно, да и они представляют собой явную конкуренцию любимому детищу Мэтта — блочному редактору Gutenberg, который далеко не всеми воспринимается как идеальный продукт.

В общем, чем дальше, тем печальнее воспринимается эта история.

Скандал в Wordpress семействе

Интересный скандал, кажется, разгорается вокруг Wordpress. На прошедшей на этой неделе в Портленде регулярной конференции WordCamp US основатель Wordpress Мэтт Мюлленвег рассказал, что он думает про экосистему open-source проектов и, в частности, что открытость такой экосистемы привлекает ряд бизнесов, которые предпочитают паразитировать на бесплатном проекте, не участвуя в его создании.

Основным примером такого бизнеса стала компания WPEngine, которую Мэтт обвинил в итоге в использовании не только самого продукта, но и торговых марок и стилистике, принадлежащих Automattic. По утверждению Мэтта, WPEngine, построив свой бизнес на Wordpress (компания продаёт хостинг для Wordpress), меньше контрибутит в проект, чем даже Google, создавая при этом впечатление, что они-то и есть Wordpress. Скандальность ситуации придало и то обстоятельство, что WPEngine являлся одним из спонсоров WordCamp US, но Мэтт сразу пообещал, что это последний случай такого спонсорства.

Собственно, список претензий к WPEngine не ограничивается низким уровнем отдачи компании в проект — в отдельном посте в блоге Wordpress Мэтт приводит пример того, что Wordpress, предлагаемый WPEngine, выглядит не совсем Wordpress, например, там отключено версионирование записей и включить его можно только через саппорт. Мэтт это считает серьезной проблемой — честно говоря, да, это выглядит как если бы Github хранил историю только на пару коммитов, а для большего предлагал бы писать в поддержку.

Основной проблемой с WPEngine Мэтт счел их инвесторов — компанию Silverlake, — он считает, что WPEngine полностью принадлежит Silverlake, но, скорее всего, у них просто большой, возможно, контрольный пакет акций. Но воспрепятствовать использовать Wordpress в бизнесе WPEngine, конечно, он не может — это открытый продукт и использовать, модифицировать и ничего не контрибутить может любой желающий. Возможно, определенную перспективу имеет юридическая претензия по поводу использования торговых марок.

WPEngine ответили предельно нейтральным текстом в блоге про то, как они больше 10 лет поддерживают, спонсируют и вдохновляют комьюнити и вообще способствуют развитию Wordpress.

Комьюнити при этом скорее поддерживает Мэтта. Я это вполне понимаю — выглядит действительно не очень справедливо, особенно на фоне большого количества компаний, делающих бизнес на Wordpress, но и делающих свои наработки доступным для комьюнити.

Мне даже немного жаль, что этот блог уже не на Wordpress. Впрочем, я довольно долгое время работаю с сайтами на Wordpress, поэтому движения в комьюнити мне и понятны, и важны.

Про Wordpress и React ещё немного

Заинтересовавшимся темой использования Wordpress как основы для быстрого фронтенда на модных фреймворках могу посоветовать симпатичную штучку под названием Frontity. Это полноценный движок, который цепляется к Wordpress через существующий REST-API и строит из полученного контента react-приложение — очень быстрое, легкое и приятное.

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

Как я не перешел с Wordpress на Hugo, Gatsby и прочий Node

Периодически меня вместе с этим блогом охватывает творческое настроение — но не в плане что-нибудь написать (такое тоже бывает), а посовершенствовать его немного, сделать еще более быстрым, местами более гиковским, короче, как-то проапгрейдить.

Надо сказать, что я не очень расположен к большой разработке и люблю обходиться готовыми решениями — взять готовый движок, готовую тему, что-то подкрутить по мелочам и попользоваться результатом. И в какой-то момента у меня сошлись сразу несколько ощущений относительно несовершенства текущего решения.