Предложение об автоматическом обновлении старых версий WordPress до версии 4.7 вызвало жаркие споры

Опубликовано: 2019-08-09

Участники, разработчики и члены сообщества WordPress в настоящее время обсуждают предложение о внедрении новой политики в отношении поддержки безопасности для старых версий. Обсуждение началось на прошлой неделе, когда руководитель группы безопасности Джейк Сперлок попросил поделиться отзывами о различных подходах к переносу исправлений безопасности в более старые версии. В продолжение этого обсуждения Ян Данн, постоянный участник ядра WordPress, спонсируемый Automattic, опубликовал предложение по продвижению новой политики:

Поддерживайте последние 6 версий и автоматически обновляйте неподдерживаемые сайты до самой старой поддерживаемой версии.

Это будет означать, что в настоящее время поддерживаются версии 4.7–5.2, а ветки 3.7–4.6 в конечном итоге будут автоматически обновлены до 4.7.

На практике это обеспечит примерно 2 года поддержки для каждой ветки, и примерно 10% текущих сайтов в конечном итоге будут автоматически обновлены до версии 4.7. После выпуска 5.3 самой старой поддерживаемой версией станет 4.8.

Данн изложил подробный план реализации новой политики, который включает в себя тестирование небольшого подмножества сайтов для выявления проблем перед постепенным обновлением старых сайтов с одной основной версии на другую (не все сразу). Администраторы сайта будут уведомлены не менее чем за 30 дней до автоматических обновлений с помощью электронных писем и уведомлений в админке, которые также предложат возможность отказаться.

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

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

«Внутреннее уведомление даже не компенсирует отсутствие надежной связи по электронной почте», — сказал Гленн Мессерсмит. «Существует множество владельцев сайтов, которые никогда не заходят в бэкенд после того, как их сайт был разработан. Это те самые люди, которые также не будут получать уведомления по электронной почте, потому что адрес электронной почты принадлежит давно ушедшему разработчику.

«Никакое обнаружение ошибок не может служить страховкой для тех, кто никогда не видел никаких уведомлений. Существует множество причин, по которым владелец сайта может считать свой сайт «сломанным», что не может быть обнаружено сценарием обновления».

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

«Я определенно могу сочувствовать этой ситуации, но мы должны где-то провести черту», ​​— сказал Данн. «У нас нет неограниченных ресурсов, и текущая политика имеет разрушительные последствия для всей экосистемы WordPress.

«В действительности выбор никогда не бывает между чисто хорошим и чисто плохим; они всегда находятся между конкурирующими компромиссами.

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

Автор предложения утверждает, что «никто не будет вынужден обновляться»; Оппоненты утверждают, что требование от пользователей отказаться не является согласием

В дополнение к проблеме возможной поломки сайтов, противники этого предложения не согласны с тем, что WordPress принудительно обновляет сайт без явного согласия администраторов сайта. Предоставление пользователям возможности выбирать автоматические обновления для основных основных выпусков — один из девяти проектов, над которыми Мэтт Малленвег определил работу в 2019 году. - Ветки 4.6 для отказа, если они не хотят постепенно автоматически обновляться до 4.7.

«Они по-прежнему сохраняют агентство, несмотря ни на что, никого не заставляют обновлять, каждый сохраняет контроль над своим сайтом и может отказаться, если захочет», — сказал Данн. «Что-то, включенное по умолчанию, очень отличается от принуждения кого-то к чему-то. Мы упростили бы отказ — просто установите плагин, никаких настроек не требуется — и инструкции по отказу будут включены в каждое электронное письмо и уведомление администратора».

Данн далее пояснил в комментарии относительно того, кто будет получать эти обновления:

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

Если кто-то щелкнет ссылку отказа в электронном письме или нажмет кнопку отказа в уведомлении администратора, обновления также будут отключены.

Единственными людьми, которые будут получать обновления, являются те, кто:

1) Хотите обновление
2) Плевать
3) Забросили свои сайты или учетные записи электронной почты

Несколько участников обсуждения спросили, почему процесс перехода этих сайтов на 4.7 не может быть включен для получения согласия, а не принудительно обновлять тех, кто не отказывается. Независимо от того, насколько удобен механизм отказа, его наличие не является согласием. Многие владельцы сайтов, которые будут вынуждены участвовать в этом процессе, думали, что они будут в безопасности, выбрав техническое обслуживание и обновления безопасности и оставив свои сайты для выполнения «обновлений, пока вы спите», как описано в сообщении о выпуске 3.7.

«Небезопасные сайты — это плохо, но, возможно, задним числом расширять возможности, предоставленные самому себе этим механизмом, еще хуже», — сказал создатель UpdraftPlus Дэвид Андерсон. «Потенциально это может повредить доверию и репутации больше, чем небезопасности. Я бы сказал, что огромная приборная панель уродлива, неустранимые уведомления в старых версиях, предупреждающие о предстоящем отказе + необходимость обновления, были бы лучше. Пусть владелец сайта возьмет на себя ответственность. Не играйте в няню, не злоупотребляйте доверием, не взламывайте сайты, а затем пишите посты в блогах о том, что это был необходимый побочный ущерб. Никто из тех, кто просыпается со сломанным сайтом, не будет доволен этим».

Эндрю Насин, руководитель выпуска WordPress 3.7 и соавтор функции автоматического фонового обновления WordPress, призвал тех, кто стоит за предложением, уточнить, что WordPress поддерживает только последнюю основную версию и никогда официально не поддерживал более старые версии.

«Бэкпортирование, безусловно, требует много работы», — сказал Насин. «Но мы все равно должны придерживаться нашей путеводной звезды, которая заключается в том, что WordPress обратно совместим от версии к версии, что пользователям WordPress не нужно беспокоиться о том, какую версию они используют, и что мы должны просто поддерживать сайты в актуальном состоянии, если мы можем."

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

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

Он прокомментировал, что в целом предложение является «отличным планом», но подчеркнул преимущества информирования пользователей о том, что обновление безопасно и что WordPress намерен поддерживать только последнюю версию.

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

«Я не думаю, что решение WordPress об обновлении сайтов, которые они не управляют, до основных/критических версий должно быть решением WordPress, но я думаю, что поддержка этих веток должна быть прекращена», — сказал Уилл Стокс. «Вы (WordPress) не владеете инфраструктурой или бизнес-процессами и не понимаете, какая поддержка существует для управления этими сайтами. Есть также причина, по которой эти сайты до сих пор используют эту версию и не обновлялись раньше».

Существуют и другие подходы, которые все еще могут подвести черту, чтобы уважать ограниченные ресурсы группы безопасности, не принуждая к каким-либо несогласованным обновлениям основных версий. Рэйчел Черри, директор WPCampus, прокомментировала это предложение, настоятельно призвав WordPress установить согласие перед обновлением этих сайтов:

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

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

И с какой целью? В чем здесь настоящая проблема? Потому что мы не хотим беспокоиться об обновлении старых версий?

Есть и другие способы решить эту проблему.

Мы можем разработать четкую политику в отношении поддержки EOL для выпусков.

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

Мы можем работать над образованием и общением относительно обновлений.

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

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

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

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

«Независимо от того, будем ли мы автоматически обновлять выпуски 3.7 -> 5.x, я полностью поддерживаю разъяснение того, что это то, что мы ожидаем начать делать в будущем (5.x -> x.x+)», — Джереми Фелт. прокомментировал предложение. «Работа по тестированию инфраструктуры и кода для поддержки этого должна выполняться в любом случае». Фелт также сказал, что он ценит поэтапное планирование развертывания предлагаемых выпусков, а также план по предоставлению официально поддерживаемого плагина для отключения автоматических обновлений.

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

«Одно можно сказать наверняка, пока что это вызывает озабоченность у большинства, хотя многим из нас нравятся эти благородные намерения, я просто не уверен, что быть доброжелательным повелителем Интернета — это хороший образ для продвижения WP. », — сказал разработчик плагина Филип Инграм.