Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет Misha Verbitsky ([info]tiphareth)
@ 2006-09-27 20:05:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Настроение: sick
Музыка:Inner Glory - Remains Of A Dream
Entry tags:gpl, linux

Kororaa Accused of Violating GPL

Раз
| два | три

Некто Кристофер Смарт сделал бинарный
дистрибутив Линукса на основе Gentoo. Говорят,
хороший. Также он залил это дело на компакт, чтоб
оно грузилось прямо с диска, под названием
Kororaa Xgl Live CD. На маорийском языке
Kororaa значит "пингвинчик".

Поскольку это дело должно грузиться с диска,
к нему должны быть приложены драйвера видеокарт.
А они выпущены пор проприетарной лицензией.
И на диск Линукса (многие считают) их ставить
нельзя; в результате каждый, кто себе устанавливает
Линукс, должен включать Интернет, сгружать драйвера
с сайта производителей, и в особо тяжелых случаях
перекомпилировать ядро. Чудовищный геморрой, но
авторы дистрибутивов считают (видимо, несправедливо)
что иначе они нарушат лицензию GPL.

На Kororaa Xgl Live CD эти драйвера были,
и какой-то анонимный педерас, известный как "разработчик
ядра", стал качать права из-за нарушения лицензии.
Результат: "The Kororaa Xgl Live CD has been taken
offline due to GPL violation".
Больше Kororaa Xgl
Live не выпускается. Лучше никому не стало,
пользователи страдают, разработчик нервничает.
Все зло - от педерасов. В нехорошем смысле слова.

Педерасов надо душить. Но проблема, в принципе, серьезная,
особенно учитывая, что никакой лицензии "Kororaa Xgl Live
CD" не нарушал.

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

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

По ссылке от [info]gregory_777

Привет



(Читать комментарии) - (Добавить комментарий)


[info]lqp
2006-09-28 10:48 (ссылка)
У Линуса имелись (и имеются) все возможности сделать бинарные драйвера безупречно легальными. Он этого делать не стал. Более того, ядро (подобно gcc) намеренно сдизайнено так, чтобы затруднить доступ к ключевым его элементам из юзерспейса.

Автора Kororaa никто, в общем-то, пока в суд не таскал. Ему написали письмо неизвестного содержания, и он сам решил держаться от греха подальше.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]tiphareth
2006-09-28 10:57 (ссылка)


Вполне известного содержания.


It seems that your kororaa live CD contains the non-GPL nvidia and ati
binary drivers. I hereby request that you cease distribution of these
drivers as part of your live CD for the following reason: This
distribution both goes against the open source spirit of linux and is a
license violation of the linux kernel.

To expand on this later claim:
* When *you* build these drivers, you include GPL linux kernel code in
the binary result, which *you* then distribute.
* The GPL license clause 2 does not allow combination of GPL and non-GPL
work in a bigger work (your live CD) when the 2 pieces are not
reasonably independent. (Strictly speaking this means you're not allowed
to include the linux kernel on your CD; to keep your CD functional
however the easier way is to drop the nvidia/ati drivers)
* The GPL license clause 3 does not allow you to distribute a derived
work unless it's also GPL licensed. The compiled ATI/NVidia drivers are
clearly a derived work (even though parts of the drivers most likely are
not, parts clearly are, and you're distributing it all together).

While I applaud your effort to make linux easier to use, I urge you to
play be the same rules (GPL) as everyone else is playing by.

При том, что драйвера NVidia (надо полагать, и ATI) заведомо
легальные, по крайней мере по решающему мнению Линуса - рассылание
подобных является FUD-кампанией, направленной на дискредитацию GPL.

>У Линуса имелись (и имеются) все возможности сделать
>бинарные драйвера безупречно легальными. Он этого делать
>не стал.

А зачем это нужно? Бинарные драйвера - зло, и с ними
нужно бороться, это все понимают. Но бороться с ними
путем рассылания веером cease and desist разработчикам
дистрибутивов может только законченный мудак и пидор.

Такие дела
Миша

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]lqp
2006-09-28 11:10 (ссылка)
Линус гонит пургу насчет легальности существования нвидивских драйверов как таковых. На мой взгляд, в этом вообще не может быть какого-то сомнения - поскольку они содержат только собственный код нвидии, они безупречно легальны.

Однако право на существование этих драйверов - это одно. А право на распространение их в составе ядра - совсем другое. GPL2 не дает разрешения на такую комбинацию.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]tiphareth
2006-09-28 11:19 (ссылка)
Неверно.

GPLv2 section 2:

"In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License."

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2006-09-28 12:31 (ссылка)
Термин "mere aggregation" это пиздец засада - каждый его интерпретирует как хочет, и его отличие от случая "combining two modules into one program" ,видимо, юридически неописуемо. Об этом в GPL факе написано так:

What constitutes combining two parts into one program? This is a legal question, which ultimately judges will decide.

Burzum.

(Ответить) (Уровень выше)


[info]lqp
2006-09-28 22:39 (ссылка)
FSF считает - и большинство разработчиков следуют за ним - что если два бинарных модуля имеют при выполнении общее адресное пространство - то это одна программа, разбитая на два файла, а не mere aggregation двух программ.

(Ответить) (Уровень выше)


[info]tiphareth
2006-09-28 11:22 (ссылка)
"В составе ядра" их никто, естественно, не распространяет.
Драйвера распространяются внутри дистрибутива как
самостоятельный продукт. Идея заставлять людей вместо
этого скачивать их с сайта NVidia - фантастически
идиотская, и ударяет по енд-юзерам и только по ним.
При этом (что особенно глупо) с дистрибутивами,
которые содержат non-GPL-code, никто не борется.

Такие дела
Миша

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]tiphareth
2006-09-28 11:24 (ссылка)
Я не предлагаю с ними бороться, естественно

(Ответить) (Уровень выше)


[info]lqp
2006-09-28 22:42 (ссылка)
Они распространяются на одном - физически - носителе. Технические подробности организации этого носителя, это не более чем технические подробности.

(Ответить) (Уровень выше)


[info]sighup.livejournal.com
2006-09-28 12:58 (ссылка)
Ммм. У него есть технические основания этого не делать по обоим пунктам.
По первому пункту: для того, чтобы написать вменяемый драйвер, надо либо
иметь очень сложное LGPL'ed Driver API, о котором заботиться -- делать этого
никто не будет, либо все функции, которыми потенциально может пользоваться драйвер (а это 80% ядра) делать LGPL. Этого тоже никто делать не будет.
Что касается намеренного дизайна, то это неправда. У линуксового ядра в части его сообщения с юзерспейсом с самого начала классический юниксовый интерфейс.
Сейчас к нему были добавлены всяческие FUSE и прочая, что вдвойне опровергает это утверждение.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]lqp
2006-09-28 22:30 (ссылка)
Какие-то ужасы рассказываете. Во первых, причем тут API? Я имел в виду простенькое дополнительное разрешение, или даже уточнение, что независимо от прочих условий

Подобное аналогичному разрешению, спокон веков существующему в GLIBC.

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

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]sighup.livejournal.com
2006-09-28 22:51 (ссылка)
Какое уточнение?
glibc -- LGPL.
Линуксовое ядро -- GPLv2.
Модули в ядро динамически линкуются и шарят address space.
Вы о чём, Фёдор?

Что касается callback'ов из ядра в userspace, то это никому не нужно не в силу юридических причин, а в силу чудовищной медленности операции копирования между kernel space и userland'ом (особенно на x86), что по сию пору делает невозможным написание вменяемых драйверов PCI-устройств с DMA или, скажем, реализацию ATAPI таким путём. В местах, в которых это не критично, это было сделано сто лет назад -- см. ту же FUSE.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]lqp
2006-09-29 12:23 (ссылка)
Уточнение (не то сервер сьел, не то я отвлекся и забыл дописать) что независимо от всех прочих условий, бинарные модули допустимы. Прямо таким языком.

GLIBC AFAIK не вся LGPLная, есть и GPL-гные части. Ну или возьмите для примера GCC.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]sighup.livejournal.com
2006-09-29 14:53 (ссылка)
Правильно. Для того, чтобы собираться GCC, программам не обязательно линковаться с libgcc, с которым линкуется сам gcc.
А вот в ядре бинарный модуль может сделать практически всё, что угодно, и разрешить бинарные модули означало бы возможность создания derivative works из всего линуксового ядра разом. Очевидно, что далеко не все люди, отдавшие код в ядро, на это согласны. Это было бы возможно, если бы у ядра был чётко очерченный Driver API, о чём я говорил выше. Для этого API можно было бы включить в лицензию специальный пункт -- но это автоматом означало бы необходимость этот API поддерживать и заботиться об обратной совместимости, чего делать не хочет никто.

(Ответить) (Уровень выше)


[info]yushi
2006-09-29 13:23 (ссылка)
Э… так динамическая линковка с GPL софтом разрешена вроде? Или я туплю?

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

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]sighup.livejournal.com
2006-09-29 14:49 (ссылка)
Не-а. Динамическая линковка запрещена, поскольку предполагается, что в этом случае закрытый линкуемый код должен что-то существенное знать про GPL-covered код -- заголовки, структуры данных и так далее, а значит, являться derivative work. Про это в GPL FAQ написано.
В принципе, это всё довольно grey area, поскольку в тексте GPL (в отличие от LGPL) понятия "linking" вообще нет.
С другой стороны, есть юридическая практика, когда Велте доказывал компаниям (не будем показывать пальцами, каким), что их закрытые модули, которые используют GPL'ные хуки iptables (по сути, просто включают при компиляции заголовки с API) нарушают таким образом GPL.

(Ответить) (Уровень выше)


(Читать комментарии) -