Ограничивает ли лицензия с открытым исходным кодом мой код позже?

29

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

Как мне публиковать программное обеспечение таким образом, чтобы я оставался владельцем и не блокировал себя от использования библиотеки в будущем?

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

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

Ответы:

44

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

Вещи становятся немного наклейкой, когда другие люди начинают вносить свой вклад. Значит, это их работа, а не ваша, и вам нужно получить их разрешение. Одна вещь, которую вы можете сделать, это опубликовать вашу библиотеку под двойной лицензией. Это то, что делает Сэм Лантинга, основной создатель и разработчик SDL . Поскольку Apple не нравится библиотека динамических ссылок для iOS, и соблюдение LGPL в статически связанном приложении доставляет больше хлопот, чем стоит, он публикует SDL под лицензией LGPL и с коммерческой лицензией для статических приложений iPhone. Когда кто-либо представляет патч, он явно запрашивает у него разрешение на развертывание патча в библиотеке под обеими лицензиями, и если им это не нравится, он не добавляет его в кодовую базу.

РЕДАКТИРОВАТЬ: мой пример больше не точный. Некоторое время назад Сэм изменил модель (не уверен почему; возможно, он просто устал от административных хлопот) и теперь лицензирует SDL по весьма разрешительной лицензии в стиле zlib. Но он делал это так.

Мейсон Уилер
источник
1
+1 специально для того, чтобы показать, как обращаться с вкладами других авторов.
Фрэнк Шиарар
5

Я не юрист, и это не юридическая консультация. Если вам нужна юридическая гарантия, наймите адвоката.

Вы абсолютно можете получить двойную лицензию на свое программное обеспечение - Trolltech много лет делал это с Qt, а Linden Lab - с клиентом SecondLife.

Вы можете использовать любую понравившуюся лицензию. Некоторые лицензии совместимы с закрытыми коммерческими средами, такими как лицензии Mozilla MPL, MIT и BSD, а также (я полагаю) лицензии Sun CDDL и Apache.

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

Обратите внимание, что пользователям и особенно участникам, возможно, это не понравится, поэтому это повлияет на сообщество вокруг вашего проекта, вероятно, отрицательно.

Опять же, проконсультируйтесь с адвокатом для деталей.

greyfade
источник
MIT, то есть лицензия «делай, что хочешь, черт возьми».
Эван Плейс,
2

Я тоже не юрист, но ...

Помимо ограничительных (что вынуждает вас открывать исходный код каждого проекта, в котором они используются) лицензий, таких как GPL, существуют также не ограничивающие (то есть вы можете использовать такую ​​часть программного обеспечения в коммерческом проекте), как Lesser GPL или Apache License (2.0 ?). Поэтому, возможно, вы можете просто выпустить свое программное обеспечение на неограничительных условиях.

Павел Дида
источник
2
GPL не меняет владельца кода. Если я публикую код на GPL, он распространяется на других людей, использующих этот код - у меня есть любое разрешение, которое мне нравится, и я могу делать с ним все, что захочу (однако, поскольку закон не работает в обратном порядке, я не могу ограничить использование людей, которые использовали программное обеспечение на GPL).
Мацей Пехотка
2
Под ограничением я подразумеваю, что GPL заставляет пользователей вашей библиотеки выпускать свое программное обеспечение под лицензией, совместимой с GPL, в то время как лицензии типа L-GPL, Apache, ... (BSD?) Этого не делают. Теперь, я не уверен, что если вы редактировали свой код под GPL, и кто-то внес в него изменения, вы можете просто выпустить его на коммерческой основе, как будто ничего не произошло. Я думаю, вам нужно сначала избавиться от дополнений ... Но если библиотека / фреймворк имеет лицензию L-GPL, вы можете использовать ее в коммерческих приложениях, как и все остальные, это точно. Я надеюсь, что это имеет смысл.
Павел Дида
Это именно то, что я делаю, когда пишу библиотеку. Выпуск коммерческой библиотеки не имеет большого смысла, обычно это приложение для конечного пользователя, которое может быть выпущено таким образом, и, если это не ограничивающая лицензия, я могу использовать библиотеку в своем проекте. И даже не важно, написал я это или кого-то еще.
Горан Йович
@ Горан, вы можете использовать библиотеку в своем собственном проекте независимо от того, под какой лицензией она находится . Это ваша библиотека и ваш проект: лицензия распространяется на других людей, а не на вас.
TRiG