Код GPL: что считается производной работой? [закрытый]

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

6 ответов


обычно я использую лицензию X11 (aka 3 clause BSD) при выпуске любой библиотеки, хотя я, как известно, склоняюсь к GPL2/3 при выпуске программы. Я делаю это, потому что хочу убедиться, что моя библиотека может использоваться без ограничений любым проектом FLOSS, это для меня важнее, чем утверждение идеалов copyleft, когда дело доходит до библиотек.

глупо ограничивать библиотеку в этом отношении, например, BSD переписал libreadline GNU на editline и сохранил 100% совместимый интерфейс. Это также пример того, почему вы, вероятно, можете сделать то, что вы намереваетесь сделать.

Если вы смотрите на какой-то пример, написанный в схеме, или говорите LISP, возможно, даже PERL .. и написав некоторую реализацию этого в C, вы должны быть в полном порядке. Нет абсолютно ничего плохого в изучении существующих реализаций при работе над созданием собственных.

Я настоятельно рекомендую просто спросить проект GNU, e-mail licensing@gnu.org и предоставьте им подробную информацию о том, чего вы надеетесь достичь. Вы наверняка получите очень дружелюбный ответ и, вероятно, сможете продолжить без беспокойства.

даже сам RMS признает, что интерпретация GPL/AGPL / LGPL может быть утомительной, они ожидают и приветствуют такие вопросы.


" Что представляет собой производная работа?- это не тот вопрос, на который может ответить программист. См., например,в чем разница между "сборником" и других "модификаций"? и лицензии GNU FAQ в целом.

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

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


2 отличные лицензии, которые, вероятно, соответствуют вашим требованиям:

  1. Лицензия Apache, версия 2.0, очень разрешительный (как MIT/BSD), но с патентно-судебной защитой для обеих сторон
  2. LGPL, версия 3, разрешительное использование библиотеки, но ее дальнейшее развитие (и распространение) требует сохранения LGPL и освобождения источника.

отказ от ответственности: я не юрист, и вы должны пойти к адвокату интеллектуальной собственности, который знает достаточно О лицензировании программного обеспечения. Если вы пойдете на встречу с глупцом, он или она скажет вам: "не делай этого просто на всякий случай", что может сказать любой.

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


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

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

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


обычно, если ваш SW должны "ссылка" на код GPL для функции это производная работа...