Я работаю над прототипом для программной системы, которая (по крайней мере, на старте) будет с закрытым исходным кодом.
Чтобы сэкономить время, я подумываю использовать (то есть статически связывать) библиотеку, лицензированную по GPLv3 , чтобы я мог быстро протестировать свой дизайн. Если бы я распространял программное обеспечение на этом этапе, мне пришлось бы распространять исходный код вместе с ним.
Что если я этого не сделаю, но убедился, что моя система работает, а затем заменил библиотеку GPL собственным кодом перед распространением? Будет ли результат "загрязнен" GPL?
У меня есть ощущение, что сохранение библиотеки GPL в моей истории Git или нет может иметь значение.
licensing
version-control
gpl
closed-source
Лоран С
источник
источник
Ответы:
GPL пишет :
Таким образом, это условие применяется только в том случае, если ваша работа «основана на» библиотеке, которую лицензия определяет следующим образом:
То есть ваша программа «основана» на библиотеке тогда и только тогда, когда она является производным произведением в соответствии с законом об авторском праве. Юридическое определение этого термина несколько различается в разных юрисдикциях и обычно не касается непосредственно программного обеспечения. Например, Закон об авторском праве США пишет:
Что это означает для программного обеспечения, должно быть истолковано судами на основании ранее принятых решений. Я недостаточно знаком с соответствующим прецедентным правом в вашей юрисдикции, чтобы с уверенностью сказать, как суд примет решение по вашему делу. Можно утверждать, что «замена библиотеки GPL собственным кодом» является актом перевода, особенно если ваш код сильно вдохновлен реализацией GPL. Даже повторное использование API библиотеки GPL может привести вас к горячей воде (см. Oracle против Google ).
Если ответ имеет значение для вас, я рекомендую обратиться за компетентной юридической консультацией, а не спрашивать незнакомцев в Интернете.
источник
Пока вы не выпускаете программное обеспечение кому-либо, пока вы подключаетесь к библиотекам GPL, вы в безопасности. Вирусный аспект GPL включается только в том случае, если вы распространяете свое программное обеспечение.
Конечно, было бы лучше, если бы вы могли найти библиотеку с более разрешительной лицензией, например, LGPL, APL2 или MIT.
источник
Я не думаю, что ваш вопрос на самом деле о GPL. Речь идет о прототипе и о том, будет ли он использоваться в будущем в качестве основы для поставляемой системы программного обеспечения.
Если вы создаете одноразовый прототип и не собираетесь повторно использовать какой-либо код в своей доставляемой системе, тогда используйте библиотеку GPL.
Три подхода, которые вы можете использовать
Однако, если вы собираетесь развивать прототип (чего требуют многие менеджеры!), У вас есть три подхода:
Я предлагаю вам использовать первый подход, потому что тогда у вас есть работа с открытым исходным кодом, которую вы сможете использовать в будущем как часть своего профессионального портфолио.
Второй подход также хорош, потому что именно так вы должны в любом случае проектировать систему, создавая точные функции / классы, которые вам нужны, и заглушая их, пока у вас не будет библиотеки или пользовательского кода, который заполняет эти функции.
источник
Я могу думать о двух аспектах, чтобы рассмотреть с вашим подходом. Во-первых, это просто: не распространяя свой проект или (или, как он называется GPLv3 , делая его доступным для общего пользования), пока вы используете код, выпущенный под лицензией GPL, трудно понять, как вам потребуется распространять код под лицензией GPL тоже в соответствии с условиями распространения.
Второй аспект, возможно, более важен для вас. Когда вы создаете свою собственную реализацию для замены библиотеки GPL, вы должны быть осторожны, чтобы не создавать производную работу. Хотя я уверен, что у вас есть добрые намерения, если вы не копируете исходный код напрямую, вы, скорее всего, не будете копировать значительные части API библиотеки.
Если это коммерческий продукт, этот риск необходимо учитывать и оценивать, внимательно прочитав лицензию GPLv3 и, если есть сомнения, попросить профессионального юридического заключения.
источник
Если вы планируете написать свой собственный код для замены кода GPL, у вас возникнет потенциальная проблема, поскольку вы не пишете код в среде чистой комнаты. Вы действительно хотели бы, чтобы кто-то, кто никогда не смотрел на код GPL, написал какую-либо заменяющую библиотеку. С другой стороны, если вы хотите просто поменять библиотеку GPL на уже опубликованную библиотеку, которая находится под другой лицензией, тогда это не проблема, другая библиотека, вероятно, уже написана в среде чистой комнаты.
источник
Если вы предоставите доступ к ревизиям, используя код GPL, они будут полностью GPL. Но вы не хотите, потому что это не будет с закрытым исходным кодом ...
Для любого более позднего состояния, которое больше не использует код GPL, то, что вы использовали GPL-код раньше, просто не имеет значения.
источник
GPL запускается только при распространении ... вы можете делать все, что захотите, если не выпускаете измененную версию или производную работу.
Если вы имеете в виду публикацию вашего источника в общедоступном репозитории, таком как GitHub , то да, у вас может быть проблема. Просто использование git не имеет значения, если это личное.
источник