Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Помогите разобраться с LGPL (http://forum.oszone.net/showthread.php?t=201183)

LeonidPr 05-03-2011 10:29 1627663

Помогите разобраться с LGPL
 
По общим описаниям (на википедии) вроде все было понятно. Но, решил прочитать текст самой лицензии и запутался. Версия лицензии 2.1. В первом абзаце пункта 5 написано, что моя программа, будучи скомпилирована или связана с библиотекой не является производным произведенем от библиотеки и на мою программу не распространяеся действие данной лицензии. Но затем во втором абзаце пишут, что при линковке моей программы с библиотекой получаемый бинарник является производным произведением от библиотеки, так как содержит её части, а следовательно такой исполняемый файл подпадает под действие лицензии. И далее говорится, что порядок распространения таких бинарников определяется в пункте 6 лицензии. ИМХО, эти абзацы противоречат друг другу. Разъясните пожалуйста, что я не так понимаю?

Delirium 05-03-2011 13:51 1627805

Вообще то, принято и текст лицензии сразу показывать или хотя бы ссылку на страницу, чтобы не пришлось сначала искать суть вопроса, а только затем писать ответ :)

LeonidPr 05-03-2011 16:32 1627955

Прошу прощения.
Это оригинальный текст лицензии: LGPL
Это неофициальный перевод: Перевод

Beyound 05-03-2011 17:15 1627985

как я понял тут говорится скорее о способе взаимодействия с библиотекой.
Суть в том, что допустим в твоей программке-аудиоплеере предусмотрена работа с аудиокодеком-dll-кой, но она написана так, что самой этой dllки (или любой ее части или даже намека на нее) нет. Однако твой айдиоплеер может быть в последующем связан кемто с этой dll-кой или твой исходник кемто другим скомпилирован с ней. Это первый абзац.
Во втором говорится что если этот некто третий скомпилирует твою программу с этой dll-кой, то такой исполняемый файл больше не подходит под первый абзац так как в нем уже содержаться части dll-ки.
Третий абзац не очень ясен...
четвертый говорит что если ты делаешь как в третьем, но по мелочи, например макрос или линейную функцию не более 10 строк (и по тексту) то это не считается за нарушение авторства и можно неограничено юзать dll-ку не зависимо от "формы ее собственности" и ссылка что про такие произведения - читай в п. 6
"Во всех других случаях, если произведение является производным от Библиотеки, Лицензиат вправе распространять объектный код данного произведения в соответствии с пунктом 6 настоящей Лицензии. Любой исполняемый файл, содержащий данное произведение, также подпадает под действие пункта 6 настоящей Лицензии, независимо от того, связан ли исполняемый файл компоновщиком напрямую с Библиотекой." - ну тут все ясно я думаю

LeonidPr 05-03-2011 17:46 1628013

Цитата:

Цитата Beyound
если этот некто третий скомпилирует твою программу с этой dll-кой »

Как можно скомпилировать программу с dll-кой так, что она будет содержать части dll-ки, dll-ка ведь динамическая библиотека. А во втором абзаце, мне кажется идет речь о статических библиотеках. В первом же абзаце похоже говорится как о статических так и о динамических библиотеках.
Цитата:

Под "произведением, использующим Библиотеку", понимается программа, которая не содержит кода, производного от любой части Библиотеки, но предназначена для работы с Библиотекой будучи скомпилированной с ней или связанной с ней. Отдельно такое произведение не является произведением, производным от Библиотеки, и на него не распространяется действие настоящей Лицензии.
Т.е. если я компилирую свою прогу с библиотекой (для статических библиотек) или связываю её с библиотекой (для динамических библиотек) то моя прога под действие лицензии не подпадает. Но тут же второй абзац опровергает это.
Цитата:

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

Еще мысль возникла.
Цитата:

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

LeonidPr 06-03-2011 01:37 1628309

Уф, нашел вроде более менее внятный ответ. Вот, если кому-нибудь понадобится: Google answers


Время: 07:18.

Время: 07:18.
© OSzone.net 2001-