Юридические проблемы при работе с Open Source кодом
Кросс-пост отсюда: http://bishop-it.ru/?p=152
Недавно посетил лекцию по правовым аспектам работы с Open Source кодом. Лекцию читал юрист, да еще на английском языке – это были скучнейшие 3 часа в моей жизни. Но зато я узнал некоторые нюансы работы с Open Source, которых раньше не знал, а также различия в законодательствах разных стран, которые могут привести к проблемам. Об этом я сейчас и расскажу. Надеюсь это не будет скучнейшее чтиво в вашей жизни .
В общем, все вы наверняка уже знаете, что есть разные типы лицензий для Open Source кода – GPL, LGPL, BSD, MIT, Mozilla public license, Apache software license и другие. У каждой из этих лицензий свои ограничения, плюсы и минусы. Кто не знает или не совсем ориентируется, советую прочитать тексты этих лицензий, хоть это и непросто, или хотя бы обзорные статьи на русском, например, эту или эту. Я же не буду подробно останавливаться на подробностях этих лицензий, так как про это уже много написано.
Идеализация Open Source
Сама идея Open Source выглядит очень привлекательно и многие хотят использовать код из Open Source источников, так как он качественный (обычно) и бесплатный (обычно), а заодно экономит кучу времени. Но безопасно ли это с юридической точки зрения?
Основная идея, которую я почерпнул из этой юридической лекции – это то, что использование Open Source возможно и выгодно, но сложно и опасно. По крайней мере это относится к использованию Open Source кода крупными компаниями, продающими свои продукты World wide. Сейчас объясню почему.
Весь код, из которого собирается продукт, можно разделить на 3 категории:
- Собственный код, написанный внутри компании;
- Лицензированные (купленные) сторонние библиотеки;
- Open source код или любой другой сторонний бесплатный код.
В случае нарушения авторского права, когда кто-то подает в суд, и оказывается, что его код использован в вашем продукте, то возможно всего 2 варианта.
- Если код находится внутри сторонней ОПЛАЧЕННОЙ библиотеки, то вся ответственность и судебный иск ляжет на плечи того, кто делал эту библиотеку, а не на ваши. Вы заплатили и можете спать спокойно;
- Если же это ваш собственный код или open source код – ответчиком будет ваша компания.
В случае собственного кода всё понятно – кто-то из программистов случайно или специально скопипастил где-нибудь в интернете кусок кода и вставил не подумав в продукт. Такое возможно и встречается сплошь и рядом, т.к. программисты на самом деле не особо-то разбираются в законах и уж тем более не уважают их. Это, кстати, один из поводов для постоянных напоминаний программистам об авторском праве и законах. Они должны очень сильно бояться копипастить чужой код к себе в проект, иначе соблазн будет слишком велик.
В случае же open source кода всё немного запутаннее.
Например, программист Вася нашел в интернете Open Source реализацию классов клиента и сервера на C++ и решил, что их стоит взять, так как это сэкономит ему месяц работы. Лицензия – MIT или BSD без изменений, то есть можно делать с кодом что хочешь. Вася спросил у менеджера и менеджер сказал “Подходит, берем”. Всё скопипастили и всё прекрасно заработало. А через полгода приходит иск от компании Microsoft о нарушении авторских прав! Как такое может быть? Легко.
Например, кто-то взял эти исходники в Microsoft и выложил их, как Open Source. Стали ли от этого они Open Source? Нет конечно. Или если кто-то накопипастил код из других источников с разными лицензиями в одну библиотеку и выложил ее, как Open Source под BSD лицензией. Какая реально лицензия у такого кода и кто автор? Тут даже юрист не разберется. Или кто-то мог взять Open Source код с лицензией GPL, поменять его немного, и по недосмотру или злонамеренно поменять тип лицензии на MIT. Какая лицензия реально валидна после этого? Правильный ответ GPL. Надо ли говорить о последствиях, если в вашем секретном коде окажется код с GPL лицензией? Или если там окажется пункт про отчисления с продаж…
В общем, вы должны всегда помнить, что Open Source код для закона ничем не отличается от вашего собственного кода и вы несете полную ответственность за соблюдение всех авторских прав этим кодом. В переводе на русский язык это означает, что вам не обойтись без юридического отдела, который будет проверять каждый файл из Open Source кода, который вы добавляете в продукт. Им придется пробивать поиском все файлы и сверять все типы лицензий, узнавать владельцев кода, контактировать с ними и многое другое. Только так вы можете быть уверены, что используемый вами “свободный код” действительно “свободный”.
Кроме того, все вышеперечисленные типы лицензий – это просто шаблоны. В каждом конкретном случае может текст лицензии может быть изменен и, например, в него может быть добавлена информация, что автор хочет получать royalties с коммерческого использования его кода. И вычленить такого рода информацию из юридического текста программисту непросто – лучше отдать это на откуп юристам.
А теперь еще интереснее. В каждой стране свои законы об авторском праве и свои трактовки этих лицензий. Даже внутри Евросоюза нет единого закона. Например, если в лицензии написано, что код находится в Public Domain, то не спешите радоваться. В разных странах этот термин трактуется по-разному. И, например, в Финляндии автор такого кода может через несколько лет прийти и попросить процент с продаж, так как “код в Public Domain, но я все равно хочу процент”. И суд скорее всего удовлетворит иск.
Так что, кроме знания лицензий и терминов, при работе с Open Source стоит знать еще и локальные законы, если вы работаете World wide. Кстати, наибольшее число исков по Open Source делам приходят из Америки (понятно почему) и Германии (не ожидал).
Вы можете подумать, что нет ничего страшного в таком судебном иске. На самом же деле, если истец докажет свою правоту, то вам запретят продавать продукт с “украденным” кодом до тех пор, пока спор не будет разрешен!
Представьте себе, что Вася нашел свой код в Windows, подал и выиграл иск и Microsoft обязана перестать продавать свою ОС до тех пор, пока не договорится с Васей. Миллионы долларов убытка каждый день плюс огромный удар по репутации (хе-хе), так что они будут готовы убитьозолотить Васю.
На самом деле, конечно, такого рода дела заканчиваются обычно полюбовно еще до суда как раз потому, что это выгодно обеим сторонам. Более того, о подавляющем большинстве таких дел даже не становится известно.
Что же в итоге получается? Стоит ли использовать Open Source или нет?
Ответ, как ни странно – стоит! Слишком много готового отлаженного сложного кода можно взять из Open Source и это может сэкономить месяцы и даже годы работы. Но нужно быть очень осторожным и дотошным в изучении всех нюансов лицензий и авторства. И помнить, что как только вы включили “свободный” код в свой проект – уже вы несете ответственность за соблюдение авторских прав в каждой строчке этого кода.
Комментарий от меня:
Некоторые производители свободного (если просто, то можно все), бесплатного (использование бесплатно, другие права закрыты или ограничены) и opensource ПО (открыт код, но сам продукт может быть платен – см. далее) продают за деньги подписки, в рамках которых гарантируется защита клиента. Например, насколько я помню, в подписке к решениям Novell SuSe Linux есть патентная защита.
Также нужно уточнить, что в посте термин OpenSource использован некорректно. OpenSource – это открытый код, что совершенно не означает бесплатность продукта. А речь в статье именно о бесплатном и свободном ПО.
Вообще описанная проблема иногда используется сторонниками свободного ПО как единственно правильной формы создания и распространения ПО: софт слишком сложный, в его стоимости все меньше отражена доля самого продукта и все больше стоимость услуг по юридической защите кода. Бороться с патентными исками, спорами по поводу авторства и т.д. невозможно. А раз так, то ПО должно быть свободным везде и всегда, тогда и проблема исчезнет…
Если Вам понравилась эта запись, то оставьте комментарий или подпишитесь на RSS, чтобы получать новые записи из этого блога.


клевый пост. мегареспект. прочитал не весь кончно(правда скучно
) но интересного вычитал много. Стал еще больше любить платное ПО, ибо просто без заморочек. Купил и используешь его молоток для забивания гвоздя.. хотя конечно можно сделать молоток мамому, но тогда надо бросать бизнес по забиванию гвоздей и начинать бизнес по деланию молотков… вечная история.
Избежать многих проблем помогает решение разработанное HP под названием FOSSology. Штука проверяет все исходники и сверяет со своей базой кодов, а после выдает сообщение какими лицензиями защищен тот или иной код в данном дистрибутиве.
))
Естественно штуковина распространяется по лицензии GPL
Спасибо! Интересный продуктик – жизнь заметно облегчает, но суть проблемы не устраняет: производители свободного ПО не гарантируют мне, как пользователю, защиту от патентных атак и лицензионных претензий.
Кроме того, у меня, как у пользователя, остаются риски, что непосредственно в лицензию какого-то из компонент внесены изменения, которые влияют на лицензионную чистоту в целом. Хотя, вроде FOSSology может анализировать текст на предмет изменений (надо попробовать, как это на практике работает).