LINUX.ORG.RU

Через год в Linux ядре будет блокирована работа закрытых модулей


1

0

В результате дискуссии в списке разработчиков Linux ядра, было принято решение, что Linux ядра выпущенные начиная с января 2008 года перестанут работать с модулями ядра, которые распространяются под лицензиями несовместимыми с GPL. До 2008 года, при попытке загрузки не GPL модуля будет выдаваться предупреждающее сообщение. Большинство Linux драйверов для soft-модемов, беспроводных и видео (ati/nvidia) карт распространяются производителями оборудования в бинарном виде. Главная цель акции - заставить разработчиков закрытых драйверов вынести основную функциональность драйвера в виде пользовательского процесса (userspace), оставив в виде модуля ядра только минимальный код.

Мнение Торвальдса [который считает это решение плохим] - http://groups.google.com/group/fa.lin...

Взято с opennet.ru

[Планы по блокировке по всей видимости отменили]

>>> Подробности

Re: Через год в Linux ядре будет блокирована работа закрытых модулей

s/Значение производной работы не будет расширено с целью включения софта созданного путем линковки/Значение 'производная работа' не распространяется на софт созданноый путем линковки/

самого колбасит:)

Кароче скипайте стилистику и граматику:)

r ★★★★★ ()

Re: Через год в Linux ядре будет блокирована работа закрытых модулей

>Убийца! Убил флейм... ;)

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

r ★★★★★ ()

Re: Через год в Linux ядре будет блокирована работа закрытых модулей

>То есть вы утверждаете что тот файл который можно скачать с nVidia (драйвер видеокарты) содержит ядро linux?!

Очереной пример переворачивания с ног на голову. Мнение обратное к

>Ядро не включается в драйвер - это ясно и без исходников.

Звучит: Драйвер включается в ядро - это ясно без исходников.

>если мои действия подпадают под GPL - что и есть самой сутью вопроса - это еще нужно доказать

Вы хотите попытать счастья в суде?

>Вы тоже не видели исходников.

Однако я хотябы посмотрел на вывод nm с различными флагами.

>Давайте валяйте - предьявляйте список копирайтеных объектов,

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

1. метод обмена с устройством и выделения ресурсов (области ввода-вывода).

2. метод обработки прерываний

3. метод работы с устройством (его частями/системными шинами)

4. метод обработки OpenGL инструкций

Далее:

>XO: Согласно этому пункту драйвер не производная работа.

Вы видели исходный код nv-kernel.o?

>Значение производной работы не будет расширено с целью включения софта созданного путем линковки с библиотечными программами, которые были разработаны и предназначены для того, чтобы быть использованы как библиотеки.

Однако Трольтех считает по другому...

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

Что это значит и как соотносится с мнением Трольтех?

ArtSh ★★★ ()

Re: Через год в Linux ядре будет блокирована работа закрытых модулей

>Мнение обратное к

>>Ядро не включается в драйвер - это ясно и без исходников.

>Звучит: Драйвер включается в ядро - это ясно без исходников.

Что-то тут имеет место быть проблема в логике. Ответсвенно заявляю - обратное мнение так не звучит.

K not included-in D. Обратное утверждение: K includend-in D.

Или вы что считаете что для "я не иду домой" обратным является "дом идет ко мне"?

Но это лирическое отсутпление.

По теме: какое имеет значиение то, куда включается драйвер? Субьект хозяйственной деятельности nVidia Corp имеет како-либо отношение к разработке того, куда включается драйвер? Нет. Таких продуктов оно не поставляет. Я в свои продукты включаю тучу других библиотек - их авторы даже не подозревают о моем существовании, уж не говоря о том чтобы заявочки делать типа их библиотеки становятся производными от моих продуктов.

>Вы хотите попытать счастья в суде?

Нет - просто обясняю вам что очевидную вещь, (которую к стати обяснял и Торвальдс про сисколы) - это не является исключением из GPL, потому что чтобы опираться на такие термины надо сначала попасть в сферу действия GPL. А мы сейчас обсуждаем как раз вопрос попадания в сферу действия.

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

Сама GPL опирается (устал уже повторять очевидную вещь) на понятие derivative work. Так вот пока не доказано что данная работа действительно derivative - GPL тут вообще не в кассу и ее действие на эту работу не распространяется. Производность работы и есть тот самый фактор который связывает одну программу с другой, и связь эта регулируется GPL. Пока не доказано наличие связи - регулировать нечего. Это 2 независимых продукта.

>Однако я хотябы посмотрел на вывод nm с различными флагами.

И что вы там увидели ядро линукс?

>1. метод обмена с устройством и выделения ресурсов (области ввода-вывода).
>2. метод обработки прерываний
>3. метод работы с устройством (его частями/системными шинами)
>4. метод обработки OpenGL инструкций

Copyright Act § 102(b):

In no case does copyright protection for an original work of authorship extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such work.

Резолюшен: copyright НЕ распространяется на method of operation. Все что вы сказали _не_ защищается копирайтом.

>Вы видели исходный код nv-kernel.o?

Вы утверждаете в исходниках драйвера _есть_ исходники ядра?

>Однако Трольтех считает по другому...

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

>Что это значит и как соотносится с мнением Трольтех?

Это значит что термин linking может быть употреблен с целью прояснить перед судом что собственно делает эта программа и для чего предназначена. НАпример возьмем libjpeg. Если я просто зову метод libjpeg - я линкуюсь - однако не делаю производной работы. Но из этого не проистекает что производня работа от libjpeg невозможна - я беру исходники, возможно лезу туда грязными лапами и включаю в свой продукт - эта работа уже производна (хотя тут есть факторы тоже - de minimis например).

r ★★★★★ ()

Re: Через год в Linux ядре будет блокирована работа закрытых модулей

>Для ответа на этот вопрос - проясните контекст изменения. Это происходило на машине разработчика? В памяти? Где? Потому что ответ разный в зависимости от контекста. Добавление hookа антивирусом в винде - является модификацией виндовса как software?

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

>Авторские права на все виды программ для ЭВМ (в том числе на операционные системы и програмные комплексы ), которые могут быть выражены на любом языке и в любой форме, включая исходный текст и объектный код, охраняются так же как права на произведение литературы. (статья 1261 4 часть Гражданского кодекса РФ)

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

Почитайте также статьи 1261 (Программы для ЭВМ), 1266 (Право на неприкосновенность произведения), 1270 (Исключительное право на произведение), 1280 (Свободное воспроизведение программ для ЭВМ)

>Так что конкретизируйте - что вы имеете ввиду.

Приведу примеры:

1. Компьютерные вирусы (есть такие, которые "существуют" только в памяти ЭВМ).

2. Отладка программы (в т.ч. дизассемблирование, декомпиляция).

3. Заплатки, они же патчи, которые накладываются на объектный код.

4. Адаптация произведения (как это понимает статья 1270, пункт 2 подпункт 9 ).

>Ответ такой: ...

Как эти пункты соотносятся с мнением Трольтех? Может ли к.-л. использовать GPL версию qt в своих закрытых разработках?

>в одном случае она является ПО как продукт, экономический объект.

Я не понял что Вы хотели сказать. Мы вобщем-то рассуждаем в том русле что Программа это в первую очередь объект авторского права...

>РАзница приблизительно такая-же как текст на листе бумаги и текст в голове.

Это неверная аналогия. В голове только образ текста, который может не совпадать с оригиналом и который невозможно извлечь. Копирование в память ЭВМ считается воспроизведением Произведения. Соответственно изменения как в памяти ЭВМ так и вне неё равнозначны.

>суд не будет руководствоваться такими понятиями как линковка и т.д. Он будет руководствоваться общими концепциями:

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

ArtSh ★★★ ()

Re: Через год в Linux ядре будет блокирована работа закрытых модулей

>Для ответа на этот вопрос - проясните контекст изменения. Это происходило на машине разработчика? В памяти? Где? Потому что ответ разный в зависимости от контекста. Добавление hookа антивирусом в винде - является модификацией виндовса как software?

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

>Авторские права на все виды программ для ЭВМ (в том числе на операционные системы и програмные комплексы ), которые могут быть выражены на любом языке и в любой форме, включая исходный текст и объектный код, охраняются так же как права на произведение литературы. (статья 1261 4 часть Гражданского кодекса РФ)

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

Почитайте также статьи 1261 (Программы для ЭВМ), 1266 (Право на неприкосновенность произведения), 1270 (Исключительное право на произведение), 1280 (Свободное воспроизведение программ для ЭВМ)

>Так что конкретизируйте - что вы имеете ввиду.

Приведу примеры:

1. Компьютерные вирусы (есть такие, которые "существуют" только в памяти ЭВМ).

2. Отладка программы (в т.ч. дизассемблирование, декомпиляция).

3. Заплатки, они же патчи, которые накладываются на объектный код.

4. Адаптация произведения (как это понимает статья 1270, пункт 2 подпункт 9 ).

>Ответ такой: ...

Как эти пункты соотносятся с мнением Трольтех? Может ли к.-л. использовать GPL версию qt в своих закрытых разработках?

>в одном случае она является ПО как продукт, экономический объект.

Я не понял что Вы хотели сказать. Мы вобщем-то рассуждаем в том русле что Программа это в первую очередь объект авторского права...

>РАзница приблизительно такая-же как текст на листе бумаги и текст в голове.

Это неверная аналогия. В голове только образ текста, который может не совпадать с оригиналом и который невозможно извлечь. Копирование в память ЭВМ считается воспроизведением Произведения. Соответственно изменения как в памяти ЭВМ так и вне неё равнозначны.

>суд не будет руководствоваться такими понятиями как линковка и т.д. Он будет руководствоваться общими концепциями:

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

ArtSh ★★★ ()

Re: Через год в Linux ядре будет блокирована работа закрытых модулей

>Что-то тут имеет место быть проблема в логике. Ответсвенно заявляю - обратное мнение так не звучит.

>K not included-in D. Обратное утверждение: K includend-in D.

Если быть точным, то с точки зрения чистой логики обратное утверждение: not K included in not D. Оно образуется прибавлением квантора НЕ к каждому элементу... Но это так, к слову...

>Пока не доказано наличие связи - регулировать нечего. Это 2 независимых продукта.

Как же они могут быть независимыми, если продукт 1 может работать без продукта 2 а продукт 2 без продукта 1 нет? Именно для иллюстрации этого и было сделано:

>Однако я хотябы посмотрел на вывод nm с различными флагами.

Я согласен, что метод не является предметом авторского права, но вот реализиция... Переформулирую эти пункты:

1. Реализация метода обмена с устройством и выделения ресурсов (области ввода-вывода).

2. Реализация метода обработки прерываний

3. Реализация метода работы с устройством (его частями/системными шинами)

4. Реализация метода обработки OpenGL инструкций

>>Вы видели исходный код nv-kernel.o?

>Вы утверждаете в исходниках драйвера _есть_ исходники ядра?

Вы утверждаете что там _нет_ никаких заимствований?

>Это проблема трольтеха...

В таком случае на тезис:

>Так вот пока не доказано что данная работа действительно derivative - GPL тут вообще не в кассу и ее действие на эту работу не распространяется.

Я могу ответить что это исключительно Ваши проблемы. "Судебных прецедентов насколько я понимаю пока еще не было...."

>Это значит что термин linking может быть употреблен с целью прояснить перед судом что собственно делает эта программа и для чего предназначена.

Проясните, пожалйста, мне, а то я непонял как термин linking может прояснить предназначение программы.

>Если я просто зову метод libjpeg - я линкуюсь - однако не делаю производной работы.

Автор может прямо запретить Вам линковать свою библотеку с опредлёнными программами, или вызывать методы определённым образом. Это его право. Так что и Трольтех и Линус правы. Однако надо помнить, что и тот и другой могут изменить своё мнение...

ArtSh ★★★ ()

Re: Через год в Linux ядре будет блокирована работа закрытых модулей

> Автор может прямо запретить Вам линковать свою библотеку с опредлёнными программами, или вызывать методы определённым образом. Это его право.

Прошу прощения, что лезу со своими 5 копейками, но к GPL это не имеет ни какого отношения. По крайней мере - к v.2. Автор может придать программе "дополнительные свободы", но никак не ограничения.

> Так что и Трольтех и Линус правы. Однако надо помнить, что и тот и другой могут изменить своё мнение...

Линус не единственный автор, поэтому даже "давать доп. свободы" может _только_ на _свой_ код. А Трольтех здесь уже обсуждали - их ограничения касались только коммерческой версии - там действительно могут делать всё, что угодно :)

yyk ★★★★★ ()

Re: Через год в Linux ядре будет блокирована работа закрытых модулей

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

Закон четко выделяет закрузку в память - как право (1280.1.1 ГКРФ).

>Фактически исходный код можно приравнять к тексту песни, а объектный - её звучание.

Не звучанию, а аудиозаписи (mp3).

Это не обозначает эфира. Если я во время звучания брамса начну под него диктовать реп - это не значит что я нарушил копирайты брамса.

>Почитайте также статьи 1261 (Программы для ЭВМ), 1266 (Право на неприкосновенность произведения), 1270 (Исключительное право на произведение), 1280 (Свободное воспроизведение программ для ЭВМ)

Читал. Там нету ничего что противоречило бы моим утверждениям.

>1. Компьютерные вирусы (есть такие, которые "существуют" только в памяти ЭВМ).

Не нарушают копирайтов:)

>2. Отладка программы (в т.ч. дизассемблирование, декомпиляция).

Зависит от законодательства - к копирайтам отношения не имеет.

>3. Заплатки, они же патчи, которые накладываются на объектный код.

Производная работа.

>4. Адаптация произведения (как это понимает статья 1270, пункт 2 подпункт 9 ).

Замечательно:

Под переработкой (модификацией) программы для ЭВМ или базы данных понимаются любые их изменения, в том числе перевод такой программы или такой базы данных с одного языка на другой язык, !_за исключением адаптации_, то есть внесения изменений, осуществляемых исключительно в целях функционирования программы для ЭВМ или базы данных _на конкретных технических средствах пользователя_ или под управлением конкретных программ пользователя!;

То есть a) ничего такого с ядром nVidia не делает b) даже если бы делала то согласно, например, закону РФ - это не подпадает под определение Модификации. Американский закон строже - у нем нет подобного исключения, но поскольку a) - то все в порядке.

>Может ли к.-л. использовать GPL версию qt в своих закрытых разработках?

Может. Я приводил пример с Opera. Если она не слинкована статически со своей версией библиотеки (коммерческой) - значит она использует мою, а моя версия лицензирована через N лиц под GPL. Моя версия может быть 300 раз изменена и 100 раз производной работой. И только бинарная совместимость опере позволяет "рулить без гематом на лице":). Я про что - это нарушение GPL если понимать его как это широко распространено в смысле линковка делает производную работу.

Но вообще может. Линковка с библиотекой которая была разработана с целью того чтобы с ней линковались - не делает производной работы.

Абстрагируйтесь от GPL. Предположим библиотека закрытая и коммерческая - скажем виндовые DLLлины. Обозначает ли это что _все_ ПО вод виндовс является _производной работой_ (как ремейк фильма или ремикс песни) от MS Windows?

>Мы вобщем-то рассуждаем в том русле что Программа это в первую очередь объект авторского права...

Прекрасно. Что это меняет?

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

То же самое можно сказать об образе запущенной программы.

>Копирование в память ЭВМ считается воспроизведением Произведения. Соответственно изменения как в памяти ЭВМ так и вне неё равнозначны.

HDD тоже память ЭВМ. Копирование в память и запуск - суть разные вещи.

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

Ну так в законе нет никакой линковки.

r ★★★★★ ()

Re: Через год в Linux ядре будет блокирована работа закрытых модулей

>Если быть точным, то с точки зрения чистой логики обратное утверждение: not K included in not D.

Это если K и D - термины из алгебры логики:) Здесь нет:)

>Как же они могут быть независимыми, если продукт 1 может работать без продукта 2 а продукт 2 без продукта 1 нет?

Не связи вообще, а связи характера 'derivative work'. Компьютер не может работать без электропитания - думаете это производная работа от электросети?

>1. Реализация метода обмена с устройством и выделения ресурсов (области ввода-вывода).

>2. Реализация метода обработки прерываний

>3. Реализация метода работы с устройством (его частями/системными шинами)

>4. Реализация метода обработки OpenGL инструкций

Ну так зуб даю (он все равно болит собака) - в драйвере nVidia не содержиться не одной из этих реализаций:) Они содержатся в ядре. А драйвер nVidia всего лишь зовет их. Зовет через интерфейс, коий авторским правом не охраняется. Зовет у библиотеки, которая специально для этого была разработана. Является plugabble частью, без которой может работать ядро, и разработан в этой специальной архитектуре, которая была разработана именно с этой целью.

>Вы утверждаете что там _нет_ никаких заимствований?

Я утверждаю что там не заимствований исходных кодов и бинарников.

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

>Проясните, пожалйста, мне, а то я непонял как термин linking может прояснить предназначение программы.

Я же прояснил дальше на примере libjpeg.

>Автор может прямо запретить Вам линковать свою библотеку с опредлёнными программами, или вызывать методы определённым образом. Это его право.

В общем случае - может. В OSS не может - почитайте требования к OSS лицензиям. В случае GPL автор _не_ может этого сделать.

>Так что и Трольтех и Линус правы.

Линус безусловно прав, а трольтех нет. Если я получаю qt на условиях GPL от Novell - это значит что Qt уже не библиотека trolltech, и не им решать чему можно линковаться, а чему нет с лицензированной _не ими_ библиотекой. Я у них ничего не брал, а они мне ничего не давали. Представьте другой пример - есть закрытая либа X которая продается в исходниках. Я покупаю один продукт A который ее модифицировал и поставляет Ax. Я покупаю другой продукт B который ее возможно тоже модифицировал и поставляет Bx. ТАк вот производитель X не может решать вопросы, касательно разрешения продуктом B воспользоваться библиотекой Ax. Так же троли не могут решать вопросы относительно того, что я, как конечный пользователь, у них не лицензировал - я лицензировал у новела, они у KDE, и только KDE у Qt. Как только по условиям GPL они лицензировали Qt для проекта KDE, они не могут влиять кому передал или что сделал с Qt KDE (в пределах GPL конечно). То есть они не могут что-либо позволить или не позволить опере в плане линковки с библиотекой, которая уже не их (лицензирована другим). Это все равно что автодиллер иногда бы мне звонил и говорил, что мою машину купленную у них, сегодня возьмет покататься другой их клиент.

r ★★★★★ ()

Re: Через год в Linux ядре будет блокирована работа закрытых модулей

>Автор может придать программе "дополнительные свободы", но никак не ограничения.

На самом деле может, потому что это касается того как он понимает термин производное произведение. В GPL это чётко не сказано и каждый автор вправе сам решать что и как.

>Линус не единственный автор, поэтому даже "давать доп. свободы" может _только_ на _свой_ код.

Почитайте по подробнее мнение Линуса...

ArtSh ★★★ ()

Re: Через год в Linux ядре будет блокирована работа закрытых модулей

> На самом деле может, потому что это касается того как он понимает термин производное произведение. В GPL это чётко не сказано и каждый автор вправе сам решать что и как.

Ну т.е. в пределах размытого понятия "производное произведение" и не более. И опять-же - не "жёще" самой GPL, иначе первый встречный может все эти ограничения выкинуть или зменить собственным мнением :)

yyk ★★★★★ ()

Re: Через год в Linux ядре будет блокирована работа закрытых модулей

>>>Для ответа на этот вопрос - проясните контекст изменения. Это происходило на машине разработчика? В памяти? Где? Потому что ответ разный в зависимости от контекста. Добавление hookа антивирусом в винде - является модификацией виндовса как software?

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

>Закон четко выделяет закрузку в память - как право (1280.1.1 ГКРФ).

Опять переворачиваете с ног на голову. Как эта реплика отвечает на вопрос ? Вы дочитайте до конца этот пункт в законе, там где " если иное не предусмотрено договором с правообладателем;"

Ещё раз повторяю с точки зрения закона не имеет значения где происходит модификация (1261; 1270,1 и 1270,2.9).

>Читал. Там нету ничего что противоречило бы моим утверждениям.

Да ну?! :)

>>Если изменяются команды (машинный код) программы это является модификацией программы?

>...Так что конкретизируйте - что вы имеете ввиду.

>>1. Компьютерные вирусы (есть такие, которые "существуют" только в памяти ЭВМ).

>Не нарушают копирайтов:)

Не понял ответ. Они создают производное произведение или нет?

>>2. Отладка программы (в т.ч. дизассемблирование, декомпиляция).

>Зависит от законодательства - к копирайтам отношения не имеет.

В процессе отладки произведение модифицируется или нет?

>>3. Заплатки, они же патчи, которые накладываются на объектный код.

>Производная работа.

Даже те заплатки, которые сделаны сторонними разработчиками без доступа к исходному коду и SDK (типа поменяйте бит такой-то)?

>>4. Адаптация произведения (как это понимает статья 1270, пункт 2 подпункт 9 )

>То есть a) ничего такого с ядром nVidia не делает b)...

a) А что, Вы можете запустить все программы GL без nvidia.ko так, чтобы были использованы все возможности GPU? (т.е. надо ещё подчеркнуть "_под управлением конкретных программ_")

b) Я спрашиваю про Ваше мнение. Как показала практика, на протяжении всего флейма Вы воспринимаете всё несколько иначе....

>>Может ли к.-л. использовать GPL версию qt в своих закрытых разработках?

>Может. Я приводил пример с Opera.

Видимо я не правильно выразился. Допустим я разрабатываю закрытое приложение, которое использует (динамически лдинкует) qt, однако я не хочу платить Трольтеху за платную версию, и распространяю это приложение с GPL версией qt (не заплатив Трольтеху ни копейки). Как Вы думаете это законно? Трольтех не подаст в суд за нарушение авторских прав?

>Моя версия может быть 300 раз изменена и 100 раз производной работой.

Я уже выше говорил, если Ваша версия бинарно не совместима (ведь модификации могит быть какие-угодно), то со претензиями будет обратиться некуда...

>Предположим библиотека закрытая и коммерческая...

>Прекрасно. Что это меняет?

Вот и я о том же, причём здесь упоминание что библотека коммерческая, непойму...

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

>То же самое можно сказать об образе запущенной программы.

До внесения изменеий - это точная копия. (см. 1261 и 1270, 2.1)

>HDD тоже память ЭВМ. Копирование в память и запуск - суть разные вещи.

HDD считается носителем. Копирование - первая часть запуска, далее во время запуска линкуются динамические библиотеки - это модифицирует программу. Если ничего не линкуется, то после этого программа остаётся неизменной, т.к. никаких измениний в данных и командах не было (см определение в статье 1261, особенно слова: в любой форме, в объективной форме и совокупность данных и команд).

>Ну так в законе нет никакой линковки.

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

ArtSh ★★★ ()

Re: Через год в Linux ядре будет блокирована работа закрытых модулей

>Не связи вообще, а связи характера 'derivative work'. Компьютер не может работать без электропитания - думаете это производная работа от электросети?

Намекаю, ключевое слово НЕЗАВИСИМЫМИ. Посмотрите флейм около 100 сообщений назад, там был вопрос по поводу того, является ли nv-kernel.o независимым и обособленным произведением.

>Ну так зуб даю (он все равно болит собака) - в драйвере nVidia не содержиться не одной из этих реализаций:)

А перед этим Вы говорили:

>А AFC тест проводится легко без исходников. Давайте валяйте - предьявляйте список копирайтеных объектов, которые по вашему мнению делают драйвер производной работой (и следовательно подпадают под GPL как derivvative work), а я вам проведу AFC.

Или у Вас такой метод проведения тестов - по зубу? Соврамши господин r...

>Я же прояснил дальше на примере libjpeg.

т.е. Вы приравниваете линковку к средствам IPC?

>Линус безусловно прав, а трольтех нет.

И почему же люди до сих пор платят Трольтеху за qt? Линковали бы динамически GPL версию qt и деньги экономили бы...

>это значит что Qt уже не библиотека trolltech,

Трольтеху принадлежат все исключительные права на эту библиотеку, а остальным нет...

>ТАк вот производитель X не может решать вопросы, касательно разрешения продуктом B воспользоваться библиотекой Ax.

Большинство проприетарных производителей библотек это запрещают косвено, т.к. Вы не можете свободно установить такую библиотеку, если не заплатили за неё, и чаще всего Вы не сможете передать исходные коду кому-либо ещё. К томуже, полагаться на то что библотеки Bx и Ax совместимы нельзя.

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

Браво! Бис! Очередное некорректное сравнение! Более правильно: Это всё равно, что завод изготовитель двигателей запрещает использовать двигатель для автомобиля A в автомобиле B.

ArtSh ★★★ ()

Re: Через год в Linux ядре будет блокирована работа закрытых модулей

>Да ну?! :)

Ну да.

>Не понял ответ. Они создают производное произведение или нет?

Нет.

>В процессе отладки произведение модифицируется или нет?

Нет.

>Даже те заплатки, которые сделаны сторонними разработчиками без доступа к исходному коду и SDK (типа поменяйте бит такой-то)?

Тогда не производная работа. Значит зависит от...

>a) А что, Вы можете запустить все программы GL без nvidia.ko так, чтобы были использованы все возможности GPU?

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

То что делается у конечного пользователя nVidia не касается. Они не выпускают продукта с ядром.

>b) Я спрашиваю про Ваше мнение. Как показала практика, на протяжении всего флейма Вы воспринимаете всё несколько иначе....

...чем вы:) Логично иначе о чем флеймить:)

Мое мнение совпадает со статьей ГКРФ, только с той конкретизацией - not for resale.

>Допустим я разрабатываю закрытое приложение, которое использует (динамически лдинкует) qt, однако я не хочу платить Трольтеху за платную версию, и распространяю это приложение с GPL версией qt (не заплатив Трольтеху ни копейки). Как Вы думаете это законно?

_Распространять с_ врядли (но не факт). А вот распространять в расчете на то что она там есть - скорее всего суд не пойдет на встречу трольтеху в случае судебного иска, если защита будет построена на том что ваш продукт не подпадает под GPL на основании того что он не производная работа, а всего лишь использует интерфес библиотеки которую разработали именно с этой целью, и вы можете доказать что ваш продукт функционально принципиально различен, и защита будет построена на аналогиях с другими системными библиотеками. То есть если вы заюзаете Qt в качестве GUI Toolkit - скорее всего суд примет вашу сторону. Если вы сделает продукт, который сам по себе будет библиотекой или каким либо образом связан с функционалом оригинального Qt - суд станет на сторону тролей. На примере: Skype может линковаться с GPL. QtDesigner (будь он закрытым) - наврядли.

>Вот и я о том же, причём здесь упоминание что библотека коммерческая, непойму...

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

>HDD считается носителем.

Где?! Это ПЗУ ЭВМ.

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

Вы не правы. Что куда копируется в телефоне? Что куда копируется в палме? Что такое flash-память? Вы уверены что все девайсы которые можно считать компьютером работают по принципу PC (загрузка с накопителя)? Так вот - не все. Ближаший пример - микросхема BIOS.

И второй момент - программа сама себя модифицирует в процессе работы. Это по вашему модификация? Она берет данные откуда угодно для этого. Я приводил пример программы на прологе которая модифицирует себя не то что в памяти - на диске. Это нарушение GPL? Ответте. Еще одним подобным примером есть любая смолтолковская среда, где сама разработка - модификация образа (на диске в том числе).

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

Четвертый момент это не драйвер модифицирует кернел - это кернел загружает драйвер в свой образ.

>Ну так в законе нет ничего про меню и способы управления программой...

Там есть общие категории: any idea, procedure, process, system, method of operation, concept, principle, or discovery.

Способ управления - это method of operation. А меню это idea/principle.

Такие вещи копирайтами не защищаются.

r ★★★★★ ()

Re: Через год в Linux ядре будет блокирована работа закрытых модулей

>Посмотрите флейм около 100 сообщений назад, там был вопрос по поводу того, является ли nv-kernel.o независимым и обособленным произведением.

Независимым от чего? От электропитания? Весь вопрос в том является или нет 'производной работой'. Все остальное не интересно - зависимый он или нет не определяет применимость к нему GPL.

>Или у Вас такой метод проведения тестов - по зубу? Соврамши господин r...

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

>Вы приравниваете линковку к средствам IPC?

Я приравниваю линковку к любым методам взаимодействия модулей. Сам термин IPC подразумевает существование такой сущьности как "процесс" и возможности комуникации между ними. Какие процессы были в 286 компьютерах? Какие процессы были в DOS? Какой там был IPC внутри одной машины? Или что применимость GPL ограничивается многозадачными unix-подобными, POSIX-совместимыми писюками? Есть и другие девайсы. И программы под них.

Так что таки да - я приравниваю. Прогресс не стоит на месте и с 91 года прошло много времени. Я вам приведу пару простых примеров из реальности: возьмем жабский EJB. В 1.1 общение даже локальное было по сетевому протоколу RMI/IIOP - то есть этот ваш типичный IPC. В 2.0 изобрели такую бойдень как Local-interface. И вызовы стали простымии быстрыми, а не по RMI/IIOP протоколу. А что изменилось с точки зрения программирования? А ничего. За то как вызываются методы отвечает App Server, а не мое приложение. Так что мое приложение становиться в одном случае нарушителем GPL, а в другом нет в зависимости от того как юзер которого я даже не знаю продеплоил его? Или другой пример тоже жабский JDBC. Есть четыре типа драйвера. Некоторые проводят нормальный вызов нативного API которое ползет прямо в базу. НЕкоторые производят сетевое соединение с базой. Опять мое приложение в некоторых случаях нарушитель а в некоторых нет в зависимости от того какой тип драйвера подсунул юзер? Тоже с ODBC. Могу установить локальное соединение с CSV файлом и все вызовы становятся in-process. Могу установить с удаленным посгресом - и вызовы становятся IPC. Кто виноват? Нарушаем или нет?

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

>И почему же люди до сих пор платят Трольтеху за qt? Линковали бы динамически GPL версию qt и деньги экономили бы...

Под вендой ее нет. Потому линковка статическая - а это уже другая песня. А покупать под 5 платформ столько же сколько и под одну. Суд стоит дорого. Проще заплатить 4000 евро - это не так много чем долбаться с судами.

>Трольтеху принадлежат все исключительные права на эту библиотеку, а остальным нет...

Нет:) Ему принадлежат авторские права. Многие права они предоставляют остальным under terms and conditions of GPL.

>Вы не можете свободно установить такую библиотеку, если не заплатили за неё, и чаще всего Вы не сможете передать исходные коду кому-либо ещё.

При чем тут я? Я беру и пишу приложение под MFC. Я ничего не плачу. Она будет на машине пользователя - платит он.

>К томуже, полагаться на то что библотеки Bx и Ax совместимы нельзя.

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

>Более правильно: Это всё равно, что завод изготовитель двигателей запрещает использовать двигатель для автомобиля A в автомобиле B.

Нет. Запрет тут не при чем. Троли "имеют наглость" _разрешать_ своему клиенту работать с тем что _им не принадлежит_ (лицензировано другим). От того что данное решение всех устраивает и никто не париться не проистекает того, что это перестает быть маразмом с юридической точки зрения.

r ★★★★★ ()

Re: Через год в Linux ядре будет блокирована работа закрытых модулей

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

Сперва я проясню мою позцию. Она основывается на том что "Программой для ЭВМ является представленная в объективной форме совокупность данных и команд, предназначенных для функционирования ЭВМ и других компьютерных устройств в целях получения определенного результата". Это прежде всего значит, что закон не делат различий между данными и командами. Далее это объективная форма их представления (т.е. представленная чётко и не допускаящая другой интерпретации). Ну и, наконец, в результате их выполнения должен буть получен какой-то результат. Ещё один важный принцип: "Под переработкой (модификацией) программы для ЭВМ или базы данных понимаются любые их изменения, в том числе перевод такой программы или такой базы данных с одного языка на другой язык, за исключением адаптации". Т.е. если я, или другая программа, или кто-либо ещё внёс ЛЮБЫЕ изменения в данные или команды, то в результате этого получилась модифицированная программа. Дальше начинаются тонкости. На что была направлена эта модификация? Если это было сделано только для цитирования, или подобного - то это ничего, а если программа таким образом меняет своё предназначение (то есть результат, для получения которого была написана программа изменился), то это совсем другое.

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

Загрузка драйвера модифицирует ядро, потому что до этого оно не могло работать с GPU, и результат работы ядра - предоставление ресурсов для программ пользователя и их исполнение. Соответственно и наложение патчей, отладка, вирусы и т.п. (за исключением адаптации, но это тонкости именно права в РФ) тоже модифицируют исходную программу. С точки зрения ГКРФ, загрузка драйвера является адаптацией, потому что без этого драйвера программы пользователя не могут использовать видеокарту на 100%.

В краце отвечу на остальное содержимое топиков:

Зря Вы не читаете то что я Вам предлагал. Из этих источников Вы могли бы узнать, что Qt4 OpenSource Edition работает под Unix/Linux, Windows и MacOS. Также Вы могли бы узнать что такое "исключительные права" и кому они принадлежат. То что Qt принадлежит Трольтеху, а всем остальным они раздают экземпляры Qt с некоторыми правами, далеко не исключительными. То что GPL (и все EULы) является неисключительной лицензией присоединения. То что драйвер Нвидии только получает ресурсы с помощью стандартных методов предусмотренных ядром, а работает с ними неизвестным образом... и т.д.

Хочу заметить, что все ЭВМ и компьютерные устройства, в том числе и машина Тюринга, в том или ином виде имеют АЛУ,Память и внешнее запоминающее устройство. Я ещё не встречал процессора, который может выполнять инструкции прямо из внешнего устройства хранения, не загружая их к себе (хотя бы в регистры).

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

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

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

P.S. Если Вы собирётесь писать что-нибудь что использует Qt или другие библиотеки распространяемые по лицензии GPL, прежде проконсультируйтесь с юристом. Это избавит Вас от лишней головной боли и неприятностей...

ArtSh ★★★ ()

Re: Через год в Linux ядре будет блокирована работа закрытых модулей

>Т.е. если я, или другая программа, или кто-либо ещё внёс ЛЮБЫЕ изменения в данные или команды, то в результате этого получилась модифицированная программа.

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

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

ПРограмма на прологе - экспертная система. База данных фактов из которых можно произвести некоторые выводы. Модификцирует она себя потому что так работает. Добро пожаловать в мир других языков, где нету линкера, а программы редактируют сами себя.

>Загрузка драйвера модифицирует ядро, потому что до этого оно не могло работать с GPU

Это четко подпадает под понятии адаптации ГКРФ.

Без digiPtoho я не мог конвертировать rawы. В общем виде это трансформация информации с аппаратного дейвайса, и запись ее на аппаратный девайс. Ничем не хуже обработки информации с помощью GPU. digiPhoto тоже производная работа от ядра? Оно зовет его функции.

>С точки зрения ГКРФ, загрузка драйвера является адаптацией, потому что без этого драйвера программы пользователя не могут использовать видеокарту на 100%.

Правильно и с точки зрения ГКРФ - адаптация _не_ является модификацией.

>Из этих источников Вы могли бы узнать

Я это все знал - все что вы перечислили ничем не противоречит моим словам. Троли передали неэксклюзиваное право распространять Qt проекту KDE. Проект KDE передал такое же право новелу. Новел мне. При чем тут троли?

>То что GPL (и все EULы) является неисключительной лицензией присоединения.

И что? То что я взял у новела - я брал не у тролей. Я на условиях GPL брал продукт у новел. Вы понимаете что в этом случае я подтвеждял наличие соглашения между мной и Novell, и что троли тут не при чем или нет? Вы понимаете _кто_ является сторонами license agreement и между кем и кем оно заключается? Троли не могут разрешать или не разрешть что либо делать с тем что я у них _не брал_.

>Хочу заметить, что все ЭВМ и компьютерные устройства, в том числе и машина Тюринга, в том или ином виде имеют АЛУ,Память и внешнее запоминающее устройство.

"внешнее" ? Это откуда термин? Какое в Siemens M55 внешнее ЗУ?

>Я ещё не встречал процессора, который может выполнять инструкции прямо из внешнего устройства хранения, не загружая их к себе (хотя бы в регистры).

Вам нарисовать?

Впрочем не буду - просто покажу - посмотрите на процессоры Texas Instruments серии TMS (я на таких когдато курсовики делал). Хоть на вот этот http://en.wikipedia.org/wiki/Texas_Instruments_TMS9900

Вырежу вам интересный кусок: One unique feature, though, was that _all general purpose user registers were actually kept in !external! memory_. Сюрприз!

Познакомьтесь с миром не x86 и не писюков:)

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

По вашему nVidia отвечает за действия пользователя? :)

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

Добро пожаловать в мир четких спецификаций. Если я буду писать для программы Space Shuttle - без челнока мне никак не обойтись? Я на линуксе пишу под apple на жабе. В эпле есть специфические фишки для интеграции в десктоп которые есть только в эпловой реализациию. Я пользуюсь MRJStubs в виде заглушки. А на эплах у клиентов оно работает. Сюрприз?:) В свое время при портировании ядер 2.2 и 2.4 мои одногрупники написали эмулятор целой экзотической железяки - ибо железяка ну очень медленно бутялась и программилась, да и отлаживать через RS232 было гемором страшным. Када первую жеолезку спалили - вторую даже не распаковывали. Магия?

>Все ваши заявления про драйвер Нвидии, я считаю Вашим субъективным мнением, потому как Вы неоднакратно увиливали от того чтобы провести какое-либо исследование.

Исследовеание чего? nm nv-kernel.o? ТАм что есть экспортируемые сивполы типа read write ioctl слямзеные из ядра?

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

Вы не захотели их увидеть. Я называл конкретные ропграммы и технологии. Для начала обясните мне каким образом я нарушу GPL, если пользователь подключит JDBC type 1 драйвер к MySQL для моей программы и при чем тут вообще я.

Или ответте мне про пример с интроспекцией. Что неприятная програмка? Всех писателей не GPL софта под моностырь по вашему подводит? Айайай - они вед с ней линконуться и модифицировать ее начнут....

r ★★★★★ ()

Re: Через год в Linux ядре будет блокирована работа закрытых модулей

да уж, слака для физиков отдыхает :)

Adjkru ★★★★★ ()

Re: Через год в Linux ядре будет блокирована работа закрытых модулей

Так будет таки заблокирована работа закрытых модулей в Линукс? ;)

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

necromant ()

Re: Через год в Linux ядре будет блокирована работа закрытых модулей

>Так будет таки заблокирована работа закрытых модулей в Линукс? ;)

Не будет. Фишку отменили еще на второй странице флуда :) Флуд только в гипотетическом русле дальше флудился - практика победила.

r ★★★★★ ()

Re: Через год в Linux ядре будет блокирована работа закрытых модулей

> нда... громадный флуд =)

Почему же флуд? Как раз тут за 2.5 тыщи постов от темы не сильно отклонились :)

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