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)

Ответ на: комментарий от AVL2

Это какая-то безумная мотивация - «потому что легко».

Почему безумная? Сейчас работает мотивация «яманал под все ваши сорок версий стапятидесяти дистров собирать».

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

Почему безумная? Сейчас работает мотивация «яманал под все ваши сорок версий стапятидесяти дистров собирать».

Но им не влом собирать свою программулю под стопицот версий андройда, ios, bada, wm, wp и теперь еще и windows 8 под арм и x86...

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

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

Но им не влом собирать свою программулю под стопицот версий андройда, ios, bada, wm, wp и теперь еще и windows 8 под арм и x86...

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

Там зонд, там хомячки, там можт и эфемерные, но прибыли, а не «легко собирать».

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

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

Влом. Они собирают два пакета - исходники и виндовый.

Я тебе перечислил _восемь_ только платформ, под которые собирают программы.

Виндовые программы собирают под xp, под семерку, под x86, под x64, не говоря даже о юникоде.

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

Да что ви говорите? Блендер, файрфокс, матлаб, ssps, skype - все делают generic linux и у всех ведь работает...

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

Ну так и в generic линуксе так же. Или точат и тогда дистры не проблема. Или до кучи собирают и тогда «даже возможности унылые по сравнению с» основной платформой.

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

Я тебе перечислил _восемь_ только платформ, под которые собирают программы.

Я про эрланг. А под те восемь собирают потому что легко.

Блендер, файрфокс, матлаб, ssps, skype - все делают generic linux и у всех ведь работает...

Ага -static. Замечательный ход! Еще они собирают не пакеты а просто статический бинарь.

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

Я про эрланг. А под те восемь собирают потому что легко.

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

А «потому что легко?!» Ну убей себя, это тоже несложно. Даже не знаю, как это можно обсуждать...

Ага -static. Замечательный ход! Еще они собирают не пакеты а просто статический бинарь.

Во первых, с какой стати static? Без проблем работает динамическая линковка. А кто хочет, тот пусть статику делает, хотя я таких давно не видел.

А пакеты? Ну так в таком магазине пакеты, это просто архивы. По любому.

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

А «потому что легко?!» Ну убей себя, это тоже несложно. Даже не знаю, как это можно обсуждать...

Идеология FSF построена на том что если нужно - то можно. Убей не видел там требований обязательного траха с соурсфоржем, даже тем кому не нужно.

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

Идеология FSF построена на том что если нужно - то можно.

Вот это как раз понятно. Вот когда _нужно_, тогда что-то и делается. А если не нужно, то как бы ни было легко - никто пальцем не пошевелит.

Убей не видел там требований обязательного траха с соурсфоржем, даже тем кому не нужно.

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

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

Я только хочу сказать, что как пользователь андройда, в котором я хорошо разбираюсь и как непользователь эппла, о котором я много знаю от других, я категорически против, чтобы эта модель развития (терминал-хомячки-стричь овощей) пришла к нам в линукс. Это плохо. Мы не должны этого допустить.

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

потому что нет главного - зонда и процедур насилия.

Красиво сказал.. :-)

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

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

всё правильно сказал

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

даже не пытаются собрать какой нить «generic linux».

Неосиляторы статической сборки?

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