Найти тему
Жизнь, как её нет

Деградация технологий разработки ПО на примере Ubuntu 22.04.3LTS

Оглавление
Моё предложение по новому логотипу для Ubuntu
Моё предложение по новому логотипу для Ubuntu

Я не из тех, для кого солнце встаёт только в Редмонде и/или Купертино, поэтому я давно и много работаю с разными операционными системами. Как разработчик я понимаю насколько сложно создать и поддерживать собственную операционную систему или, хотя бы, дистрибутив Linux.

Однако я не делаю различий между открытым или закрытым кодом. Если кто-то плохо программирует, то не стоит добавлять ему очков в обзорах только за то, что он не берёт за свою работу денег. И я всегда готов выразить своё восхищение или непонимание относительно работы того или иного программного обеспечения (далее ПО).

Деградация в разработке ПО - это, увы, общемировая тенденция вызванная, как ни странно, огромной конкуренцией на рынке ПО. Деградация случилась не вдруг. К этому явлению приложили руку все, начиная с всем известной Microsoft и заканчивая такими гигантами как IBM. Суть явления заключается в выпуске на рынок ПО, содержащего ошибки, известные даже разработчику. Цель такого непотребства только одна: стать первыми и опередить конкурентов.

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

Тем не менее, прикрывать своё неумение программировать или неспособность к проектированию сложного ПО - это не выход. Введение стандартов разработки ПО - бесполезно, потому что нельзя по одним и тем же стандартам разрабатывать офисный пакет и операционную систему. Для разных задач должны быть разные стандарты. А ещё должна быть ответственность разработчика, хотя бы для ПО за которое платят деньги. Но это увы антинаучная фантастика.

Примеры из Ubuntu 22.04

А теперь примеры из свежей Ubuntu.

Пример №1

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

Пример №2

По умолчанию управление питанием настроено так, что система затемняет экран через 5 минут и засыпает через 20 минут. Это, наверное, должно благостно влиять на сохранение природы. Однако система следует этому сценарию независимо от того загружена она чем-то или нет. Есть открытый терминал и есть процесс пользователя, который копирует данные с оптического носителя на диск, но системе на это наплевать, потому что затемнить экран и заснуть важнее каких-то процессов пользователя. Надо ли говорить, что по возвращении системы в активное состояние такие процессы тихо умирают вместе с терминалом? А если к этому добавить ошибки в реализации затемнения экрана, которое сразу вводит всё оборудование (а не только видеоадаптер!) в режим SLEEP?

Неутешительные выводы

Нас приучили к тому, что настройки по-умолчанию в большинстве случаев безопасны. Нас тщательно и с особым цинизмом обманывают насчёт качества ПО. И всё это добавляется к ранее известным проблемам, когда разработчику выгодно реализовать совсем не то, что нужно пользователю. И никакие искусственные интеллекты не переломят эту тенденцию. Потому что средства разработки будут разрабатывать люди. Ленивые, тупые, жадные и тщеславные. и лично я в них не сомневаюсь. А @Ubuntu ничуть не выделяется среди других...