LINUX.ORG.RU

Последние сведения о GPLv3 могут ввести в заблуждение


0

0

Фонд Свободного ПО желает дать пояснения, по поводу некоторых пунктов во втором проектном варианте GNU GPL 3, недавнее обсуждение которого дало не точную информацию.

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

Оригинал: http://www.fsf.org/news/gplv3-clarifi...

>>> Перевод

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

anonymous_incognito ★★★★★
()

=== Cut ===
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
=== Cut ===

(c) http://www.gnu.org/licenses/gpl.txt

=== Cut ===
1. The FSF has no power to force anyone to switch from GPLv2 to GPLv3
on their own code. We intentionally wrote GPLv2 (and GPLv1) so we
would not have this power. Software developers will continue to
have the right to use GPLv2 for their code after GPLv3 is
published, and we will respect their decisions.
=== Cut ===

(c) http://www.fsf.org/news/gplv3-clarification

Хмм получается этакая завуалированная неправда, с одной стороны мы не можем вынудить вас использовать gpl3 с другой стороны каждый пользователь может использовать вашу программу как gpl3 даже если она под gpl2.

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

> как gpl3 даже если она под gpl2.

Все даже чуть хуже. Достаточно хотя бы одного патча только под gpl3, чтобы вся разработка была лицензирована под GPL3 :(

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

> Достаточно хотя бы одного патча только под gpl3, чтобы вся
> разработка была лицензирована под GPL3 :(

Да? Я вот читаю "you can redistribute it and/or modify ... under the terms of the GNU General Public License ... either version 2 of the License, or (at your option) any later version."

Что это значит? Это значит, что я могу смело вообще забыть/вычеркнуть фразу "or (at your option) any later version". И никто мне не помешает думать, что это GPLv2. Потому как "or".

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

Вот блин раздули проблему из ничего.Если сам автор разрешает использовать GPL-2 или любую последующую версию, то используйте на здоровье. Если автор разрешает только GPL-2, то вы вынуждены использовать только GPL-2. Все претензии к авторам софта.

ero-sennin ★★
()
Ответ на: комментарий от dissident

Именно в этих неоднозначностях и заключаются все сложности "обсуждения" GPLv3...

FSF пытается определить рамки применения GPL и, в тоже время, не ограничивать свободу разработчиков и пользователей... что ОЧЕНЬ сложно...

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

2logIn: что-то я не понял, наверное мало выпил. Написано же английским по белому можешь поменять int j на int i (впрочем можешь даже и не менять) и распространять под GPL3. You can redistribute it and/or modify under ... any later version.

И почему Линус вычеркнул эти строчки из ядра Линукса? Тем самым кстати тоже ее нарушив.

Кстати вот еще интересная тема для дискуссии, производители бинарных модулей для ядра нарушают GPL, почему вокруг этого нету шума?

Все не так просто.

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

> You can redistribute it and/or modify under ... any later version.

Это цитата из образца copiright notice, включённого в текст GPL-2. Copiright notice тебе предлагается вставлять в начало каждого своего исходника. Но нигде не сказано, что надо использовать именно тот текст, который приведён в лицензии. Ты имеешь полное право изменять его по вкусу. В том числе и вычеркнуть слова "under any later version". Ты действительно этого не понимаешь, или просто решил пофлеймить перед сном?

ero-sennin ★★
()
Ответ на: комментарий от dissident

Бинарные модули добавляете Вы сами вызывая команду insmod. Конечно это нарушение GPl и политика разработчиков ядра постепенно вытеснять такие драйверы (например: не ждите поддержки, некоторые символы не будут видны (EXPORT_SYMBOL...)). Я думаю что на то что такое в принципе возможно, просто _пока_ закрывают глаза...

ArtSh ★★★
()
Ответ на: комментарий от ero-sennin

"as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs"

Иными словами что же означает "compiler, kernel, and so on)" входит ли туда например Java?

И что означает "need not include"? Нарушает ли например nvidia GPL распространяя код который линкуется к GPL коду ядра не под GPL?

На мой взгляд нарушает.

Без юриста разобраться совершенно невозможно. Подозреваю что с юристом тоже.

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

Нет не делают.

Их gpl'ный модуль делает интерфейс их, а они просто зная что интерфейс такой и вызывают его.

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

> Их gpl'ный модуль делает интерфейс их, а они просто зная что интерфейс
> такой и вызывают его.
Брр а по русски? Ты к тому что они выкладывают дрова которые делают эти инклюды частично в коде части в .o но компилируешь и запускаешь их ты и поэтому ты виноват? То есть nvidia как бы не линкует, линкуешь ты?

Потому что твою фразу распарсить трудно.

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

Еще раз. Есть файл который линуксется с ядром. Этот файл gpl. Он обеспечивает некий стандартный интерфейс связи между ядром и бинарным модулем nvidia.

Бинарный (не gpl) модуль грузишь ты сам, выполняя insmod. Этот модуль _никак_ не связан с gpl-кодом, т.е. ты можешь попытаться его загрузить и на ядре в котором нету патча от nvidia, но тогда модуль сругается что не может найти интерфейс, вот и все.

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

Вот как можно растолковать позицию nvidia (все имхо с радостью выслушаю правильное мнение)

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

Или скажем такой роутер от D-Link с Линуксом и своими закрытыми дровами, уж они то нарушают? Ведь слинковали сами, тут виноват не ты, пользователь.

Получается если бы больше было исков относительно нарушения GPL то Линукс был бы менее популярным.

А если бы были иски к пользователям инсталирующим nvidia-driver то все превратилось бы в идиотизм аля пиратская винда (в который в принципе и превращается).

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

У меня есть такой роутер :) Помню писал прошивки...

А то что превращается в пиратскую венду, так пользователи сами виноваты... Вот открыли бы nvidia/ati спеки на свои чипсеты... Ан нет, не откроют, ибо, тогда их смогут лучше разгонять...

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

Или чего еще лучше, переделывать одни карты в другие, так же продажи рухнут..

Я вот жду открытые карты... Как только выйдут с пяток куплю себе... Если цены кусаться не будут...

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

> т.е. они тебя провацируют на нарушение, но сами они не нарушают...

На самом деле тут тоже интересно, если я линкую то я же и виноват но при этом я же видимо и должен по требованию предоставить код тому кто попросит? Но линкую то все таки я, а единственный кто может у меня попросить код который я слинковал для себя это я сам (разве что кто-то совсем идиот или ищет закорюки в законах), соответственно если я сам себя не попрошу о код nvidia-driver который сам же и слинковал то я и не виноват?

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

>На самом деле тут тоже интересно, если я линкую то я же и виноват но при этом я же видимо и должен по требованию предоставить код тому кто попросит? Но линкую то все таки я, а единственный кто может у меня попросить код который я слинковал для себя это я сам (разве что кто-то совсем идиот или ищет закорюки в законах), соответственно если я сам себя не попрошу о код nvidia-driver который сам же и слинковал то я и не виноват?

Это так сказывается бессонная ночь или что позабористей?

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

А на своем компе ты можешь делать все, что хочешь. И не потому, что никто не спросит, а потому что это не запрешено. Это ж не винда.

anonymous
()

Не читал, но осуждаю :)

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

> Ну они же делают
>
> #include <что-то gpl'ное из ядры>
>
> Не так ли?

Поднимите руки, кто хоть раз делал

#include <vector>

или другого STL хидера, и компилял потом все это дело gcc-ой.


Вы все тоже нарушаете GPL, если исходить из вышенаписанного! :)

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

> #include <vector>

Ужос!!! Вот такими шагами скоро очень может быть, что и ядро в помойку С++-ную превратят.

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

Итак. Я знаком с GPL и авторитетно заявляю, что с GPL кодом на законных основаниях можно линковать программу под любой другой лицензией. Однако автор GPL кода должен явно указать это в условиях. Автор выше лицензии. Иначе KDE был бы мертв ещё на стадии появления, когда Qt была ещё несовместима с GPL. Таким образом сделана поддержка Heretic и Hexen в Doom's Day.

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

>То что от нвидиа линкуется в ядро -- gpl, а то что поставляется модулем -- то не gpl, все просто ;)

>catap * (*) (29.09.2006 0:54:20)

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

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

Хм... а недавно вышедший elivecd 0.5 (поищи новость на lor-e) имеет в своём составе драйвера от nVidia. И MS шрифты тоже.

Пойти, что-ли, попросить исходников :)

anonymous
()

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

То есть, по вашей логике, я могу наплевать на GPL'ность Qt и распространять проприетарное приложение, требующее GPL Qt - ведь проблемы будут только у того, кто распространяет его вместе с самой библиотекой? И зачем тогда Trolltech делает проприетарную версию Qt, причём платную? А мы-то не знали.

Модуль ядра - это derivative work от ядра. Это часть ядра, хоть и "отъемлемая". А значит, подпадает под GPL и исходники нужны.

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

> Внимательно посмотрите, как собирается модуль ядра от нвидии, сам модуль состоит из 2-х частей непосредственно бинарного модуля и обвязки к нему, с ядром линкуются оба. Формально это нарушение gpl.

с ядром линкуется gpl-модуль, который вызывает закрытую "библиотку"

ЗЫ из GPL-программы в можете вызывать закрытые библиотеки сколько захотите, но обратное не верно.

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

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

> То есть, по вашей логике, я могу наплевать на GPL'ность Qt и распространять проприетарное приложение, требующее GPL Qt - ведь проблемы будут только у того, кто распространяет его вместе с самой библиотекой? И зачем тогда Trolltech делает проприетарную версию Qt, причём платную? А мы-то не знали.

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

> Модуль ядра - это derivative work от ядра. Это часть ядра, хоть и "отъемлемая". А значит, подпадает под GPL и исходники нужны. Именно модуль - попадает под GPL, но если модуль вызывает через некий интерфейс нечто, то это нечто не является derivative work, посему и под GPL не попадает.

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

>с ядром линкуется gpl-модуль, который вызывает закрытую "библиотку"

еще раз медленно: закрытая библиотека собирается и линкуется с открытым модулем, потом это все modprobe вставляется в ядро - это нарушение gpl, а кто там чего вызывает это неважно.

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

>>с ядром линкуется gpl-модуль, который вызывает закрытую "библиотку"

> еще раз медленно: закрытая библиотека собирается и линкуется с открытым модулем, потом это все modprobe вставляется в ядро - это нарушение gpl, а кто там чего вызывает это неважно.

Просвети неграмотного. Ты полностью собираешь бинарные дрова от nVidia? Или просто используешь предоставленный бинарник и подключаешь его через модуль собранный на твоей системе?

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

>Или просто используешь предоставленный бинарник и подключаешь его через модуль собранный на твоей системе?

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

anonymous
()

> Именно модуль - попадает под GPL, но если модуль вызывает через некий интерфейс нечто, то это нечто не является derivative work, посему и под GPL не попадает.

В случае NVIDIA модуль линкуется с этим нечтом, а потому подпадает под GPL так же, как и само нечто.

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

нечто расположено в адресном пространстве ядра = слинковано

anonymous
()

> да не линкуется он.

ld nvidia.o <...> nvidia.ko - это не линковка?

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

> nvidia_private.c может не включать никаких заголовочных файлов ядра, и не быть derivative work

Однако nvidia.ko - всё равно derivatitive work. :)

ero-sennin ★★
()
Ответ на: комментарий от Sikon

>Модуль ядра - это derivative work от ядра.

Не факт что драйвер nvidia - derivative work. Модуль ядра может быть абстрактной обвязкой к некоторому драйверу видеокарты. Сам драйвер видеокарты может быть некоторым универсальным драйвером (потенциально возможно одим и тем же под все платформы), который реализует интерфейс абстрактного драйвера.

А тогда: If identifiable sections of that work are not derived from the Program, and _can be reasonably considered independent and separate works in themselves_, then this License, and its terms, do not apply to those sections when you distribute them as separate works.

кто сказал что сам драйвер (а не его адаптация как модуля ядра линукс) не может быть considered as independent and separate work?

Думаю может. И потому не подпадает под GPL.

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

>а кто там чего вызывает это неважно.

Еще как важно! Следуя вашей логике я выпущу Hello World, который покажет MessageDlg из винды под GPL, а потом подам в суд на Microsoft, что их венда слинкована с моей GPL программой и потребую открыть исходники? Это принципиально важно. GPL программа может пользоваться закрытой и это не будет GPL violation. Обратное неверно.

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

>Без юриста разобраться совершенно невозможно.

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

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

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