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)
Ответ на: комментарий от proud_anon

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

Свободное ПО такое свободное.

«Сам не знаю, но думаю, что фигня»?
На самом деле, реализация песочниц в Андроиде оставляет желать лучшего, но сама идея хорошая.

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

Песочниц без дыр не бывает.

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

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

xtraeft ★★☆☆
()

Сегодня установка нового пакета из репозитория - это компромисс и выбор из серии «все или ничего» в плане общей безопасности системы

Boot environments надо в линуксе заиметь.

обновление одного пакета не должно принудительно заставлять обновлять другие

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

Многие идеи можно подсмотреть в maven: зависимость от конкретных версий, shade (=сборка толстого пакета вместе с зависимостями). Плюс надо по-умному организовать relocation, чтобы разные ветки зависимостей можно было ставить в разные места.

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

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

Пользователи должны быть свободными от тяжеловесных и развесистых зависимостей приложений

От этого полностью не избавиться. Просто грамотно организовать сетевой кэш пакетов. Пользователи обычно альтруистичны и любят делиться чем-нибудь. А для защиты от подлогов есть подписи.

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

Выбор между двумя бэконовскими идолами, хорошая идея.

zhuravlik ★★★★
()

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

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

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

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

Стратегия «мы вам обеспечим супербезопасность потому что все промайнтейнено нами»

Никто и не говорил никогда такого.

Любой пользователь имеет право и возможность ставить программы как угодно.

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

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

Да не выход все это. Что вы все уперлись в песочницы, как в защиту.

Лично мне удивительно, что пока ни один магазин пакетов не выстрелил. Может, десура поможет?

AVL2 ★★★★★
()

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

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

Так бы и написали, хотим на венду :)

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

в бубунте ни одна из означенных проблем не решена

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

>Админские права для установки игры - это бредовина.

Ты шо, скопировать каталог с игрой в локальных каталог пользователя не можешь? Шо, говоришь авторы программ такой архив не положили? А дистры то тут при чём?

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

Любой пользователь имеет право и возможность ставить программы как угодно.

Как угодно - это скачать с соурсфоржа и компилить?;)

где все уже собрано и как-то протестировано.

Все? Реально таки все? Недавно понадобилось создать среду для эрланга на не последнем дистре - бубунте. И что я там в репах нашел? Да почти нихрена не нашел. А то что есть - лохматой древности.

r ★★★★★
()

То, что предлагает сей товарищ, подразумевает отказ от различных дистрибутивов (в современном понимании этого термина) в угоду единого дистра (в значении «ОС»)? Нелегко это будет, ой нелегко!

Да и с сохранностью ABI (думаю, тут можно вести речь и об API) тоже непросто выйдет.

carasin ★★★★★
()

Свободное ПО уже 10-15 лет тупо следует примеру развития закрытых систем и никогда даже близко не приближалось к простой и действенной модели распространения и заботы о целевой операционной системе

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

ИМХО: автор (Ingo Molnar) тролль и лжец.

fang90 ★★★★★
()

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

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

Линуксу это не грозит. Винда уже есть.

Андроед тоже есть. При чем он есть именно там где будущее - на новейших портативных девайсах. Как долго по твоему ждать когда планшетный формат начнет вытеснять ноутбучный? А когда начнет - производители по твоему вдруг откуда ни возьмись вместо андроеда будут ставить туда бубунту? Ага - щаз.

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

Если таких великолепных статей, то очень интересны. Переводите ещё!

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

Насколько я понял, он ведёт речь о едином репозитории (или его подобии), в котором разработчик программы автоматом становится и её мейнтейнером. Т.о. получаем бОльшую оперативность появления пакетов в репе. А для того, чтобы избежать проблем с безопасностью, каждая программа будет выполняться в «песочнице».

carasin ★★★★★
()

Да он укурился, сделать все как в винде и андроед маркете. Разве в маркетах - это софт? да там на коленке писаный, сырой. А вот в GNU репозитариях софт проверенный годами и с кучей настроек. -Здравствуйте вирусы, песочницы, антивирусы. Это же бесконечная, неразрешимая проблема. +/-ФС будет шуршать с дедупликацией.

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

xor2003
()

Согласен со всем, о чём пишется в статье. Хотелось бы добавить, что для успешного развития системы нужен один центр распространения приложений и контента, как AppStore или его аналог от Google. И пакеты для всех дистров должны быть одного формата. Все приложения должны скачиваться и устанавливаться однинаково, одним унифицированным методом. Кроме того, нужен нормальный SDK под BSD-подобной лицензией, как у Android, для создания несвободных программ. Некоторое ПО по объективным причинам не может быть свободным, и оно нужно пользователям. Те же сложные 3D-игры, с высококачественным контентом, их невозможно создавать в рамках модели GNU. Для них нужен SDK с чем-то, более подходящим, чем лицензия GPL/LGPL.

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

Ты шо, скопировать каталог с игрой в локальных каталог пользователя не можешь?

[вброс]Может он перепутал с вендой, там права админы нужны для установки драйвера зонда, без него - не запустится игра[/вброс]

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

Я так понимаю, Молнар говорит с точки зрения Ынтырпрайза. Так и в этом случае непонятна его затея. Скажем, как выглядит ситуация сейчас. Если какая-то контора заинтересована в распространении и использовании своего софта, она как минимум создаст для него пакеты и как максимум - даже поднимет свой репозитарий под несколько ведущих дистрибутивов. Если этот софт кому-то нужен и его разработчикам доверяют, такие пользователи подключат этот репозитарий рядом с основным.

У меня, например, стоит сид. Софт достаточно свежий. Новинки проникают со скоростью от нескольких часов, до нескольких дней. Если мне нужно, чтобы практически сразу появлялись новые ядра, я подключаю репозитарий аптусида, mc обновляется очень быстро благодаря доброму человеку, поднявшему для него отдельный репозитарий. Сейчас ситуация какая? Энтузиасты опакечивают в дистрибутиве перечень пакетов, который именно им интересен или за который они по той или иной причине взялись. Разработчики при этом никоим образом не страдают. Если какой-то софт заброшен разработчиком и не собирается/нарушает целостность системы - то как такому разработчику поможет маркет - я не представляю.

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

Bod ★★★★
()

А есть полный список разработчиков ядра, зажигающих в плюсике? Я бы подписался.

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

Опять же. Не хочешь нового - сиди на stable

Он хочет нового без обновления дистрибутива.

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

Бубунта рядом с Android и рядом не валялась. Да и разработка приложения под Android и такого же под Ubuntu - немного разные вещи. Проблема у Ubuntu с лицензиями(для проприетарного ПО не подходит GPL и LGPL), проблема с отсутствием внятного SDK, единого API для GUI-приложений, с фрагментацией платформы и т.п. Android победил, потому что он даёт то, чего все ждут. Он проще и понятней, под него легко создавать ПО, и выгодно распространять.

lucentcode ★★★★★
()
Ответ на: Отвечаю: от muteki_okami

Зачистка

Зачем ограничивать выбор удаляя приложения? Есть серверные и десктопные версии систем с разными патчами ядра, что не устраивает?

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

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

давайте в наш век копроэкономики, будем производить фигню как и все, как китайцы, а че все же хавают

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

Я не отрицаю, что жизни без них нет. И все же, когда я ее ставил, кеды были свежее в доп. репозиториях. Тоже самое касается и vlc и думаю будет еще куча таких примеров.

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

Надо проверенный годами GNU софт портировать под планшеты эти. А то что в маркетах - это не софт.

Чувак не про софт, а про модель распространения говорит.

r ★★★★★
()

Ох.... Вот это пацан жжот... Статья проплачена, ибо я не верю что молнар настолько туп и неграмотен в текущих реалиях...

Включить ПО в дебиан? неделя максимум(конечно же в анстейбл и через 10 дней в тестинг, а затем и с ближайший стейбл). Включить ПО в андроид? Ой, да не смешите! Можете об этом и не мечтать... Они патчи коммитят в мейнлайн спустя месяцы!!! И это по RC багам! :)

iOS ? Да что он вообще знает о них? Да что вообще кто-нибудь, кроме сотрудников, знает о них внутри?

Или он про ПО? Тогда причем тут дистрибутивы? Ну как можно сравнивать 5% десктопов на линуксе с 90% мобильных ОСей ?

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

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

Победил не гугль, а доказал жизнеспособность принцип. И сколько бы Марк не пилил юнити - бубунта на планшетах не появится, если туда нельзя в один тык заинсталить ангри бердс.

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

с фрагментацией платформы

Кот бы говорил. Программу делаем либо на далеко не новом api 2.3, либо на планшеты на 3.2, либо на сугубо некоторые планшеты и телефоны на 4.0. Это не говоря про зоопарк методов сжатия текстур и всякого рода аппаратных и софтварных глюках на разных устройствах и прошивках.

PolarFox ★★★★★
()

Разраб Ядра?

Так пусть с Ядра и начнёт: hardware (2/3 конфига) - автоподключение модулей с динамической компиляцией близстоящим компилятором; software - 1/2 так же, по запросу, 1/2 на основании ограничений пользователя.

Система? Мало помойки - давайте набросим, мы умеем! :)))

Автор троллит?

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

В чём здесь поможет маркет?

Дело не в маркете. Он в данном случае не говорит «все на маркет» - он просто указывает что есть требовния. Создавать реп мысль правильная - завасит от цены и легкости. OBS шаги в праивильном направлении. Маркет утт в данном случае не все на гугльмаркет - а все в некие стандарты дистрибюции - чтобы не был либраоффис в репе зюзи, более либрастый либраоффис в пакете васи на обс и еще более либрастый.... и то же самое еще для кучи дистров. А чтобы вон там зюзя, там бубунта - а вот тут либраофис. И нехер зюзеводами и бубунтоидам вставлять принципиально новые сплешскрины.

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

GNU-платформе не нужен ангри бёрдс

Ты все про ерему. Причем тут гнуплатформа? Андроед - это тоже линукс. Просто у него и бубунты различная модель распространения.

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

А там оно что ли уже есть?

Там без него никуда. Пароль на эпплстор спрашивается раньше чем операционка доинсталистся. Весь софт инсталится из стора.

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

Ага, со всеми зависимостями вплоть до glibc.

Вот тут то и поднимут голову сервисы типа OBS.

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

все в некие стандарты дистрибюции - чтобы не был либраоффис в репе зюзи, более либрастый либраоффис в пакете васи на обс

Сусёвая репа только для суси. А что касается реп энтузиастов - весь вопрос в доверии. Если не будет доверия к репе Васи - она, при наличии более доверенных альтернатив, тихо загнётся. И не будет поганить все системы без разбора.

Точно также, как и с дистрибутивами. Сколько воплей о зоопарке, но что запретит энтузиасту собрать свой дистрибутив? Может даже со своим форматом пакетов. Но если он будет ненужен - им будет пользоваться сам сборщик и пара его друзей.

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

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

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