Обновления программного обеспечения
Итак. Вы купили себе программное обеспечение. Не имеет значение, какое – прикладную программу или целую операционную систему. И вот, в какой-то момент оно само полезло на сервер выпустившей его компании, за обновлениями, или вы обнаружили в нём ошибки и ожидаете, что вы сможете получить новую версию программы, в которой эти ошибки будут исправлены. Так ли уж нужны эти обновления, и стоит ли их загружать или нет? Отличный вопрос. Очень сложный. Я постоянно слышу два диаметрально противоположных мнения на этот счет.
Первое мнение заключается в том, что если вы приобрели программное обеспечение, установили, и оно работает, то пусть оно и дальше так работает – без всяких обновлений.
Здесь мне сразу вспоминается старый анекдот про программиста, который нравоучительно говорит сыну: “Не трогай солнышко, пока оно светит.”
Второе мнение гласит, что обновляться нужно всегда, как только появляется возможность. Так как это убирает старые ошибки в программах, увеличивает стабильность и добавляет новые возможности.
Возможно, это выглядит странно, но я согласен с обеими точками зрения на вопрос об установке обновлений. Причина кроется в богатом опыте, который показывает, что такая позиция самая верная. Как говорят англичане, it depends. Зависит от ситуации.
Имея опыт разработки программного обеспечения, мне известно, что от появления идеи проекта до реализации, а потом и устаревания, программы (софт) проходят сложный и длинный путь. Этот путь называется временем жизни программного обеспечения.
Вначале появляются блок-схемы программы и UI-дизайн интерфейса (user interface design) приложения, схемы базы данных. Потом появляется альфа-версия (alpha) – сырой набросок софта, предназначенный для внутреннего тестирования разработчиками. Кстати, многие программы на этом свой жизненный цикл и заканчивают. Да, далеко не всем удается сделать, чтобы софт вообще работал, или работал так, как задумано разработчиками, и функционировал на большей части имеющейся компьютерной техники.
Если повезло, потом появляется бета-версия (beta) программы – то, что уже можно показать и тестерам, и пользователям. После исправления максимально возможного числа ошибок в альфа- и бета- версиях появляется релиз кандидат (release candidate). И только после удачного тестирования релиз кандидата выходит в свет настоящая коммерческая программа. Впрочем, как показывает опыт, все равно в ней есть ошибки. Именно об этом говорят многочисленные обновления в программах и операционных системах Windows, Android, Linux, MacOS, Google и других.
Качество Windows – вообще притча. Согласитесь, когда, купив в магазине свеженький диск, флэшку или компьютер с системой, один дистрибутив которой занимает 2-3 гб, вы при первом подключении к сети Интернет обнаруживаете, что там вас уже ждет еще 3 гб обновлений – вопрос о качестве приобретенного как-то сам собой отпадает.
И производитель заявляет, что обновляться – обязательно! Во избежание взлома, который может произойти в любой момент, если не обновиться. Подозрения, которые возникают у инженеров, придерживающихся первой точки зрения - что после приобретения программа должна исправно функционировать без всяких обновлений - кстати, вполне разумны.
Суть в том, что любой программист работает в условиях постоянного давления со стороны начальника, отдела тестирования, руководства, менеджеров проекта, и пользователей. Когда в одном месте кода программы, возможно, исправляется старая ошибка, с учетом того, что над проектами работает много разработчиков, в другом месте кода почти всегда появляется новая или несколько новых ошибок.
Как показывает опыт, дай бог, чтобы в разумные сроки программистам удалось без серьезного ущерба исправить хотя бы критические проблемы. И, в подтверждение первой точки зрения мы можем найти в окне Microsoft Office 2013 для дома и бизнеса пункт-рекомендацию “Отключить обновления – не обновлять этот продукт для обеспечения безопасности, производительности и надежности”. Внешне программный продукт в результате получения этих обновлений изменяется нечасто или вообще не изменяется. Так ради чего мы должны, по воле разработчиков, тянуть гигабайты данных через Интернет, в надежде, что после установки этих дополнений программа будет работать как нужно?
Как хотите, так и понимайте – в одном случае корпорация нас пугает уязвимостями нулевого дня (zero day vulnerabilities), только что обнаруженными, которые позволят хакерам взломать ваш компьютер, и настоятельно рекомендует обновлять операционную систему Windows, в другом случае – та же корпорация, для обеспечения безопасности, производительности и надежности рекомендует офисный пакет Microsoft Office не обновлять.
Поведение разработчиков в Microsoft парадоксально. Тем не менее, это компания, которая вот уже тридцать пять лет делает достаточно качественные продукты и является одним из мировых лидеров. Оставим это на их совести.
Рекомендую одно – всегда обновляйте антивирусные базы и базы родительского контроля, потому информация, которая в них содержится действительно всегда должна находится в актуальном состоянии. Также всегда обновляйте альфа- и бета- версии программного обеспечения до стабильных, и, действительно “не трогайте солнышко, пока оно светит”.
Имейте в виду, что поддержка программного продукта не вечна. Она осуществляется только в пределах срока жизни (lifetime cycle) продукта. Разработанные в Microsoft операционные системы, в среднем поддерживаются в течение 10 лет с момента выпуска или до выхода новой версии. Так, срок поддержки, установленной во многих государственных организациях Windows 7, по заявлению корпорации, истекает в начале 2020 года. Через некоторое время после прекращения поддержки лицензионных пользователей операционной системы, прекращают выпуск новых версий программ для неё и независимые производители программного обеспечения.
Это означает, что и домашним и корпоративным пользователям компания предлагает перейти на новую версию операционной системы. Часто это бывает невозможно вследствие её дороговизны и необходимости закупки нового аппаратного обеспечения для её функционирования – закупки новых компьютеров. Вследствие этого, по моим наблюдениям, в 2015-2017 годах, в некоторых компаниях, по-прежнему, можно встретить работающие операционные системы класса Windows 2000 и Windows XP. Несмотря на то, что они морально устарели и сняты с поддержки.
Отдельно хочется коснуться вопроса с обновлениями систем Linux-класса. Здесь мной замечено, что релизы Linux-систем по качеству всегда лучше промежуточных состояний, получаемых из репозитариев. Были прецеденты, когда ядро операционной системы обновлялось со стабильной версии до нестабильной – и это, конечно не есть хорошо. Были прецеденты, когда в состав официально приобретенного коммерческого Linux-дистрибутива были включены альфа- и бета- версии программ, что категорически неприемлемо, вследствие того, что в целом с ним система будет работать менее надёжно.
С обновлениями Linux-систем вообще происходит почти тоже самое, что и с обновлениями для Windows. Да, в целом, Linux более привлекателен, так как обычно в состав его дистрибутивов входит много нужных и полезных программ, которые под Windows нужно приобретать за дополнительные деньги – например растровые и векторные графические редакторы, офисное программное обеспечение, прикладные утилиты.
К сожалению, срок жизни некоторых Linux дистрибутивов весьма мал, ограничен. И в дальнейшем вы или не сможете найти нужное вам программное обеспечение для него (по причине закрытия репозитария) или будете вынуждены сами “пересобирать” всё из исходных кодов. А это, по сложности, задача сравнимая с тонкой настройкой автомобильного завода.
В моей практике даже есть прецедент, когда после применения официального обновления для планшета с операционной системой Android, в составе новой прошивки Flash ROM корпорация-производитель планшета “заботливо” прислала вирус, который успешно определяется даже несколькими антивирусными программами. Судя по описанию, это “дыра”, которая может быть использована производителем и хакерами для неправомерного сбора приватной информации пользователей и загрузки вредоносного программного обеспечения.
Поэтому, в уме всегда держите, что как бы хорошо не было протестировано обновление программы, а тем паче – и операционной системы, все равно найдется конфигурация программно-аппаратных средств, на которой оно не заведется или будет работать с ошибками, от которых предназначено вас спасти. Поэтому, перед обновлением – обязательно делайте резервные копии. В операционной системе Windows это происходит полуавтоматически – перед установкой обновлений она может сделать точку восстановления (restore point), к которой, при необходимости – в случае ошибок – можно откатиться.
Об обновлениях операционной системы Android хочется сказать отдельно. У них есть отличный магазин Google Play Market - на данный момент один из лучших интернет магазинов программ, игр, музыки, фильмов и книг в мире. Конечно, у него есть свои недостатки. Объем данных огромный, его постоянно пытаются взломать или опубликовать в нем нелегальный контент - от музыки до программ - контент, который не удовлетворяет требованиям безопасности. По умолчанию, обновления для программ в магазине Google Play загружаются автоматически. И вот здесь сразу становится видна основная проблема операционок класса Linux - наличие в общем объёме обновлений тестовых бета- версий и релиз-кандидатов. На стабильности работы устройства это отражается не самым лучшим образом. В случае взлома вашего аккаунта или всего этого магазина, вы можете лишится доступа к приобретеному программному обеспечению.
Таким образом, как с быть с обновлениями, решать вам, и только вам.
Свидетельство о публикации №218072901373