LINUX.ORG.RU

Ingo Molnar, разработчик ядра Linux «Нам нужно полностью пересмотреть модель распространения ПО»

 , ,


1

4

Представляю Вашему вниманию мой перевод статьи разработчика ядра Linux Инго Молнара (Ingo Molnar), размещенной в двух частях на его странице в G+. Статья вызвала горячее обсуждение на зарубежных тематических новостных площадках, и, на мой взгляд, заслуживает Вашего внимания.

Удивительно, но главным недостатком дистрибутивов Linux для настольных ПК является их недостаточная свобода.

Помните, сколько уязвимостей и проблем с качеством Linux-систем было найдено в последнее время, в частности моими коллегами Linas Vepstas, Jon Masters, Linus Torvalds и многими другими, и информация, с которая я знакомился в обсуждениях, привела меня к выводу, что разработчики свободного ПО просто не осознают, в какую бездну провалились.

Серьёзные недостатки Linux-систем, с которыми мы постоянно сталкиваемся практически во всех, даже самых популярных дистрибутивах Linux, имеют первопричину в фатальных архитектурных ошибках 10-20-летней давности.

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

А как поступают остальные (большей частью не являющиеся свободными) конкуренты? Они движутся в прямо противоположном направлении: Apple/iOS и Google/Android имеют только около ста тесно интегрированных системных пакетов, которым уделяется огромное внимание и с которым работают как с одним целым проектом. Эти системы документируются и развиваются в десятки раз интенсивнее, чем это происходит с десятками тысяч пакетов в рамках каждого дистрибутива Linux. И гораздо легче задокументировать 10 миллионов строк кода, чем тысячи миллионов.

Для обеспечения должного разнообразия приложений на площадках Apple Store и Google Play сторонним разработчикам открывается полный доступ к внутренней структуре всей платформы и ведётся контроль над внедрением в систему дополнительных приложений. Как результат, большинство новых приложений добавляются с задержкой лишь в несколько дней (в пределе - несколько недель), а их обновления - в несколько часов (в редких случаях - нескольких дней), в общем, весь процесс происходит настолько быстро, насколько быстро над этим сам работает каждый проект. К тому же для iOS/Android нет практически никаких ограничений и препятствий для приложений, стремящихся попасть на официальные площадки по распространению - они попадают туда почти автоматически.

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

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

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

Системы управления пакетами в Linux неплохи для задач корпоративного сектора (также имеющего иерархическую структуру и использующего централизованное планирование), но настольные Linux-дистрибутивы перестали расти уже 10 лет назад на отметке в тысячу пакетов...

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

Да, я слышу ваш довод «но дистрибутивы Linux - это свободное ПО!». На самом деле, свобода ПО имеет важное значение для разработчиков или организаций, но для обычных пользователей свобода за спиной Linux-систем не имеет никакого смысла, если это свободное ПО не приносит при этом никакой практической пользы, например, настоящей свободы использования.

То есть, для исправления текущей ситуации с Linux-дистрибутивами нам нужно полностью пересмотреть модель распространения ПО: уйти от церковного строя к рыночной системе. Конкретнее, понадобится учесть следующие технологические нюансы:

  • Необходимость принудительного использования безопасной «песочницы» для запуска приложений как на уровне пользователя, так и на уровне ядра. Сегодня установка нового пакета из репозитория - это компромисс и выбор из серии «все или ничего» в плане общей безопасности системы. Пользователи должны быть свободны в своём желании получать и запускать даже непроверенный код.
  • Плоская модель зависимостей пакетов (то есть, обновление одного пакета не должно принудительно заставлять обновлять другие (дублирование содержимого может быть устранено на другом уровне системы, например, на уровне файловой системы).
  • Гарантированная совместимость ABI с новыми версиями основной системы (то есть, при установке пакета он будет гарантированно работать в дальнейшем, не требуя от пользователя обновлений). Пользователи должны быть свободны от пресса необходимости постоянного обновления большей части дистрибутива.
  • Узловая сеть для увеличения пропускной способности каналов. Пользователи должны быть свободными от тяжеловесных и развесистых зависимостей приложений.
  • Криптографическая защищённость данных, а также наличие обзоров и официальных пометок о безопасности и достоверности приложения. Этим достигается важный пункт в системной безопасности: необходимые сертификаты для установки ПО понадобятся для корпоративного сервера так же, как сейчас для обычного пользователя, пожелавшего опробовать новую игру на смартфоне. Такое устройство системы распространения ПО позволит пользователям либо присоединиться к выбору большинства (положившись тем самым на количество установок), либо прислушаться к специалистам (и при выборе пакета исходить из авторитетного мнения экспертов), а также смешивать оба этих подхода.

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

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

Свободное ПО уже 10-15 лет тупо следует примеру развития закрытых систем и никогда даже близко не приближалось к простой и действенной модели распространения и заботы о целевой операционной системе. Закрытое ПО делает все большие шаги вперёд и свободным проектам нужно хотя бы поспевать за ним, чтобы выжить. И я думаю, мы это сделаем, я уверен, что свободное ПО как никакое другое подходит для реализации описанной технологии распространения.

>>> Источник

★★★★★

Проверено: Shaman007 ()
Последнее исправление: ins3y3d (всего исправлений: 2)

Просигнальте, если Вам интересны мои дальнейшие переводы тематических статей.

ins3y3d ★★★★★
() автор топика

уйти от церковного строя к рыночной системе

Дай догадаться — там в оригинале про cathedral? :)

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

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

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

Ну это про p2p сеть намекалось? Я не рискнул так заменять.

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

Видел этот тред на одной странице. И да, конечно, он превращает лин в вин. Сейчас пишут одно ядро, без разделения. Предлагает сделать вариант для пользователей/разработчиков драйверов с устойчивым ABI/API? Ну-ну. Тогда самим разрабам ядра он станет неинтересен, им интересно совершенствование. Получится так, что usermod обветшает, а серверный вариант ускачет далеко вперёд.

darkshvein ☆☆
()
Ответ на: комментарий от PolarFox

Ну, разумеется...

So, to fix desktop Linux we need a radically different software distribution model: less of a cathedral, more of a bazaar.

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

ага, а «к рыночной системе» - про базар :-D

ахаха, ну так и есть! «So, to fix desktop Linux we need a radically different software distribution model: less of a cathedral, more of a bazaar.»

aol ★★★★★
()

Спасибо за перевод статьи, прочитал с удовольствием. По больше бы таких новостей и тем на ЛОРе, а то кроме выкидышей космонавта ничего и нет.

Вообще правильно мужик говорит\намекает, что пора бы разобраться с этими проблемами. Сейчас в СПО такая свалка хлама и куча проблем что иногда не произвольно думаешь - а не свалить бы на офтопик к чёрту(пока дуалбут)? Не зря я сегодня 2004 вспоминал, ох не зря, тогда было на много лучше.

P.S. ТС пиши\переводи еще, думаю это будет интересно многим.

Xe0N
()

Этот самый Молнар, вероятно, не знает про генточку с оверлеями.

Ну и да, мне одному его имя напомнило Лондо Моллари?

anonymous
()

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

Gunnerua
()

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

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

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

Этот самый Молнар, вероятно, не знает про генточку с оверлеями

Вот именно, тоже об этом подумал.

curufinwe ★★★★★
()

Инго Молнар открыл Америку...

proud_anon ★★★★★
()

Всем Ubuntu Software Center, посоны

x3qt
()

Интересно почитать.
//Видел на первой странице.

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

Это к сожжению, да.

ymuv ★★★★
()

К тому же для iOS/Android нет практически никаких ограничений и препятствий для приложений, стремящихся попасть на официальные площадки по распространению - они попадают туда почти автоматически.

Ага, копилефтные в особенности.

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

Просигнальте, если Вам интересны мои дальнейшие переводы тематических статей.

Да, интересно.

nihil ★★★★★
()

Ну и да, про iOS автор не совсем прав. В AppStore свою программу хрен засунешь, а загружая приложение из гуглоплея, нельзя быть сколь угодно уверенным в её работоспособности (и безвредности).

PolarFox ★★★★★
()

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

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

Просигнальте, если Вам интересны мои дальнейшие переводы тематических статей.

Просигналил.

ilya_evseev
()

Итак:

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

Что касаемо развития СПО, то лично я считаю, нужно создать наконец-то хоть какой-то базовый набор компонентов, которые будут пилиться в первую очередь, и которые будут развиваться.

Огромное количество пакетов, никогда не станет тем, чем планировалось. Наврядли наступит время, когда весь этот «падабум» приведут в порядок. Миллионы строк кода - тому доказательство.

Давно мечтаю о некой «централизации» усилий сообщества.

Маркет нам не обязателен, но стремление к созданию подобной структуры и упорядоченности - нужно.

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

P.S пламенный привет Isden'у

muteki_okami
()

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

В правильных дистрибутивах для этого придумали AUR.

anonymous
()

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

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

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

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

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

anonymous
()

Огрехи перевода есть. Но автор молодец.

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

Дальнейшие интересуют переводы, где читать?

jeuta ★★★★
()

А если выразить проблему еще точнее, линукс дистрибутивы не породили популярно FOSS аналога ISV софта. Грубо говоря дистрибутив системы раздут, а вот сборок софта «просто под линукс», («или просто под LSB и чтобы работало») с гулькин нос, и там нет совместного использования ресурсов - каждый пакет уникален.

kernel ★★☆
()
Ответ на: Итак: от muteki_okami

Маркет нам не обязателен, но стремление к созданию подобной структуры и упорядоченности - нужно.

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

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

По-моему автор статьи просто описал давно существующий 0install.

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

спасибо за перевод, переводи ещё :)

anonymous
()

Ну ито он вовремя, десктопы помирают уже, а он о пользователях вспомнил.

RedPossum ★★★★★
()

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

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

Это действительно проблема и ее надо как-то решать, но как - хз. Думать лень, своих повседневных девелоперских проблем хватает.

За перевод спасибо, я хоть и читаю/говорю почти свободно на английском, чтение перевода не вызывало дискомфорт (как это порой бывает).

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

чел выдает недостатки за преимущества и наоборот.

+1, чел с ног на голову все поставил. В g+ главное красивые лозунги закинуть, тролли сами соберут кучу плюсов...

bohm ★★★★★
()

но для обычных пользователей свобода за спиной Linux-систем не имеет никакого смысла

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

Ford_Focus ★★★★★
()

Дистрибутивы Linux создали собственные замкнутые (и даже закрытые) экосистемы

Чистая правда. Так что лучше всегда работать только и только с апстримом. От этого выиграют все.

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