LINUX.ORG.RU
ФорумTalks

Linux Kernel не дает проприетарщикам

 , ,


0

2

Релиз Linux 6.6 принес следующее новшество:

Внесены изменения в обработку внутренних символов категории «GPL-only», нацеленные на усложнение использования проприетарными модулями GPL-прослоек для обхода ограничений доступа к подсистемам ядра, допускающим обращение только кода под лицензией GPL. В функции symbol_get() для проприетарных модулей запрещён поиск символов, помеченных как GPL-only, и наоборот, GPL-модули не смогут находить символы, экспортируемые проприетарными модулями.

Теперь проприетарные модули больше не смогут обращаться к GPL-only символам через symbol_get(). Поэтому проприетарщики (привет, nvidia) будут вынуждены либо открыть свои драйверы, либо страдать.

Поэтому проприетарщики (привет, nvidia) будут вынуждены либо открыть свои драйверы, либо страдать

В краткосрочной перспективе этот патч просто выкинут из ядра все дистры.

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

В краткосрочной перспективе этот патч просто выкинут из ядра все дистры.

Все это какие? В RHEL и прочие LTS это не попадает, в Fedora не видно, в раче нет, в nix уже флажок стоит.

cumvillain
() автор топика
Последнее исправление: cumvillain (всего исправлений: 3)
Ответ на: комментарий от cumvillain

Какое отношение это имеет к забору от проприетарных драйверов?

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

Если так любите швабодку, то на полумерах не останавливайтесь, выпиливайте все API для загрузки блобов и сидите в режиме VESA VGA, без WiFi, звука, APM, и 90% всего остального сервисного железа.

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

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

То есть драйверы есть, правильно тебя понимаю? И они вполне себе открытые, раз ты их пересобирал? То что есть RHEL с его мегафризом: да, это проблема. Но это проблема RHEL и тех несчастных, кто его использует.

cumvillain
() автор топика
Последнее исправление: cumvillain (всего исправлений: 1)
Ответ на: комментарий от quwy

Если так любите швабодку, то на полумерах не останавливайтесь, выпиливайте все API для загрузки блобов и сидите в режиме VESA VGA, без WiFi, звука, APM, и 90% всего остального сервисного железа.

Зачем нам это делать? Что вендор кладет в прошивку это его дело.

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

GPL позволяет тебе поправить сорцы. Но если выяснится, что ты правил сорцы чтобы обойти GPL, то это ататат.

GPL не запрещает править сорцы, чтобы обойти GPL. Не досмотрел тут Столлман =)

Кроме того, обход это GPL или нет вопрос крайне спорный. В свое время, чтобы не заставлять всех, пишущих код под Linux, лицензировать его исключительно под GPL, было сделано исключение для ядра. С чего вдруг сейчас с этим стали бороться? Я конечно понимаю, но как-то это странно.

Ну и самый простой способ обойти GPL, указать в программном коде, что модуль якобы GPL. Смогут ли на этом основании потребовать раскрыть исходники вопрос очень спорный, если во всех README и тп. будет, что лицензия проприетарная. Но видимо рисковать судом конечно не хотят.

praseodim ★★★★★
()
Последнее исправление: praseodim (всего исправлений: 1)
Ответ на: комментарий от quwy

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

Даже на десктопе с игровыми картами Nvidia далеко не статистическая погрешность. 2% в Steam, где 42% это правда SteamDeck, в любом случае больше 1% игрового(!) десктопа есть. Это мало, но на многомиллиардных рынках просто так себе никто даже 1% не может позволить потерять.

Но игровой сегмент - это не основной рынок Nvidia, основные деньги сейчас похоже крутятся на вычислительном рынке GPU для всяких нейросеток и прочего. Теслы и всякие H100 и тп. В том числе рынок облачных решений.

И вот там почти 100% - это Linux, там уже винда - «статпогрешность», как ты сказал.

praseodim ★★★★★
()
Последнее исправление: praseodim (всего исправлений: 1)
Ответ на: комментарий от praseodim

GPL не запрещает править сорцы, чтобы обойти GPL. Не досмотрел тут Столлман =)

Изменение исходников с целью обойти gpl является подтверждением твоего намерения нарушить лицензию и не открывать код твоей derived work. Все это имеет ценность в суде.

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

cumvillain
() автор топика
Последнее исправление: cumvillain (всего исправлений: 3)

Правильно делает, пусть расчехляются.

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

Во всех. Говноконторка, которая срать хотела на GPL.

Astra Linux и нарушение GPL – и это не единственный случай. Попробуй попросить у них исходники чего-нибудь из Astralinux Special Edition.

cocucka_B_TECTE
()
Последнее исправление: cocucka_B_TECTE (всего исправлений: 1)
Ответ на: комментарий от cumvillain

подтверждением твоего намерения нарушить лицензию и не открывать код твоей derived work. Все это имеет ценность в суде.

Придержите коней, советник. Иначе, мы в ходе прений дойдём до тезиса «открыл vim – уже преступник».

cocucka_B_TECTE
()
Ответ на: комментарий от hateyoufeel

Столман Шрёдингера – одновременно одобряет и не одобряет. С одной стороны свобода изменения своей копии исходного кода, а с другой – обход б-гоугодной GPL.

cocucka_B_TECTE
()
Последнее исправление: cocucka_B_TECTE (всего исправлений: 1)
Ответ на: комментарий от cocucka_B_TECTE

Тут фишка какая. Изменение копии, её сборка, распространение и использование не будут являться нарушением GPL.

А что будет? Это вот интересный юридический парадокс, в какой момент наступает нарушение.

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

Следовательно, нарушение возникает в момент загрузки проприетарного ядерного модуля в пропатченное ядро. Т.е. в этот момент пользователь юридически теряет право на использование продукта, т.к. такое использование не покрывается лицензией.

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

Придержите коней, советник. Иначе, мы в ходе прений дойдём до тезиса «открыл vim – уже преступник».

Нет. Здесь есть факт нарушения: распространение derived work с нарушением лицензии. И есть обстоятельства, это подтверждающие (слом ядерного API для эти целей).

cumvillain
() автор топика
Ответ на: комментарий от wandrien

GPL по умолчанию запрещает линковку с GPL-кодом проприетарного кода.

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

Следовательно, нарушение возникает в момент загрузки проприетарного ядерного модуля в пропатченное ядро.

Чем загрузка проприетарного ядерного модуля отличается от запуска проприетарной программы? Кто-нибудь может объяснить?

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

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

Да, так точнее. Но смысл тот же.

Чем загрузка проприетарного ядерного модуля отличается от запуска проприетарной программы? Кто-нибудь может объяснить?

А вот это - американские суды будут выяснять, в случае рассмотрения дела, где это будет существенным.

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

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

Да, так точнее. Но смысл тот же.

Нет, не тот же. Если продукт не распространяется, нарушения нет. На своём компе ты можешь с кодом делать вообще что хочешь.

А вот это - американские суды будут выяснять, в случае рассмотрения дела, где это будет существенным.

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

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

Это не статус-кво. Сложившийся статус-кво – это Лойнус трясёт пальчиком, но ничего не делает, а nvidia сотоварищи раздают закрытые модули и им за это ничего не делается. Про андроидофоны с закрытыми модулями из коробки я вообще молчу.

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

Нет, не тот же. Если продукт не распространяется, нарушения нет. На своём компе ты можешь с кодом делать вообще что хочешь.

А в чём именно заключается «продукт»?

Это тоже можно как угодно вывернуть, в зависимости от конкретного суда.

Его никто не будет рассматривать, потому что ссыкотно в суд на такое подавать.

Так на этом всё и держится.

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

А в чём именно заключается «продукт»?

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

Так на этом всё и держится.

Вот именно. А значит, можно распространять ZFS как хочется, в том числе и бинарным модулем, вставлять ре-экспорт GPL’ных символов и слать Лойнуса в задницу^Wсуд с его предъявами. Подход «А х%&е вы мне сделаете-то?» весьма работает :)

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

Ну насчёт адройдо-фонов есть разница всё-таки. И некая польза от GPL.

Если ты возьмёшь софт Плойки, который сделан с использованием кода BSD, и будешь что-то там реверсить, то тебя засудят.

А если ты будешь реверсить потроха андройдофона, то судить тебя ссыкотно, т.к. еще неизвестно, кто кого засудит.

wandrien ★★★
()

В смысле страдать будем мы. Мне кажется что исчезнуть все лригинальные дрова и мы будем жрать реверс-*0вн0. Они там рофлят над нами.

TheNewDragon
()
Ответ на: комментарий от hateyoufeel

Чем загрузка проприетарного ядерного модуля отличается от запуска проприетарной программы? Кто-нибудь может объяснить?

Тем, что Linux не под GPLv2, а под GPLv2 with exception.

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

А у него были предъявы? Я видел только это:

Don’t use ZFS. It’s that simple. It was always more of a buzzword than anything else, I feel, and the licensing issues just make it a non-starter for me.

И вот это:

If somebody adds a kernel module like ZFS, they are on their own. I can’t maintain it, and I can not be bound by other peoples kernel changes.

cumvillain
() автор топика
Последнее исправление: cumvillain (всего исправлений: 2)
Ответ на: комментарий от wandrien

Тут вообще речь идёт о запрете загрузки в ядро любых не-GPL модулей. Допустим у меня есть некий драйвер под свободной открытой лицензией, но не совместимой с GPL. Я убираю проверку на GPLность модуля и распространяю свою сборку ядра и модуля с открытыми исходниками. Это является нарушением лицензии ядра? Это является ограничением свободы распространения и модификации исходного кода ядра линукс?

cocucka_B_TECTE
()
Ответ на: комментарий от cumvillain

Протестую. Советник занимается спекуляцией. Подзащитный волен изменять код ядра как ему угодно, это право ему дано лицензией. Подзащитный имеет право распространять модифицированную версию исходного кода под той же лицензией. Подзащитный имеет право использовать ядро как ему угодно.

cocucka_B_TECTE
()
Ответ на: комментарий от ratvier

Чем загрузка проприетарного ядерного модуля отличается от запуска проприетарной программы? Кто-нибудь может объяснить?

Тем, что Linux не под GPLv2, а под GPLv2with exception.

This exception is used together with one of the above SPDX-Licenses to mark user space API (uapi) header files so they can be included into non GPL compliant user space application code.

Это про включение заголовочных файлов в проприетарщину, а не про её запуск.

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

А у него были предъявы? Я видел только это:

Ну лол! Ты сам тут копипасту выше притащил.

Linux Kernel не дает проприетарщикам (комментарий)

Алсо, Greg KH заявлял, что «терпение разработчиков ядра по поводу ZFS и обхода EXPORT_SYMBOL_GPL кончается».

Разработчики ядра: «Валите на FreeBSD»

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

My tolerance for ZFS is pretty non-existant. Sun explicitly did not want their code to work on Linux, so why would we do extra work to get their code to work properly?

Все о чем они говорят это отсутствие поддержки со стороны ядра и отсутствие гарантий работоспособности zfs.

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

My tolerance for ZFS is pretty non-existant. Sun explicitly did not want their code to work on Linux, so why would we do extra work to get their code to work properly?

Все о чем они говорят это отсутствие поддержки со стороны ядра и отсутствие гарантий работоспособности zfs.

Ну ты полностью цитируй:

Yes, the "GPL condom" attempt doesn't work at all.  It's been shot down a long time ago in the courts.

Правда, ему там написали уже, что он неправ.

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

Ты приведи цитату где они угрожают засудить zfs.

Прямых угроз не было. Тем не менее, рассказывать про суды в треде про ZFS и экспорт символов под GPL – это как минимум прозрачный намёк.

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от cocucka_B_TECTE

Если она несовместима, значит с точки зрения авторов GPL, такая лицензия в чем-то ограничивала свободу пользователя. Потому что условия GPL были составлены так, чтобы только «свободный» (в понимании FSF) код был с ней совместим.

Так что один хрен.

Насколько это стыкуется со здравым смыслом - другой вопрос…

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

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

А совокупность запущенное ядро + запущенное приложение как производная работа не рассматривается, так как это два независимых продукта.

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

А совокупность запущенное ядро + запущенное приложение как производная работа не рассматривается, так как это два независимых продукта.

кто сказал? Если программа использует исключительно линуксовый api и больше нигде работать не может, то в чём разница между этим случаем и ядерным модулем, который точно так же использует исключительно линуксовый api и больше нигде не работает?

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

кто сказал?

Это не ко мне вопрос)) «Так принято».

Если программа использует исключительно линуксовый api и больше нигде работать не может, то в чём разница между этим случаем и ядерным модулем, который точно так же использует исключительно линуксовый api и больше нигде не работает?

Как это нигде? Линуксовую программу можно запустить на FreeBSD, виндовую - в wine или на ReactOS. И т.п.

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

И ответ тут будет не технический, а чисто юридический. Как суд решит, так и будет. А суд в США прецендентный.

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

Как это нигде? Линуксовую программу можно запустить на FreeBSD, виндовую - в wine или на ReactOS. И т.п.

тут сейчас ndiswrapper вспомнят.

И ответ тут будет не технический, а чисто юридический. Как суд решит, так и будет. А суд в США прецендентный.

Про что я тут и пишу. Это жирная бочка червей, которую открывать не хочет вообще никто, потому что потом её хрен закроешь. Поэтому можно без проблем ре-экспортировать символы из под GPL и слать Лойнуша с Гергом в такую-то задницу, если они начнут залупаться.

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

Если она несовместима, значит с точки зрения авторов GPL, такая лицензия в чем-то ограничивала свободу пользователя. Потому что условия GPL были составлены так, чтобы только «свободный» (в понимании FSF) код был с ней совместим.

Основные вопросы Линуса не с точки зрения лицензии, а с точки зрения Оракла:

Other people think it can be ok to merge ZFS code into the kernel and that the module interface makes it ok, and that’s their decision. But considering Oracle’s litigious nature, and the questions over licensing, there’s no way I can feel safe in ever doing so.

And I’m not at all interested in some “ZFS shim layer” thing either that some people seem to think would isolate the two projects. That adds no value to our side, and given Oracle’s interface copyright suits (see Java), I don’t think it’s any real licensing win either.

cumvillain
() автор топика
Последнее исправление: cumvillain (всего исправлений: 3)
Ответ на: комментарий от cumvillain

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

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

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

wandrien ★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)