Разное

Gpl что это такое: Что такое: GPL

Содержание

GNU GPL. Курс «Введение в Linux и Bash»

GNU GPL – это одна из разновидностей лицензий для свободного программного обеспечения. Вероятно, самая популярная. GNU GPL была разработана в рамках проекта GNU. Существуют три версии этой лицензии, созданные в 1988, 1991 и 2007 годах.

GPL есть аббревиатура от General Public License, что на русский язык можно перевести как «универсальная общественная лицензия». Лицензируя программный продукт с помощью GNU GPL или другой копилефт-лицензии, разработчик, сохраняя за собой авторство, передает программу в общественную собственность. В остальном лицензии типа «копилефт» имеют небольшие отличия, нередко специфику областей применения.

Здесь мы не будем вдаваться в юридические особенности и подробно анализировать текст лицензии. Рассмотрим, почему возникла проблема лицензирования ПО, и какие преимущества есть у свободного ПО.

Как распространяются программы

Компьютерные программы создаются с помощью разных языков программирования, которые в настоящее время развиты настолько, что напоминают естественные. Программа на таком языке недоступна для «понимания» аппаратным обеспечением компьютера (железом). Поэтому для каждого языка программирования существуют специальные программы – трансляторы – осуществляющие перевод текста программы с языка программирования, на котором она была написана, на язык вычислительной машины. Команды, которые понимает и пишет программист, называются исходным кодом; команды, которые выдает транслятор, и которые способен выполнить компьютер, называются исполняемым (машинным) кодом.

Следовательно, программы могут распространяться в двух видах: в файлах с исходным кодом и в файлах с исполняемым кодом. Для конечного пользователя последний вариант может быть более удобным, т. к. ему не надо устанавливать на компьютер специальную программу-транслятор и переводить код из одного вида в другой. Однако для программистов интересен исходный код. Они могут научиться чему-то новому, улучшить программу, позаимствовать часть кода для своей разработки и т. п.

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

Программное обеспечение с закрытым исходным кодом

В процессе развития общества открытия и разработки сначала появляются, затем начинают распространяться. Обычно новую технологию внедряют люди и организации, преследующие коммерческие цели.

В 80-х годах прошлого века компьютеры начали широко использоваться. Возрос спрос на программное обеспечение. Стали появляться фирмы, продающие ПО. Желая защититься от конкурентов, они «закрывали» исходные коды своих программ, чтобы другие программисты и фирмы не могли их изучать. Покупатель же в большинстве случаев получал уже скомпилированный исполняемый файл, который ему было запрещено передавать другим. Другими словами, произошел отказ от принципов открытости исходных кодов и свободного распространения ПО.

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

Программы с открытым исходным кодом

Когда исходные коды начали закрываться, а программы запрещаться к распространению, появились несогласные. Яркий пример – Ричард Столлман. Многие программисты не лицензировали свои разработки, а предоставляли исходные коды сообществу. Эти программы становились общественным достоянием. Другой программист мог взять таковую и использовать на свое усмотрение.

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

В результате начали появляться лицензии, охраняющие открытое ПО от превращения в закрытое.

Copyleft и лицензия GNU GPL

Copyleft – это разновидность лицензий, запрещающих ограничение свобод. Причем программа, выпущенная под лицензией вида Copyleft, при изменении не может выпускаться под проприетарными Copyright-лицензиями. Как говорят, «копилефт заразен».

Самым известным примером копилефтной лицензии является GNU GPL – GNU General Public License.

Разработчикам, выпускающим свои программы под GNU GPL, гарантируется, что

  • авторское право будет сохранено;

  • каждый может копировать и использовать программу;

  • исходный код всегда будет открыт для изучения и изменения;

  • измененные версии программ будут лицензированы копилефтом.

Преимущества открытого и свободного ПО

Можно отметить следующие преимущества программ, распространяемых с открытым исходным кодом:

  • В таких программах быстрее исправляются ошибки, так как код может просмотреть большее количество людей.

  • Безопасность. В закрытые программы разработчик может встроить «секретный» код, делающий что-либо на компьютере пользователя, о чем никто может не знать. С открытым ПО такое невозможно.

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

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

Вопрос 1. Чем отличаются понятия «свободное ПО» и «открытое ПО»?

Вопрос 2. Почему сделать закрытыми исходные коды программ, написанных на интерпретируемых языках, сложнее, чем на компилируемых?

Курс с ответами к заданиям и дополнительными уроками:
android-приложение, pdf-версия.

Copyright и Copyleft. Лицензия GNU GPL | Уроки по Linux

  Обновл. 3 Май 2021  | 

Лицензия GNU GPL (сокр. от «General Public License»), созданная Ричардом Столлманом, предоставляет любому пользователю право свободно запускать, изменять и распространять программное обеспечение (сокр. «ПО»).

Авторское право (Copyright)

Во времена, когда Иоганн Гутенберг впервые изобрел свой печатный станок, скорость печати была очень медленной, и было трудно создавать копии книг, документов и пр. Однако, по мере того, как увеличивалась скорость работы печатных станков, все большее количество контента становилось доступным для потребления.

Это давало людям возможность копировать и воспроизводить большие объемы контента, без учета авторства создателя. Поэтому британцы придумали лицензию на авторское право — копирайт.

Проще говоря, копирайт (Copyright) — это право, предоставляемое автору оригинального произведения, разрешать или запрещать публикацию, а также возможность контролировать распространение своего произведения. Копирайт защищает авторов от несанкционированного копирования или продажи их работ.

Авторские права предоставляются на ограниченное время, после чего произведение переходит в общественное достояние.

Общественное достояние (Public Domain)

Общественное достояние (Public Domain) состоит из всех творческих произведений, на которые не распространяются исключительные права интеллектуальной собственности. Эти права могут закончиться по времени, быть утрачены, прямо отменены или могут быть неприменимы. Авторские права, как правило, действительны до 50-100 лет после смерти автора.

Сочинения Бетховена являются хорошим примером того, что становится достоянием общественности. Музыкальные произведения имеют авторские права на 70 лет после смерти автора. Поэтому через 70 лет после смерти Бетховена (в 1827 году) его музыкальные произведения стали доступны для всех, и теперь любой может их использовать и продавать.

Авторские права Уолта Диснея на Микки Мауса и других персонажей истекали в 1998 году. Они были (тогда) основным источником дохода и единственным крупным брендом Disney. Компания Disney, являвшаяся главным лидером индустрии, успешно пролоббировала свои интересы в ней, добившись продления срока действия авторских прав более, чем на 20 лет. Таким образом, Микки Маус станет объектом общественного достояния в 2024 году. Компания Disney все еще может запретить другим компаниям использовать образ Микки Мауса, если докажет, что его образ эволюционировал от простого персонажа к своей фирменной идентичности, и в таком случае у них появится возможность зарегистрировать его в качестве товарного знака.

Товарные знаки являются более мощными инструментом, чем авторские права, поскольку они представляют собой фирменный стиль бренда, а значит — лишены ограничения по времени действия.

Как распространяются программы?

Для написания компьютерных программ применяются различные языки программирования. Чтобы такая программа могла выполняться на компьютере, необходимо при помощи специального набора инструментов (компилятора и линкера) перевести её исходные коды (текст программы, написанный на одном из языков программирования) в понятный для компьютера набор машинных (исполняемых) кодов.

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

ПО и Copyright

На программное обеспечение с закрытым исходным кодом издатель программного обеспечения или другое лицо сохраняет права интеллектуальной собственности, обычно — авторские права (Copyright) на исходный код. Редактировать код, защищенный копирайтом, может только та организация, которая его разработала или имеет лицензию на использование данного программного обеспечения. Но так было не всегда…

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

В 1969 году компания IBM, находясь под влиянием декрета Министерства Юстиции США, направленного против превращения её в монополиста на рынке электронных устройств, начинает взимать отдельную плату за программное обеспечение своих мейнфреймов, тем самым «отделяя» продажи ПО и услуг для компьютера от его оборудования. Программное обеспечение IBM разделилось на две основные категории: System Control Programming (SCP), которое для клиентов оставалось бесплатным, и Program Products (PP), за которые взималась плата. Этот шаг стал началом для появления платного программного обеспечения.

В 1976 году Билл Гейтс в своем «Открытом письме любителям» осудил безудержное нарушение компьютерными любителями авторских прав на программное обеспечение, в частности на интерпретатор Microsoft Altair BASIC, и напомнил своей аудитории (которая не платила Гейтсу за использование Altair BASIC), что их кража у программистов препятствует его способности производить качественное программное обеспечение.

С февраля 1983 года, компания IBM, на фоне растущего списка своего программного обеспечения, решается на еще один важный шаг и перестает поставлять исходники программ даже своим лицензиатам.

В том же 1983 году, апелляционным судом США был вынесен вердикт по делу Apple Computer, Inc. против Franklin Computer Corp., в котором указывалось, что не только исходные коды, но и предварительно скомпилированное (бинарное) программное обеспечение попадает под действие закона об авторском праве и должно им защищаться. Растущая доступность миллионов компьютеров, построенных на одной и той же микропроцессорной архитектуре, впервые создает цельный и достаточно большой рынок распространяемого в виде бинарных файлов программного обеспечения, в результате чего их исходные коды становятся практически недоступными для конечных пользователей.

Copyleft и лицензия GNU GPL

Дух GNU GPL коренится в концепции под названием Copyleft (Копилефт), которая имеет неудачное и запутанное прозвище. Когда вы создаете интеллектуальную собственность — книгу, песню, компьютерную программу — вы, как автор, автоматически получаете определенные права, такие как: право распространять и контролировать, кто еще может распространять ваш продукт. Компании, занимающиеся разработкой программного обеспечения, применяют копирайт как способ контроля над тем, кто может использовать написанный ими код.

«Так, а причем тут Copyleft?» — спросите вы. Цель FSF (сокр. от «Free Software Foundation» = «Фонд свободного программного обеспечения») состояла в том, чтобы создать способ защитить свободу людей распространять исходный код без каких-либо обременений. Но почему бы просто не присвоить программному обеспечению статус общественного достояния, отказавшись от своих авторских прав? В таком случае люди могли бы свободно использовать ваш код так, как они считают нужным. Однако им также будет разрешено, в силу процесса изменения кода каким-либо образом, устанавливать и свои собственные ограничения авторского права на новое произведение. Предположим, я написал простую программу обработки текстов и сделал её общественным достоянием; кто-то другой мог прийти, добавить «жирный шрифт», и тогда уже он будет владеть авторскими правами на новую версию. В этом сценарии нет ничего изначально неправильного, но это не было целью FSF.

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

Лицензия GNU GPL была создана Ричардом Столлманом для того, чтобы защитить программное обеспечение GNU от превращения его в чью-то частную собственность. По словам Столлмана, Copyleft — это производная от закона об авторском праве (Copyright) концепция лицензии, которая служит противоположной цели: вместо того, чтобы приватизировать ПО, она становится средством сохранения программного обеспечения свободным: любой человек может вносить изменения или расширять исходный код программы и распространять его до тех пор, пока изменения четко обозначены, а измененная работа также лицензируется в соответствии с лицензией GNU GPL.

Лицензия GNU GPL состоит из преамбулы, которая объясняет философию, лежащую в основе лицензии. Существует тринадцать условий лицензии, пронумерованных от 0 до 12. Каждое из этих условий накладывает ограничение на то, как вы можете копировать, изменять или распространять продукт, защищенный с помощью лицензии GNU GPL.

Однако, когда речь идет о распространении, копировании и модификации программного обеспечения, выпущенного под лицензией GNU GPL, существует ряд важных ограничений.

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

Второе ограничение лицензии GNU GPL заключается в модификации программного обеспечения. Каждый может совершенно свободно изменять исходный код программного обеспечения, защищенного лицензией GNU GPL, любым способом. Вы можете добавлять или удалять функции, изменять внешний вид продукта и т.д. Не имеет значения, какие изменения вы хотите сделать — вы свободны сделать это. Однако вы не можете делать всё, что хотите, с вашим измененным кодом; существуют некоторые ограничения, налагаемые лицензией GNU GPL.

Допустим, вы модифицируете приложение просто для собственного использования (или для частного использования в вашей компании). Тогда вам действительно не нужно ничего делать дополнительно. Лицензия GNU GPL вступает в силу только в том случае, если вы решите распространять свою модифицированную версию программного обеспечения; например, если вы хотите передать свою программу клиенту или продать её. В таком случае вы распространяете программное обеспечение, подпадающее под действие лицензии GNU GPL, и в соответствии с условиями данной лицензии ваши модификации также связаны её ограничениями; любому, кто получит копию вашего модифицированного программного обеспечения, также должен быть предоставлен исходный код этих изменений.

Это ограничение не означает, что вы не можете взимать деньги за измененное ПО; вы совершенно свободны в этом. Однако имейте в виду, что как только у кого-то есть копия измененного исходного кода, лицензия GNU GPL дает этому человеку или компании право распространять это программное обеспечение без уплаты вам лицензионного сбора или взимания платы за передачу программного обеспечения. Они могут отдавать его свободно.

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

Короткий ответ заключается в том, что вы не можете обеспечить свою компенсацию. Действительно, кто-то может прийти, купить программное обеспечение, а затем развернуться и начать раздавать его вместе с исходным кодом, содержащим, в том числе, и ваши изменения. Однако, как показал рост дистрибутивов Linux, вы все еще можете извлечь выгоду из своих правок несколькими способами:

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

   Лицензия GNU GPL также не запрещает вам взимать плату за версию программного обеспечения, которое вы распространяете, и многие люди (и, конечно, многие компании и организации) предпочли бы заплатить за ваше модифицированное программное обеспечение, чтобы убедиться, что они получат созданную вами версию, а не какую-то другую версию, которая была изменена еще больше.

   Наконец, лицензия GNU GPL не мешает вам предоставлять гарантии на версии программного обеспечения, которое вы создаете и распространяете, что повышает ценность для потенциальных клиентов. Если вы покупаете дистрибутив Linux у компании Red Hat, то вы получаете поддержку, документацию и душевное спокойствие, которое приходит от покупки у известной организации. Если вы скачаете его бесплатно из сети, вы не обязательно получите тот же уровень уверенности. Для многих потребителей — это очень важное различие.

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

Copyright vs. Copyleft

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

В отличие от Copyright, в соответствии с Copyleft автор может дать каждому лицу, получившему копию произведения, разрешение на его воспроизведение, адаптацию или распространение с сопутствующим требованием, чтобы любые полученные копии или адаптации также были связаны тем же лицензионным соглашением.

Вместо того чтобы позволить произведению попасть в общественное достояние, Copyleft дает автору некоторые права на контроль над произведением и его распространением.

Copyright основан на философии ограничения и оригинальности произведения автора, с другой стороны, Copyleft не только представляет свободу, но и требует свободы.

Преимущества ПО с лицензией GNU GPL

Давайте рассмотрим основные преимущества программ, использующих лицензию GNU GPL:

   Более низкие затраты на ПО, поскольку вам не нужно будет платить непомерно высокую цену за лицензию.

   Любые проблемы безопасности исправляются очень быстро. Когда-то безопасность была одной из причин, по которой предприятия отказывались от использования программного обеспечения с открытым исходным кодом. Теперь они больше не беспокоятся об этом, потому что знают, что онлайн-сообщества обеспечивают быстрое появление исправлений безопасности.

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

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

Лицензия Linux

Не лишним будет отметить, что с подачи Линуса Торвальдса ядро Linux распространяется под лицензией GNU General Public License (GPL) версии 2. Она гарантирует, что любой исходный код программного обеспечения, лицензированный под её лицензией, должен быть открыт и свободно доступен всем своим пользователям. Лицензия запрещает производителю распространять свое ПО, если производитель не в состоянии обеспечить реализацию прав и свобод пользователей на данное ПО.

Также существует менее ограничивающая лицензия под названием GNU Lesser General Public License (LGPL), позволяющая динамически связывать ваше приложение с проприетарными библиотеками. При этом не требуется публиковать исходные коды таких библиотек.

Оценить статью:

Загрузка…

Поделиться в социальных сетях:

LVEE

With this report we are going to make a quick and brief overview of the open-source licenses. Starting with the base ideas of the licensing we’ll come to the vastest spread and most popular licenses used in the open-source software. Also one of the most important points of the report I would consider the differentiation of the permissive and copyleft licenses.

Понятие “Лицензироваие”

Лицензирование – соглашение сторон, по которому одна сторона предоставляет какие-либо права другой стороне. Лицензирование используется для защиты авторских прав.

Именно правила лицензирования диктуют различные права доступа и использования исходного кода в приложении к программному обеспечению.

Типы лицензирования

Различают пермиссивные и копилефт лицензии.

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

Идея копилефт состоит в том, что каждый, кто распространяет программу как с изменениями, так и без них, не вправе ограничивать свободу её дальнейшего распространения либо модификации.

  • “Сильная” copyleft лицензия разрешает использовать код только программам, созданным под такой же лицензией.
  • “Слабая” copyleft лицензия разрешает вносить любые изменения в код данной программы. Но она ставит условие, что другая программа, использующая данный код, будет строиться с указанием изначальной в качестве библиотеки. Тогда новая программа может выходить под любой другой лицензией.

В рамках данного типа лицензирования выделяют также полный и частичный копилефт.

Полный копилефт – все части программы (за исключением самой лицензии) могут модифицироваться и распространяться только под лицензией копилефта.

Частичный копилефт – программа может исключать несколько условий копилефт лицензии и при этом включать модификации в рамках какой-то не-копилефт лицензии. Или в некоторых случаях программа, распространяемая под такой лицензией, может следовать не всем принципам копилефта. Например, исключение, сделанное для некоторых программ для GPL связывания.

GPL (General Public License)

Стандартная Общественная Лицензия GNU (GNU General Public License, GNU GPL) – это свободная copyleft лицензия для программного обеспечения (ПО) и других видов произведений.

GNU GPL требует распространения с двоичными файлами (в том числе неизменными) исходного кода или письменного обязательства его предоставить (своего или чужого; способы зависят от версии лицензии).

Лицензии, созданные на базе GPL:

  • AGPL (Affero General Public License)
  • LGPL (Lesser General Public License)

BSD (Berkley Software Distribution)

Существуют две основные версии лицензии BSD, которые необходимо различать: «оригинальная» и так называемая «модифицированная» (вторую в англоязычной литературе часто называют New BSD License). Данная лицензия является пермиссивной.

Лицензия BSD допускает проприетарное коммерческое использование ПО. Для ПО, выпущенного под этой лицензией, допускается встраивание в проприетарные коммерческие продукты. Работы, основанные на таком ПО, даже могут распространяться под проприетарными лицензиями (но всё же обязаны соответствовать требованиям лицензии). Наиболее заметные примеры таких программ — использование сетевого кода BSD в продуктах корпорации Microsoft, а также использование многих компонентов FreeBSD в операционной системе Mac OS X.

Apache Software License

Лицензия Apache даёт пользователю право использовать программное обеспечение для любых целей, свободно распространять, изменять, и распространять изменённые копии, за исключением названия.

Данная лицензия не ставит условием неизменность лицензии распространения программного обеспечения, и не настаивает даже на сохранении его открытого статуса. Единственным условием, накладываемым лицензией Apache, является информирование получателя о факте использования исходного кода. В противоположность copyleft-лицензиям, получатель модифицированной версии не обязательно получает все права, изначально предоставляемые лицензией Apache.

В каждом лицензируемом файле должна быть сохранена вся исходная информация о копирайтах или патентах, в каждый изменённый файл должна добавляться информация о проведённых изменениях.

Совместимость – понятие, возникающее при попытке комбинирования двух и более лицензий. Совместимость определяет непосредственно возможность комбинации одной лицензии с другими. Совместимость может варьироваться в зависимости от типа лицензии, а версии самой лицензии. Различают GPL-совсемстимые и GPL-несовместимые лицензии. Также нужно отметить возможность сочетать закрытые (или проприетарные) лицензии с открытыми.

Ссылка на ресурс, где можно посмотреть совместимость лицензий: http://www.tldrlegal.com/compare

Лицензия WordPress — GNU GPL (GNU General Public License). Что нужно знать при создании тем

WordPress — это известный бесплатный движок для создания сайтов, который распространяется под лицензией GNU GPL (GNU General Public License).

Аббревиатуру GNU GPL часто сокращают до простого GPL, если из контекста ясно о какой лицензии идет речь (есть другие лицензий, со словами «general public license» в названии).

Цель этой лицензии — дать пользователю права на копирование, изменение и распространение (в том числе и на коммерческой основе) программного продукта, а также гарантировать, что все производные программные продукты тоже получат права GPL. Для того, чтобы выкладывать свои темы в интернет, нужно знать основные правила GPL.

Что разрешает GPL

Ключевые идеи GPL совпадают с принципами разработчиков WordPress: открытый исходный код и свободное распространение. Лицензия GPL предоставляет пользователям и разработчикам четыре свободы:

  • Использовать для любых целей;
  • Изучать и изменять под свои нужды;
  • Свободно распространять;
  • Модифицировать и выкладывать обновленные версии в публичный доступ.

Что значит «свобода» в GPL?

Речь идет о свободном распространении исходного кода. «свободное программное обеспечение» не значит «бесплатное программное обеспечение». Главное отличие в том, что пользователи могут использовать свободное ПО абсолютно в любых целях. Такие программные продукты могут быть бесплатными и платными. Бесплатные темы для WordPress вы можете найти на страничке https://wordpress.org/themes/.

Даже если вы продадите свою тему с GPL лицензией, эта тема всё равно останется свободной. Потому что в соответствии с правилами GPL покупатель сможет свободно использовать, изменять и распространять вашу тему или ее модификации.

Наследование свободы в GPL лицензии

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

Так GPL гарантирует защиту свободы программного обеспечения на высоком уровне, потому что всё, что создается из свободных программных продуктов, не может быть «закрытым», а должно всегда быть в свободном доступе для будущих обновлений, изменений и исследований.

Необходимо ли вам лицензировать свои темы под GPL?

Коротко: для личного использования — нет. Для публичного — да.

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

Ну и, когда вы загружаете свою тему на WordPress.org, она автоматически получает лицензию GPL. Также, это касается изображений и CSS-файлов.

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

Чтобы лучше понять взаимодействие WordPress и GPL, прочитайте следующие статьи:

По русски:

По английски:

Тайны GNU GPL. То, что от вас скрывали

Законодательство в области авторского права является самым противоречивым и запутанным в мире. Поэтому тема лицензирования ПО сложна и требует глубокого анализа.

На одном из форумов возникла дискуссия по лицензированию популярной системы для управления сайтом CMS «Joomla!®».

Суть спора: все компоненты, написанные для Joomla!, должны наследовать лицензию GNU GPL.

Но, так ли это на самом деле?

Детальное изучение нормативной базы принесло открытия.

Открытия оказались интересными.

Для начала определяем лицензию «Joomla!®». Для этого на официальном сайте находим ссылку «License» и читаем:

GNU General Public License v2.
Joomla! is distributed under the GNU General Public License version 2.… For complete information about the GNU GPL please visit the Free Software Foundation.

«Joomla!» распространяется по лицензии GNU General Public License v2.

Особо отметим, что при анализе лицензий программы весьма важно — указана конкретная версия GNU GPL или есть фраза «или более новая».

Автор лицензии GNU GPLv2 «Free Software Foundation, Inc». Следовательно, единственный доверенный текст находится по адресу: www.gnu.org/licenses/old-licenses/gpl-2.0.html

Ошибкой является обращение к сомнительным переводам лицензии с неавторитетных ресурсов. Поэтому будем использовать оригинальный текст и перевод Google.

В СПО-сообществе широко распространены мнения, основанные на личных представлениях и игнорировании текстов лицензий.

Мнение 1

Лицензия наследуется, следовательно, распространяется.
Если основной продукт А имеет лицензию GNU GPL, и она наследуется сторонним дополнением Б, то это однозначно означает, что дополнение Б тоже имеет эту же самую лицензию, т. е.лицензия GNU GPL распространяется на дополнение Б.

Путаница в вопросах «кем и от кого наследуется», и «на что распространяется».

Некоторые считают, что GNU GPL наследуется всеми и распространяется на всё.

GNU GPL содержит иную точку зрения.

Мнение 2

Всё, что затрагивает и зависит в своей работе от Программы, лицензированной по GNU GPL, абсолютно и безусловно должно также быть лицензировано по GNU GPL.

Это суть одно из принципиальных положений данной лицензии, устанавливающее прямую зависимость производных и модификационных продуктов от лицензии изначальной Программы; т. е. наследование лицензии, что означает, что GNU GPL лицензия обязательно распространяется на такие продукты.

Здесь видно полное непонимание понятий «производных продуктов» и «модифицированных продуктов».

GNU GPL даёт на это чёткий и однозначный ответ.

Мнение 3

В программу или систему, лицензируемую по GNU GPL, не могут устанавливаться сторонние компоненты, выпускаемые под другими лицензиями.

 

Мнение 4

Основным критерием принято считать использование сторонним дополнением команд основной Программы. Другим критерием может быть выполнение кода Программы и стороннего дополнения в одной среде. Удовлетворение любого из этих критериев можно считать достаточным условием наследования GNU GPL лицензии.

 

Мнение 5

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

 

Заблуждения

Если следовать логике «Мнения 1» и «Мнения 2», то весь контент, включая тексты, видео и звук, публикуемый на сайтах, ПО которых лицензировано по GNU GPL, должен так же лицензироваться по GNU GPL, ибо затрагивает Программу и зависит в своей работе от неё.

Мнение 3 обосновывает запрет на разработку и использование проприетарных компонентов для СПО-систем.

Мнение 4 вообще обозначает трансляцию лицензии через системные вызовы. Исходя из этого, в ОС MS Windows нельзя запускать GNU GPL программы, а в ОС Linux, соответственно, проприетарные.

Однако, это не так.

Мнение 5 заслуживает особого внимания, так как выглядит очень логичным и, потому, убедительным.
Но в GNU GPLv2 есть однозначные критерии для определения «независимости» и «самостоятельности» приложения.

Что же в первоисточниках?

Правила распространения лицензии GNU GPLv2, записано в самой лицензии GNU GPLv2 (выделения жирным — авт.). То есть описано, на что распространяется Лицензия и как наследуется.




TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION   УСЛОВИЯ ДЛЯ КОПИРОВАНИЯ, РАСПРОСТРАНЕНИЯ И МОДИФИКАЦИИ
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:   2. Вы можете изменять свою копию или копии Программы или любой её части, создавая таким образом произведение, основанное на Программе, и копировать и распространять эти модификации или произведение в соответствии с Разделом 1, выше, при условии, что вы выполните все следующие условия:
a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.   а) Вы обязаны снабдить модифицированные файлы заметным уведомлением, что вы изменили файлы, и датой изменений.

Прим. авт.: то есть обязательно должны быть модифицированы файлы исходной Программы.




These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.   Эти требования применяются к модифицированному произведению в целом. Если известные части этого произведения не были основаны на Программе и могут обоснованно считаться независимыми и самостоятельными произведениями, то эта Лицензия и её условия не распространяются на эти части, если вы распространяете их как отдельные произведения. Но когда вы распространяете эти части внутри целого, что является работой, основанной на Программе, распространение целого должно попадать под требования этой Лицензии, чьи ограничения для получателей лицензии будут распространяться на целое, и на все части независимо от того, кто их написал.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.   Таким образом, это не следует воспринимать как попытку заявить свои права или оспаривать ваши права на произведение, написанное полностью вами, а, скорее, намерение реализовать право управления распространением производных или коллективных произведений, основанных на Программе.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.   В дополнение, простое объединение другой работы, не основанной на Программе с Программой (или работой, основанной на Программе) на одном томе хранения или средстве распространения не переносит другую работу под действие этой лицензии.

Таким образом, если при создании модуля нет «модифицированных файлов Программы», то нет и модификации Программы.
Для наследования условий GPL необходимо модифицировать файлы Программы и/или поставлять произведение в виде единого установочного комплекта.

Далее в GNU GPLv2 мы читаем определие исходного кода, который модифицируется:


3.…
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
  3.…Исходный код для произведения означает его вид, предпочтительный для выполнения в нем модификаций. Для исполняемого произведения полный исходный код означает все исходные коды для всех модулей, которые он содержит, плюс любые связанные с ней файлы определения интерфейса, плюс сценарии, используемые для управления компиляцией и установкой исполняемого произведения. Тем не менее, в качестве особого исключения, распространяемый исходный код не обязан включать то, что обычно распространяется (в исходных текстах или бинарном виде) с основными компонентами (компилятор, ядро ​​и так далее) операционной системы, на которой работает исполняемое произведение, если сам компонент сопровождает исполняемое произведение.

Следует обратить особое внимание на то, что конфигурационные файлы не входят перечень, следовательно, Лицензия на них не распространяется.

Установка (инсталляция) стороннего компонента в Программу есть модификация конфигурационных файлов, что не делает компонент частью Программы. Следовательно, Лицензия Программы не распространяется на компонент.

Далее. Если части произведения (в случае «Joonla!» — компоненты) не были основаны на исходном коде Программы (не содержат файлов, которые необходимо помечать, как «изменённые», то есть для их создания не использовался «Исходный код для произведения в виде, предпочтительном для выполнения в нём модификаций»), являются независимыми и самостоятельными произведениями и распространяются как отдельные произведения, то действие этой Лицензии и её условий не распространяются на эти части.

Тайное знание GNU GPL. Или То, что от вас скрывали

Процитированный текст лицензии GNU GPL не содержит никаких упоминаний о «затрагивании и зависимости в своей работе от Программы» как условии для наследования Лицензии.

В тексте GNU GPL содержится исчерпывающий перечень того, что считается «исходным кодом» Программы, модификация которого приводит к наследованию Лицензии. Это:

  1. исходные коды для всех модулей, которые он содержит;
  2. любые связанные с ней файлы определения интерфейса;
  3. сценарии, используемые для управления компиляцией и установкой исполняемого произведения.

Всё.

Только модификация этих, и только этих, компонентов приводит к наследованию GNU GPL.

Никакого упоминания об «использование сторонним дополнением команд основной Программы или выполнение кода Программы и стороннего дополнения в одной среде» в лицензии GNU GPL нет.

Если при написании приложения или компонента, предназначенного для расширения функций исходной Программы и работы в её составе, не происходит модификация исходных файлов Программы, её интерфейсов и сценариев установки, то это — самостоятельное, немодифицованное произведение, не попадающие под действие Лицензии Программы. Следовательно, может иметь любую, в том числе проприетарную, лицензию.

Вывод

Если приложение не содержит модификаций «исходного кода», то «известные части этого произведения могут обоснованно считаться независимыми и самостоятельными произведениями» (GNU GPLv2).

Для «Joomla!», и любой иной программы под лицензией GNU GPLv2, можно создавать компоненты, лицензия которых отличается от GNU GPLv2, при условии, что они будут распространяться отдельно от дистрибутива Joomla!, и не содержат модифицированного кода Joomla!

«Распространяться отдельно от дистрибутива», в свою очередь, означает, что GNU GPL- программа и сторонний компонент могут находиться на одном носителе, и даже в одном архиве. «Распространяться отдельно» означает только одно — отсутствие модификаций в «сценарии, используемом для управления компиляцией и установкой исполняемого произведения» (GNU GPLv2).
И только.

Основные положения лицензии GNU GPL . Открытые и бесплатные программы для Windows

GNU General Public License (Универсальная общественная лицензия GNU) – самая популярная лицензия на свободное программное обеспечение, была создана Ричардом Столлманом (Richard Stallman) в 1983 г. Что означает рекурсивная аббревиатура GNU (которая расшифровывается как «GNU is Not UNIX»), понимает, видимо, только сам Столлман. Во всяком случае в созданной Столлманом организации «Free Software Foundation» так называют проект, объединяющий свободное программное обеспечение, распространяемое по лицензии GNU GPL. Возможно, они просто хотят подчеркнуть, что программы GNU GPL вовсе не обязательно имеют какое-либо отношение к операционной системе UNIX.

Хорошо. Не UNIX – это нам подходит, потому что все рассмотренные в данной книге и помещенные на компакт-диск программы работают в Windows. Они либо изначально разработаны под эту систему, либо созданы для работы на разных платформах, но в данном случае вы будете иметь дело именно с Windows-версией. Объединяет же все эти программы то, что все они:

1. Бесплатны.


2. Распространяются свободно на условиях GNU GPL или подобной лицензии.

3. Исходные коды каждой из этих программ распространяются вместе с программой или доступны в Интернете.

И если с первым и третьим пунктом все достаточно прозрачно, то условия лицензирования открытых программ и особенно GNU GPL заслуживают того, чтобы остановиться на них подробнее.

Основная цель GNU GPL – дать пользователям максимальную свободу в использовании ПО и сделать программы открытыми для изменений и улучшений. GNU GPL предоставляет пользователю право копировать, модифицировать и распространять программы (по умолчанию это запрещено законом об авторских правах), а также гарантирует, что пользователи всех производных программ также получат вышеперечисленные права. Принцип «наследования» прав называется «копилефт» (калька с английского copyleft) и был придуман Ричардом Столлманом. По контрасту с GPL, лицензии проприетарного (частного) ПО очень редко дают пользователю такие права и обычно, наоборот, стремятся их ограничить, например, запрещая восстановление исходного кода.

GNU GPL иногда называют просто GPL, если из контекста понятно, что речь идет именно о данной лицензии (существует довольно много других лицензий, содержащих слова «general public license» в названии).

Последняя, вторая версия этой лицензии была выпущена в 1991 г. GNU Lesser General Public License (LGPL), http://ru.wikipedia.org/wiki/GNU_Lesser_General_Public_License) – это модифицированная версия GPL, предназначенная для некоторых библиотек ПО.

Итак, GPL предоставляет получателям компьютерных программ следующие права, или «свободы»:

1. Свободу запуска программы, с любой целью.

2. Свободу изучения того, как программа работает, и ее модификации (предварительным условием для этого является доступ к исходному коду).

3. Свободу распространения копий (что мы и сделали, записав для вас диск).

4. Свободу улучшения программы и выпуска улучшений в публичный доступ (предварительным условием для этого является доступ к исходному коду).

При желании в Сети можно найти несколько переводов текста лицензии GNU GPL (например, этот – http://www.internet-law.ru/law/pc/gnu.htm). Ни один из них не является официальным, действующей признается только английская версия, однако русский перевод может помочь вам лучше понять смысл этой лицензии.

Официальный текст GNU GPL на английском языке вы можете прочитать на http://www.gnu.org/copyleft/gpl.html

Кроме лицензии GNU GPL организация «Free Software Foundation» подарила сообществу разработчиков открытых программ еще несколько лицензий. Поэтому иногда при распространении программ с открытым исходным кодом используют сразу несколько «народных» лицензий. Разработчики FreeCAD, например, выбрали сразу три разных лицензии для функционально различных компонентов:

• General Public License (GPL). Для исполняемых и подключаемых файлов. h и срр в ветке src/main дерева исходных кодов;

• Lesser General Public License (LGPL). Для исходного кода подключаемых библиотек DLL в файлах. h и срр из веток src/App, src/Gui, src/Base и большинства модулей из src/Mod;

• Open Publication License (OPL). Для документации.

В данном случае GPL гарантирует свободное использование исходного кода и частей основной программы, а также свободное использование исходного кода библиотек для любых нужд, в том числе и для написания новых библиотек на ее основе. Кроме того, специальная лицензия регламентирует право на использование и модифицирование документации.







Данный текст является ознакомительным фрагментом.




Продолжение на ЛитРес








Лицензии открытого кода: краткое руководство

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

Открытая лицензия позволяет свободно и совместно использовать, модифицировать программное обеспечение.

То есть исходный код таких программ полностью доступен. Именно лицензии описывают, что можно делать с этим кодом, а что нет.

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

На схеме показана детализация категорий программ. Изображение с сайта www.gnu.org

Список одобренных лицензий для открытого ПО

Такой список составила организация по продвижению открытого ПО Open Source Initiative. В него вошли несколько популярных подтвержденных лицензий.

1. GNU, General Public License (GPL). В сообществе программистов это одна из ключевых лицензий, которая используется при написании открытого ПО. Ее создал программист, основатель движения открытого ПО и проекта по разработке свободного ПО GNU (The GNU Project) Ричард Столлман.

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

Например, под этой лицензией распространяется ядро Linux, MySQL, Asterisk и многие CMS-системы (системы управления содержимым): MovableType, MODx, WordPress, Joomla, Drupal, osCommerce.

2. Apache License 2.0. Гибкая лицензия, которая имеет четкие права. Плюс в том, что они могут применяться к копирайтам и патентам. Некоторые из доступных прав: права безвозмездны, вечны, не эксклюзивны и глобальны. Если вы распространяете код, вы должны указать имя разработчика.

3. BSD (Berkeley Software Distribution). В этой лицензии не такие строгие правила, как в GPL. Разработчики должны выполнить несложные условия: указывать в документации, что в продукте используются разработки создателей оригинального программного обеспечения и не использовать имена (или названия) создателей этого ПО в рекламных целях без письменного согласия.

BSD-лицензий существует несколько видов. Наиболее используемые New BSD/Modified BSD и Simplified BSD/FreeBSD. Лицензия New BSD разрешает распространять ПО с любой целью, не дает гарантий и не несет ответственности за последствия использования. Есть пункт в виде специального разрешения: нельзя использовать имена участников вашего проекта. Между этими лицензиями единственное отличие: в Simplified BSD не ограничено использование имен.

Например, компания Apple использует преимущественно лицензии BSD.

4. GNU Lesser General Public License (LGPL). Появилась в рамках проекта GNU. Дает больше прав, чем GPL. Главное отличие в том, что она позволяет использовать продукты LGPL в проектах, которые распространяются под другими лицензиями.

Один из известных продуктов, выпускаемый под этой лицензией, – офисный пакет OpenOffice.org.

Еще по теме: Что такое открытый код

5. MIT license (Massachusetts Institute of Technology). Очень короткая и достаточно свободная лицензия. Она разрешает использовать, копировать и модифицировать программное обеспечение на ваше усмотрение. ПО можно предоставлять бесплатно или даже продавать. Ограничений нет. Но есть ограничение в том, что ваше ПО должно сопровождаться лицензионным соглашением.

Программное обеспечение, которое лицензировано MIT, можно использовать в закрытых продуктах. Лицензия схожа с BSD. Но в MIT можно использовать название продукта и имена создателей в рекламных целях. Под MIT распространяются X Window System (X11) и Ruby on Rails.

6. Mozilla Public License 2.0. Содержит в себе черты BSD и GPL. Исходный код, скопированный или измененный под лицензией MPL, должен быть лицензирован по правилам MPL. Лицензия позволяет объединить его в одной программе с проприетарными (несвободными) файлами.

7. Common Development and Distribution License. Эта лицензия позволяет совмещать открытый и закрытый код, защищенный авторскими правами. Файлы можно совмещать с файлами, которые находятся под другими открытыми или проприетарными (несвободными) лицензиями.

8. Eclipse Public License. Лицензия наиболее подходит для бизнес-ориентированного свободного ПО и базируется на лицензии CPL. У нее более гибкие правила отказа на авторские права.

По мнению разработчика свободного программного обеспечения Сергея Матвеева стоит использовать лицензии семейства GNU GPL. «Мне важно, чтобы мой труд был свободным ПО, чтобы он принес пользу обществу, чтобы никто не смог сделать мое ПО не свободным или использовать его в помощь несвободному, так как это обесценило мой вклад, – объясняет эксперт. – Многие говорят, что не хотят использовать GPL, потому-что хотят свободны, абсолютного отсутствия ограничений. В таком случае подходит только public domain: общественное достояние, где ПО действительно перестает что-то требовать или ограничивать».

С полным списком одобренных лицензий можно ознакомиться на сайте Open Source Initiative.

Соответствие

GPL — это важно?

GPL — одна из многочисленных лицензий на программное обеспечение с открытым исходным кодом (OSS), доступных сегодня. Эти лицензии обычно попадают в одну из двух категорий: Разрешительные лицензии , которые позволяют повторно использовать программное обеспечение в любом проекте, пока выполняются обязательства по лицензиям, или Лицензии Copyleft , которые требуют, чтобы производные работы программного обеспечения были лицензированы на те же условия.

Существует ряд лицензий с авторским левом, но основной лицензией с авторским левом является Стандартная общественная лицензия GNU (GPL).GPL имеет различные версии и выпуски, такие как GPLv2, GPLv3, LGP и AGPL. Целью лицензирования с авторским левом является создание структуры, которая позволяет постоянно делиться опубликованной работой с четкими разрешениями, которые предоставляют и защищают свободы ее пользователей. Этими свободами являются:

  • Свобода запуска программы для любых целей.
  • Свобода изучать, как работает программа, и изменять ее.
  • Свобода распространения копий.
  • Свобода распространять копии измененных версий среди других.

Копилефт — это стратегия использования закона об авторском праве для обеспечения соблюдения этих свобод даже в производных произведениях. Копилефт позволяет лицензиарам добиться правовой защиты бесплатного обмена. Таким образом, авторское лево позволяет лицензиарам защищать, отстаивать и распространять свободу программного обеспечения.

Программное обеспечение с открытым исходным кодом

широко внедряется в организациях по многим направлениям, таким как внутренний код (многие компании создают свои собственные приложения), повторно используемый / сторонний код с таких сайтов, как Github и Nuget , а также код, переданный на аутсорсинг.Скорость внедрения OSS определяется технологическими преимуществами, а бизнес-процессы по управлению бизнес-рисками отстают.

Организации, не склонные к риску и / или регулируемые отрасли, такие как финансы и здравоохранение, будут иметь политики открытого исходного кода для управления лицензионным соответствием программного обеспечения с открытым исходным кодом

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

Сегодня две организации, которые возглавляют глобальные усилия по обеспечению соответствия семейству лицензий GPL, это Free Software Foundation (FSF) и Software Freedom Conservancy. FSF начала применять авторское лево в 1980-х годах, а Software Freedom Conservancy обеспечила соблюдение GPL для многие проекты, входящие в ее состав, с момента ее основания почти десять лет назад. В качестве примера можно привести иск против Cisco, более подробную информацию о котором можно найти здесь.

FSF владеет авторскими правами на многие пакеты GNU, и хотя они могут обеспечивать соблюдение лицензий только на произведения, авторские права на которые принадлежат им, они могут и помогают в обеспечении соблюдения в другом месте. В мире проприетарного программного обеспечения правообладатели требуют денежного возмещения убытков в случае нарушения их лицензии, например, за работу, проводимую Business Software Alliance. В то время как цель Free Software Foundation — это стремление нарушителей соблюдать требования и исправить любой ущерб сообществу свободного программного обеспечения.

FSF ежемесячно получает многочисленные сообщения о нарушениях по адресу [email protected] . Лаборатория соответствия лицензий FSF выполнит следующие действия, чтобы разрешить ситуацию:

  1. Расследовать и подтвердить факт нарушения.
  2. Сообщите нарушившей стороне, что они нарушают GPL и утратили право распространять данное программное обеспечение.
  3. Вступите в обсуждение, чтобы решить проблему — Как правило, проблема связана с отсутствием знаний или понимания и легко решается.
  4. Если это не однозначное решение, FSF имеет доступ к юрисконсульту и ресурсам Software Freedom Law Center .

Само собой разумеется, что проблема проста, необходимость реагирования будет разрушительной, отнимет много времени и потенциально дорого обойдется организации.

В последние годы увеличилось количество судебных исков к организациям, связанным с обеспечением соблюдения GPL. Одним из примеров этого является разработчик ядра Linux, который работал над netfilter.Патрик идет вразрез с принципами правоприменения сообщества и монетизацией соответствия GPL.

Организация Software Freedom Conservancy была вынуждена сделать публичное заявление об этой работе, которое можно найти по ссылке…

Итого:

  • Патрик МакХарди — разработчик ядра Linux, IP-тролль
  • Ищет денежную выгоду
  • Примерно 50+ подходов — розничные торговцы, операторы связи, производители, импортеры

Другим примером является объявление Харальдом Велте о нарушениях gpl компанией OSS Compliance.ссылка на организацию….

  • Обеспечение соблюдения GPL
  • Европейское географическое положение
  • Гражданские обвинения в Германии
  • Уведомления о прекращении и прекращении действия
  • Убытки за упущенную выгоду

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

Чтобы помочь конечным пользователям, организациям, модификаторам и распространителям программного обеспечения с открытым исходным кодом по вопросам соответствия программного обеспечения, а также для обеспечения того, чтобы правоприменительная работа проводилась с ориентацией на сообщество, FSF и Free Software Conservancy выпустили заявление о принципах , которое кратко изложено ниже

Основная цель применения GPL — обеспечить соответствие GPL

Основная цель политики

Copyleft — сделать уважение свобод пользователей нормой.С этой целью FSF разработала текст GNU GPL.

Правоприменение, осуществляемое в этом духе, направлено на прекращение неправильного распространения, поощрение исправленного распространения и устранение ущерба, нанесенного сообществу и пользователям прошлым нарушением.

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

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

Судебный иск — это крайняя мера.

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

Иногда нарушения бывают умышленными или являются результатом серьезной небрежности, и в таких случаях нет обязанности проявлять сочувствие. Даже в этом случае судебный процесс — это последнее средство; взаимно согласованные условия, которые исправляют (или, по крайней мере, прекращают) дальнейшее распространение и устраняют уже нанесенный ущерб, намного лучше, чем судебная битва.

Конфиденциальность может повысить восприимчивость и отзывчивость

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

Правоприменительные меры, которые начинаются с публичных обвинений, с гораздо большей вероятностью закончатся дорогостоящими и длительными судебными процессами и с меньшей вероятностью достигнут основной цели — приведения в соответствие.Соответственно, правоохранительные органы должны, даже если неохотно, предлагать конфиденциальность в качестве условия урегулирования.

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

Правоприменение, ориентированное на сообщества, никогда не должно ставить во главу угла финансовую выгоду

Финансовые штрафы — это законный инструмент для достижения соответствия при разумном использовании. По логике вещей, если единственное наказание за нарушение — это просто соблюдение исходных правил, злоумышленники будут просто ждать принудительного действия, прежде чем даже читать GPL.

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

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

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

Работа по обеспечению соответствия, ориентированная на сообщество, не требует и не принимает оплату за игнорирование проблем

Правоприменение, ориентированное на сообщества, не может принимать платежи в обмен на игнорирование нарушения или принятие неполных решений выявленных проблем соответствия.

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

Работа по обеспечению соответствия, ориентированная на сообщества, начинается с тщательной проверки нарушений и заканчивается только после всестороннего анализа

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

Затем все соответствующее программное обеспечение должно быть проверено, чтобы убедиться, что любые проблемы соответствия, помимо тех, которые указаны в первоначальных отчетах и ​​относящиеся к любым пунктам соответствующих лицензий, выявлены и устранены.

Это важно для того, чтобы диалог завершился разумной уверенностью для обеих сторон в том, что дополнительные нарушения не ждут своего обнаружения. (Хорошие примеры соответствия уже существуют, чтобы помочь дистрибьюторам понять свои обязательства.)

Процессы соответствия, ориентированные на сообщество, должны расширять преимущества прекращения действия, аналогичного GPLv3, даже для работ только с GPLv2.

GPLv2 прекращает действие всех разрешений авторского права в момент нарушения, и это прекращение является бессрочным.

Положение о прекращении действия лицензии

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

Это хорошая идея — следовать этому подходу в ситуациях соответствия, проистекающих из честных ошибок, даже если нарушения относятся к работам под GPLv2.

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

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

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

Принципы правоприменения, ориентированного на сообщества — Защита свободы программного обеспечения

Группа лицензирования и соблюдения требований Free Software Foundation — Free Software Foundation

Как выбрать лицензию для своей работы — Операционная система GNU

Контрольный список о том, как сообщить о нарушении Genera Public License — Операционная система GNU

Заявление в поддержку Software Freedom Conservancy и Christoph Hellwig, иск о принудительном применении Стандартной общественной лицензии — Free Software Foundation

Фонд свободного программного обеспечения удовлетворяет иск против Cisco — Фонд свободного программного обеспечения

Первоначально опубликовано 20 октября 2015 г.

Обновление 26 мая 2017 г.

Ответы на 10 самых популярных вопросов о лицензиях GPL

GPL — это аббревиатура от GNU General Public License, и это одна из самых популярных лицензий с открытым исходным кодом.Ричард Столмен создал GPL для защиты программного обеспечения GNU от несвободного использования. Это конкретная реализация его концепции «авторского лева».

Полное руководство по

Лицензии с открытым исходным кодом 2021

1. Что такое авторское лево?

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

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

2. Каковы условия лицензии GPL?

Если вы использовали компонент GPL в своем программном обеспечении, то все ваше программное обеспечение считается «работой, основанной на» GPL и, следовательно:

  1. Вам не разрешается заявлять о патентах или авторских правах на программное обеспечение. Более того, вы обязаны демонстрировать уведомление об авторских правах, отказ от гарантий, неповрежденные уведомления GPL и копию GPL.
  2. Вам не разрешается изменять лицензию или вводить дополнительные условия.
  3. Вы находитесь под взаимным обязательством, что означает, что вы обязаны выпустить исходный код и все права на изменение и распространение всего кода.

3. Имеет ли GPL законную силу?

GPL подлежит принудительному исполнению, поскольку по сути это лицензия на авторское право. Владельцы авторских прав на программное обеспечение GPL могут выбрать принудительное применение GPL к распространяемым или производным работам программного обеспечения.

Например, FSF владеет авторскими правами на многие части системы GNU, такие как GNU Compiler Collection.Как владелец авторских прав, он может обеспечить соблюдение требований об авторском леве Стандартной общественной лицензии GNU (GPL), если это программное обеспечение нарушает авторские права.

4. Можете ли вы продавать программное обеспечение / код GPL?

Да, лицензия GPL позволяет пользователям продавать как оригинальные, так и модифицированные программы. Это может сбивать с толку, но бесплатное программное обеспечение называется свободным с точки зрения свободы, а не с точки зрения цены. Как объясняет Ричард Столмен, свободное программное обеспечение означает свободное, как в «свободе слова», а не бесплатное, как в «бесплатном пиве».”

Однако, если кто-то покупает вашу программу за плату, GPL дает ему / ей свободу опубликовать ее, за плату или без нее.

5. Безопасна ли GPL?

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

6.Требует ли лицензия GPL, чтобы автор выпустил измененный исходный код?

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

Полное руководство по

Лицензии с открытым исходным кодом 2021

7.В чем разница между GPLv2 и GPLv3?

Всегда существовала некоторая путаница в отношении того, что представляет собой «произведение, основанное на» другом произведении, что, в свою очередь, вызывает обязательство взаимности GPL. FSF попытался внести в GPLv3 больше ясности относительно того, когда срабатывает обязательство взаимности. FSF даже написала новую лицензию GPL, лицензию Affero, чтобы устранить определенную путаницу, именуемую «лазейкой ASP».

Кроме того, FSF попытался повысить совместимость GPLv3 с другими лицензиями.Чтобы объединить два кода в большую работу, обе программы должны разрешать это. Если такие права предоставлены лицензиями обеих программ, они совместимы. Сделав GPLv3 более совместимой, FSF расширила возможности разработки.

Третье различие между двумя версиями состоит в том, что GPLv3 была написана в попытке расширить использование во всем мире. Язык, используемый в GPLv3 для описания лицензионных прав, был изменен, чтобы гарантировать, что международные законы будут интерпретировать его так, как задумано FSF, в отличие от языка, используемого в GPLv2, который считается очень ориентированным на США.GPLv3 также позволяет разработчикам добавлять местные заявления об отказе от ответственности, что также помогает расширить ее использование за пределами США.

8. Можно ли смешивать лицензию GPL с другими лицензиями?

Часто считается, что код, охватываемый лицензией GPL, нельзя смешивать с кодом, охватываемым другими лицензиями на программное обеспечение с открытым исходным кодом. Хотя существуют ограничения, на самом деле это возможно как по GPLv2, так и по GPLv3. Новый язык, используемый в GPLv3, устанавливает это еще более четко. FSF прямо заявила, что GPLv3 совместима с Apache 2.0 лицензия. Однако есть проблема с исходной лицензией BSD, поскольку она налагает особое требование, которого нет в GPL (требование к рекламе программы).

9. На что распространяется LGPL?

Стандартная общественная лицензия ограниченного применения (LGPL) — это более разрешительная лицензия (слабое авторское лево). LGPL используется для лицензирования бесплатного программного обеспечения, чтобы его можно было включить как в бесплатное, так и в проприетарное программное обеспечение.

Лицензии LGPL и GPL различаются одним важным исключением; при использовании LGPL требование о том, чтобы вы открывали исходный код собственных расширений программного обеспечения, было удалено.Вы обязаны вносить изменения только в исходную бесплатную библиотеку LGPL. Поскольку на бесплатную библиотеку всегда распространяется действие LGPL, у любого пользователя вашего программного обеспечения должна быть возможность изменять, перекомпилировать или заменять бесплатную библиотеку LGPL и использовать ее измененную версию с вашим программным обеспечением.

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

Обратите внимание, что LGPL совместима с GPL: вы можете решить «обновить» до GPL и включить его в проект, полностью лицензированный GPL, если хотите. Однако вы не можете пойти другим путем и повторно лицензировать код под лицензией GPL как LGPL.

10. Что покрывает AGPL?

AGPL — это стандартная общественная лицензия Affero, разновидность GPL, предназначенная для программ, работающих на сервере. Если разработчик изменяет программу, выпущенную под GPL, ожидается, что он выпустит измененную программу под той же лицензией, но если эта программа работает только на сервере, разработчик на самом деле не выпускает ее для остального мира.

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

Итак, это десять из ваших основных вопросов о лицензии GPL. У тебя есть еще? Буду рад найти для вас ответы.

Автор этого блога не является юристом, и вы не должны интерпретировать это как юридическую консультацию любого рода. Информация предоставляется «как есть». За юридической консультацией обращайтесь к своему юрисконсульту.

Стандартная общественная лицензия GNU

| Объяснение GPLv3

Лицензия GPL относится к Стандартной общественной лицензии GNU, широко используемой для программного обеспечения с открытым исходным кодом, впервые написанной Ричардом Столлманом в 1989 году. Разработчики и организации используют ее для предотвращения превращения программного обеспечения в собственность. Он объединил аналогичные лицензии, доступные в то время, но в основном это реализация философии Free Software Foundation (FSF) и концепции авторского лева Столлмана в отношении разработки и распространения программного обеспечения.

Что такое лицензия GPL?

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

Он предоставляет разрешения с открытым исходным кодом для пользователей, в том числе:

  • Право на бесплатную загрузку и запуск программного обеспечения
  • Право вносить изменения в программное обеспечение по желанию
  • Право на распространение копий программного обеспечения
  • Право на изменение и распространение копий новых версий программного обеспечения

GPL достигает своих целей с помощью концепции авторского лева.Очевидно, что авторское лево использует законы об авторском праве для обеспечения статуса программного обеспечения с открытым исходным кодом. Путем включения авторских прав в лицензию на программное обеспечение разработчики могут гарантировать, что ни одно из их программного обеспечения не станет проприетарным в случае его изменения или расширения другим пользователем.

В чем разница между GPLv2 и GPLv3?

GPLv3 по-прежнему поддерживает то же основное намерение, что и GPLv2, но имеет более строгую защиту авторским левом. Язык GPLv3 делает более всеобъемлющим рассмотрение технических и юридических изменений, включая положения об обмене международными лицензиями.

В GPLv3 включены четыре основных новых статьи:

  • Правила совместимости — Совместимость лицензий относится к ситуациям, когда два отдельных компонента, лицензированных на разных условиях, объединяются, чтобы сформировать новое произведение. GPLv3 упрощает управление совместимыми лицензиями, в частности, обращаясь к коду в рамках лицензии Apache V2.0.
  • Управление цифровыми правами — Новые статьи пытаются ограничить произвольные изменения программного обеспечения GPL, поскольку пользователи обращаются к правовым нормам (например, DMCA) для технических защитных мер.
  • Явное патентное лицензирование — Новый пункт о патентах защищает пользователей только от некоторых лицензиатов, пользующихся патентными правами, требуя от них обеспечения того, чтобы каждый пользователь пользовался одинаковыми преимуществами или что никто не может получать прибыль от программного обеспечения.
  • Исключение исходного кода для ASP — разъясняет необходимость раскрытия исходного кода в реализации ASP GPL, если пользователи не распространяют копию клиентам. Если авторское лево должно применяться к использованию ASP, должна применяться Стандартная общественная лицензия Affero (AGPLv3).

Каковы условия лицензии GPLv3?

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

Особые положения и условия, применимые к программному обеспечению GPLv3:

  • Разрешения — Права, предоставленные для коммерческого использования, распространения, модификации, использования патентов и частного использования программного обеспечения.
  • Условия — Требования к раскрытию исходного кода, отображению лицензий и уведомлений об авторских правах, заявлению всех изменений и именам библиотек под той же лицензией.
  • Ограничения — Включите в работу информацию об ответственности и гарантии.

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

Как использовать GPLv3?

Для выпуска программного обеспечения под лицензией GPL пользователям необходимо получить отказ от авторских прав от любой замещающей организации, например, от работодателя или учебного заведения. После заявления об отказе от ответственности каждый файл должен получить соответствующие уведомления об авторских правах с четким определением версий, которые пользователи могут использовать.

Наконец, добавьте файл КОПИРОВАНИЯ, содержащий полный текст условий и положений GNU GPL, добавляя при этом уведомления о лицензии и заявление о разрешении в каждый файл.Добавление отображения уведомления об авторских правах при запуске не является обязательным.

Могу ли я использовать GPLv3 в коммерческих программах?

Разработчикам следует иметь в виду, что GPL намеревается предотвратить любые дополнительные ограничения на программное обеспечение. При использовании любой части программного обеспечения под GPL измененная версия сохраняет те же права. Таким образом, пользователь должен предоставить обновленный исходный код для последующих пользователей (только если пользователь публикует измененное программное обеспечение). Хотя можно продавать программное обеспечение под GPL другому пользователю, нельзя ограничивать права этого пользователя на его изменение и распространение.

Интегрируйте соответствие лицензий в свои рабочие процессы

Выявление, мониторинг и управление использованием лицензий с открытым исходным кодом в ваших проектах

Другие лицензии с открытым исходным кодом

Другие лицензии с открытым исходным кодом включают лицензию Массачусетского технологического института MIT и лицензию BSD Berkeley Software Distribution из трех пунктов.Основная цель GPL — способствовать сотрудничеству и постоянному совершенствованию сообщества разработчиков. Любое программное обеспечение, ранее лицензированное под GPLv3, останется бесплатным и не может ограничивать конкуренцию. Для ситуаций, когда свобода должна быть ограничена (также известной как лицензирование со слабым авторским левом), лучше подходит Стандартная общественная лицензия ограниченного применения (LPGL).

Сравнение лицензий с открытым исходным кодом: популярные лицензии с авторским левом и разрешительные лицензии с открытым исходным кодом.

С LGPL пользователи могут сохранить исходный код в секрете, поскольку для этого требуется только выпуск модификаций исходной бесплатной библиотеки.Это позволяет последующим пользователям заменять только те части программного обеспечения, которые находятся под GPL, в будущем, не имея возможности изменять частные части программного обеспечения.

Простое управление компонентами под GPL с помощью Snyk

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

Или закажите демонстрацию у одного из наших экспертов, чтобы узнать больше о решении Snyk License Compliance Management.

Лицензия GPL

Как разработчик, вы, вероятно, будете использовать МНОГО библиотек и программного обеспечения под лицензией GPL.

В этом посте я хочу дать общий обзор этой лицензии, рассказывая вам, что вы можете сделать с программным обеспечением GPL, что вы не можете сделать с программным обеспечением GPL, и что вы, , должны сделать , когда вы полагаетесь в теме.

GPL исторически лежит в основе программного обеспечения с открытым исходным кодом. Первоначально он был создан Ричардом Столлманом в 1989 году для использования в рамках проекта GNU, бесплатной версии операционной системы UNIX, которая была проприетарной.

С момента своего появления GNU оказала огромное влияние на нашу отрасль. Серверы и компьютеры, которые, как мы говорим, работают под «Linux», на самом деле работают под управлением системы GNU / Linux. Linux — это ядро ​​(«ядро»), и большая часть того, что окружает ядро, состоит из программного обеспечения, созданного под зонтиком проекта GNU, такого как Bash и библиотека GNU C.Полный список пакетов GNU очень длинный и включает драгоценные камни, которые вы, вероятно, будете использовать, такие как wget, nano, gcc, gimp, emacs, gtk + и многие другие.

Примечание. Android использует Linux в качестве ядра, но не включает программное обеспечение GNU и включает в себя проприетарное программное обеспечение поверх, что делает его очень отличным от настольных дистрибутивов GNU / Linux. Кроме того, части Android с открытым исходным кодом находятся под лицензией Apache 2.0, а не GPL.

Примечание: в этой статье рассказывается о последней версии лицензии GPL v3.В конце вы найдете некоторые ключевые отличия от GPL v2.

Преимущества для производителей программного обеспечения GPL v3

Как производитель программного обеспечения под лицензией GPL v3, вы не можете нести ответственность за ущерб, причиненный при использовании вашего программного обеспечения.

Вы можете добавить гарантию на программное обеспечение, если хотите, но по умолчанию вы не несете ответственности.

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

То, что вы должны предоставить как производитель программного обеспечения GPL v3

Как производитель программного обеспечения под GPL вы должны:

  • Включите полную копию версии лицензии GPL в распространяемый вами пакет
  • Включите ваши авторские права
  • Включите отказ от гарантии

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

Также (только GPL v3), если программное обеспечение является частью потребительского устройства, вы должны предоставить инструкции по установке, позволяющие любому пользователю изменять программное обеспечение, создавать двоичный файл и переустанавливать его.

Если вы распространяете модифицированную версию программного обеспечения GPL, вы также должны:

  • Включите оригинальную версию, авторское право
  • Включите инструкции для получения исходной версии
  • Включите список изменений, внесенных в исходное программное обеспечение

Преимущества для пользователей программного обеспечения GPL v3

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

  1. Вы можете использовать программное обеспечение GPL в коммерческих целях
  2. Вы можете изменять программное обеспечение и создавать производные работы
  3. Вы можете распространять программное обеспечение и любые производные продукты, которые вы производите, без необходимости запрашивать разрешение или платить кому-либо.

Plus, только для GPL v3 (не GPL v1 или v2), вы в безопасности с любым патентом, принадлежащим разработчикам программного обеспечения, которое вы используете (они дают вам встроенное право на использование программного обеспечения независимо от того, какой патент они собственные, и они не могут подать в суд на вас за его использование)

Недостатки для пользователей программного обеспечения GPL v3

Вы не можете изменить лицензию кода, полученного вами как GPL.Вы можете вносить изменения в программное обеспечение, но не можете изменить лицензию на что-то другое.

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

Проблемы с GPL

Опубликовано 02.02.2021. Изменено 13 февраля 2021 г.

В моей предыдущей статье «Почему вам следует перенести все с Linux на BSD» в разделе «Проблемы с лицензией» я очень кратко рассмотрел одну из проблем с лицензией GPL. С тех пор я получил несколько писем с просьбой уточнить тему, что я и попытаюсь сделать в этой статье.

Содержание

Что такое GPL?

Общественная лицензия GNU (GPL) была создана как «антитеза» стандартной проприетарной лицензии. Любые модификации, которые были внесены в программное обеспечение под лицензией GPL, должны были быть возвращены сообществу GPL, и любое приложение, которое использовало исходный код GPL или связано с ним, должно было соответствовать условиям GPL.

Основная цель GPL — запретить включение программного обеспечения под лицензией GPL в проприетарное программное обеспечение.

GPL довольно сложна:

  • Вы не можете продавать программное обеспечение под лицензией GPL, но вы можете взимать любую плату за распространение, поддержку или документирование программного обеспечения.
  • Если для компиляции программы требуется исходный код под лицензией GPL, программа также должна находиться под лицензией GPL. Для статического связывания с библиотекой GPL требуется, чтобы программа работала под GPL.
  • Поскольку ядро ​​Linux находится под лицензией GPL, любой код, статически связанный с ядром Linux, сам должен быть лицензирован GPL. Этого требования можно избежать, динамически связывая загружаемые модули ядра. Это позволяет компаниям распространять бинарные драйверы, но имеет тот недостаток, что они будут работать только с определенными версиями ядра Linux.

Из-за сложности GPL ее законность в основном игнорируется во многих частях мира в отношении Linux и связанного с ним программного обеспечения.

GPL поощряет «угон самолетов» и политические маневры

GPL и лицензии, смоделированные на ее основе, налагают ограничение, согласно которому исходный код должен распространяться или предоставляться для всех работ, являющихся производными от защищенного авторским правом кода GNU.

Хотя это может показаться благородной стратегией, это условие обычно неприемлемо для коммерческого использования программного обеспечения.На практике это обычно заканчивается препятствием для свободного обмена и повторного использования кода и идей, а не поощрением этого.

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

В начале 1990-х гг. Давление по внедрению проприетарных приложений в Linux стало непреодолимым. Такие приложения часто должны быть связаны с системными библиотеками.Давление было настолько велико, что это привело к появлению модифицированной версии GPL под названием LGPL («Библиотека», с тех пор переименованная в «Меньшую», GPL). LGPL позволяет связывать частный код с библиотекой GNU C (glibc). Вам не нужно выпускать исходный код, который был динамически связан с лицензионной библиотекой LGPL. С другой стороны, если вы статически связываете приложение с glibc, что очень часто требуется во встроенных системах, вы не можете сохранить свое приложение проприетарным, то есть исходный код должен быть освобожден.

Подобные ограничения иногда ставят компанию в больное место. Вместо того, чтобы выпускать исходный код, они пытаются повлиять на исходный проект, нанимая одного или нескольких разработчиков, а затем пытаются воздействовать на проект, чтобы внести изменения в исходный код, которые помогают компании реализовать любые требуемые решения. Как только это политическое маневрирование начинается, оно часто имеет очень разрушительные последствия для сообщества свободного программного обеспечения, потому что на этом не заканчивается.

Один из таких наглядных примеров — Red Hat изо всех сил пытается избавиться от каталога конфигурации / etc в Linux.

Red Hat хочет этого изменения, потому что в их конкретном бизнес-продукте для рынка встраиваемых систем и т. Д. мешают. Наличие Linux в качестве операционной системы, не зависящей от / и т. Д. очень важно для Red Hat, поэтому они также жестко запрограммировали DNS-серверы от Google, Cloudflare и Quad9 в сетевое приложение с разрешением systemd, чтобы оно могло работать полностью без любые настройки в / etc . По этой же причине они пытаются изменить способ работы домашних каталогов, и systemd-homed является первым важным шагом в этом направлении.Избавление от / etc / passwd и связанных файлов в настоящее время является одним из приоритетных проектов Red Hat, так как это позволит легче избавиться от остальной части / etc .

На самом деле, корпоративные интересы Red Hat — это и есть причина существования systemd. И это также та самая причина, по которой systemd не просто система инициализации, а, скорее, превратилась в огромную кучу взаимозависимых строительных блоков, чтобы сделать «операционную систему», которая лучше отвечает их интересам, как на их рынке встроенных, так и на другом рынке. доли рынка у них есть.

Red Hat нуждается в этих серьезных изменениях, чтобы стать интегрированной частью основных дистрибутивов Linux, чтобы все стороннее программное обеспечение работало с этой настройкой, а не с текущей настройкой, в которой Red Hat приходится обходить множество проблем, что одновременно очень трудоемко и сложно.

Как я уже объяснял в своей статье Настоящая мотивация systemd, Red Hat обратилась к нескольким сторонним проектам и попыталась убедить их сделать свои проекты зависимыми от systemd, например, попытки, предпринятые Леннартом Поеттерингом в списке рассылки Gnome, и попытка разработчика Red Hat «keszybz» над проектом tmux.Большинство этих попыток были замаскированы под технические проблемы, однако, когда вы читаете длинную электронную переписку в списке рассылки Gnome и в других местах, истинное намерение становится совершенно ясным.

В другом примере Red Hat приобрела Cygnus, инжиниринговую компанию, которая взяла на себя разработку инструментов компилятора FSF. Cygnus разработала бизнес-модель, в которой они продавали поддержку программного обеспечения GNU. Это позволило им нанять около 50 инженеров и управлять направлением программ, внося значительный вклад в модификации.

В то время как ядро ​​Linux и дистрибутивы Linux были в основном проектами, управляемыми сообществом, корпоративные интересы некоторых крупных компаний сильно изменили это. Некоторые вклады принесли пользу сообществам, но многие маневры — нет, и в настоящее время Linux как операционная система (а не только ядро) претерпевает серьезные изменения, которые выходят далеко за рамки ядра и инструментов GNU.

Такого рода «угон» и политические маневры никогда не происходят с разрешительной лицензией, такой как лицензии BSD или MIT.

Имея разрешительную лицензию, компания может делать все, что угодно. Никогда не возникает ситуации, в которой частью их интересов становится «захват» восходящего проекта или прямое влияние на его ход.

Напротив, компании, которые извлекают выгоду из разрешительной лицензии, часто вносят свой код обратно в проект, потому что в их интересах, чтобы их вклад был доступен в исходном коде, и в то же время они сохраняют конфиденциальность изменений, «связанных с конкретной компанией».

Clang, выпускаемый под разрешительной лицензией и изначально являющийся проектом Apple, начатым в 2005 году, является еще одним действительно хорошим примером проблем с GPL. GCC лицензируется в соответствии с условиями GPL версии 3, которая требует, чтобы разработчики, распространяющие расширения или модифицированные версии GCC, делали свой исходный код доступным, в то время как LLVM, который является серверной частью clang, имеет лицензию, подобную BSD, которая делает нет этого требования.

Из-за этого Apple решила разработать новый интерфейс компилятора с нуля, поддерживающий C, Objective-C и C ++.Затем в 2007 году был открыт исходный код проекта clang, и теперь участники, которые вносят улучшения и изменения как в LLVM, так и в clang, включают несколько проектов бесплатного программного обеспечения, таких как все проекты BSD, а также такие крупные компании, как Microsoft, Google, ARM, Sony, Intel и Advanced Micro Devices (AMD).

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

Ущерб, нанесенный собственными компаниями

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

Ущерб наносится обществу в целом, например, ущерб, нанесенный Microsoft, Apple и Google их проприетарными шпионскими операционными системами, их лицензиями на авторские права и их шпионскими программами.

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

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

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

Думаю, также стоит отметить, что нарушение GPL — широко распространенная проблема. Во всем мире программное обеспечение GPL рассматривается как «общественное достояние», и во многих случаях лицензия оказывает очень небольшое реальное влияние. Вот почему был создан проект gpl-violations.org.

Сама «душа» настоящей бесплатной лицензии — поощрять сотрудничество, она помогает людям и, следовательно, компаниям (поскольку они состоят из людей, работающих вместе), видеть, что жадность никому не приносит пользы, что это Лучше делиться друг с другом и помогать друг другу, а не делать карманы отдельных людей все толще и толще.

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

В конечном итоге правительства всего мира будут вынуждены принять и внедрить истинно бесплатное программное обеспечение из-за связанных с этим рисков. Ни одна страна не может доверять программному обеспечению, разработанному в другой стране, если исходный код не является полностью открытым и действительно бесплатным, даже из союзных стран! Слишком велик риск шпионажа и повреждения инфраструктуры! Да, и, кстати, это касается и закрытого оборудования!

На самом деле корень проблемы — это не совместное использование

Коренная причина зла в мире — бедность.Людям необходимо делиться друг с другом и помогать друг другу, поскольку это не только устранит или ограничит бедность, но и установит приоритет в обществе, в котором жадность становится чем-то очень плохим.

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

Верите ли вы в совпадение, удачу или Бога, факт остается фактом: ваш упорный труд или продуманная бизнес-стратегия не являются причиной вашего богатства.Скорее, это обстоятельства, далеко не зависящие от вас. Место, где вы выросли, как вы росли, кто ваши родители, где, каких людей вы знали, возможности, которые открылись вам в результате всех этих различных обстоятельств, на самом деле являются основными факторами, влияющими на ваш успех или неудачу. И ничто из этого не может быть связано с вашими действиями. Все это выходит далеко за рамки вашего контроля. А дело в том, что ваш упорный труд почти ничего не дает. Вы могли бы выполнять еще более тяжелую работу и еще более умное дело, но, просто отодвинув себя на несколько дюймов, все получится так же, и то, что было большим успехом в одном месте, обернулось серьезным провалом в другом.

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

Разделяя и помогая, мы поощряем хорошее поведение и хорошие отношения, и если только большинство из нас будет продолжать делать это, в какой-то момент «быть злым» не только не окупится, но и будет настолько разрушительным для конечного результата, что вы просто должен воздержаться.

Мы не предотвращаем зло в мире программного обеспечения или в мире в целом, используя GPL. Такие компании, как Microsoft, будут творить зло, несмотря ни на что. Они будут создавать свое собственное программное обеспечение, несмотря ни на что. Предотвращение использования вашего конкретного программного обеспечения ничего не меняет и зачастую приносит больше вреда, чем пользы.Но если делать добро в больших масштабах и обучать людей, в конечном итоге никто ничего не купит у злой компании.

В настоящее время мало кто понимает это, и немногие проекты работают так, поэтому это такой медленный процесс. Но GPL совсем не помогает, она делает вещи стоящими, когда жадные компании «захватывают» проекты. Просто посмотрите на ущерб, который корпоративный интерес к systemd нанес чему-то вроде проекта Debian, в качестве примера.

GPL лицемерна

Как мы все знаем, проект GNU и Фонд свободного программного обеспечения проводят большую работу по продвижению свободного программного обеспечения.На веб-сайте FSF мы находим следующее определение «бесплатное программное обеспечение»:

«Бесплатное программное обеспечение» означает программное обеспечение, уважающее свободу и общность пользователей. Грубо говоря, это означает, что у пользователей есть свобода запускать, копировать, распространять, изучать, изменять и улучшать программное обеспечение. Таким образом, «свободные программы» — это вопрос свободы, а не цены. Чтобы понять эту концепцию, вы должны думать о «бесплатном» как о «свободе слова», а не как о «бесплатном пиве». Мы иногда называем это «свободным программным обеспечением», заимствуя французское или испанское слово «бесплатно» как «свобода», чтобы показать, что мы не имеем в виду, что программное обеспечение является бесплатным.

Мы выступаем за эти свободы, потому что каждый их заслуживает. Благодаря этим свободам пользователи (как индивидуально, так и коллективно) контролируют программу и то, что она для них делает. Когда пользователи не контролируют программу, мы называем ее «несвободной» или «несвободной» программой.

В то же время проект GNU и FSF одобряют и активно используют GPL, которая по самой своей природе является «несвободной», в соответствии с этим определением, приведенным выше, потому что она ограничивает то, что вы можете делать с программным обеспечением. .Я не говорю о философской дискуссии о свободе или о том, что настоящая свобода — это возможность действовать без ограничений, это не то, о чем идет речь. Дело в том, что GPL противоречит самой цели, для которой она была создана.

Сами ограничения, установленные GPL, по сути, несвободы, и это не с философской точки зрения, а с точки зрения истинной реализации. GPL является основной причиной того, почему многие проекты с открытым исходным кодом, выпущенные по разрешительной лицензии, не могут быть интегрированы в Linux.

Это противоречит разрешающей лицензии и, например, на веб-сайте целей OpenBSD указано:

Мы хотим сделать доступным исходный код, который каждый может использовать в ЛЮБОЙ ЦЕЛИ, без ограничений. Мы стремимся сделать наше программное обеспечение надежным и безопасным и поощряем компании использовать те части, которые они хотят.

GPL упускает из виду

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

Но чего мы пытаемся достичь? Это конкуренция проприетарного ПО? Чтобы помешать людям зарабатывать деньги на разработке программного обеспечения и получать еду на стол?

Процитируем Ричарда Столмена:

Использование бесплатного программного обеспечения — это политический и этический выбор, отстаивающий право учиться и делиться тем, что мы узнаем, с другими. Бесплатное программное обеспечение стало основой обучающегося общества, в котором мы делимся своими знаниями таким образом, чтобы другие могли использовать их и получать от них удовольствие.

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

Это очень запутанное объяснение с несколькими противоречиями.

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

Жадные люди и политическая коррупция

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

В 1969 году (то, что я люблю называть коррумпированным) министерство юстиции США обвинило IBM в разрушении бизнеса путем объединения бесплатного программного обеспечения с оборудованием IBM. Результатом этого стало то, что IBM отделила свое программное обеспечение от своего оборудования, и программное обеспечение стало независимыми продуктами, отдельными от оборудования. В 1968 году компания под названием «Информатика» представила первое коммерческое программное обеспечение и сумела внедрить концепцию «программного продукта» и очень высокой нормы прибыли. Компания «Информатика» разработала бессрочную лицензию, которая в настоящее время является стандартом для всей компьютерной индустрии, при этом право собственности никогда не передается заказчику.

Это проблема в сердце — жадность!

Даже думать о том, что когда вы что-то покупаете, это не принадлежит вам, идет вразрез с самой основой рациональности. Это настолько противоречиво, что никто в здравом уме не может принять эту чушь, и действительно требует коррупции на самом высоком уровне, чтобы принять такую ​​чушь и обеспечить ее соблюдение законом! Вот почему так называемое компьютерное пиратство никогда не прекратится. Человеку свойственно делиться своими собратьями и помогать им! Против этого только самый жадный и продажный человек.

И это самая главная проблема капитализма, она движется исключительно финансовыми интересами!

Хотя мы могли бы сказать, что GPL создана на том основании, что люди, как правило, эгоистичны и злы и никогда не будут вносить свой вклад без принуждения, это не решает проблему и не помогает. Что нам нужно, так это лицензия, которая действует при условии, что люди в целом порядочные, и что многие будут вносить свой вклад, основываясь на принципах и доброте. Затем нам нужно обучать и подавать хорошие примеры, избегать и избегать жадности, и я твердо верю, что мы добьемся лучших результатов, используя более разрешительную лицензию, чем GPL.

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

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

Я также считаю, что некоторые взгляды Ричарда Столмена являются крайними и ошибочными, и что вы никогда не достигнете людей, проповедуя двойные стандарты.

Я считаю, что мы можем поставить жадные и крайние компании с одной стороны, а Ричарда Столмена и крайне антикорпоративные организации — с другой.Ни одна из этих крайностей никоим образом не приносит нам пользы.

Дополнительная литература

Как GPL заставляет меня оставить R ради Python 🙁

[Эта статья была впервые опубликована на сайте R-posts.com и любезно предоставлена ​​R-блогерам]. (Вы можете сообщить о проблеме с содержанием на этой странице здесь)


Хотите поделиться своим контентом на R-bloggers? щелкните здесь, если у вас есть блог, или здесь, если у вас его нет.

Как специалист по данным в стартапе, я могу программировать на нескольких языках, но часто R — естественный выбор.
Недавно я хотел, чтобы моя компания разработала продукт на основе R. Это просто казалось идеальным решением.

Но это оказалось скользкой дорожкой в ​​области лицензирования открытого исходного кода, о которой я раньше не подозревал.

Итог: юридический совет не использовать R!

Был ли это адвокат-одиночка? Нет. Компания была готова «подыграть» мне, и мы проконсультировались с 4 разными юристами по программному обеспечению, один за другим.
В чем проблема? R под лицензией GPL 2, и большинство пакетов R также являются GPL (2 или 3).

GPL не является разрешающей лицензией. Он классифицируется как «сильно защитный».

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

Теперь вы говорите: «Это должно быть неправильно» или «Вы просто не понимаете лицензию и ее значение», верно? Вы также можете упомянуть, что Microsoft и другие крупные компании используют R и предоставляют услуги R.

Что же, может быть. Я верю, что есть способы сделать ваш код несвободным на законных основаниях. Но когда ваши юристы по программному обеспечению советуют «постараться избегать использования этой программы», вы не отмахиваетесь от них.

Теперь о некоторых деталях.

Как частной компании, наш код должен быть проприетарным. Наше ядро ​​- не сервисы, а само программное обеспечение. Нам нужно избегать передачи нашего исходного кода заказчику.

Сама программа будет установлена ​​на сервере клиента.У большинства наших клиентов есть конфиденциальные данные, и о модели SAAS (или подключении к Интернету) не может быть и речи. Можем ли мы использовать R?

Команда R Core ответила на вопрос: «Могу ли я использовать R в коммерческих целях?». Но, как нам сказали юристы, то, как это решается, мало что решает. Любую программу GPL можно использовать в коммерческих целях. Вы можете предложить свои услуги по установке программного обеспечения или продать визуализацию, которую вы подготовили с помощью ggplot2. Но это не отвечает на вопрос — могу ли я написать программу на R и получить ее под лицензией без GPL (или просто — с коммерческой лицензией)? Ключевой вопрос, который нам задали, заключался в том, является ли наша работа «производной работой». »Р.Теперь R — это интерпретируемый язык программирования. Вы можете написать свой код в блокноте, и он будет отлично работать. Логика утверждает, что если вы не изменяете исходное программное обеспечение (R) и не копируете его исходный код, вы не создаете производную работу.

На самом деле

s На самом деле, когда вы читаете FAQ по лицензии GPL, почти кажется, что действительно нет никаких проблем. Вот абзац из Free Software Foundation https://www.gnu.org/licenses/gpl-faq.html#IfInterpreterIsGPL:

Если интерпретатор языка программирования выпущен под GPL, означает ли это, что программы, написанные для его интерпретации, должны быть под GPL-совместимыми лицензиями? ( #IfInterpreterIsGPL )

Когда переводчик просто переводит язык, ответ — нет .Интерпретируемая программа для интерпретатора — это просто данные; лицензия свободных программ, такая как GPL, основанная на законе об авторском праве, не может ограничивать данные, с которыми вы используете интерпретатор. Вы можете запускать его для любых данных (интерпретируемую программу), как вам нравится, и нет никаких требований о лицензировании этих данных для кого-либо.

Задача решена? Не совсем. В следующем абзаце карты перемешиваются:

Однако, когда интерпретатор расширяется для обеспечения «привязок» к другим средствам (часто, но не обязательно, библиотекам), интерпретируемая программа эффективно подключается к средствам, которые она использует, через эти привязки.Так что, если эти средства выпущены под GPL, интерпретируемая программа, которая их использует, должна быть выпущена совместимым с GPL способом. JNI или собственный интерфейс Java является примером такого механизма привязки; библиотеки, к которым осуществляется доступ таким образом, динамически связаны с программами Java , которые их вызывают. Эти библиотеки также связаны с интерпретатором. Если интерпретатор статически связан с этими библиотеками или если он предназначен для динамической компоновки с этими конкретными библиотеками , то он также должен быть выпущен в соответствии с GPL-совместимым способом.

Другой похожий и очень распространенный случай — предоставить библиотекам интерпретатор, который сам интерпретируется. Например, Perl поставляется с множеством модулей Perl, а реализация Java включает множество классов Java. Эти библиотеки и вызывающие их программы всегда динамически связаны между собой.

Как следствие, если вы решите использовать модули Perl под GPL или классы Java в своей программе, вы должны выпустить программу совместимым с GPL способом, независимо от лицензии, используемой в интерпретаторе Perl или Java, который объединяет программу Perl или Java будет работать на

Обычно это интерпретируется как «Вы можете использовать R, если не вызываете никакую библиотеку».Можете ли вы подумать об использовании R без, скажем, пакета Tidyverse? Tidyverse — это библиотека под лицензией GPL. И если вы хотите создать блестящее веб-приложение — вы все равно используете библиотеку Shiny (также GPL). Предположим, вы приобретете коммерческую лицензию на блестящий сервер pro, это все равно не решает проблему лицензирования самой блестящей библиотеки как GPL.

Более того, мы часто используем довольно много библиотек R — и почти все они являются GPL. То же самое и с блестящим приложением, в котором вы, вероятно, будете использовать множество пакетов GPL, чтобы ваш продукт выглядел и вел себя так, как вы хотите.

Законно ли вообще использовать R?

Я думаю, что это. Термин «библиотека» может быть причиной путаницы.

Поскольку Perl специально упоминается в цитированном выше FAQ GPL, Perl обратился к проблеме лицензированного GPL интерпретатора проприетарных сценариев (https://dev.perl.org/licenses/): « моя интерпретация GNU General Public License заключается в том, что ни один сценарий Perl не подпадает под условия GPL, если только вы сами явно не поместили указанный сценарий в условия GPL.

Более того, любой объектный код, связанный с perl, не подпадает автоматически под условия GPL, при условии, что такой объектный код только добавляет определения подпрограмм и переменных и не мешает результирующему интерпретатору выполнять любой стандартный сценарий Perl »

Также может быть скрытое объяснение, по которому можно использовать большинство библиотек.Как было сказано выше, возможно, что путаница вызвана использованием термина «библиотека» по-разному.

Связывание / связывание — это технический термин, обозначающий то, что происходит при совместной компиляции программного обеспечения. Это не то, что происходит с большинством пакетов R, что можно понять, прочитав следующий вопрос и ответ: Требуется ли для пакета, зависящего от Rcpp, лицензия GPL?

Вопрос объясняет, почему (из-за GPL) НЕ следует использовать библиотеку Rcpp R. Можем ли мы сделать вывод, что можно использовать большинство других библиотек?

«Это не юридическая консультация»

Как мы видели, что разрешено, а что нельзя делать с R, будучи GPL, далеко не ясно.Все, что написано по теме, также помечается как «не юридическая консультация». Хотя в этом нет ничего удивительного, трудно убедить юриста проявить снисходительность, когда владельцы программного обеспечения не уверены в этом. Например, FAQ « Могу ли я использовать R в коммерческих целях? », упомянутый выше, начинается со слов« R выпущен под лицензией GNU General Public License (GPL), версия 2 . Если у вас есть какие-либо вопросы относительно законности использования R в какой-либо конкретной ситуации, вам следует обсудить их со своим юрисконсультом ».И заканчивается на «» Ни одно из обсуждений в этом разделе не является юридической консультацией. Команда R Core не предоставляет юридических консультаций ни при каких обстоятельствах ».

Между тем информация тоже не очень важна. Так что, в конце концов, неясно, какова реальная правовая ситуация.

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

Что делает Python лучше?

ИМХО, большинство статей «R против Python» — сплошной мусор. Они выражают бессмыслицу, обычно написанную в духе « Python — это язык общего назначения с читаемым синтаксисом. R, однако, создается статистиками и охватывает их специфический язык .«Вдали от реальности, как я ее вижу.

Наиболее распространенные лицензии для пакетов Python https://snyk.io/blog/over-10-of-python-packages-on-pypi-are-distributed-without-any-license/ Но Python имеет разрешительную лицензию. Вы можете распространять его, вы можете изменять его, и вам не о чем беспокоиться, что ваш код тоже станет открытым. Это действительно большое преимущество.

Есть ли что-то среднее между разрешающей лицензией и GPL?

Да, есть.

Например, есть Меньшая GPL (LGPL).Как описано в Википедии: « Лицензия позволяет разработчикам и компаниям использовать и интегрировать программный компонент, выпущенный по LGPL, в свое собственное (даже несвободное) программное обеспечение, не требуя по условиям строгой лицензии с авторским левом выпускать исходный код своих программ. собственные компоненты. Однако любой разработчик, модифицирующий компонент под LGPL, должен сделать свою измененную версию доступной по той же лицензии LGPL. ”Разве это не то, к чему стремился выбор лицензии R?

Другие используют исключение.Например, Javascript также является GPL. Но они добавили следующее исключение: « В качестве специального исключения из GPL любой HTML-файл, который просто вызывает функциональные вызовы этого кода и для этой цели включает его посредством ссылки, должен считаться отдельной работой для целей закона об авторском праве. Кроме того, правообладатели этого кода дают вам разрешение на объединение этого кода с библиотеками бесплатного программного обеспечения, которые выпускаются под лицензией GNU LGPL. Вы можете копировать и распространять такую ​​систему в соответствии с условиями GNU GPL для этого кода и LGPL для библиотек.Если вы измените этот код, вы можете распространить это исключение на свою версию кода, но вы не обязаны это делать. Если вы не хотите этого делать, удалите этот оператор исключения из своей версии.

R не является LGPL. В R нет письменных исключений.

Тот факт, что R и большинство его библиотек используют лицензию GPL, является проблемой. По крайней мере, неясно, действительно ли законно использовать R для написания проприетарного кода.

Даже если это законно, у Python все же есть преимущество в виде разрешающей лицензии, что означает «отсутствие вопросов» со стороны потенциальных клиентов и инвесторов.

Было бы хорошо, если бы основная команда R, а также люди, выпускающие пакеты, были более ясны в отношении правильного использования программного обеспечения, как они его видят. Они могли бы взять Perl в качестве примера.

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

Нажмите ЗДЕСЬ, чтобы оставить комментарий .

Связанные

Что означает GPL? Бесплатный словарь

Фильтр категорий: Показать все (47) Наиболее распространенные (1) Технологии (16) Правительство и военные (8) Наука и медицина (11) Бизнес (7) Организации (15) Сленг / жаргон (3)

Prix

7

Публичная библиотека Goshen

Grapevine , TX)

Акроним Определение
GPL Стандартная общественная лицензия (GNU)
GPL Общественная лицензия GNU (менее распространенная)
GPL

GPL simulator)
GPL Глобальный прайс-лист (Cisco)
GPL Gaz de Pétrole Liquéfié (французский)
730 GPL di
GPL Библиотека программирования игр
GPL Glenmark Pharmaceuticals Ltd. (Мумбаи, Индия)
GPL Язык графического программирования
GPL Руководители программ GIS
GPL Gas Petrolio Liquefatto

GPL Универсальная библиотека
GPL Стандартная общественная лицензия
GPL Общественная лицензия GNU
GPL Общий уровень цен 7 )
GPL Публичная библиотека Гильдерленда (Нью-Йорк)
GPL Публичная библиотека Гринфилда (Гринфилд, Массачусетс)
GPL , Индийская библиотека Goshen

)
GPL Общий уровень населения
GPL Gas Propano Liquido (итальянский: жидкий пропан)
GPL Great Poker League (карточная игра)
GPL
Графика Программирование
GPL Лаборатория общего назначения (различные организации)
GPL граммов на литр
GPL Уровень защиты подземных вод (различные организации) GPLo

907 Licuado (испанский: сжиженный нефтяной газ)
GPL Guapiles, Costa Rica (код аэропорта)
GPL Garden Picture Library
Grapevine Библиотека
GPL Gi Публичная библиотека Лфорда (Гилфорд, штат Нью-Хэмпшир)
GPL галлонов на загрузку
GPL Глобальная пейнтбольная лига
GPL Лицензия на глобальный проект 907 9030 Gás Propano Liquefeito (Португалия)
GPL Gand Pe Lath (фраза для вечеринок на хинди)
GPL Génie de la Programmation 903 and du Logic
GPL Обобщенный язык программирования
GPL Цикл общего назначения
GPL Библиотека геопространственных продуктов
GPL GPL для государственных нужд
GPL Глобальный продукт Запуск
GPL General Pensions Limited (UK)
GPL Газовая пилотная лампа
GPL GIS (Географическая информационная система) Руководящий комитет программы (консультативный комитет); Совет по географической информации штата Орегон; Салем, штат Орегон)

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

2021 © Все права защищены. Карта сайта