LINUX.ORG.RU
ФорумTalks

Что же такое стабильность ПО?

 ,


0

1

Очень часто новички, да и почетные регистранты, используют понятие «стабильность дистрибутива» немного не в том контексте, в каком это видится самому мне. Этой темой хотелось бы внести ясность в понятие «стабильность ПО\дистрибутива» и получить разные мнения (забанься дебил) и, в зависимости от приведенных ответов, либо укрепить, либо изменить сформировавшуюся точку зрения.

Согласно википедии - «Стаби́льность — способность системы функционировать, не изменяя собственную структуру, и находиться в равновесии.» То есть система должна выполнять свою функциональность (набор требований), не изменяя собственную структуру (код). Если упростить до формулы:

неизменяемость (кода) + функционирование (выполнение набора требований) = стабильность

Разберем первую часть формулы - неизменяемость (кода). Получается, если код системы (дистрибутива) изменяется и не зафиксирован (получает изменения), то ни о какой стабильности не может быть и речи. Поэтому любой дистрибутив, получающий обновления (исправления\изменения) не может считаться стабильным, потому что его структура (код) изменяется.

Вторая часть формулы - функционирование (выполнение набора требований). Здесь гораздо сложнее потому что, при добавлении поддержки новых требований нужно учитывать, что старые требования также будут поддерживаться (не отвалятся). Учитывая, что программисты могут допускать ошибки, вернемся к теории - «Программная ошибка (жарг. баг) — означает ошибку в программе или в системе, из-за которой программа выдает неожиданное поведение и, как следствие, результат.», то увеличение поддерживаемых требований (увеличение кода) ведет к увеличению программных ошибок (багов), отсюда бОльшее количество кода ведет к увеличению количества ошибок (не выполнению набора требований).

Учитывая вышеизложенное, самым исчерпывающим ответом на вопрос «какой дистрибутив считать более стабильным», считаю такой:

Стабильный дистрибутив не получает обновлений (не изменяет свой код) и содержит меньше строк кода (вероятность ошибки программиста(бага) мала)

P.S. Возможно стоит перенести в talks (score присутствует в достатке (пока что)), но хотелось бы узнать позицию анонимусов по этому вопросу (иногда проскальзывают неограненные алмазы).

Перемещено xaizek из general

Стабильный дистрибутив не получает обновлений

«Стабильный» дистрибутив - тот, обновления которого не приводят к потере функциональности (отказу компонентов или самой системы).

anonymous
()

Стабильный дистрибутив это тот, который работает предсказуемым и ожидаемым образом.

fernandos ★★★
()
Ответ на: комментарий от fernandos

Хм, какой ожидаемый и предсказуемый образ (ответ?) ждет вчерашний пользователь винды и 1С главный бухгалтер Маргарита Павловна при загрузке установщика Arch Linux?

pisqotron5000
() автор топика
Ответ на: комментарий от fernandos

Боюсь, что такой ответ ожидает линуксоид со стажем как минимум пару лет.

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

pisqotron5000
() автор топика
Ответ на: комментарий от pisqotron5000

Боюсь, что такой ответ ожидает линуксоид со стажем как минимум пару лет.

Она это такими словами и не назовёт. Для неё это бегающие буковки: сначала чёрненькое меню, потом там с зелёненьким, а потом вот этот установщик.

fernandos ★★★
()

при добавлении поддержки новых требований нужно учитывать, что старые требования также будут поддерживаться (не отвалятся)

Это.

andreboth
()
Ответ на: комментарий от anonymous

отказу компонентов или самой системы

А как узнать, что появилась неисправность поддержки amd-устройств, если используешь intel\vidia? Или отвалились принтеры kyocera, когда сидишь на brother?

pisqotron5000
() автор топика
Ответ на: комментарий от pisqotron5000

А как узнать

Узнать именно тебе? А зачем? Ты же «используешь intel\vidia» и «сидишь на brother»?

В воображаемый глобус играемся?

anonymous
()
Ответ на: комментарий от anonymous

Так основная задача треда, хоть как то обозначить ориентиры «стабильности» дистрибутива. Со своей колокольни попытался определить два критерия. Меньше кода - меньше багов, меньше изменений - меньше багов, жду фидбека.

pisqotron5000
() автор топика
Ответ на: комментарий от pisqotron5000

Так основная задача треда…

… потроллить ЛОР!

anonymous
()

Всё правильно с формулой. Здесь часто видишь как люди неправильно интерпретируют это понятие, типа «…поставил дебиян-стейбл и получил чёрный экран, вот вам и стабильность…» и тому подобное. Стабильный — значит ориентированный на потребителя, который не хочет новостей, а причин этому может быть много, но суть одна, пользователь не хочет новостей! А безопастность он, гад такой, хочет, так что совсем не изменять не получится, если система подключена к сети. Вроде так.

papin-aziat ★★★★★
()

Стабильный дистрибутив это тот, в котором только самые важные, и при этом вусмерть оттестированные обновления.

t184256 ★★★★★
()

А тут весь тред сговорился потехи ради не отличать бэкпорты обновлений безопасности от безумного ребэйза всего и вся?

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)
Ответ на: комментарий от t184256

не отличать бэкпорты обновлений безопасности

Если бы только безопасность, вон в рхел-8.4 ядро так забекпортировали под новые процы, что пришлось остаться на предыдущем из 8.3 :-(

papin-aziat ★★★★★
()
Ответ на: комментарий от t184256

А кто определяет важность обновлений? Получается опять качественная (раньше было лучше), а не функциональная (работает или нет) оценка?

pisqotron5000
() автор топика

система должна выполнять свою функциональность (набор требований), не изменяя собственную структуру (код).

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

Nervous ★★★★★
()
Ответ на: комментарий от pisqotron5000

Убунту лтс вроде натуральный стейбл, я не в теме.

Зюзя и демьян стейблы, что ещё?

Шапка, ясное дело, самый суровый среди стейблов.

papin-aziat ★★★★★
()
Ответ на: комментарий от Nervous

Ну так любое изменение (улучшение, добавление фич) кода может привести к деградации того, что работало раньше, разве нет?

pisqotron5000
() автор топика
Ответ на: комментарий от papin-aziat

Так в этом и вопрос, если убунту не обновлять, то она стейбл, стабильна, зафиксирована, код не изменяем, а вот после апдейта…

pisqotron5000
() автор топика
Ответ на: комментарий от fernandos

Не, только 5.4, про ядра после 5.7 я устал давать ссылку на драму с выпиливанием костылей для интел-видях.

papin-aziat ★★★★★
()
Ответ на: комментарий от papin-aziat

Потенциально могут сломать и сделать апдейченную убунту менее стабильной, чем такую же, но не апдейченную, потому что условные новые 1000 строк кода теоретически могут содержать больше ошибок (багов), чем их отсутствие.

pisqotron5000
() автор топика

В профессиональных кругах под стабильностью понимается предсказуемое и задокументированное выполнение всех функций в соответствии с входными данными (или действиями) и их историей (состоянием системы).

В обывательской среде — чтобы все работало без бубна и сына-программиста маминой подруги. И чтобы при обновлении не ломались старые функции и не сильно менялся workflow.

filosofia
()
Ответ на: комментарий от fernandos

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

papin-aziat ★★★★★
()
Ответ на: комментарий от pisqotron5000

Спасибо, поугарал, особенно про три процента, которые думают, что думают, боюсь это про меня :-)

papin-aziat ★★★★★
()

Стабильность это когда инструмент не меняется в руке. Стабильность это когда собранный в 1998 году бинарник работает в 2021. Стабильность это когда BolgenOS 9.0 остаётся BolgenOS 9.0 до конца света. Стабильность это уверенность, что libfoo в BolgenOS 9.0 будет оставаться на версии 2.1.x и внезапно не обновится до 4.0.0. Стабильность это, в конце концов, когда панель перемещается сбоку вниз только после запланированного обновления до следующей версии дистрибутива.

Если смотреть в контексте дистрибутивов линукса, то как-то так.

В общем, роллинг-релизные дистрибутивы не могут быть стабильными по определению. Перешёл твой арчик на системд — и ты обязан перейти. Запихнули пульсу — принимай. Нельзя оставаться как на седьмом дебиане, продолжая получать обновления безопасности ещё пару лет. Только героически «заморозить» свой дистрибутив и не обновляться, но так ты и другой софт уже не установишь — дистр уже уехал. Непонятно, о какой стабильности тут может идти речь.

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

Thetan ★★★
()
Ответ на: комментарий от pisqotron5000

Тебе имена и фамилии? Мэйнтейнеры определяют обычно. В нашей компании отдельная круглосуточная команда сидит и определяет серьёзность уязвимостей.

t184256 ★★★★★
()
Ответ на: комментарий от fernandos

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

rupert ★★★★★
()

Молоток не должен изменяться в руке с потерей функции молотка и/или руки, вот и все, остальное все теоретическая лирика :)

slackwarrior ★★★★★
()
Ответ на: комментарий от pisqotron5000

Так основная задача треда, хоть как то обозначить ориентиры «стабильности» дистрибутива.

Стабилно «гуевый» это то же как бэ «стабильность».

anc ★★★★★
()

Стабильное ПО – это в первую очередь ПО, которое не падает и не перестаёт работать при обновлении.

X512 ★★★★★
()
Ответ на: комментарий от pisqotron5000

какой ожидаемый и предсказуемый образ (ответ?) ждет вчерашний пользователь винды и 1С главный бухгалтер Маргарита Павловна при загрузке установщика Arch Linux?

Такой же, какой она видела когда сама руками венду ставила. Не шлангуй, она ожидает иконку на рабочем столе

upcFrost ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.