какое утверждение характерно для лицензии на прикладное по с открытым исходным кодом
Юридические последствия использования открытого кода (Open Source)
Владислав Макаренко, CEO antwort LAW
Использование свободного или открытого кода при разработке нового программного обеспечения является распространенным, практически повсеместным явлением в современной IT индустрии. Такой код выгоден как разработчикам, так и заказчикам, поскольку значительно экономит время, силы и средства на разработку новых продуктов. При этом, использование свободного или открытого кода имеет свои юридические правила и последствия, которые могут существенно влиять на дальнейшую судьбу софта.Эта статья обязательна к прочтению всеми разработчиками и девелоперами, которые в своей работе используют открытый код, а также потенциальным заказчикам программного обеспечения.
Следует сразу отметить, что в данной статье мы будем рассматривать под открытым кодом (Open Source) большую группу свободных (Free Software) и открытых кодов (Open-Source Software) без разделения на отдельные подкатегории, т.к. для целей этой статьи такое разделение несущественно.
Любой открытый код доступен для просмотра, изучения использования или изменения, и, как правило, размещается в открытых публичных репозиториях вместе с информацией о возможном применении и условиях использования. Именно условия использования таких кодов представляют наибольший интерес с точки зрения права, поскольку авторы открытого кода не отказываются от своих прав, а предоставляют его другим на условиях открытых лицензий.
Существует большое разнообразие видов лицензий на открытый код, и различия между ними являются очень существенными. Тем не менее, в подавляющем большинстве случаев есть одно крайне важное требование всех лицензиатов – упоминание об использовании этого открытого кода (например, в формате Third Party Software Attribution Notice) и включение в текст конечной лицензии определенных условий.
Далее мы более детально поговорим про эти обязательства, и как правильно организовать работу с открытым кодом, поскольку последствия от невыполнения условий лицензии на открытый софт могут быть не менее серьезны, чем от нарушения условия любой другой лицензии.
Главным условием, которое позволит вам избежать последующих сложностей при использовании открытого кода, является скрупулёзный сбор информации про весь открытый код, используемый при работе над вашим софтом.Разумеется, реализовать это могут только сами разработчики, поскольку только они знают, какие именно открытые коды были использованы при работе над программным обеспечением. Если вы являетесь заказчиком софта, то в контрактах с разработчиками следует обязательно включать пункт о том, что разработчики должны передать вам информацию о всех открытых кодах, использованных ими в работе. Разумеется, такое обязательство должно сопровождаться описанием ответственности за его нарушение, иначе в нем теряется всякий смысл.
Как правило, такая информация передается в отдельном приложении к договору о разработке, и оформляется в виде таблицы с указанием названия открытого кода, ссылки на репозиторий, из которого такой код взят, и типа лицензии, на основании которой открытый код был размещен его автором.
Информация о названии лицензии, как и сам текст лицензии, в подавляющем большинстве случаем содержится в том же репозитории в виде текстового файла TXT или в формате Word. Само название файла может быть разным, но, как правило это классические названия Readme или License.
Идентифицировать весь открытый код, использованный в разработке вашего софта – важнейший этап, от которого зависит вся дальнейшая работа с производным кодом, т.е. тем самым софтом, который вы в итоге разработали или получили. Крупные IT компании даже проводят отдельную экспертизу кодов, чтобы убедиться в том, что был указан весь использованный открытый код и ничего не пропущено.
Ранее мы уже упоминали о том, что существует большие разнообразие лицензий на открытый код, и отличия между ними могут быть довольно существенными. Среди наиболее популярных можно выделить такие типы лицензий как MIT, BSD, Apache 2.0, GNU GPL и т.д. – их очень много.
Не вдаваясь в детали каждой отдельно-взятой лицензии, стоит выделить два основных вида таких лицензий — copyleft-лицензии и permissive-лицензии.
Поскольку большинство программ разрабатываются с целью их дальнейшего использования для получения выгоды, то их заказчикам стоит избегать использования copyleft-лицензий, и вот почему. Сopyleft-лицензии (например, лицензии GPL) предусматривают, что любой производный код (в частности, конечній код вашей программы) должен быть открытым для общественности на условиях GPL-лицензии, и при передаче прав на его использование необходимо прикладывать GPL-лицензию, уведомление об авторском праве и файл с открытым исходным кодом.
Таким образом, используя открытый код на основе copyleft-лицензии вы автоматически теряете возможность получить производный код в свое полное распоряжение и контролировать его последующее коммерческое использование.
Permissive-лицензии позволяют распространять производный код на условиях других лицензий, так что при разработке ПО они пользуются большей популярностью. В тоже время, использование открытого кода по Permissive-лицензии не означает отсутствие дополнительных требований, таких как упоминание ей автора и т.д.
Таким образом, сбор информации и анализ типов лицензий, используемых при разработке вашего софта, стоит проводить всем, кто использует открытый софт в своей работе, и для этого следует привлечь профессиональных юристов, которые смогут дать рекомендации по дальнейшему составлению конечной лицензии и использованию вашего софта.
Открытые (свободные) лицензии (open source): история и действие в условиях российского права после 01.10.2014
С 1 октября 2014 года в России легализованы свободные лицензии (open source). Соответствующие изменения были внесены законодателями в 4 часть Гражданского кодекса.
Теория
История
Внутренние противоречия не прошли мимо и этого движения, и в итоге произошло разделение — одни ратовали за открытый исходный текст ПО, другие борются за свободные программы в целом.
В некоторых странах программные продукты могут быть зарегистрированы как объекты патентного права и на них получены патенты (например, США, Южная Корея, Япония и др). Возникает некое противоречие между открытой лицензией и охраной патентным правом объекта патентования. Возможно, поэтому последние версии открытых лицензий включают в себя условия, ограничивающие автора в использовании своих прав, вытекающих из полученных патентов.
Все эти препятствия приводят к тому, что в большинстве стран правовое положение «свободных лицензий» является неопределенным и часто не соответствует закону страны. Интересно просмотреть судебную практику последних десятилетий:
В России
Но не путем признания существующих свободных лицензий.
А путем предоставления права автору опубликовать свою лицензию на сайте (со ссылкой на нее при скачивании или заключения договора иным способом). А уже сам автор может решить, использовать ли имеющиесялицензии или составить свою.
В принципе, ничто не мешает автору при опубликовании взять текст имеющихся лицензий [7] и использовать их.
Открытая лицензия является безвозмездной, если ею не предусмотрено иное.
В случае, если срок действия открытой лицензии не определен, в отношении программ для ЭВМ и баз данных договор считается заключенным на весь срок действия исключительного права, а в отношении других видов произведений договор считается заключенным на пять лет.
В случае если в открытой лицензии не указана территория, на которой допускается использование соответствующего произведения, такое использование допускается на территории всего мира.
В том числе, возможно и предусмотреть обязанность всех, кто использует ПО на основе открытой лицензии, публиковать модификации ПО, доработки и т.д., делая все это доступным за плату или безвозмездно.
Единственное ограничение: правообладатель может отозвать свою лицензию (расторгнуть договор), если пользователи будут предоставлять больше прав, чем получили сами.
Практика
Такое заявление касается любых объектов авторского права: песен, музыки, картинок, фотографий, программ для ЭВМ и т. д. Публикацию можно будет разместить после 01.01.2015 года.
[1] Операционная система GNU. http://www.gnu.org/
[2] Войниканис Е.А. Право интеллектуальной собственности в цифровую эпоху: парадигма баланса и гибкости. М.: Юриспруденция, 2013
[3] Виды открытых лицензий. http://www.gnu.org/licenses/license-list.html#SoftwareLicenses.
[4] Welte v. Sitecom. Deutschland GmbH, LG Muenchen, 21 O 6123/03; Welte v. Fortinet UK Ltd., Landgericht Muenchen 1, N 21 O 7240/05; Welte vs. Skype Technologies SA 7 O 5245/07.
[5] SFLC v. Monsoon Multimedia, Inc. 07-CV-8205.
[6] Free Software Fdn., Inc. v. Cisco Sys., Inc. United States District Court for the Southern District of New York, case N 08-CV-10764 (S.D.N.Y. Dec. 11, 2008).
[9] На данный момент постановление не принято.
Откройте доступ к закрытой части «Клерка» с подпиской «Премиум». Получите сотни вебинаров и онлайн-курсов, безлимитные консультации и другой закрытый контент для бухгалтеров.
Успейте подписаться со скидкой 20% до 15.10.2021. Подробнее про «Премиум» тут.
Лицензия для вашего open-source проекта
В этой статье я хочу немного поговорить об авторском праве и свободных лицензиях на ПО. Текст является результатом самостоятельного выбора лицензий и их применения к своим проектам.
Статья будет полезна тем, кто хочет:
— в общих чертах понять, что такое авторское право (но лучше обратиться к юристу);
— подобрать свободную лицензию для своего проекта;
— разобраться, что нужно писать в шапке файла исходного кода.
Первым делом — ссылка на LicenseIT, очень полезный сайт с описанием лицензий и особенностей их применения (в том числе в России), который я умудрился не найти при подготовке статьи. Исправляюсь. Спасибо sensboston за ссылку.
Авторское право
Для начала коротко о том, что вообще такое авторское право и лицензии.
Meanwhile in Russia
Если вы в качестве результата интеллектуальной деятельности создали некое произведение (например, программу), то в этом случае вы — его автор(ы). Вы обладаете имущественными и неимущественными правами на это произведение. Имущественные права на это произведение вы можете передать и кому-то другому, но передать неимущественные, в том числе авторство, у вас уже не получится. Быть автором — это ваше неотчуждаемое и непередаваемое право.
Даже если вы при создании произведения работали «на дядю», то и в этом случае автор вовсе не некое абстрактное ООО. Возможно, когда вы устраивались на работу, то подписывали в том числе и пункт про «отчуждение исключительных прав на результаты вашей интеллектуальной деятельности в пользу работодателя» в договоре или что-то подобное. Возможно, нет (в этом случае гуглите «Служебное произведение»). В обоих случаях автор — вы. И обладаете некоторыми правами.
Лицензии
Другой способ передачи прав на произведение — лицензия. В этом случае права не отчуждаются, они передаются в соответствии с тем, что прописано в лицензионном договоре между пользователем и правообладателем. Да, лицензия — это именно договор! Все лицензии на ПО, как коммерческие, так и свободные, представляют из себя такой договор. В нем прописано, что вы можете и что не можете делать с ПО, и как далеко вас может послать правообладатель в случае претензий. Например, лицензия может дать вам право устанавливать программу, но ограничивать это право только одним компьютером, иначе к вам приедут дяди в масках и все отберут.
Обратите внимание на важный момент: если у вас достаточно прав на произведение, то вы можете распространять его под разными лицензиями (в том числе, одновременно). Например, на вашем сайте вы можете распространять программу бесплатно под свободной лицензией, а в каком-либо магазине приложений она может продаваться за деньги под их стандартной лицензией.
Также Вы можете сменить лицензию в любое время: например, сегодня у вас на сайте программа была бесплатной под свободной лицензией, а завтра она платная и с закрытыми исходниками. Но в этом случае вы не можете заставить пользователей, скачавших программу ранее, следовать нормам новой лицензии. Это логично, ведь они получили программу по другому договору.
В мире
Свободные лицензии
Определяем определение
Свободной лицензией является лицензия, которая соответствует неким критериям свободного ПО. Обычно используют либо определение свободного ПО, данное Ричардом Столлманом, либо критерии Debian по определению свободного программного обеспечения, сформулированные Брюсом Перенсом. Соответственно, те лицензии, которые не являются свободными — несвободные.
На мой личный взгляд, заморачиваться с конкретными определениями нет никакого смысла, мы ведь не политики (ну, по крайней мере, я). А с практической точки зрения, основная разница между свободными и несвободными лицензиями — в целях. Несвободные лицензии применяются с целью заработать и не дать на этом заработать конкурентам, свободные — с целью предоставить возможность безвозмездно пользоваться плодами вашего труда.
Copyleft
Перед тем как приступить к описанию лицензий, нужно разобраться, что такое копилефтные и разрешительные (пермиссивные, permissive) лицензии. Копилефтными считаются свободные лицензии, требующие распространять производные продукты под такой же лицензией. То есть, если вы использовали в своей программе библиотеку под копилефтной лицензией, то вам придется распространять вашу программу под ней же. Задача же разрешительных лицензий, напротив, разрешить любое возможное использование продукта.
Основные свободные лицензии
GPLv3 (GNU General Public License Version 3)
GPLv2 (GNU General Public License Version 2)
GPLv3 заметно строже и может создать некоторые проблемы автору. Например, одно из требований состоит в том, что должна быть предоставлена инструкция по установке изменённого приложения на устройство. Для приложений под iOS или WindowsPhone, где нет штатной возможности установить пакет не из магазина, выполнить такое требование проблематично.
Кроме того, стоит заметить, что большинство программ, выпущенных, под GNU GPLv2, позволяют использование на условиях более поздней версии лицензии.
LGPLv3 (GNU Lesser General Public License Version 3, в девичестве GNU Library General Public License)
GNU AGPLv3 (GNU Affero, GNU Affero General Public License Version 3)
Как применять лицензии GNU со своими программами
Спасибо coh и lorus за то, что о ней вспомнили. Это копилефтная лицензия.
Ее условия фактически состоят из условий GPLv3 с дополнительным параграфом в разделе 13, который позволяет пользователям, взаимодействующим с лицензируемой программой по сети, получать исходный текст этой программы. Мы рекомендуем разработчикам подумать о применении GNU AGPL для любых программ, которые обычно выполняются в сети.
Обратите внимание, что GNU AGPL не совместима с GPLv2. Она также формально не совместима с GPLv3 в узком смысле: вы не можете взять исходные тексты, выпущенные на условиях GNU AGPL, и передавать или изменять их, как вам угодно, на условиях GPLv3, и наоборот. Однако вам позволено комбинировать раздельные модули или файлы исходного текста, выпущенные под обеими этими лицензиями, в едином проекте, что предоставит многим программистам разрешение на все действия, нужные им для того, чтобы делать какие им угодно программы.
MPL v2.0 (Mozilla Public License
Version 2.0)
Для проекта open source стоит ещё рассмотреть MPL 2.0. Своеобразная лицензия, что-то среднее между LGPL и BSD. От LGPL отличается отсутствием заморочек со статическим связыванием. Это может оказаться важным для программ на ЯП, в которых динамическое связывание не предусмотрено.
Лицензией MPL заражаются файлы, а не проекты, в отличие от (L)GPL. Если изменить файл, он должен остаться под MPL. Если добавить — ограничений нет.
В случае, если проект под GNU GPL, то необходимо сделать используемый в нем код под MPL 2.0 доступным сразу под обеими лицензиями.
Для использования этой лицензии в вашем проекте нужно добавить текст из Exhibit A лицензии
в качестве шапки в каждый файл исходного кода. Лицензия не требует указывать copyright в каждом файле, но и не запрещает этого. Также не забудьте добавить в проект файл LICENSE с текстом лицензии.
EPL-1.0 (Eclipse Public License Version 1.0)
По просьбе kidar2 добавляю лицензию EPL. Это копилефтная лицензия, но она не совместима с GNU GPL.
При распространении в форме исходного кода программа должна быть доступна под лицензией EPL.
Автору разрешается распространять программу в форме объектного кода под собственной лицензией, при условии, что: эта лицензия соблюдает условия EPL, явно отказывается от любых гарантий и ответственности от лица всех авторов, указывает, что исходные коды программы доступны у этого автора и объясняет, как их получить.
Применение к своему проекту: копия лицензии должна быть включена во все копии программы
Ms-PL (Microsoft Public License)
Про лицензию напомнил sensboston. Копилефтная лицензия, несовместимая с GPL. По смыслу схожа с EPL, но написана гораздо, гораздо более человеческм языком. Самая короткая из присутствующих в этой статье копилефтных лицензий.
Обладает даже более слабым копилефтом, чем EPL: если вы распространяете исходные коды проекта, содержащие код под Ms-PL, то все исходные коды проекта должны распространяться под Ms-PL. При этом, распространение в форме объектного кода или бинарной форме позволяется под любой лицензией, не нарушающей Ms-PL. Кроме того, вы обязаны сохранять все копирайты, патенты, торговые марки и указания авторства оригинального кода. Да, лицензия регулирует патентные отношения.
Для применения к своему проекту: скопируйте текст лицензии в ваш проект (например, в файл LICENSE) и распространяйте его вместе с ним.
Существует миф, что лицензия MIT существует. Дело в том, что MIT (Massachusetts Institute of Technology) использовал много разных лицензий. Тот текст, который сейчас называют лицензией MIT, в оригинале являлся лицензией Expat, а еще ранее составлял большую часть лицензии X11. Эта лицензия — разрешительная, без копилефта. Она разрешает использование и изменение кода практически любым образом, при условии, что текст самой лицензии и указание авторства никуда не исчезнут, даже если вы разобьете изначальный проект на части. Также неоспоримое достоинство этой лицензии — небольшой размер. В качестве недостатка отмечают отсутствие регулирования патентных отношений. Из-за этого вместо нее GNU рекомендуют использовать другую разрешительную лицензию — Apache 2.0, а MIT предлагают использовать лишь для небольших проектов. Тем не менее, из разрешительных лицензий эта, пожалуй, самая известная.
Для ее применения к своему проекту создайте текстовый файл LICENSE и поместите текст лицензии туда, а также не забудьте заменить данные в строке с копирайтом на верные. Многие дополнительно указывают полный текст лицензии в шапке каждого файла исходного кода.
Apache 2.0
Наиболее современная и сбалансированная из разрешительных лицензий. Написана человеческим языком, но с оглядкой на современное правоприменение, в частности, упомянутые выше патентные отношения (пункт 3 лицензии). GNU советуют применять именно эту лицензию, когда вам необходима разрешительная лицензия.
Для применения лицензии Apache 2.0 к вашему проекту, нужно добавить в него файл LICENSE, содержащий текст лицензии. Кроме того, в APPENDIX лицензии нам предлагают добавлять в качестве шапки в каждый файл исходного кода следующий текст:
Но при этом сама лицензия выдвигает следующие требования:
made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below)
copyright notice — это как раз строка, указывающая правообладателя. А «made available under the License, as indicated» означает, что еще должна быть явно указана лицензия. То есть, допустимо что-то вида:
Причем, совсем необязательно в исходном коде — Apache 2.0 позволяет для этого использовать файл NOTICE («or attached to the work»).
И еще о файле NOTICE: если в вашей работе вы используете чужой проект под лицензией Apache 2.0, содержащий свой файл NOTICE, то в этом случае вы обязаны копировать в производную работу содержимое файла NOTICE, в одно из трех мест: либо в аналогичный файл NOTICE, либо в исходные коды или документацию, распространяемую вместе с производной работой, либо в вывод производной работы (например в about-диалог); все согласно пункту 4 (d) лицензии. Заметьте, что, вопреки расхожему мнению, обязательного наличия файла NOTICE лицензия не требует.
При распространении в бинарной форме, вы, кроме того, должны предоставлять копию лицензии вместе с программой.
Это разрешительная лицензия, схожая по смыслу с лицензией MIT. Оригинальная лицензия BSD состояла из 4-х пунктов, но, впоследствии, 3-й пункт, требовавший включать уведомление об авторстве во все рекламные материалы, был исключен. Кроме того, существует и двухпунктовая лицензия BSD, о которой напомнил Athari, в ней удален третий пункт, и эта версия практически совпадает по функциональности с лицензией MIT. GNU советуют вместо лицензии BSD использовать MIT, чтобы исключить путаницу с тем, какая именно версия лицензии BSD используется.
Для ее применения к своему проекту создайте текстовый файл LICENSE и поместите текст лицензии туда. Не забудьте добавить строку с копирайтом. Также, дополнительно можно указать полный текст лицензии в шапке каждого файла исходного кода.
При распространении в бинарной форме лицензия и копирайт должны быть представлены в документации и/или других материалах, распространяемых вместе с бинарником.
WTFPL Version 2
Как оказалось, весьма популярная на Хабре лицензия (спасибо Komzpa, Stasik0 и плюсовавшим). Кроме того, она присутствует в списке лицензий GNU, хотя они и постеснялись разместить ее текст на своем сайте.
GNU классифицируют ее как разрешительную некопилефтную лицензию и не рекомендуют ее использовать без каких-либо объяснений. Вместо нее предлагаются MIT или Apache 2.0.
Beerware
wrote this file. As long as you retain this notice you
* can do whatever you want with this stuff. If we meet some day, and you think
* this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
* — */
Еще одна лицензия, набравшая плюсов в комменатриях (спасибо JDima и плюсовавшим). Это тоже разрешительная лицензия, которая пытается разрешить все (ключевое слово «пытается») и содержит необязательное условие поставить автору пива (в других версиях, выпить в честь автора) при встрече, если вам понравился его проект.
Как известно, «чрезмерное употребление пива вредит вашему здоровью». Но беда этой лицензии не в пиве. Обратите внимание на фразу
wrote this file. As long as you retain this notice.
Общественное достояние (Public Domain)
CC0 (Creative Commons CC0)
Creative Commons CC0 — лицензия, которая пытается перевести проект в общественное достояние в максимальной форме, разрешенной законом. А если закон не позволяет это совершить, автоматически применяет положения разрешительной лицензии. GNU рекомендует применять CC0 в том случае, если вы хотите перевести вашу работу в общественное достояние.
Про применение CC0 к проекту можно прочитать в этой статье.
Unlicense
Про лицензию напомнил Athari. Эта лицензия появилась путем копипасты текста о передаче в общественное достояние и отказа от прав (waiver) проекта SQLite и отказа от гарантий из лицензии MIT. Аналогично лицензии CC0, Unlicense пытается перевести работу в общественное достояние и послужить в виде лицензионного договора на случай, если этого не произошло. Однако, эта лицензия менее проработана, чем CC0, из-за чего может являться нелегальной. Вот в этом вопросе на stackexchange подробнее. Вкратце, там указано, что лицензия явно нелегальна, например, в Германии, так как там, похоже, нет понятия общественного достояния. А Unlicense, в отличие от CC0, не отказывается от перевода в общественное достояние для случая, когда это противоречит закону. Кроме того лицензия как минимум нелогична (или даже противоречива), так как передача в общественное достояние, заявленная в первой строке, в случае успеха делает невалидными параграфы, следующие за ней.
Для применения Unlicense нужно добавить файл с текстом лицензии к вашему проекту. Авторы лицензии рекомендуют назвать файл UNLICENSE.
Copyright в исходниках
Наверное, вы заметили, что многие лицензии предлагают размещать определенный текст в виде комментария в шапке файла? Если это является обязательным требованием, то тогда ему нужно следовать. Но насколько необходим подобный текст, если явного требования лицензия не предъявляет?
Хорошие новости: в таком случае лицензию и даже копирайт совершенно не обязательно указывать в шапке файла. Ваша работа и так ваша, для подтверждения этого указывать копирайт нет необходимости. Подтверждать авторство или обладание правами вам все равно придется другими способами, а текст лицензии может находиться в отдельном файле.
Ну и, на всякий случай, примеры
Заключение
Разместить ваш проект в интернете и написать «пользуйтесь все!» еще недостаточно для того, чтобы им действительно начали пользоваться. И речь не о рекламе или полезности конкретного проекта. Часто необходимо четкое понимание, как можно и как нельзя использовать проект, особенно, если цели использования — коммерческие. В том числе, слова «пользуйтесь все» вряд ли удастся представить договором с правообладателем в случае каких-либо проблем.
При выборе лицензии задумайтесь, в первую очередь, о том, что лицензию вы пишете в большей степени не для себя, а для тех, кто вашим кодом будет пользоваться. Она регулирует ваши отношения с ними. Кто будет использовать ваш код? Как они будут его использовать? Какая из лицензий будет им удобнее? Какие проблемы из-за лицензии могут возникнуть у них? А у вас? Ответив на подобные вопросы, можно подобрать наилучшую лицензию.
В свою очередь, если вы используете чужой проект в своих целях, то нужно понять ограничения, накладываемые на вас его лицензией. Подходят ли они вам, сможете ли вы выполнить эти требования?
Лицензия, даже свободная, является договором между правообладателем и пользователем. Старайтесь рассматривать это именно так.