Турвальдс сам признался что проблемы есть ... (Страница 1) / Дорога, открытая всем / Форум StopLinux

Форум StopLinux

Критика ОС GNU/Linux, MAC, Windows, BSD, Solaris и т.д.

Вы не вошли.

#1 04-09-12 18:21:14

beep
BSD
Из UA
Зарегистрирован: 17-02-12
Сообщений: 765
Windows XPChrome 21.0.1180.83

Турвальдс сам признался что проблемы есть ...

03.09.2012 12:01  Линус Торвальдс и другие разработчики ядра подключились к обсуждению проблем Linux на десктопе

Скрытый текст:

К обсуждению темы с анализом причин проблем с развитием Linux-десктопа подключились несколько известных разработчиков ядра Linux, среди которых Линус Торвальдс, Алан Кокс, Инго Молнар и Тед Тц'о. Новую дискуссию спровоцировал Линус Торвальдс, который подчеркнул, что одним из главных правил разработки ядра является сохранение неизменности внешних программных интерфейсов. Да, внутренние интерфейсы ядра находятся в постоянной переработке и часто меняются, но эти изменения остаются под капотом и не влияют на работу пользовательского окружения.

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

Мигель де Икаса парировал ответ Торвальдса тем, что успех десктоп-систем связан не только с приложениями, но и с поддержкой оборудования системой. Непостоянство ABI-интерфейса усложняет разработку драйверов и требует их постоянной адаптации и пересборки для новых версий ядра. Отсутствие бинарной совместимости приводит к тому, что драйвер (и любой другой модуль ядра), собранный для одной версии ядра не сможет работать в других версиях ядра без пересборки. Постоянные изменения в API подсистем печати, звуковой системе, шинах обмена данными и системе инициализации, вкупе с большой фрагментацией дистрибутивов затрудняют работу сторонних коммерческих поставщиков приложений, поддержка десктоп-решений для Linux для которых обходится слишком дорого.

Алан Кокс выразил схожую с Торвальдсом позицию, указав на то, что исполняемый файл c игрой, собранной им в 1992 году, до сих пор прекрасно работает независимо от версии ядра. Доводы в изменении звукового API также ошибочны, так как прослойка совместимости с OSS позволяет продолжать использовать даже самые ранние звуковые приложения. Более высокоуровневые системы, такие как Pulseaudio, также имеют средства для обеспечения совместимости со старыми приложениями.

04.09.2012 12:14  Продолжение дискуссии с Линусом Торвальдсом о стабильности API ядра Linux

Скрытый текст:

В связи с недавно опубликованным заявлением о первичном приоритете сохранения неизменности внешних программных интерфейсов ядра Linux, влияющих на работу пользовательских приложений, Линусу Торвальдсу был задан вопрос, как в этом случае следует воспринимать наблюдаемые последние годы нарушающие совместимость изменения в ядре, такие как прекращение поддержки некоторых файлов и директорий в /proc, постоянное изменение структуры /sys, непостоянство механизма уведомления приложений об изменениях в файловой системе (inotify, dnotify и fnotify) и наличие в ядре API-вызовов, которые можно использовать только из модулей под лицензией GPL.

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

К сожалению, не всегда можно на 100% гарантировать совместимость, так как нарушения с некоторыми старыми программами возможны в неординарных ситуациях, например, когда нарушение совместимости требуется для исправления уязвимости и невозможно найти обходной вариант. Не исключены ситуации, когда совместимость нарушается по недосмотру в результате ошибок. Информация о возникших проблемах может появиться спустя месяцы после внесения изменений, но разработчики всегда серьёзно относятся ко всем сообщениям о нарушении совместимости и отменяют добавление больших изменений, если они сказываются на работе отдельных приложений.

Возобновление совместимости из-за ранее внесённых ошибок рассматривается как очень сложные для решения проблемы. Например, из-за ошибки в ядре была нарушена работа 32-разрядного демона autofs при использовании 64-разрядных сборок ядра. Различные дистрибутивы добавили в свой состав разные патчи для устранения данной проблемы, но при попытке исправить проблему в ядре возникла ситуация нарушения совместимости на уровне ошибок со старыми версиями (перестали работать пакеты autofs, в которые были добавлены исправления для обхода проблемы в ядре).

Также упоминается, что многие из связанных с обеспечением обратной совместимости параметров ядра настраиваемы, поэтому можно собрать ядро с такими настройками, при которых совместимость со старыми компонентами пользовательского окружения будет нарушена. Примером таких настроек, которые легко отключается в конфигурации, может служить поддержка формата исполняемых файлов a.out, прослойка для совместимости со старым беспроводным стеком, поддержка некоторых возможностей /proc и элементы совместимости с lm-sensors. Другие параметры, влияющие на совместимость, требуют включения или отключения во время работы, например, управляющие переключением видеорежимов модули KMS должны быть отключены для старых версий X.Org, так как они мешают работе старой схемы инициализации графики.

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

В дополнение Линус привёл пример нескольких проблем, связанных с нарушением совместимости API, с которыми ему приходится сталкиваться как пользователю Linux:

Непостоянство программных интерфейсов драйверов, развиваемых проектом X.Org. В частности, упоминаются постоянно возникающие проблемы с разработчиками драйвера Nouveau, которые слишком часто меняют API, что приводит к несовместимости DRM-модуля Nouveau с прошлыми версиями драйвера, работающего на уровне пользователя. Тем не менее, в настоящее время отмечаются положительные сдвиги в этой области, в частности, проект Nouveau изменил свою политику и теперь пытается избегать нарушения совместимости API;
Частое нарушение в прошлом обратной совместимости в звуковых библиотеках, развиваемых проектами ALSA и PulseAudio. Практика нарушения API в звуковых библиотеках не касалась интерфейсов ядра и в настоящее время уже почти не проявляется, тем не менее, в прошлом непостоянство звукового API приводило к большим проблемам в среде разработчиков приложений;
Нарушение работы бинарных приложений при обновлении GLibc. Несмотря на то, что разработчики Glibc относятся к проблемам совместимости значительно более аккуратно, чем разработчики GTK+, временами случаются просчёты, приводящие к нарушению работы пользовательских приложений. При сообщении о подобных фактах нарушения работы ответом часто является ссылка на проблемы самого приложения. Хочется надеяться, что недавнее изменение модели управления в проекте Glibc позволит пересмотреть правила обеспечения совместимости.

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

Неактивен

Подвал форума

Под управлением FluxBB
Модифицировал Visman

Яндекс.Метрика