HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-21
1 <p><a>#статьи</a></p>
1 <p><a>#статьи</a></p>
2 <ul><li>13 май 2022</li>
2 <ul><li>13 май 2022</li>
3 <li>0</li>
3 <li>0</li>
4 </ul><p>Юрист рассказал, как подружить между собой разные открытые лицензии и перелицензировать программу.</p>
4 </ul><p>Юрист рассказал, как подружить между собой разные открытые лицензии и перелицензировать программу.</p>
5 <p>Иллюстрация: Polina Vari для Skillbox Media</p>
5 <p>Иллюстрация: Polina Vari для Skillbox Media</p>
6 <p>Автор статей по праву. Изучает правовые вопросы интеллектуальной собственности, информации и искусственного интеллекта. Разбирает законодательство и судебную практику для программистов.</p>
6 <p>Автор статей по праву. Изучает правовые вопросы интеллектуальной собственности, информации и искусственного интеллекта. Разбирает законодательство и судебную практику для программистов.</p>
7 <p>Совместимость лицензий - это возможность объединять программы или их части, выпущенные под разными лицензиями. Сделать это строго по закону можно, лишь если условия лицензий не противоречат друг другу.</p>
7 <p>Совместимость лицензий - это возможность объединять программы или их части, выпущенные под разными лицензиями. Сделать это строго по закону можно, лишь если условия лицензий не противоречат друг другу.</p>
8 <p>Проприетарные лицензии строго определяют рамки использования программы и поэтому несовместимы между собой. А вот свободные лицензии могут быть как полностью несовместимы, так и позволять совмещать открытый и проприетарный софт.</p>
8 <p>Проприетарные лицензии строго определяют рамки использования программы и поэтому несовместимы между собой. А вот свободные лицензии могут быть как полностью несовместимы, так и позволять совмещать открытый и проприетарный софт.</p>
9 <p>Если вы используете open-source-решение в своём проекте, может возникнуть проблема совместимости, - когда разные фрагменты кода находятся под разными свободными лицензиями. Кроме того, если вы не выполните требование лицензии заимствованного кода, то нарушите права разработчика, и у него будут основания предъявить вам претензии.</p>
9 <p>Если вы используете open-source-решение в своём проекте, может возникнуть проблема совместимости, - когда разные фрагменты кода находятся под разными свободными лицензиями. Кроме того, если вы не выполните требование лицензии заимствованного кода, то нарушите права разработчика, и у него будут основания предъявить вам претензии.</p>
10 <p>Напомню, что свободные лицензии делят на взаимные и разрешительные.</p>
10 <p>Напомню, что свободные лицензии делят на взаимные и разрешительные.</p>
11 <p><strong>Взаимные, или копилефтные, лицензии</strong>, к которым относятся соглашения из семейства GNU, часто бывают несовместимы друг с другом и с другими свободными лицензиями. Дело в том, что новые продукты, а также продукты, в которые включён код или часть кода под GNU, должны распространяться строго под GNU определённой версии.</p>
11 <p><strong>Взаимные, или копилефтные, лицензии</strong>, к которым относятся соглашения из семейства GNU, часто бывают несовместимы друг с другом и с другими свободными лицензиями. Дело в том, что новые продукты, а также продукты, в которые включён код или часть кода под GNU, должны распространяться строго под GNU определённой версии.</p>
12 <p><strong>Разрешительные лицензии</strong>совместимы между собой, с другими свободными лицензиями и даже с проприетарными лицензиями. К наиболее известным разрешительным лицензиям относятся<a>BSD и MIT</a>.</p>
12 <p><strong>Разрешительные лицензии</strong>совместимы между собой, с другими свободными лицензиями и даже с проприетарными лицензиями. К наиболее известным разрешительным лицензиям относятся<a>BSD и MIT</a>.</p>
13 <p>Разрешительные лицензии, как правило, можно совмещать с взаимными. При этом части кода остаются под своими лицензиями, а программа целиком лицензируется под взаимной. Исключение из этого правила - 4‑clause BSD license, которая требует всегда упоминать её в рекламе продуктов, в состав которых входит код под 4‑clause BSD.</p>
13 <p>Разрешительные лицензии, как правило, можно совмещать с взаимными. При этом части кода остаются под своими лицензиями, а программа целиком лицензируется под взаимной. Исключение из этого правила - 4‑clause BSD license, которая требует всегда упоминать её в рекламе продуктов, в состав которых входит код под 4‑clause BSD.</p>
14 <p><a>Ричард Столлман</a>делит свободные лицензии на три группы: без копилефта, со слабым копилефтом и со строгим копилефтом.</p>
14 <p><a>Ричард Столлман</a>делит свободные лицензии на три группы: без копилефта, со слабым копилефтом и со строгим копилефтом.</p>
15 <p><strong>Лицензии без копилефта (</strong><strong>lax permissive licenses</strong><strong>)</strong>совместимы друг с другом, позволяют использовать лицензируемый код с проприетарным или поместить его в проприетарный продукт и сделать закрытым. К ним относятся 3-clause BSD, X11, Expat,<a>Apache</a>, Python и другие.</p>
15 <p><strong>Лицензии без копилефта (</strong><strong>lax permissive licenses</strong><strong>)</strong>совместимы друг с другом, позволяют использовать лицензируемый код с проприетарным или поместить его в проприетарный продукт и сделать закрытым. К ним относятся 3-clause BSD, X11, Expat,<a>Apache</a>, Python и другие.</p>
16 <p>Когда мы комбинируем части кода, выпущенного под такими лицензиями, каждая часть остаётся под своей лицензией. Если части трудно отделить друг от друга, то вся программа выпускается под несколькими лицензиями.</p>
16 <p>Когда мы комбинируем части кода, выпущенного под такими лицензиями, каждая часть остаётся под своей лицензией. Если части трудно отделить друг от друга, то вся программа выпускается под несколькими лицензиями.</p>
17 <p><strong>Лицензии со слабым копилефтом (промежуточные)</strong>разрешают добавлять проприетарный код, но требуют от разработчика соблюдения определённых условий. К ним относятся Eclipse Public License и Mozilla Public License.</p>
17 <p><strong>Лицензии со слабым копилефтом (промежуточные)</strong>разрешают добавлять проприетарный код, но требуют от разработчика соблюдения определённых условий. К ним относятся Eclipse Public License и Mozilla Public License.</p>
18 <p>Промежуточные лицензии, как правило, несовместимы с взаимными, поскольку не содержат требований о том, чтобы комбинированные программы распространялись под копилефтными лицензиями.</p>
18 <p>Промежуточные лицензии, как правило, несовместимы с взаимными, поскольку не содержат требований о том, чтобы комбинированные программы распространялись под копилефтными лицензиями.</p>
19 <p><strong>Лицензии со строгим копилефтом (взаимные лицензии)</strong>запрещают использовать лицензируемый код в проприетарных продуктах. Программа и её модификации распространяются только на условиях изначальной лицензии. К ним относятся GNU GPL версий 2 и 3.</p>
19 <p><strong>Лицензии со строгим копилефтом (взаимные лицензии)</strong>запрещают использовать лицензируемый код в проприетарных продуктах. Программа и её модификации распространяются только на условиях изначальной лицензии. К ним относятся GNU GPL версий 2 и 3.</p>
20 <p>Взаимные лицензии несовместимы между собой из-за обязательного требования: любой программный продукт, созданный на основе лицензируемого, должен распространяться под той же лицензией. Тем не менее из этой ситуации есть выход.</p>
20 <p>Взаимные лицензии несовместимы между собой из-за обязательного требования: любой программный продукт, созданный на основе лицензируемого, должен распространяться под той же лицензией. Тем не менее из этой ситуации есть выход.</p>
21 <p>Преодолеть несовместимость взаимных лицензий можно несколькими способами.</p>
21 <p>Преодолеть несовместимость взаимных лицензий можно несколькими способами.</p>
22 <p><strong>Указать на совместимость "явным образом".</strong>Так, например, исходный код под GNU GPL v3 можно включать в одну программу с исходниками под GNU AGPL. В результате получается произведение, которое распространяется под GNU Affero GPL.</p>
22 <p><strong>Указать на совместимость "явным образом".</strong>Так, например, исходный код под GNU GPL v3 можно включать в одну программу с исходниками под GNU AGPL. В результате получается произведение, которое распространяется под GNU Affero GPL.</p>
23 <p><strong>Включить условие о совместимости с более поздними версиями лицензии.</strong>В случаях, когда речь идёт о разных версиях одной взаимной лицензии, Фонд свободного ПО предлагает разработчикам включать в лицензии GNU GPL фразу "программа выпускается под GNU GPL версии N или более поздней". Это позволяет совмещать программы, вышедшие под разными версиями GNU GPL. Разработчики сами принимают решение - включать это условие в текст лицензии или нет.</p>
23 <p><strong>Включить условие о совместимости с более поздними версиями лицензии.</strong>В случаях, когда речь идёт о разных версиях одной взаимной лицензии, Фонд свободного ПО предлагает разработчикам включать в лицензии GNU GPL фразу "программа выпускается под GNU GPL версии N или более поздней". Это позволяет совмещать программы, вышедшие под разными версиями GNU GPL. Разработчики сами принимают решение - включать это условие в текст лицензии или нет.</p>
24 <p><strong>Включить условие об обновлении лицензии.</strong>Другой способ добиться совместимости разных версий - добавить условие, что лицензия может быть обновлена до более поздней версии. Так делают в <a>PHP</a>, Mozilla Foundation и <a>Creative Commons</a>. Условие об обновлении версий закреплено в тексте этих лицензий, а не оставлено на усмотрение разработчиков.</p>
24 <p><strong>Включить условие об обновлении лицензии.</strong>Другой способ добиться совместимости разных версий - добавить условие, что лицензия может быть обновлена до более поздней версии. Так делают в <a>PHP</a>, Mozilla Foundation и <a>Creative Commons</a>. Условие об обновлении версий закреплено в тексте этих лицензий, а не оставлено на усмотрение разработчиков.</p>
25 <p>Ричард Столлман считает такой подход более разумным, поскольку усмотрение авторов часто приводит к несовместимости версий. По его мнению, если выйдет GPL v4, в неё нужно будет включить пункт, который допускает переход на более поздние версии лицензии.</p>
25 <p>Ричард Столлман считает такой подход более разумным, поскольку усмотрение авторов часто приводит к несовместимости версий. По его мнению, если выйдет GPL v4, в неё нужно будет включить пункт, который допускает переход на более поздние версии лицензии.</p>
26 <p><strong>Перелицензировать программу.</strong>Перелицензирование применяется при разработке ПО с открытым исходным кодом, когда лицензии на отдельные модули программ несовместимы, но их как-то нужно использовать вместе. Часто перелицензирование становится единственным способом решения.</p>
26 <p><strong>Перелицензировать программу.</strong>Перелицензирование применяется при разработке ПО с открытым исходным кодом, когда лицензии на отдельные модули программ несовместимы, но их как-то нужно использовать вместе. Часто перелицензирование становится единственным способом решения.</p>
27 <p>Чтобы перелицензирование имело юридическую силу, требуется согласие всех заинтересованных правообладателей на изменение лицензии. Поскольку в отношении свободных программ трудно достигнуть стопроцентного охвата всех авторов из-за большого количества участников free- и open-source-проектов, часто достаточно подавляющего большинства.</p>
27 <p>Чтобы перелицензирование имело юридическую силу, требуется согласие всех заинтересованных правообладателей на изменение лицензии. Поскольку в отношении свободных программ трудно достигнуть стопроцентного охвата всех авторов из-за большого количества участников free- и open-source-проектов, часто достаточно подавляющего большинства.</p>
28 <p>Например, в Mozilla Foundation считали достаточным 95% охвата. Браузер Mozilla Firefox стал одним из первых проектов с открытым исходным кодом, в котором успешно применили перелицензирование.</p>
28 <p>Например, в Mozilla Foundation считали достаточным 95% охвата. Браузер Mozilla Firefox стал одним из первых проектов с открытым исходным кодом, в котором успешно применили перелицензирование.</p>
29 <p>Исходный код браузера Netscape Communicator 4.0 первоначально выпустили под лицензией Netscape Public License / Mozilla Public Licence, но FSF и OSI раскритиковали его за несовместимость.</p>
29 <p>Исходный код браузера Netscape Communicator 4.0 первоначально выпустили под лицензией Netscape Public License / Mozilla Public Licence, но FSF и OSI раскритиковали его за несовместимость.</p>
30 <p>Затем в 2001 году Time Warner, используя свои права в соответствии с Публичной лицензией Netscape и по просьбе Mozilla Foundation, перелицензировала весь код под публичной лицензией Netscape (включая код других авторов), на MPL v1.1 / GPL v2.0 / LGPL v2.1.</p>
30 <p>Затем в 2001 году Time Warner, используя свои права в соответствии с Публичной лицензией Netscape и по просьбе Mozilla Foundation, перелицензировала весь код под публичной лицензией Netscape (включая код других авторов), на MPL v1.1 / GPL v2.0 / LGPL v2.1.</p>
31 <p>Некоторые строгие копилефт-лицензии позволяют перелицензировать программу под другие копилефт‑лицензии. Например,<a>CeCILL</a>включает условие о совместимости с GNU GPL v2.0 и более поздними версиями. В GNU LGPL 2.1 явным образом разрешается перелицензирование на основе GNU GPL v2.0 и более поздних.</p>
31 <p>Некоторые строгие копилефт-лицензии позволяют перелицензировать программу под другие копилефт‑лицензии. Например,<a>CeCILL</a>включает условие о совместимости с GNU GPL v2.0 и более поздними версиями. В GNU LGPL 2.1 явным образом разрешается перелицензирование на основе GNU GPL v2.0 и более поздних.</p>
32 <p>GNU LGPL v3, по сути, представляет собой GNU GPL v3 с некоторыми дополнительными разрешениями. В разделе 7 LGPL v3 говорится, что дополнительные разрешения всегда можно удалить. В результате программа перелицензируется под обычную GNU GPL v3.</p>
32 <p>GNU LGPL v3, по сути, представляет собой GNU GPL v3 с некоторыми дополнительными разрешениями. В разделе 7 LGPL v3 говорится, что дополнительные разрешения всегда можно удалить. В результате программа перелицензируется под обычную GNU GPL v3.</p>
33 <p>Если программа допускает применение под GNU LGPL v2 или более поздней версии, её можно перелицензировать на основе GPL v3 или более поздней. Столлман отмечает, что для каждой будущей GPL версии N (N &gt; 3) FSF будет делать LGPL версии N с дополнительными разрешениями.</p>
33 <p>Если программа допускает применение под GNU LGPL v2 или более поздней версии, её можно перелицензировать на основе GPL v3 или более поздней. Столлман отмечает, что для каждой будущей GPL версии N (N &gt; 3) FSF будет делать LGPL версии N с дополнительными разрешениями.</p>
34 <p>Перелицензирование - хороший способ преодолеть несовместимость, но он не работает в обе стороны. То есть если лицензия А допускает перелицензирование на лицензию Б, то лицензия Б может не допускать перелицензирование на А.</p>
34 <p>Перелицензирование - хороший способ преодолеть несовместимость, но он не работает в обе стороны. То есть если лицензия А допускает перелицензирование на лицензию Б, то лицензия Б может не допускать перелицензирование на А.</p>
35 <p>Например, лицензия CC BY-SA 4.0 допускает перелицензирование изменённых версий на условиях GNU GPL v3, но GPL v3 не допускает переход на CC BY-SA. Лицензии Creative Commons в целом не предназначаются для софта. Но в некоторых случаях, когда речь идёт о чертежах аппаратуры и художественных вставках в компьютерных играх, нужно объединить материал, выпущенный под CC BY-SA, с материалом под GNU GPL. Это возможно благодаря условию о перелицензировании CC BY-SA.</p>
35 <p>Например, лицензия CC BY-SA 4.0 допускает перелицензирование изменённых версий на условиях GNU GPL v3, но GPL v3 не допускает переход на CC BY-SA. Лицензии Creative Commons в целом не предназначаются для софта. Но в некоторых случаях, когда речь идёт о чертежах аппаратуры и художественных вставках в компьютерных играх, нужно объединить материал, выпущенный под CC BY-SA, с материалом под GNU GPL. Это возможно благодаря условию о перелицензировании CC BY-SA.</p>
36 <p>Если перелицензирование прямо не предусмотрено в тексте соглашения, оно не допускается. Заметьте: условие о совместимости и условие о перелицензировании - не одно и то же.</p>
36 <p>Если перелицензирование прямо не предусмотрено в тексте соглашения, оно не допускается. Заметьте: условие о совместимости и условие о перелицензировании - не одно и то же.</p>
37 <p>Например, лицензии GNU GPL v3 и GNU AGPL содержат условие о совместимости, но перелицензировать программу с GPL на AGPL и наоборот нельзя - ни одна из лицензий этого не допускает. Кроме того, GNU AGPL v3 нельзя считать "более поздней версией" обычной GNU GPL v2, потому что GNU AGPL и GNU GPL - это две разные лицензии.</p>
37 <p>Например, лицензии GNU GPL v3 и GNU AGPL содержат условие о совместимости, но перелицензировать программу с GPL на AGPL и наоборот нельзя - ни одна из лицензий этого не допускает. Кроме того, GNU AGPL v3 нельзя считать "более поздней версией" обычной GNU GPL v2, потому что GNU AGPL и GNU GPL - это две разные лицензии.</p>
38 <p>Опять же, нужно помнить, что действует привязка к конкретной версии лицензии. Если условие не сформулировано для "версий X и более поздних", то перелицензировать в более позднюю версию нельзя, не говоря уже о более ранних. Фонд свободного ПО рекомендует разработчикам, которые воспользовались условием о перелицензировании, указывать себя в качестве посредников, определяющих версию лицензии. Также можно напрямую обратиться к авторам программы и попросить разрешение на перелицензирование.</p>
38 <p>Опять же, нужно помнить, что действует привязка к конкретной версии лицензии. Если условие не сформулировано для "версий X и более поздних", то перелицензировать в более позднюю версию нельзя, не говоря уже о более ранних. Фонд свободного ПО рекомендует разработчикам, которые воспользовались условием о перелицензировании, указывать себя в качестве посредников, определяющих версию лицензии. Также можно напрямую обратиться к авторам программы и попросить разрешение на перелицензирование.</p>
39 <p>Двойное лицензирование - одна из бизнес-моделей в Open Source. Она предполагает, что одна и та же программа может распространяться на условиях двух, а иногда и более лицензий (мультилицензирование). Пользователь софта может выбрать, к условиям какой из предлагаемых лицензий ему присоединиться. В некоторых случаях нужно принять условия всех лицензий одновременно. Например, если ПО имеет нескольких владельцев.</p>
39 <p>Двойное лицензирование - одна из бизнес-моделей в Open Source. Она предполагает, что одна и та же программа может распространяться на условиях двух, а иногда и более лицензий (мультилицензирование). Пользователь софта может выбрать, к условиям какой из предлагаемых лицензий ему присоединиться. В некоторых случаях нужно принять условия всех лицензий одновременно. Например, если ПО имеет нескольких владельцев.</p>
40 <p>Эту схему также можно рассматривать как способ преодоления несовместимости свободных лицензий: если хотя бы одна из свободных лицензий одной программы совместима со свободной лицензией другой программы, вы можете использовать обе эти программы в своём продукте.</p>
40 <p>Эту схему также можно рассматривать как способ преодоления несовместимости свободных лицензий: если хотя бы одна из свободных лицензий одной программы совместима со свободной лицензией другой программы, вы можете использовать обе эти программы в своём продукте.</p>
41 <p>Например, исходный код<a>Mozilla Application Suite</a>использовал тройное лицензирование под<a>MPL 1.1</a>,<a>GNU GPL v2.0</a>и LGPL v2.1. После того как появилась GPL-совместимая версия MPL v2.0, тройное лицензирование стало ненужным.</p>
41 <p>Например, исходный код<a>Mozilla Application Suite</a>использовал тройное лицензирование под<a>MPL 1.1</a>,<a>GNU GPL v2.0</a>и LGPL v2.1. После того как появилась GPL-совместимая версия MPL v2.0, тройное лицензирование стало ненужным.</p>
42 <p>Ещё более яркие примеры - Perl с двойной лицензией под GNU GPL и <a>Artistic License</a>и Ruby, у которого в соглашении прописано условие о двойном лицензировании с GNU GPL.</p>
42 <p>Ещё более яркие примеры - Perl с двойной лицензией под GNU GPL и <a>Artistic License</a>и Ruby, у которого в соглашении прописано условие о двойном лицензировании с GNU GPL.</p>
43 <p>В случаях с двойным или мультилицензированием FSF рекомендует выбирать GNU GPL v3.0 (или более позднюю) или другую, совместимую с ней лицензию. Таким образом вы получите совместимость почти со всеми свободными программами. GPL, AGPL v3 и более поздние версии лучше всех защищают свободу пользователей, по мнению приверженцев строгого копилефта.</p>
43 <p>В случаях с двойным или мультилицензированием FSF рекомендует выбирать GNU GPL v3.0 (или более позднюю) или другую, совместимую с ней лицензию. Таким образом вы получите совместимость почти со всеми свободными программами. GPL, AGPL v3 и более поздние версии лучше всех защищают свободу пользователей, по мнению приверженцев строгого копилефта.</p>
44 <p>На сайте FSF можно найти<a>таблицу совместимости лицензий GNU</a>и <a>перечни свободных лицензий, совместимых и несовместимых с лицензиями GNU GPL</a>.</p>
44 <p>На сайте FSF можно найти<a>таблицу совместимости лицензий GNU</a>и <a>перечни свободных лицензий, совместимых и несовместимых с лицензиями GNU GPL</a>.</p>
45 <p>Предположим, вы подобрали для своего проекта несколько свободных программ, лицензии которых совместимы между собой. В этом случае лицензия комбинированной программы должна объединять лицензии всех её частей. Возникает вопрос: под какой лицензией выйдет ваша программа?</p>
45 <p>Предположим, вы подобрали для своего проекта несколько свободных программ, лицензии которых совместимы между собой. В этом случае лицензия комбинированной программы должна объединять лицензии всех её частей. Возникает вопрос: под какой лицензией выйдет ваша программа?</p>
46 <p>Чтобы на него ответить, составьте перечень всех лицензий комбинированной программы и определите, какие из них имеют определяющее значение для проекта.</p>
46 <p>Чтобы на него ответить, составьте перечень всех лицензий комбинированной программы и определите, какие из них имеют определяющее значение для проекта.</p>
47 <p>Дело в том, что одни свободные лицензии могут "охватывать" другие - то есть условия одной лицензии удовлетворяются другой. Если все условия лицензии "охватываются" остальными, то её можно убрать из списка.</p>
47 <p>Дело в том, что одни свободные лицензии могут "охватывать" другие - то есть условия одной лицензии удовлетворяются другой. Если все условия лицензии "охватываются" остальными, то её можно убрать из списка.</p>
48 <p>Например:</p>
48 <p>Например:</p>
49 <ul><li>GNU GPL версии N, и GNU Affero GPL версии N охватывают LGPL версии N, а все три охватывают LGPL версии 2.1.</li>
49 <ul><li>GNU GPL версии N, и GNU Affero GPL версии N охватывают LGPL версии N, а все три охватывают LGPL версии 2.1.</li>
50 <li>Любая лицензия GNU версии N охватывает лицензию Apache 2.0 при N &gt;= 3.</li>
50 <li>Любая лицензия GNU версии N охватывает лицензию Apache 2.0 при N &gt;= 3.</li>
51 <li>GNU GPL версии N охватывает все версии Общественной лицензии Mozilla, которые с ней совместимы.</li>
51 <li>GNU GPL версии N охватывает все версии Общественной лицензии Mozilla, которые с ней совместимы.</li>
52 <li>Лицензия Apache 2.0 охватывает лицензии BSD, Expat, X11, ISC и СС0.</li>
52 <li>Лицензия Apache 2.0 охватывает лицензии BSD, Expat, X11, ISC и СС0.</li>
53 <li>Трёхпунктная BSD охватывает двухпунктную BSD.</li>
53 <li>Трёхпунктная BSD охватывает двухпунктную BSD.</li>
54 <li>Лицензии BSD охватывают лицензии Expat, X11 и ISC, а также CC0.</li>
54 <li>Лицензии BSD охватывают лицензии Expat, X11 и ISC, а также CC0.</li>
55 </ul><p>Чтобы программа, в которой есть код из открытых репозиториев, не нарушала права авторов‑разработчиков, нужно позаботиться о совместимости лицензий.</p>
55 </ul><p>Чтобы программа, в которой есть код из открытых репозиториев, не нарушала права авторов‑разработчиков, нужно позаботиться о совместимости лицензий.</p>
56 <p>Если свободные лицензии не содержат взаимно исключающих условий, то они, скорее всего, совместимы. Часто на совместимость указывает текст лицензии. Разработчик может и сам оговорить совместимость разных видов лицензий или новых версий лицензии с её старыми версиями.</p>
56 <p>Если свободные лицензии не содержат взаимно исключающих условий, то они, скорее всего, совместимы. Часто на совместимость указывает текст лицензии. Разработчик может и сам оговорить совместимость разных видов лицензий или новых версий лицензии с её старыми версиями.</p>
57 <p>Добиться совместимости лицензий можно с помощью перелицензирования и двойного лицензирования. При этом совместимость лицензий не подразумевает возможность перелицензирования с одной на другую по умолчанию. Если правообладатель допускает перелицензирование, он указывает это в тексте лицензии.</p>
57 <p>Добиться совместимости лицензий можно с помощью перелицензирования и двойного лицензирования. При этом совместимость лицензий не подразумевает возможность перелицензирования с одной на другую по умолчанию. Если правообладатель допускает перелицензирование, он указывает это в тексте лицензии.</p>
58 <a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
58 <a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>