Джульетта Рейндерс Фолмер выпустила предложение для WordPress отказаться от поддержки старых версий PHP по фиксированному графику. Она написала предложение после того, как Мэтт Мулленвег, соучредитель WordPress и руководитель проекта, обратился к нему, чтобы обсудить решения. Это произошло после того, как на прошлой неделе он закрыл заявку Trac, в которой стремился отказаться от поддержки PHP 5.6 и поднять минимальную версию до 7.1 для следующего крупного выпуска WordPress в этом году.
В предложении излагается позиция, от которой могут отказаться многие в сообществе WordPress. Это четкий и прозрачный путь для будущей поддержки PHP платформой.
В своем предложении Фолмер выдвинул две дорожные карты. Первая дорожная карта определяет, на каком этапе WordPress прекратит поддержку определенной версии PHP. Платформа будет прекращать поддержку второстепенного выпуска PHP, возраст которого превышает пять лет, каждый декабрь. Это будет совпадать с предстоящим крупным выпуском WordPress. В следующем расписании указана минимально поддерживаемая версия PHP на каждый год:
- Декабрь 2020 г. – PHP 7.1
- Декабрь 2021 г. – PHP 7.2
- Декабрь 2022 г. – PHP 7.3
- Декабрь 2023 г. – PHP 7,4
- Декабрь 2024 г. – PHP 8.0
Вторая часть предложения создает скользящий график для резервного копирования обновлений безопасности в WordPress. В настоящее время WordPress выпускает обновления безопасности вплоть до ветки версии 3.7. В случае принятия рекомендация Фолмера будет поддерживать только выпуски WordPress за предыдущие четыре года.
Такое изменение будет означать, что когда WordPress 5.6 будет выпущен в декабре 2020 года, проект WordPress будет привержен переносу исправлений безопасности еще с WordPress 4.7, выпущенного в декабре 2016 года.
Folmer также предлагает переносить уведомления об обновлении PHP из проекта работоспособности сайта в поддерживаемые в настоящее время старые версии WordPress. Эта мера будет информировать пользователей о проблемах с версией PHP, прежде чем они перейдут на более новую версию WordPress.
Совмещение минимальной поддержки PHP в будущем и обратного переноса исправлений безопасности дает пользователям потенциально огромное окно в девять лет, в течение которого они могут оставаться на любой версии PHP, на которой они сейчас работают. Девять лет могут показаться целой жизнью в Интернете с его постоянно меняющейся технологией, и некоторые люди в комментариях к этому посту вызвали разногласия. Однако это план действий, который сообществу WordPress не довелось испытать в отношении поддержки PHP. Разработчики, несомненно, будут спорить о датах и версиях, но это второстепенно по сравнению с наличием предсказуемых сроков.
Приветствуется график работоспособности фиксированной версии. Он помещает всех, от разработчиков до конечных пользователей и веб-хостов на одну страницу. Такой уровень прозрачности необходим, если мы когда-либо намерены двигаться вперед, не перефразируя одни и те же аргументы.
Система ожидания, чтобы увидеть, когда статистика использования конкретной версии PHP упадет ниже определенного процента, просто запутывает ситуацию. В результате обычно получается многословный аргумент, который не сдвигает иглу. Каждая сторона выбирает свою статистику. Каждая сторона наступает на пятки. И у каждой стороны есть много хороших моментов. В конечном итоге все хотят одного и того же – продвигать весь проект вперед и использовать современные инструменты. Однако они всегда расходятся во мнениях относительно того, как мы к этому добираемся. В конце концов, минимальная версия PHP поднимается, и сообщество готовится к следующему раунду. Это оставляет нас в постоянном состоянии перетягивания каната между теми, кто хочет более быстрого продвижения, и теми, кто не хочет оставлять пользователей позади.
На самом деле никто никогда не был полностью прав в этих аргументах. Дорожной карты нет. У нас нет другого руководящего принципа, кроме «так было и раньше».
WordPress должен установить четкие ожидания.
Это проблема не только с минимальной версией PHP – многие хотят иметь более подробную дорожную карту для всего проекта. Однако минимальная поддержка PHP – это одна из проблемных областей, для которой мы могли бы найти решение, и Фолмер нашел путь. Нам нужно только следовать этому.