Может ли какая-либо лицензированная библиотека GPLv2 использоваться во внутренней корпоративной программе компании?

13

Я создаю внутреннее приложение для компании, с которой у меня есть контракт. Мы хотим использовать лицензированную библиотеку GPLv2 в этом приложении. Некоторые моменты

  1. Приложение должно использоваться в пределах компании и никогда не быть доступным для публичного использования. Это только для внутреннего использования компанией.
  2. Это никогда не будет продано, никогда !! , Таким образом, никакие деньги не будут сделаны непосредственно от продажи кода. Это не продукт.
  3. Есть две формы использования приложения
    • Его нативная форма - консольный exe (который использует библиотеку GPL); и
    • Использование через веб-интерфейс, который вызывает исполняемый файл.
  4. Исходный код останется закрытым исходным кодом (только для компании) и будет соответствовать

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

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

Следующий вопрос из FAQ по GNU, кажется, поддерживает мои мысли.

Требует ли GPL, чтобы исходный код модифицированных версий был опубликован для общественности?

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

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

Таким образом, GPL дает разрешение на выпуск измененной программы определенным образом, а не другими способами; но решение о том, выпускать ли его, зависит от вас.

Может ли какая-либо лицензированная библиотека GPLv2 использоваться во внутренней корпоративной программе компании?

Ahmad
источник
2
Это юридический вопрос, который должен решить адвокат компании или главный юридический консул.
hotpaw2
1
@ hotpaw2 - ваше предложение определенно имеет свои достоинства и является лучшим руководством, которое когда-либо может дать, это действительно сбивает с толку, что со всеми разработчиками в мире, эти вопросы все еще задаются и все еще в некоторых случаях остаются неясными. Я предполагаю, что применима местная юрисдикция Но если серьезно, то я чувствую, что лицензия преднамеренно неясна в отношении определенных аспектов. Теперь, если разработчики, использующие это программное обеспечение, не смогли получить четкие ответы, ИМО пытается объяснить юристам концепции и получить их интерпретацию лицензии. много, чтобы спросить. Ответ для разработчиков разработчиками является путь
Ахмад
@ Ахмад: Единственные аспекты, которые я нахожу серьезно неясными, - это те части, которые должны уважать закон об авторском праве: что является производным произведением, что является распространением и т. Д. До тех пор, пока у нас не будет юридического разъяснения (в США, это может повлечь за собой изменение текста). закона или судебных решений, порождающих прецедентное право), никто не узнает об этом наверняка.
Дэвид Торнли
Как вы упомянули, существует две формы использования приложения: 1) его нативная форма, основанная на консоли exe (которая использует библиотеку GPL); и 2) Использование через веб-интерфейс, который вызывает исполняемый файл. Для первого, пожалуйста, уточните: «Это вызов библиотеки GPL через системные вызовы или через пользовательские вызовы»?

Ответы:

22

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

Килиан Фот
источник
Пока она никогда не распространяется, лицензия не влияет на вас. Никто. Конечно, проконсультируйтесь с вашим адвокатом, если вы совсем не уверены, и убедитесь, что он знаком с законом о лицензировании авторских прав.
Майкл Трауш
2
Другими словами, все те, у кого есть двоичный файл, также должны иметь соответствующий источник, чтобы они могли исправлять ошибки и создавать новый двоичный файл.
2
Значит ли это, что я также могу использовать сайт GPLv2 внутри компании, не продавая его функциональность?
Johnny_D
3

Я думаю, что вы процитировали ответ, так что у вас есть.

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

quickly_now
источник
3

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

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

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

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

Обратите внимание, что под GPLv2 ясно, что веб-сервис не считается распространяемым. Это только консольное приложение, которое сбивает с толку.

Я предлагаю вам получить юридическую консультацию от адвоката вашей компании.

Шон Макмиллан
источник
2

Да, вы можете НО принимать во внимание сотрудничество с субподрядчиками, партнерскими фирмами и тому подобное. Это стало причиной укуса многих администраторов, так как «просто для внутреннего пользования» стало «делиться между партнерами», а затем «продукт для продажи». Затем либо части GPL необходимо переписать с нуля, либо вы отправляете источники в свою интранет.

Научная фантастика
источник
4
OTOH, большинство мечтаний о том, как заработать на инструментах, разработанных для внутреннего использования, мечта менеджеров рушится, когда они понимают, насколько корпоративным и глючным является приложение. Лицензия всегда была последней проблемой, с которой я сталкивался, когда возникали такие сценарии.
Кепла
@keppla: Да, и это означает: используйте это, но знайте об этом. Сохраняйте полупрозрачные границы между вашей собственностью и лицензией GPL, так что если придет время перемен, вы не окажетесь безнадежно запутанными. «Бизнес-секреты» отделены хорошим абстрагирующим слоем некоторой клейкой логики от частей GPL.
SF.
1

LGPL версии 2 позволяет вам распространять исходный и двоичный файлы.

Вы можете даже продать это.

Единственное реальное ограничение заключается в следующем:

Если вы модифицируете библиотеку и распространяете ее, вы должны опубликовать сделанные вами изменения в библиотеке. Прочтите пункт 2 LGPL.

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

Jaydee
источник
0

Я не думаю, что это будет проблемой. Веб-приложения, использующие код GPL, но недоступные в форме исходного кода для пользователей, являются одной из проблем, которые GPLv3 изменил по сравнению с GPLv2, закрыв эту «лазейку». Это похоже на во многом тот же вопрос.

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

CVn
источник
0

Во всех этих советах «программист-программист» важно помнить, что ни один из них не является юридическим советником. Как ясно из этой ветки, есть место для интерпретации с GPL.

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

-

Например, вот морщинка: что если код GPL будет JavaScript?

Когда пользователь заходит на веб-сайт с помощью JavaScript-кода GPL, технически «исходный код» (в данном случае файл JS) «распространяется» среди конечных пользователей. Означает ли это, что весь ваш сайт должен быть GPL'd? Там тоже целая дискуссия .

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

Тодд
источник
Не имеет значения - ОП спрашивает о полностью внутреннем применении. В этом случае ни одна версия GPL ничего не говорит о необходимости что-либо распространять (хотя может возникнуть проблема с подключением к не-GPL-совместимому программному обеспечению), а часто задаваемые вопросы по Gnu напрямую касаются этого недостатка.
Дэвид Торнли
-1

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

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

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

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

Обратите внимание, что это меняется с GPL v3, в результате чего ваш код должен быть открытым исходным кодом, если вы ссылаетесь на открытую библиотеку ...

Гэвин Коутс
источник
1
«требуется только исходный код для скомпилированной библиотеки» - это описывает LGPL, а не GPL. GPL работает при условии, что ссылка на библиотеку делает ваше приложение производной от библиотеки и, следовательно, подчиняется самой GPL.
Шон Макмиллан
-2

Я не уверен, можно ли запретить сотрудникам распространять это приложение, поскольку само приложение также является лицензией GPL. Так что то, что вы думаете, может быть «внутренним приложением», может быть (юридически?) Просочено вместе с исходным кодом.

zvrba
источник
Пожалуйста, уточните «поскольку само приложение также является лицензией GPL». Что ты имеешь в виду? Если кто-то захочет взять только библиотеку под GPL и распространять ее, лицензия откроется из того, что я понимаю до сих пор. Приложение для внутренней сети (console n web) НЕ предназначено для распространения, и если какой-либо сотрудник решит «перераспределить» приложение компании, я уверен, что после этого он долго не будет сотрудником ..
Ахмад
EXE-файл для консоли - это GPL, поскольку он использует библиотеку GPL, и, следовательно, GPL требует, чтобы он оставался свободно распространяемым любым, кто получает к нему доступ. Да, сотрудник может потерять свою работу за это, но он вправе распространять исполняемый файл GPL с источником. Однако могут применяться другие правила и законы (например, коммерческая тайна). Проконсультируйтесь с юристом, действительно ли вы можете привлечь «нелояльных» сотрудников к ответственности за выполнение того, что предоставлено GPL.
zvrba
пожалуйста, перечитайте вопрос. Большинство ответов, похоже, не согласны с вами, или нам чего-то не хватает? Приложение (включая часть под лицензией GPL) НЕ предназначено для распространения / перераспределения, будет использоваться только для внутреннего использования, а не для продажи и публичного распространения. Библиотека GPL НЕ будет изменена каким-либо образом. Вы знаете, что Google использует модифицированные версии linux kernal только для внутреннего использования и не распространяет эту версию. Я подчеркнул только внутреннее использование.
Ахмад
Намерены ли вы распространять приложение или нет, не имеет значения. GPL ясно говорит о следующем: любой, кто получит в свои руки работу GPL, может свободно распространять ее дальше (и может потребовать исходный код). Поговорите с юристом, чтобы выяснить, что еще может быть предъявлено вашим сотрудникам, если они решат распространять работу GPL, поскольку лицензия GPL позволяет им.
zvrba
1
Приложение не является автоматически GPL, включая библиотеку GPL. Однако, если вы хотите распространять приложение, содержащее библиотеку GPL, оно должно быть лицензировано под лицензией, совместимой с GPL. Раздел 7 GPL V2 гласит: Если вы не можете распространять так, чтобы одновременно выполнять свои обязательства по настоящей Лицензии и любые другие соответствующие обязательства, то, как следствие, вы не можете распространять Программу вообще. Поэтому, если у вас нет разрешения на распространение кода приложения вашей компании, вы не можете распространять приложение.
KeithB