metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-06-13 10:16 am

Еще одна юниксо-холиварная идея

Я вот подумал, что "в среднем" софт, сделанный, скажем так в идеологии опен-сорс-юникс-вея, будет содержать больше багов, чем монолитно-виндовско-проприетарный. Багов такого вида типа "определенная функция в определенных условиях не работает".

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

В монолитной виндовой проприетарщине же если что-то ломается - очевидно, первым этапом можно пойти поиметь мозг автору. А тому, в общем-то, и проще все исправить, т.к. код у него под контролем, а если автор еще и вменяем, то от сторонних сервисов у него вообще ничего не зависит. "Не принято вносить зависимости". И т.к. участвует одна единица "автор" или "контора-разработчик", исправление внести проще, чем когда это дело сначала надо обсудить со всем комьюнити в мейл-листах, поцеловать иконы столлмана и торвальдса в спину, сделать сначала патч, потом внести его куда-нибудь в основную ветку, долждаться пока выйдет очередная стабильная версия, а потом пару лет отвечать юзерам "обновите такое-то софтино версию 2.x.y на 2.x.z, если у вас при откручивании гайки из пупка жопа отваливается".

Конечно, когда проприетарный софт такой стоит массово у юзеров - там возникают те же проблемы, типа как у винды с обновлениями и рунтаймами от VS. Хотя для прикладного софта проблемы в основном вызывает только второе(если на VS писать), с обновлениями он хоть и конфликтует но не часто.

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

[identity profile] thesz.livejournal.com 2009-06-13 07:49 am (UTC)(link)
http://metaclass.livejournal.com/367978.html
http://metaclass.livejournal.com/367787.html
http://metaclass.livejournal.com/367187.html
http://metaclass.livejournal.com/366207.html

Вот я твои (и не очень твои) проблемы привёл. Что-то я там не вижу "В монолитной виндовой проприетарщине же если что-то ломается - очевидно, первым этапом можно пойти поиметь мозг автору."

Сравним, например, количество софта под Линукс и Виндовс. Под Линукс по умолчанию его больше на порядок, а то и на два. И всё это воспринимается, как один Линукс. Тогда как Виндовс с такой же функциональностью будет восприниматься, как Виндовс/MS+MinGW/Cygwin+Adobe+много, кто ещё.

Теперь сравним ядра. XP/Vista это одно, а WinCE - другое. А linux kernel - это и XP, и Vista, и WinCE в одном флаконе. То есть, значительно сложней.

Так что за опровержением твоего тезиса не надо далеко ходить. Даже по твоему журналу. ;)

[identity profile] vp.livejournal.com 2009-06-13 08:20 am (UTC)(link)
Сравним, например, количество софта под Линукс и Виндовс. Под Линукс по умолчанию его больше на порядок

"Софт", которого "на порядок" больше - это 99% мелкие утилиты для потоковой обработки чего-либо из одной в другую. А прикладного софта - на порядок меньше.

[identity profile] thesz.livejournal.com 2009-06-13 08:25 am (UTC)(link)
Не "всего софта на свете", а того, что идёт с дистрибутивом.

[identity profile] vp.livejournal.com 2009-06-13 08:56 am (UTC)(link)
Ну, 1001 программа с исходниками в 500 строк. Что страшного? :)

[identity profile] metaclass.livejournal.com 2009-06-13 09:10 am (UTC)(link)
Софта под линукс больше на порядок, а как что-то сделать - так народ wine ставит. Под линукс специфического рода софта много - мелкие утилиты, софт системного уровня, сервера там всякие. А прикладной обычно безумен, и страдает от той шизы, что я описал.

[identity profile] thesz.livejournal.com 2009-06-13 09:26 am (UTC)(link)
По моему мнению, наша дискуссия страдает от излишней опоры на анекдоты.

Причём, самоопровергающиеся - человек по твоей ссылке жалуется на командную строку и маны, а сам делает sudo apt-get что-то-там.

Кстати, если у тебя есть возможность: присмотрись к "виндовой проприетарной фигне". У неё внутри, в случае сложной штуки, ровно такая же шиза.

Например, в исходниках того, что все считали одной из версий HL2 были аж две сторонних библиотеки физики. ;)

Я тут подумал, что то, о чём ты говоришь, на самом деле просто желание иметь единый рычаг "управления качеством". Так это и в мире открытых исходников есть: Red Hat, например.

Правда, я не могу за деньги для RHEL купить поддержку Хаскеля. Мне придётся заплатить сверху.

Не вижу проблем.

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

[identity profile] metaclass.livejournal.com 2009-06-13 09:30 am (UTC)(link)
Да, это именно насчет контроля качества. Получается, что декларируемая свобода и контроль качества (если он есть) плохо совместимы - если клиент что-то изменит в программе без ведома вендора - он потеряет поддержку.
Хотя на случай "вендор умер, софт остался" такая свобода дает некоторые гарантии, что работа клиента не встанет колом.

[identity profile] 1847a.livejournal.com 2009-06-13 11:52 am (UTC)(link)
Зачем вайн? Можно же просто рядом положить ящик с виндой, от неё же никто не заставляет отказываться при использовании линукса.