Свободный софт можно бесплатно использовать и распространять с любой целью, адаптировать под себя, улучшать и публиковать свои версии — эти права закрепляются с помощью свободных лицензий. В этой статье рассмотрим основные виды таких лицензий, их особенности и совместимость.
Материал подготовил Гавриил Максютенко, активный участник сообщества GNOME. Любит изучать непопулярные языки программирования – Nim, Vala, Clojure, F#, Pharo (Smalltalk), Gleam, начал писать свой язык, похожий на Smalltalk. Опыт работы с АСУТП, веб- и десктоп-приложениями, ERP. Также благодарим за участие в проверке статьи Андрея Ситника, ведущего фронтенд-разработчика в Evil Martians**.
Содержание
Каким был бы мир без свободного ПО
Проведем воображаемый эксперимент: представим себе мир без свободного ПО.
Весь код хранится в закрытых репозиториях, а значит, программисты не могут просто и бесплатно использовать накопленный опыт IT-индустрии. Компании, занимающиеся разработкой, вынуждены приобретать платный софт: это требует дополнительных затрат и в конечном счете сказывается на качестве и цене продуктов.
Чтобы сэкономить, они начинают писать свои библиотеки: на IT-сленге это называется «велосипедить». Вместо того чтобы объединить усилия и разрабатывать одну качественную библиотеку, компании создают миллионы одинаковых библиотек разной степени проработанности. Стать программистом в таких условиях куда сложнее, ведь настоящий продакшн-код впервые можно увидеть только устроившись на работу.
В общем, мир без свободного ПО сильно отличался бы от нашего: качество продуктов, подготовка специалистов и темпы развития индустрии были бы гораздо хуже. В этой статье мы поговорим о феномене свободного ПО и типах свободных лицензий, а также узнаем, какую лицензию выбрать, чтобы сделать свой продукт открытым.
Как зародилось свободное ПО
Когда персональные компьютеры только начали распространяться, многие пользователи не задумывались, что у программ может быть владелец, а у него — лицензия на эту программу. Все просто передавали программы друг другу, копируя дискеты. Сегодня это называется пиратством.
Корпорации, разумеется, были против. Один из наиболее известных случаев — открытое письмо Билла Гейтса, в котором он обвиняет пользователей BASIC в воровстве, утверждая, что большинство из них не покупали BASIC, а просто копировали его друг у друга.
Однако многие программисты считали, что у пользователей ПО должны быть все права на его изучение и изменение. По аналогии с покупкой автомобиля: купив машину, вы можете посмотреть как устроен двигатель, починить или изменить его, дать покататься друзьям. Одним из лидеров движения за свободное программное обеспечение был Ричард Столлман: он решил создать собственную лицензию, которая будет обладать полной юридической силой, но в то же время гарантировать возможность оставлять софт открытым. Так Столлман создал первую свободную лицензию GNU GPL — General Public Licence. В 1989 году он выпускает первую программу под этой лицензией — редактор кода GNU Emacs, который популярен до сих пор. Про незаурядную личность Ричарда Столлмана в блоге Хекслета есть отдельная статья.
Так зародилось движение за свободное ПО и свободные лицензии. По сути оно стало борьбой против авторского права, которое не дает права владения продуктом, несмотря на то, что пользователь за него заплатил. Сегодня и корпорации оценили пользу свободного ПО: почти каждая большая компания имеет свой открытый репозиторий. Именно благодаря этому у нас есть такие библиотеки, как React (Facebook/Meta) или Protobuf (Google).
Список репозиториев с открытым ПО «большой пятерки»:
Что такое свободное ПО
Свободное ПО — это софт с открытой лицензией. Есть разные виды лицензий, но все они гарантируют следующие свободы:
-
Свобода использования в любых целях, включая коммерческие. Вы не можете сказать, что ваша лицензия работает только в определенной стране или для определенной группы населения.
-
Свобода распространения. Любой человек может распространять и даже продавать продукт со свободной лицензией.
-
Свобода изменения. Вы можете изменять код продукта, например, исправить в нем баг или добавить нужную вам функцию. Также эта свобода подразумевает агрегацию. Можно собрать коллекцию свободного программного обеспечения, использовать ее в собственном приложении (например, пакеты React и Material UI), а затем продавать его.
-
Свобода распространения измененной версии. Это сумма пунктов 2 и 3, которая подразумевает, что вы можете форкнуть (скопировать) проект, если автор не согласен принять ваше изменение.
Все свободные лицензии объединяют эти четыре пункта. Некоторые свободы подразумеваются неявно, например, чтобы иметь возможность изменить код, у вас должен быть доступ к исходному коду.
Свободные лицензии делятся на обычные (разрешительные) и вирусные — обоим типам применимы все четыре свободы.
Разрешительные лицензии позволяют использовать исходный код в проприетарном ПО, вносить в него изменения и сделать исправленную версию закрытой.
- Проприетарное ПО — несвободное программное обеспечение (от proprietary — частное, патентованное, в составе собственности). Такое ПО является частной собственностью авторов или правообладателей, его авторы не дают пользователям реальных прав на изучение и изменение купленного софта, сохраняют за собой монополию на его использование, копирование и модификацию, полностью или в существенных моментах. Обычно проприетарным называют любое несвободное ПО, включая полусвободное.
Вирусную лицензию выбирают, если автор хочет, чтобы все производные продукты с участием его кода распространялись под той же свободной лицензией. То есть, добавив в свой проект код под вирусной лицензией, он будто заражает этой лицензией весь проект. Слово «вирусная» здесь не имеет негативной окраски, наоборот — вирусные лицензии более свободные, так как они гарантируют, что код с ними не будет закрыт.
Ниже разберем примеры вирусных и невирусных лицензий.
GNU General Public License
Первая лицензия GNU General Public License до сих пор остается одной из самых популярных.
Допустим, перед нами стоит задача: сделать нашу программу свободной. Для этого нужно заявить, что она является общественным достоянием, и отказаться от авторских прав. Но тогда кто угодно может взять нашу программу, нанять штат разработчиков, добавить в нее новый функционал и продавать, закрыв исходные коды. Значит, нам нужно сделать лицензию, которая дает гарантию, что код под ней всегда будет оставаться открытым.
Именно это и делает GNU GPL. Лицензия является вирусной, то есть при добавлении кода под GNU GPL в проект, ваш код «заражается» и обязан быть выпущен под GNU GPL или другой совместимой лицензией (да, некоторые лицензии совместимы между собой, то есть код с разными лицензиями может быть объединен в одном проекте, но об этом поговорим чуть позже).
В лицензии GNU GPL есть два основных пункта:
- Исходный код должен либо распространятся с бинарными файлами программы, либо должно быть письмо с пояснением, как их запросить.
- Если код под GPL попадает в проект, то весь проект также автоматически станет GPL. Полная версия лицензии на английском
Существуют вторая и третья версии GNU GPL, про них мы тоже поговорим.
GNU General Public License v2
Основным нововведением второй версии стал принцип «свобода или смерть». Если в результате каких-либо обстоятельств, например, по решению суда, на автора ПО накладывается ограничение на распространение исходных текстов программы, то ему также запрещается распространять и бинарные версии. Если какое-либо государство вследствие патентов или авторского права наложит ограничения на распространение программы, выпущенной под GNU GPL v2, автор вправе полностью запретить ее распространение на территории этого государства. Простыми словами: либо код распространяется с исходниками, либо никак.
Также v2 уточняет: если вы решили распространять программу с инструкцией о запросе исходников, то все, кто получил программу от вас и распространяют ее дальше, обязаны также прикладывать эту инструкцию. В такой инструкции будет указан ваш email-адрес, на который можно отправить запрос, а вы в ответ пришлете исходные коды.
GNU Lesser General Public License (LGPL)
Эта лицензия менее «свободна» и в основном используется для программных библиотек. LGPL не гарантирует конечному пользователю полную свободу использования программного обеспечения. Только свободу модификации для компонентов, лицензированных по LGPL, но не для каких-либо проприетарных компонентов.
Коммерческое ПО может линковаться с библиотекой, выпущенной под LGPL, и при этом оно не будет «заражено» GPL и может оставаться закрытым.
Это позволяет использовать свободные библиотеки в закрытом ПО, все преимущества свободной библиотеки сохраняются. Например, если компания сделает свое изменение в этой библиотеке, она будет обязана его опубликовать. Таким образом библиотека продолжает развиваться большими коммерческими компаниями, которые в то же время могут использовать ее в закрытых продуктах.
MIT (X11 License)
Эту лицензию разработали в Массачусетском технологическом институте специально для системы X11 Windows System, которая повсеместно используется в Linux-десктопах уже 37 лет. Поэтому ее также называют X11 License.
Чтобы продукт распространялся под лицензией MIT, достаточно приложить текст этой лицензии и распространять продукт вместе с ним.
Полный текст MIT. Для сравнения: текст третьей версии GNU GPL состоит из 2567 слов.
Здесь видно важнейшее отличие от GPL — возможность использовать ПО под лицензией MIT в закрытом коде. MIT позволяет внести изменения в проект и сделать исправленную версию закрытой.
Такие лицензии еще называют разрешительными. По итогу данная лицензия разрешает все, если ее текст приложен к продукту и в нем упомянут оригинальный автор.
Под лицензией MIT выпущено множество известных продуктов: PuTTY, Mono, Ruby on Rails, JQuery, Wayland и, конечно же, X Window System.
BSD
У университета Беркли тоже есть своя лицензия — Berkeley Software Distribution License. Текст лицензии является общественным достоянием, это позволяет любому модифицировать его, создавая свою лицензию на основе BSD. Такие лицензии называют «лицензии типа BSD».
Например, общественная лицензия Microsoft добавляет запрет на изменение лицензии в случае, если код распространяется в виде исходников. Есть также NetBSD, FreeBSD, OpenBSD, DragonFly BSD, но самой используемой считается «модифицированная версия BSD», также известная как «BSD с тремя пунктами».
Дело в том, что изначальная версия из четырех пунктов (англ. «four-clause BSD») содержала неудачный пункт о необходимости подстановки копирайта университета Беркли.
Каждый, кто пользовался BSD, заменял Беркли на свой вариант организации или собственное имя. Известен случай, когда из-за этого пункта приходилось упоминать 75 других организаций. Также этот пункт делал BSD несовместимой с GPL, так как GPL запрещает добавлять новые ограничения, помимо перечисленных в ней самой. После двухлетней дискуссии было принято решение об удалении пункта о рекламе. Теперь в лицензии только три пункта:
Трехпунктовая BSD довольно похожа на MIT, но в MIT явно указаны разрешения на сублицензирование, слияние, публикацию и продажу. Тем не менее эти свободы подразумеваются и в BSD, их можно отнести к «использованию» или «распространению». Можно сказать, что выбор между MIT и BSD — исключительно дело вкуса.
GNU General Public License v3
GPL третьей версии создавалась дольше предыдущих версий, а во время ее утверждения шли бурные споры. Подробно об изменениях GPL v3 можно узнать из официальной статьи GNU.
Вот три главных нововведения:
Борьба с тивоизацией
Часто производители намеренно ограничивают функциональность устройств или же выпускают дорогую и дешевую версии продукта, которые различаются лишь программно. Примером тивоизированных устройств с ограниченным функционалом являются смартфоны iPhone, на которых запрещено копирование программ и ограничен доступ к файловой системе. Android имеет схожие проблемы.
Одна из целей GPLv3 — закрыть подобную лазейку, то есть пресечь тивоизацию. Если компания использовала свободное ПО под GNU GPL v3 в своем устройстве, лицензия позволяет владельцу устройства запросить исходные коды.
«Тивоизация — опасная попытка урезать свободу пользователей: право изменять свои программы станет бессмысленным, если ни один из ваших компьютеров не даст вам это делать. GPL v3 останавливает тивоизацию, требуя, чтобы распространитель предоставлял вам любые сведения и данные, необходимые для установки измененных программ на устройство»
Запрет на дискриминационные патентные соглашения
Со временем Microsoft и другие корпорации нашли способ ограничивать свободу пользователей: они открывают исходный код, но для работы с ним необходимо купить патент. GNU GPL v3 запрещает такую практику.
Обход цифровой защиты
Закон об авторском праве цифрового тысячелетия и Директива об авторском праве Европейского союза делают преступлением написание ПО, целью которого является обход цифровых защит. Этот пункт отменяет действие этих законов, разумеется, если сама цифровая защита лицензирована GPL v3. По сути этот пункт гарантирует, что ваше ПО под GPL v3 не смогут использовать в создании цифровых защит.
GNU Affero General Public License
Эта лицензия была разработана Фондом свободного программного обеспечения на основе GNU General Public License и Affero GPL, чтобы решить проблему облачных сервисов. Она обязывает сервер, на котором исполняется модифицированная программа, предоставлять доступ к исходному коду.
Совместимость лицензий
Чтобы использовать части программного обеспечения, выпущенные под разными свободными лицензиями, эти лицензии должны быть совместимы между собой.
GNU-сообщество делит лицензии на 3 общих класса — неограничительные, промежуточные и лицензии с авторским левом.
К неограничительным относятся MIT и BSD — этот класс лицензий дает возможность вносить изменения, закрывать код и в целом почти не накладывает ограничений. Этим пользуются, например, Apple и Sony, их продукты работают на модифицированных версиях системы BSD.
К промежуточным относится LGPL. Такие лицензии разрешают использование в закрытом коде, но обязывают публиковать любые вносимые изменения.
Программы, выпущенные под лицензиями с авторским левом, навсегда останутся свободными, независимо от того, кто и как их распространяет. Если целью авторского права является наложение ограничений на пользователя, то авторское лево наоборот гарантирует выполнение всех четырех свобод.
Правила совместимости этих лицензий:
- Все неограничительные лицензии совместимы между собой, так как они не накладывают никаких ограничений на способ распространения, ничто не мешает распространять их под несколькими лицензиями такого же типа.
- Лицензии с авторским левом несовместимы между собой, так как их сутью является гарантия, что любые модификации будут распространяться на тех же условиях. Исключением является GPL v3, которая совместима с v2. Но это односторонняя совместимость, то есть проект на GPL v2 нельзя смешивать с v3, но проект на v3 можно смешать с v2.
- Код под неограничительной лицензией, смешанный с кодом под авторским левом, лицензируется под авторским левом.
Общая картина такая:
Комбинирование в одном проекте кода проприетарной лицензии с пользовательским левом все же возможно, но необходима мощная изоляция как минимум на уровне процессов, разрешение на обмен данными только через бинарный протокол.
Примеры: Android, где используется ядро Linux (GPL v2), или драйвера Nvidia на Linux, которые могут поставляться бинарным блобом (англ. Binary Large Object — двоичный большой объект). Это возможно благодаря кольцам ядра Linux, отделяющим пространство пользователя от пространства, в котором выполняется код ядра.
Последним вариантом соблюдения совместимости является перелицензирование. Это сложный процесс, который требует согласия 95% участников. В этом случае ПО перевыпускается под новой, более подходящей лицензией, а старые версии остаются при этом неизменны.
Заключение
Этот обзор должен помочь с выбором подходящей лицензии. Главное — это решить, какую степень свободы вы хотите дать вашим пользователям.
Если вы рассматриваете «возможность запрещать» как одну из свобод и хотите дать пользователям возможность применять ваш продукт в коммерческих целях, вам подойдет одна из разрешительных лицензий (MIT, BSD).
Если же вы хотите, чтобы на свободу вашего продукта ничто не могло повлиять, то GPL или другая лицензия с сильным авторским левом — ваш выбор.
Информацию из этой статьи также стоит учитывать при использовании чужого свободного ПО: помните о «заразности» лицензий с авторским левом, проверяйте, что взятый вами код находится под совместимой лицензией. Мы рекомендуем полностью прочитать текст выбранной лицензии, прежде чем применять ее.
Дополнительные материалы
<!DOCTYPE html>
<html class="h-100" data-bs-theme="light" data-mantine-color-scheme="light" lang="ru" prefix="og: https://ogp.me/ns#">
<head>
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<meta content="IE=Edge" http-equiv="X-UA-Compatible">
<link crossorigin="true" href="https://cdn.hexlet.io" rel="preconnect">
<link href="https://mc.yandex.ru" rel="preconnect">
<meta content="aa2vrdtq64dub8knuf83lwywit311w" name="facebook-domain-verification">
<link href="/favicon.ico" rel="icon" sizes="any">
<link href="/favicon.svg" rel="icon" type="image/svg+xml">
<link href="/apple-touch-icon.png" rel="apple-touch-icon">
<link href="/manifest.webmanifest" rel="manifest">
<script>
//<![CDATA[
window.gon={};gon.ym_counter="25559621";gon.is_bot=true;gon.applications={};gon.current_user={"id":null,"last_viewed_notification_id":null,"email":null,"state":null,"first_name":"","last_name":"","created_at":"2026-02-26 20:53:25 UTC","current_program":null,"current_team":null,"full_name":"","guest":true,"can_use_paid_features":false,"is_hexlet_employee":false,"sanitized_phone_number":"","can_subscribe":true,"can_renew_education":false};gon.token="sH1Er992myzLkwCWrojr46W1Li7fzfVYqQAmr0Xq6mFfrI-YLQg2TH3QJA6ihxuUZbwDhNf6C_oU4Lz7F-0NDw";gon.locale="ru";gon.language="ru";gon.theme="light";gon.rails_env="production";gon.mobile=false;gon.google={"analytics_key":"UA-1360700-51","optimize_key":"GTM-5QDVFPF"};gon.captcha={"google_v3_site_key":"6LenGbgZAAAAAM7HbrDbn5JlizCSzPcS767c9vaY","yandex_site_key":"ysc1_Vyob5ZPPUdPBsu0ykt8bVFdzsfpoVjQChLGl2b4g19647a89","verification_failed":null};gon.social_signin=false;gon.typoreporter_google_form_id="1FAIpQLSeibfGq-KvWQ2Fyru-zkFFRVTLBuzXAHAoEyN1p49FtDmNoNA";
//]]>
</script>
<meta charset="utf-8">
<title>Лицензии свободного ПО: какие они бывают и как выбрать подходящую для вашего продукта</title>
<meta name="description" content="Свободный софт можно бесплатно использовать и распространять с любой целью, адаптировать под себя, улучшать и публиковать свои версии — эти права закрепляются с помощью свободных лицензий. В этой статье рассмотрим основные виды таких лицензий, их особенности и совместимость.">
<link rel="canonical" href="https://ru.hexlet.io/blog/posts/litsenzii-svobodnogo-po-kakie-oni-byvayut-i-kak-vybrat-podhodyaschuyu-dlya-vashego-produkta">
<meta property="og:title" content="Лицензии свободного ПО: какие они бывают и как выбрать подходящую для вашего продукта">
<meta property="og:description" content="Свободный софт можно бесплатно использовать и распространять с любой целью, адаптировать под себя, улучшать и публиковать свои версии — эти права закрепляются с помощью свободных лицензий. В этой статье рассмотрим основные виды таких лицензий, их особенности и совместимость.">
<meta property="og:image" content="https://ru.hexlet.io/vite/assets/blog_post-7eTyeLLt.webp">
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="O-yNfJT4AU-m8ZVKb2MC7AZqZAOob8SWDP1sDSW0CEjUPUZLZoasLxCysdJjbPKbxmNJqaBYOjSxHfZZd7PvJg" />
<script src="/vite/assets/inertia-DfXos102.js" crossorigin="anonymous" type="module"></script><link rel="modulepreload" href="/vite/assets/chunk-DsPFFUou.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/preload-helper-BJ4cLWpC.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/init-BrRXra1y.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/ahoy-DrlRQ-1D.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/analytics-cb8xch9l.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/ErrorFallbackBlock-naDSYSy9.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Surface-DL2bpZA-.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/gon-D3e4yh1x.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/mantine-CGMYrt2Y.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/utils-DRqSHbQE.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/routes-CCH8ilKF.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/extends-C-EagtpE.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/inheritsLoose-BBd-DCVI.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/objectWithoutPropertiesLoose-DRHXDhjp.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/index.esm-DAqKOkZ0.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Button-CGPUux8l.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/CloseButton-D1euiPao.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Group-BX48WcuU.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Loader-BQEY8g6v.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Modal-Cy3HByv7.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/OptionalPortal-1Hza5P2w.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Stack-CtjJzfw4.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Textarea-Ck64llAy.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Box-B5-OOzBf.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/DirectionProvider-Dc9zdUke.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/events-DJQOhap0.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/use-reduced-motion-D2owz4wa.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/use-disclosure-zKtK5W1r.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/use-hotkeys-Cnc_Rwkb.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/random-id-DOQyszCZ.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/notifications.store-C-3AFSMn.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/exports-C_MrNx_T.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/axios-BEvgo0ym.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/dayjs.min-BkKovM-s.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/i18next-BlSq9s7B.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/client-U9M77rxp.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-dom-DaLxUz_h.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/useTranslation-Bx1Cdrkz.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/compiler-runtime-6XxiPFnt.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/jsx-runtime-CwjcCKJi.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-CkL4ZRHB.js" as="script" crossorigin="anonymous">
<link rel="stylesheet" href="/vite/assets/application-BqhCP46M.js" />
<script src="/vite/assets/application-Df9RExpe.js" crossorigin="anonymous" type="module"></script><link rel="modulepreload" href="/vite/assets/chunk-DsPFFUou.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/autocomplete-VMNbxKGl.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/routes-CCH8ilKF.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/createPopper-C3aM9r1M.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/js.cookie-D1-O8zkX.js" as="script" crossorigin="anonymous"><link rel="stylesheet" href="/vite/assets/application-C8HjmMaq.css" media="screen" />
<script>
window.ym = function(){(ym.a=ym.a||[]).push(arguments)};
window.addEventListener('load', function() {
setTimeout(function() {
ym.l = 1*new Date();
ym(window.gon.ym_counter, "init", {
clickmap: true,
trackLinks: true,
accurateTrackBounce: true,
webvisor: true
});
// Загружаем скрипт
var k = document.createElement('script');
k.async = 1;
k.src = 'https://mc.yandex.ru/metrika/tag.js';
document.head.appendChild(k);
ym(window.gon.ym_counter, 'getClientID', function(clientID) {
window.ymClientId = clientID;
});
}, 1500);
});
</script>
<!-- Google Tag Manager - deferred -->
<script>
// dataLayer stub сразу — пуши работают до загрузки скрипта
window.dataLayer = window.dataLayer || [];
// Сам скрипт — отложенно после load
window.addEventListener('load', function() {
setTimeout(function() {
dataLayer.push({'gtm.start': new Date().getTime(), event: 'gtm.js'});
var j = document.createElement('script');
j.async = true;
j.src = 'https://www.googletagmanager.com/gtm.js?id=GTM-WK88TH';
document.head.appendChild(j);
}, 1500);
});
</script>
<!-- End Google Tag Manager -->
</head>
<body>
<noscript>
<div>
<img alt="" src="https://mc.yandex.ru/watch/25559621" style="position:absolute; left:-9999px;">
</div>
</noscript>
<header class="sticky-top bg-body">
<nav class="navbar navbar-expand-lg">
<div class="container-xxl">
<a class="navbar-brand" href="/"><img alt="Логотип Хекслета" height="24" src="https://ru.hexlet.io/vite/assets/logo_ru_light-BpiEA1LT.svg" width="96">
</a><button aria-controls="collapsable" aria-expanded="false" aria-label="Меню" class="navbar-toggler border-0 mb-0 mt-1" data-bs-target="#collapsable" data-bs-toggle="collapse">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="collapsable">
<ul class="navbar-nav mb-lg-0 mt-lg-1">
<li class="nav-item dropdown">
<button aria-haspopup class="btn nav-link" data-bs-toggle="dropdown" type="button">
Все курсы
<span class="bi bi-chevron-down align-middle ms-1"></span>
</button>
<ul class="dropdown-menu">
<li>
<a class="dropdown-item d-flex py-2" href="/courses"><div class="fw-bold me-auto">Все что есть</div>
<div class="text-muted">117</div>
</a></li>
<li>
<hr class="dropdown-divider">
</li>
<li class="dropdown-item">
<b>Популярные категории</b>
</li>
<li>
<a class="dropdown-item py-2" href="/courses_devops">Курсы по DevOps
</a></li>
<li>
<a class="dropdown-item py-2" href="/courses_data_analytics">Курсы по аналитике данных
</a></li>
<li>
<a class="dropdown-item py-2" href="/courses_programming">Курсы по программированию
</a></li>
<li>
<a class="dropdown-item py-2" href="/courses_testing">Курсы по тестированию
</a></li>
<li>
<hr class="dropdown-divider">
</li>
<li class="dropdown-item">
<b>Популярные курсы</b>
</li>
<li>
<a class="dropdown-item py-2" href="/programs/devops-engineer-from-scratch">DevOps-инженер с нуля
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/go">Go-разработчик
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/java">Java-разработчик
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/python">Python-разработчик
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/qa-auto-engineer-java">Автоматизатор тестирования на Java
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/data-analytics">Аналитик данных
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/frontend">Фронтенд-разработчик
</a></li>
</ul>
</li>
<li class="nav-item dropdown">
<button aria-haspopup class="btn nav-link" data-bs-toggle="dropdown" type="button">
О Хекслете
<span class="bi bi-chevron-down align-middle"></span>
</button>
<ul class="dropdown-menu bg-body">
<li>
<a class="dropdown-item py-2" href="/pages/about">О нас
</a></li>
<li>
<a class="dropdown-item py-2" href="/blog">Блог
</a></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://special.hexlet.io/hse-research" role="button">Результаты (Исследование)
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://career.hexlet.io" role="button">Хекслет Карьера
</span></li>
<li>
<a class="dropdown-item py-2" href="/testimonials">Отзывы студентов
</a></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://t.me/hexlet_help_bot" role="button">Поддержка (В ТГ)
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://special.hexlet.io/referal-program/?promo_creative=priglasite-druzei&promo_name=referal-program&promo_position=promo_position&promo_start=010724&promo_type=link" role="button">Реферальная программа
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://special.hexlet.io/certificate" role="button">Подарочные сертификаты
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://hh.ru/employer/4307094" role="button">Вакансии
</span></li>
<li>
<span class="dropdown-item d-flex external-link" rel="noopener noreferrer nofollow" data-href="https://b2b.hexlet.io" data-target="_blank" role="button">Компаниям
</span></li>
<li>
<span class="dropdown-item d-flex external-link" rel="noopener noreferrer nofollow" data-href="https://hexly.ru/" data-target="_blank" role="button">Колледж
</span></li>
<li>
<span class="dropdown-item d-flex external-link" rel="noopener noreferrer nofollow" data-href="https://hexlyschool.ru/" data-target="_blank" role="button">Частная школа
</span></li>
</ul>
</li>
<li><a class="nav-link" href="/subscription/new">Подписка</a></li>
</ul>
<ul class="navbar-nav flex-lg-row align-items-lg-center gap-2 ms-auto">
<li>
<a class="nav-link" aria-label="Переключить тему" href="/theme/switch?new_theme=dark"><span aria-hidden="true" class="bi bi-moon"></span>
</a></li>
<li>
<span data-target="_self" class="nav-link external-link" data-href="/u/new" role="button"><span>Регистрация</span>
</span></li>
<li>
<span data-target="_self" class="nav-link external-link" data-href="https://ru.hexlet.io/session/new" role="button"><span>Вход</span>
</span></li>
</ul>
</div>
</div>
</nav>
</header>
<div class="x-container-xxxl">
</div>
<main class="mb-6 min-vh-100 h-100">
<link rel="preload" as="image" href="/vite/assets/blog_post-7eTyeLLt.webp"/><link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzkyMCwicHVyIjoiYmxvYl9pZCJ9fQ==--71cd9d863b21d7bfbd927cf623a7a2baaf4530ca/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Bug%20fixing-cuate.png"/><link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6Mzk2NSwicHVyIjoiYmxvYl9pZCJ9fQ==--84278a1852c9c6fb13b80a69f395bac6e47a422e/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Cloud%20sync-bro.png"/><link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6Mzk2MiwicHVyIjoiYmxvYl9pZCJ9fQ==--c18877cf9396039142efbbbe6b2ab4dc6b09f18b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Cloud%20hosting-cuate.png"/><link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzY2NSwicHVyIjoiYmxvYl9pZCJ9fQ==--f7793ed718d27cc7ce1799556a7623d56e7635f8/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Code%20snippets-rafiki.png"/><link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzczMSwicHVyIjoiYmxvYl9pZCJ9fQ==--f5df4883f3f678321cb4fa96e9ce657bd5ee1adf/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Static%20website-cuate.png"/><link rel="preload" as="image" href="/vite/assets/development-BVihs_d5.png"/><div id="app" data-page="{"component":"web/blog/posts/show","props":{"errors":{},"locale":"ru","language":"ru","httpsHost":"https://ru.hexlet.io","host":"ru.hexlet.io","colorScheme":"light","auth":{"user":{"id":null,"last_viewed_notification_id":null,"email":null,"state":null,"first_name":"","last_name":"","created_at":"2026-02-26T20:53:25.334Z","current_program":null,"current_team":null,"full_name":"","guest":true,"can_use_paid_features":false,"is_hexlet_employee":false,"sanitized_phone_number":"","can_subscribe":true,"can_renew_education":false}},"cloudflareTurnstileSiteKey":"0x4AAAAAAA15KmeFXzd2H0Xo","vkIdClientId":"51586979","yandexIdClientId":"88d071f1d3384eb4bd1deb37910235c7","formAuthToken":"kPJzddwXXBWPL6du5zy5rRUsL3vuc2hpfTgJ51OnTJZ_I7hCLmnxdTlsg_brM0na1SUC0eZElsvA2JOzAaCr-A","post":{"model_name":"BlogPost","category":{"id":4,"name":"Код","slug":"code","state":"published","created_at":"2016-08-23T13:33:44.258Z"},"creator":{"public_name":"Гавриил","id":287472,"is_tutor":false},"tags":[{"id":1119,"slug":"bez-steka","name":"Без стека"}],"id":1927,"title":"Лицензии свободного ПО: какие они бывают и как выбрать подходящую для вашего продукта","slug":"litsenzii-svobodnogo-po-kakie-oni-byvayut-i-kak-vybrat-podhodyaschuyu-dlya-vashego-produkta","state":"published","summary":"Свободный софт можно бесплатно использовать и распространять с любой целью, адаптировать под себя, улучшать и публиковать свои версии — эти права закрепляются с помощью свободных лицензий. В этой статье рассмотрим основные виды таких лицензий, их особенности и совместимость.\r\n","votes_count":6,"created_at":"2022-07-14T08:58:44.054Z","published_at":"2022-08-01T13:03:42.451Z","body":"**Свободный софт можно бесплатно использовать и распространять с любой целью, адаптировать под себя, улучшать и публиковать свои версии — эти права закрепляются с помощью свободных лицензий. В этой статье рассмотрим основные виды таких лицензий, их особенности и совместимость.**\n\n*Материал подготовил Гавриил Максютенко, активный участник сообщества GNOME. Любит изучать непопулярные языки программирования – [Nim](https://nim-lang.org/), [Vala](https://vala.dev/), [Clojure](https://clojure.org/), [F#](https://fsharp.org/), [Pharo](https://pharo.org/) (Smalltalk), [Gleam](https://gleam.run/), начал писать свой язык, похожий на Smalltalk. Опыт работы с АСУТП, веб- и десктоп-приложениями, [ERP](https://github.com/VodovozOrganization/Vodovoz). Также благодарим за участие в проверке статьи Андрея Ситника, ведущего фронтенд-разработчика в [Evil Martians](https://evilmartians.com/)**.*\n\n::programs\n\n## Содержание\n\n# Каким был бы мир без свободного ПО\n\nПроведем воображаемый эксперимент: представим себе мир без свободного ПО. \nВесь код хранится в закрытых репозиториях, а значит, программисты не могут просто и бесплатно использовать накопленный опыт IT-индустрии. Компании, занимающиеся разработкой, вынуждены приобретать платный софт: это требует дополнительных затрат и в конечном счете сказывается на качестве и цене продуктов.\n\nЧтобы сэкономить, они начинают писать свои библиотеки: на IT-сленге это называется «велосипедить». Вместо того чтобы объединить усилия и разрабатывать одну качественную библиотеку, компании создают миллионы одинаковых библиотек разной степени проработанности. Стать программистом в таких условиях куда сложнее, ведь настоящий продакшн-код впервые можно увидеть только устроившись на работу.\n\nВ общем, мир без свободного ПО сильно отличался бы от нашего: качество продуктов, подготовка специалистов и темпы развития индустрии были бы гораздо хуже. В этой статье мы поговорим о феномене свободного ПО и типах свободных лицензий, а также узнаем, какую лицензию выбрать, чтобы сделать свой продукт открытым.\n\n# Как зародилось свободное ПО\n\nКогда персональные компьютеры только начали распространяться, многие пользователи не задумывались, что у программ может быть владелец, а у него — лицензия на эту программу. Все просто передавали программы друг другу, копируя дискеты. Сегодня это называется пиратством.\n\nКорпорации, разумеется, были против. Один из наиболее известных случаев — [открытое письмо Билла Гейтса](https://ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%BE%D0%B5_%D0%BF%D0%B8%D1%81%D1%8C%D0%BC%D0%BE_%D0%BB%D1%8E%D0%B1%D0%B8%D1%82%D0%B5%D0%BB%D1%8F%D0%BC), в котором он обвиняет пользователей BASIC в воровстве, утверждая, что большинство из них не покупали BASIC, а просто копировали его друг у друга.\n\nОднако многие программисты считали, что у пользователей ПО должны быть все права на его изучение и изменение. По аналогии с покупкой автомобиля: купив машину, вы можете посмотреть как устроен двигатель, починить или изменить его, дать покататься друзьям. Одним из лидеров движения за свободное программное обеспечение был Ричард Столлман: он решил создать собственную лицензию, которая будет обладать полной юридической силой, но в то же время гарантировать возможность оставлять софт открытым. Так Столлман создал первую свободную лицензию GNU GPL — General Public Licence. В 1989 году он выпускает первую программу под этой лицензией — редактор кода GNU Emacs, который популярен до сих пор. Про незаурядную личность Ричарда Столлмана в блоге Хекслета есть [отдельная статья](https://ru.hexlet.io/blog/posts/richard-stollman).\n\nТак зародилось движение за свободное ПО и свободные лицензии. По сути оно стало борьбой против авторского права, которое не дает права владения продуктом, несмотря на то, что пользователь за него заплатил. Сегодня и корпорации оценили пользу свободного ПО: почти каждая большая компания имеет свой открытый репозиторий. Именно благодаря этому у нас есть такие библиотеки, как React (Facebook/Meta) или Protobuf (Google).\n\nСписок репозиториев с открытым ПО «большой пятерки»:\n\n- [Facebook/Meta](https://github.com/facebook)\n- [Apple](https://github.com/apple)\n- [Amazon](https://github.com/amzn)\n- [Netflix](https://github.com/Netflix)\n- [Google](https://github.com/google)\n\n## Что такое свободное ПО\n\nСвободное ПО — это софт с открытой лицензией. Есть разные виды лицензий, но все они гарантируют следующие свободы:\n\n1. **Свобода использования в любых целях**, включая коммерческие. Вы не можете сказать, что ваша лицензия работает только в определенной стране или для определенной группы населения.\n2. **Свобода распространения.** Любой человек может распространять и даже продавать продукт со свободной лицензией.\n3. **Свобода изменения.** Вы можете изменять код продукта, например, исправить в нем баг или добавить нужную вам функцию. Также эта свобода подразумевает агрегацию. Можно собрать коллекцию свободного программного обеспечения, использовать ее в собственном приложении (например, пакеты React и Material UI), а затем продавать его.\n4. **Свобода распространения измененной версии.** Это сумма пунктов 2 и 3, которая подразумевает, что вы можете форкнуть (скопировать) проект, если автор не согласен принять ваше изменение.\n\nВсе свободные лицензии объединяют эти четыре пункта. Некоторые свободы подразумеваются неявно, например, чтобы иметь возможность изменить код, у вас должен быть доступ к исходному коду.\n\nСвободные лицензии делятся на обычные (разрешительные) и вирусные — обоим типам применимы все четыре свободы.\n\nРазрешительные лицензии позволяют использовать исходный код в проприетарном ПО, вносить в него изменения и сделать исправленную версию закрытой.\n\n- _Проприетарное ПО — несвободное программное обеспечение (от proprietary — частное, патентованное, в составе собственности). Такое ПО является частной собственностью авторов или правообладателей, его авторы не дают пользователям реальных прав на изучение и изменение купленного софта, сохраняют за собой монополию на его использование, копирование и модификацию, полностью или в существенных моментах. Обычно проприетарным называют любое несвободное ПО, включая полусвободное._\n\nВирусную лицензию выбирают, если автор хочет, чтобы все производные продукты с участием его кода распространялись под той же свободной лицензией. То есть, добавив в свой проект код под вирусной лицензией, он будто заражает этой лицензией весь проект. Слово «вирусная» здесь не имеет негативной окраски, наоборот — вирусные лицензии более свободные, так как они гарантируют, что код с ними не будет закрыт.\n\nНиже разберем примеры вирусных и невирусных лицензий.\n\n### GNU General Public License\n\n\n\nПервая лицензия GNU General Public License до сих пор остается одной из самых популярных.\n\nДопустим, перед нами стоит задача: сделать нашу программу свободной. Для этого нужно заявить, что она является общественным достоянием, и отказаться от авторских прав. Но тогда кто угодно может взять нашу программу, нанять штат разработчиков, добавить в нее новый функционал и продавать, закрыв исходные коды. Значит, нам нужно сделать лицензию, которая дает гарантию, что код под ней всегда будет оставаться открытым.\n\nИменно это и делает GNU GPL. Лицензия является вирусной, то есть при добавлении кода под GNU GPL в проект, ваш код «заражается» и обязан быть выпущен под GNU GPL или другой совместимой лицензией (да, некоторые лицензии совместимы между собой, то есть код с разными лицензиями может быть объединен в одном проекте, но об этом поговорим чуть позже).\n\nВ лицензии GNU GPL есть два основных пункта:\n\n1. Исходный код должен либо распространятся с бинарными файлами программы, либо должно быть письмо с пояснением, как их запросить.\n2. Если код под GPL попадает в проект, то весь проект также автоматически станет GPL. [Полная версия лицензии на английском](https://www.gnu.org/licenses/old-licenses/gpl-1.0.html)\n\nСуществуют вторая и третья версии GNU GPL, про них мы тоже поговорим.\n\n### GNU General Public License v2\n\nОсновным нововведением второй версии стал принцип «свобода или смерть». Если в результате каких-либо обстоятельств, например, по решению суда, на автора ПО накладывается ограничение на распространение исходных текстов программы, то ему также запрещается распространять и бинарные версии. Если какое-либо государство вследствие патентов или авторского права наложит ограничения на распространение программы, выпущенной под GNU GPL v2, автор вправе полностью запретить ее распространение на территории этого государства. Простыми словами: либо код распространяется с исходниками, либо никак.\n\nТакже v2 уточняет: если вы решили распространять программу с инструкцией о запросе исходников, то все, кто получил программу от вас и распространяют ее дальше, обязаны также прикладывать эту инструкцию. В такой инструкции будет указан ваш email-адрес, на который можно отправить запрос, а вы в ответ пришлете исходные коды.\n\n### GNU Lesser General Public License (LGPL)\n\n\n\nЭта лицензия менее «свободна» и в основном используется для программных библиотек. LGPL не гарантирует конечному пользователю полную свободу использования программного обеспечения. Только свободу модификации для компонентов, лицензированных по LGPL, но не для каких-либо проприетарных компонентов.\n\nКоммерческое ПО может линковаться с библиотекой, выпущенной под LGPL, и при этом оно не будет «заражено» GPL и может оставаться закрытым. \n\nЭто позволяет использовать свободные библиотеки в закрытом ПО, все преимущества свободной библиотеки сохраняются. Например, если компания сделает свое изменение в этой библиотеке, она будет обязана его опубликовать. Таким образом библиотека продолжает развиваться большими коммерческими компаниями, которые в то же время могут использовать ее в закрытых продуктах.\n\n## MIT (X11 License)\n\n\n\nЭту лицензию разработали в Массачусетском технологическом институте специально для системы X11 Windows System, которая повсеместно используется в Linux-десктопах уже 37 лет. Поэтому ее также называют X11 License.\n\nЧтобы продукт распространялся под лицензией MIT, достаточно приложить текст этой лицензии и распространять продукт вместе с ним. \n\n\n_Полный текст MIT. Для сравнения: текст третьей версии GNU GPL состоит из 2567 слов._\n\nЗдесь видно важнейшее отличие от GPL — возможность использовать ПО под лицензией MIT в закрытом коде. MIT позволяет внести изменения в проект и сделать исправленную версию закрытой.\nТакие лицензии еще называют разрешительными. По итогу данная лицензия разрешает все, если ее текст приложен к продукту и в нем упомянут оригинальный автор. \n\nПод лицензией MIT выпущено множество известных продуктов: PuTTY, Mono, Ruby on Rails, JQuery, Wayland и, конечно же, X Window System.\n\n## BSD\n\n\nУ университета Беркли тоже есть своя лицензия — Berkeley Software Distribution License. Текст лицензии является общественным достоянием, это позволяет любому модифицировать его, создавая свою лицензию на основе BSD. Такие лицензии называют «лицензии типа BSD».\n\nНапример, общественная лицензия Microsoft добавляет запрет на изменение лицензии в случае, если код распространяется в виде исходников. Есть также NetBSD, FreeBSD, OpenBSD, DragonFly BSD, но самой используемой считается «модифицированная версия BSD», также известная как «BSD с тремя пунктами». \nДело в том, что изначальная версия из четырех пунктов (англ. «four-clause BSD») содержала неудачный пункт о необходимости подстановки копирайта университета Беркли.\n\n\n\nКаждый, кто пользовался BSD, заменял Беркли на свой вариант организации или собственное имя. Известен случай, когда из-за этого пункта приходилось упоминать 75 других организаций. Также этот пункт делал BSD несовместимой с GPL, так как GPL запрещает добавлять новые ограничения, помимо перечисленных в ней самой. После двухлетней дискуссии было принято решение об удалении пункта о рекламе. Теперь в лицензии только три пункта:\n\n\n\nТрехпунктовая BSD довольно похожа на MIT, но в MIT явно указаны разрешения на сублицензирование, слияние, публикацию и продажу. Тем не менее эти свободы подразумеваются и в BSD, их можно отнести к «использованию» или «распространению». Можно сказать, что выбор между MIT и BSD — исключительно дело вкуса.\n\n## GNU General Public License v3\n\n\nGPL третьей версии создавалась дольше предыдущих версий, а во время ее утверждения шли бурные споры. Подробно об изменениях GPL v3 можно узнать из официальной [статьи](https://www.gnu.org/licenses/quick-guide-gplv3.ru.html) GNU.\n\nВот три главных нововведения:\n\n**Борьба с тивоизацией**\n\nЧасто производители намеренно ограничивают функциональность устройств или же выпускают дорогую и дешевую версии продукта, которые различаются лишь программно. Примером тивоизированных устройств с ограниченным функционалом являются смартфоны iPhone, на которых запрещено копирование программ и ограничен доступ к файловой системе. Android имеет схожие проблемы.\n\nОдна из целей GPLv3 — закрыть подобную лазейку, то есть пресечь тивоизацию. Если компания использовала свободное ПО под GNU GPL v3 в своем устройстве, лицензия позволяет владельцу устройства запросить исходные коды.\n\n\n> _«Тивоизация — опасная попытка урезать свободу пользователей: право изменять свои программы станет бессмысленным, если ни один из ваших компьютеров не даст вам это делать. GPL v3 останавливает тивоизацию, требуя, чтобы распространитель предоставлял вам любые сведения и данные, необходимые для установки измененных программ на устройство»_\n\n**Запрет на дискриминационные патентные соглашения**\n\nСо временем Microsoft и другие корпорации нашли способ ограничивать свободу пользователей: они открывают исходный код, но для работы с ним необходимо купить патент. GNU GPL v3 запрещает такую практику.\n\n**Обход цифровой защиты**\n\nЗакон [об авторском праве цифрового тысячелетия](https://ru.wikipedia.org/wiki/Digital_Millennium_Copyright_Act#:~:text=Digital%20Millennium%20Copyright%20Act%20%E2%80%94%20%D0%97%D0%B0%D0%BA%D0%BE%D0%BD,%D0%BE%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D0%B8%20%D0%BA%D0%BE%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%B8%20%D1%80%D0%B0%D1%81%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%B8.) и Директива [об авторском праве Европейского союза](https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%B8%D0%B2%D0%B0_%D0%BE%D0%B1_%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D1%81%D0%BA%D0%BE%D0%BC_%D0%BF%D1%80%D0%B0%D0%B2%D0%B5_%D0%BD%D0%B0_%D0%95%D0%B4%D0%B8%D0%BD%D0%BE%D0%BC_%D1%86%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%BE%D0%BC_%D1%80%D1%8B%D0%BD%D0%BA%D0%B5#:~:text=%D0%94%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%B8%CC%81%D0%B2%D0%B0%20%D0%BE%D0%B1%20%D0%B0%CC%81%D0%B2%D1%82%D0%BE%D1%80%D1%81%D0%BA%D0%BE%D0%BC%20%D0%BF%D1%80%D0%B0%CC%81%D0%B2%D0%B5%20%D0%BD%D0%B0,%D0%B8%20%D1%81%D1%85%D0%BE%D0%B6%D0%B8%D1%85%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%20%D0%BF%D1%80%D0%B0%D0%B2%D0%B0%E2%80%A6%20%D1%81) делают преступлением написание ПО, целью которого является обход цифровых защит. Этот пункт отменяет действие этих законов, разумеется, если сама цифровая защита лицензирована GPL v3. По сути этот пункт гарантирует, что ваше ПО под GPL v3 не смогут использовать в создании цифровых защит.\n\n## GNU Affero General Public License\n\nЭта лицензия была разработана [Фондом свободного программного обеспечения](https://ru.wikipedia.org/wiki/%D0%A4%D0%BE%D0%BD%D0%B4_%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D1%8F) на основе GNU General Public License и [Affero](https://ru.wikipedia.org/w/index.php?title=Affero&action=edit&redlink=1) GPL, чтобы решить проблему облачных сервисов. Она обязывает сервер, на котором исполняется модифицированная программа, предоставлять доступ к исходному коду.\n\n# Совместимость лицензий\n\nЧтобы использовать части программного обеспечения, выпущенные под разными свободными лицензиями, эти лицензии должны быть совместимы между собой.\n\nGNU-сообщество делит лицензии на 3 общих класса — неограничительные, промежуточные и лицензии с авторским левом.\n\nК неограничительным относятся MIT и BSD — этот класс лицензий дает возможность вносить изменения, закрывать код и в целом почти не накладывает ограничений. Этим пользуются, например, Apple и Sony, их продукты работают на модифицированных версиях системы BSD.\n\nК промежуточным относится LGPL. Такие лицензии разрешают использование в закрытом коде, но обязывают публиковать любые вносимые изменения.\n\nПрограммы, выпущенные под лицензиями с [авторским левом](https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BF%D0%B8%D0%BB%D0%B5%D1%84%D1%82), навсегда останутся свободными, независимо от того, кто и как их распространяет. Если целью авторского права является наложение ограничений на пользователя, то авторское лево наоборот гарантирует выполнение всех четырех свобод.\n\nПравила совместимости этих лицензий:\n\n- Все неограничительные лицензии совместимы между собой, так как они не накладывают никаких ограничений на способ распространения, ничто не мешает распространять их под несколькими лицензиями такого же типа.\n- Лицензии с авторским левом несовместимы между собой, так как их сутью является гарантия, что любые модификации будут распространяться на тех же условиях. Исключением является GPL v3, которая совместима с v2. Но это односторонняя совместимость, то есть проект на GPL v2 нельзя смешивать с v3, но проект на v3 можно смешать с v2.\n- Код под неограничительной лицензией, смешанный с кодом под авторским левом, лицензируется под авторским левом.\n\nОбщая картина такая:\n\n\n\nКомбинирование в одном проекте кода проприетарной лицензии с пользовательским левом все же возможно, но необходима мощная изоляция как минимум на уровне процессов, разрешение на обмен данными только через бинарный протокол.\n\nПримеры: Android, где используется ядро Linux (GPL v2), или драйвера Nvidia на Linux, которые могут поставляться бинарным блобом (англ. Binary Large Object — двоичный большой объект). Это возможно благодаря кольцам ядра Linux, отделяющим пространство пользователя от пространства, в котором выполняется код ядра.\n\nПоследним вариантом соблюдения совместимости является перелицензирование. Это сложный процесс, который требует согласия 95% участников. В этом случае ПО перевыпускается под новой, более подходящей лицензией, а старые версии остаются при этом неизменны.\n\n::posts\n\n# Заключение\n\nЭтот обзор должен помочь с выбором подходящей лицензии. Главное — это решить, какую степень свободы вы хотите дать вашим пользователям.\n\nЕсли вы рассматриваете «возможность запрещать» как одну из свобод и хотите дать пользователям возможность применять ваш продукт в коммерческих целях, вам подойдет одна из разрешительных лицензий (MIT, BSD).\n\nЕсли же вы хотите, чтобы на свободу вашего продукта ничто не могло повлиять, то GPL или другая лицензия с сильным авторским левом — ваш выбор.\n\nИнформацию из этой статьи также стоит учитывать при использовании чужого свободного ПО: помните о «заразности» лицензий с авторским левом, проверяйте, что взятый вами код находится под совместимой лицензией. Мы рекомендуем полностью прочитать текст выбранной лицензии, прежде чем применять ее.\n\n## Дополнительные материалы\n\n- [Лицензия mongoDB](https://habr.com/ru/post/512272/)\n- [Суд Oracle с Google](https://www.cnews.ru/news/top/2021-04-06_google_vyigral_11letnij_spor)\n- [Amazon скопировал ElasticSearch](https://www.opennet.ru/opennews/art.shtml?num=50322)\n\n","reading_time":9,"url":"https://ru.hexlet.io/blog/posts/litsenzii-svobodnogo-po-kakie-oni-byvayut-i-kak-vybrat-podhodyaschuyu-dlya-vashego-produkta","cover_thumb_variant":null,"cover_list_variant":"/vite/assets/blog_post-7eTyeLLt.webp","cover_main_variant":"/vite/assets/blog_post-7eTyeLLt.webp","related_stacks_count":5},"relatedPosts":[{"model_name":"BlogPost","id":926,"title":"Библиотека React: особенности, перспективы, ситуация на рынке труда","slug":"biblioteka-react-review-article","summary":"В объявлениях о поиске программистов часто встречается требование уметь работать с React. Иногда работодатели ожидают знания React не только от фронтендеров, но и от бэкенд-разработчиков. Почему эта библиотека настолько популярная, стоит ли изучать её сегодня, каковы её перспективы по мнению опытных программистов? Ответы на эти и другие вопросы читайте в обзорной статье.","created_at":"2020-07-08T15:15:00.191Z","published_at":"2024-02-29T07:46:44.876Z","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTYyOCwicHVyIjoiYmxvYl9pZCJ9fQ==--6bac7610f325471938a0e33f58eaa4c52527d66f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX2FuZF9wYWQiOls3MDgsMzU0XSwic2F2ZXIiOnsicXVhbGl0eSI6ODV9fSwicHVyIjoidmFyaWF0aW9uIn19--324dc52aa55ebe818c2a887ebcb832b9ad1c0381/%D1%87%D1%82%D0%BE%D1%82%D0%B0%D0%BA%D0%BE%D0%B5react-01.png"},{"model_name":"BlogPost","id":1656,"title":"Язык программирования PHP: почему его выбирают разработчики и с чего начать изучение","slug":"php-start","summary":"Рассказываем, в чем особенности языка PHP, его преимущества и недостатки, почему он до сих пор не теряет актуальности, что нужно знать, чтобы программировать на РHP и где тренировать свои навыки.","created_at":"2021-12-21T14:04:04.654Z","published_at":"2023-12-01T10:10:59.665Z","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTU5MSwicHVyIjoiYmxvYl9pZCJ9fQ==--01d293c2c32c364fb419ce05e3336d3b96061b52/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX2FuZF9wYWQiOls3MDgsMzU0XSwic2F2ZXIiOnsicXVhbGl0eSI6ODV9fSwicHVyIjoidmFyaWF0aW9uIn19--324dc52aa55ebe818c2a887ebcb832b9ad1c0381/PHPc%D1%87%D0%B5%D0%B3%D0%BE%D0%BD%D0%B0%D1%87%D0%B0%D1%82%D1%8C-01.png"},{"model_name":"BlogPost","id":416,"title":"Язык программирования JavaScript: где его используют и почему он популярен","slug":"stoit-li-uchit-javascript-perspektivy-situatsiya-na-rynke-truda-mneniya-ekspertov","summary":"Рассказываем, что это за язык программирования — JavaScript, где его используют, насколько он популярен и с чего начать изучение JavaScript.","created_at":"2019-07-26T08:17:06.287Z","published_at":"2023-10-04T08:41:58.734Z","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTcwMywicHVyIjoiYmxvYl9pZCJ9fQ==--aa69869c906a992728ba7c26886fa1b715024424/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX2FuZF9wYWQiOls3MDgsMzU0XSwic2F2ZXIiOnsicXVhbGl0eSI6ODV9fSwicHVyIjoidmFyaWF0aW9uIn19--324dc52aa55ebe818c2a887ebcb832b9ad1c0381/%D1%8F%D0%B7%D1%8B%D0%BA%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8Fjavascript-01.png"}],"category":{"id":4,"name":"Код","slug":"code","state":"published","created_at":"2016-08-23T13:33:44.258Z"},"mainStackCategory":{"id":8,"name":"Курсы по Python","slug":"python","short_name":"Python","order":70,"state":"published","category_slug":"courses_python"},"categories":[{"id":6,"name":"Мотивация","slug":"motivation","state":"published","created_at":"2016-10-06T18:31:38.903Z"},{"id":3,"name":"Истории успеха","slug":"success","state":"published","created_at":"2016-07-30T12:57:18.308Z"},{"id":14,"name":"Дневник студента","slug":"student-diary","state":"published","created_at":"2019-02-25T13:27:09.471Z"},{"id":4,"name":"Код","slug":"code","state":"published","created_at":"2016-08-23T13:33:44.258Z"},{"id":12,"name":"Карьера","slug":"career","state":"published","created_at":"2017-07-21T15:42:21.481Z"}],"relatedLandings":[{"stack":{"id":220,"slug":"qa-auto-engineer-python","title":"Автоматизатор тестирования на Python","audience":"for_programmers","start_type":"weekly","pricing_model":"purchase","priority":"high","kind":"profession","state":"published","stack_state":"finished","order":100,"duration_in_months":6},"id":331,"slug":"qa-auto-engineer-python","title":"Автоматизатор тестирования на Python","subtitle":"Изучите Python, фреймворки для тестирования, автоматизация UI и API","subtitle_for_lists":"Изучите Python, фреймворки для тестирования, автоматизация UI и API","locale":"ru","current":true,"duration_in_months_text":"6 месяцев","stack_slug":"qa-auto-engineer-python","price_text":"от 4 281 ₽","duration_text":"6 месяцев","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzkyMCwicHVyIjoiYmxvYl9pZCJ9fQ==--71cd9d863b21d7bfbd927cf623a7a2baaf4530ca/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Bug%20fixing-cuate.png"},{"stack":{"id":225,"slug":"devops-engineer-from-scratch","title":"DevOps-инженер с нуля","audience":"for_beginners","start_type":"weekly","pricing_model":"purchase","priority":"high","kind":"profession","state":"published","stack_state":"not_finished","order":50,"duration_in_months":14},"id":355,"slug":"devops-engineer-from-scratch","title":"DevOps-инженер с нуля","subtitle":"Полное погружение в DevOps: весь стек от Linux до Kubernetes","subtitle_for_lists":"Полное погружение в DevOps: весь стек от Linux до Kubernetes","locale":"ru","current":true,"duration_in_months_text":"14 месяцев","stack_slug":"devops-engineer-from-scratch","price_text":"от 6 792 ₽","duration_text":"14 месяцев","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6Mzk2NSwicHVyIjoiYmxvYl9pZCJ9fQ==--84278a1852c9c6fb13b80a69f395bac6e47a422e/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Cloud%20sync-bro.png"},{"stack":{"id":129,"slug":"docker","title":"Docker","audience":"for_programmers","start_type":"anytime","pricing_model":"subscription","priority":"medium","kind":"track","state":"published","stack_state":"finished","order":150,"duration_in_months":1},"id":217,"slug":"docker","title":"Docker","subtitle":"Навык работы с контейнерами, позволяющий оптимизировать разработку и ускорить развертывание приложений","subtitle_for_lists":"Навык работы с контейнеризацией, оптимизацией разработки и деплой","locale":"ru","current":true,"duration_in_months_text":"1 месяц","stack_slug":"docker","price_text":"от 3 900 ₽","duration_text":"1 месяц","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6Mzk2MiwicHVyIjoiYmxvYl9pZCJ9fQ==--c18877cf9396039142efbbbe6b2ab4dc6b09f18b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Cloud%20hosting-cuate.png"},{"stack":{"id":180,"slug":"fullstack-python","title":"Fullstack-разработчик на Python","audience":"for_beginners","start_type":"weekly","pricing_model":"purchase","priority":"high","kind":"profession","state":"published","stack_state":"finished","order":null,"duration_in_months":16},"id":281,"slug":"fullstack-python","title":"Fullstack-разработчик на Python","subtitle":"","subtitle_for_lists":null,"locale":"ru","current":true,"duration_in_months_text":"16 месяцев","stack_slug":"fullstack-python","price_text":"от 7 934 ₽","duration_text":"16 месяцев","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzY2NSwicHVyIjoiYmxvYl9pZCJ9fQ==--f7793ed718d27cc7ce1799556a7623d56e7635f8/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Code%20snippets-rafiki.png"},{"stack":{"id":7,"slug":"python","title":"Python-разработчик","audience":"for_beginners","start_type":"weekly","pricing_model":"purchase","priority":"high","kind":"profession","state":"published","stack_state":"finished","order":10,"duration_in_months":10},"id":7,"slug":"python","title":"Python-разработчик ","subtitle":"Изучите Python, Django, REST и Fast API для создания веб-приложений","subtitle_for_lists":"Изучите Python, Django, REST и Fast API для создания веб-приложений","locale":"ru","current":true,"duration_in_months_text":"10 месяцев","stack_slug":"python","price_text":"от 6 792 ₽","duration_text":"10 месяцев","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzczMSwicHVyIjoiYmxvYl9pZCJ9fQ==--f5df4883f3f678321cb4fa96e9ce657bd5ee1adf/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Static%20website-cuate.png"}]},"url":"/blog/posts/litsenzii-svobodnogo-po-kakie-oni-byvayut-i-kak-vybrat-podhodyaschuyu-dlya-vashego-produkta","version":"8f286f6358a90a7bef2263b3a6edf5a90a94fa42","encryptHistory":false,"clearHistory":false}"><style data-mantine-styles="true">:root, :host{--mantine-font-family: Arial, sans-serif;--mantine-font-family-headings: Arial, sans-serif;--mantine-heading-font-weight: normal;--mantine-radius-default: 0rem;--mantine-primary-color-filled: var(--mantine-color-indigo-filled);--mantine-primary-color-filled-hover: var(--mantine-color-indigo-filled-hover);--mantine-primary-color-light: var(--mantine-color-indigo-light);--mantine-primary-color-light-hover: var(--mantine-color-indigo-light-hover);--mantine-primary-color-light-color: var(--mantine-color-indigo-light-color);--mantine-spacing-xxl: calc(4rem * var(--mantine-scale));--mantine-font-size-xs: 12px;--mantine-font-size-sm: 14px;--mantine-font-size-md: 16px;--mantine-font-size-lg: clamp(16.0000px, calc(15.2727px + 0.2273vw), 18.0000px);--mantine-font-size-xl: clamp(16.0000px, calc(14.5455px + 0.4545vw), 20.0000px);--mantine-font-size-display-3: clamp(32.0000px, calc(26.1818px + 1.8182vw), 48.0000px);--mantine-font-size-display-2: clamp(36.0000px, calc(25.8182px + 3.1818vw), 64.0000px);--mantine-font-size-display-1: clamp(40.0000px, calc(25.4545px + 4.5455vw), 80.0000px);--mantine-font-size-h1: clamp(28.0000px, calc(23.6364px + 1.3636vw), 40.0000px);--mantine-font-size-h2: clamp(24.0000px, calc(21.0909px + 0.9091vw), 32.0000px);--mantine-font-size-h3: clamp(20.0000px, calc(17.0909px + 0.9091vw), 28.0000px);--mantine-font-size-h4: clamp(16.0000px, calc(13.0909px + 0.9091vw), 24.0000px);--mantine-font-size-h5: clamp(16.0000px, calc(14.5455px + 0.4545vw), 20.0000px);--mantine-font-size-h6: 1rem;--mantine-primary-color-0: var(--mantine-color-indigo-0);--mantine-primary-color-1: var(--mantine-color-indigo-1);--mantine-primary-color-2: var(--mantine-color-indigo-2);--mantine-primary-color-3: var(--mantine-color-indigo-3);--mantine-primary-color-4: var(--mantine-color-indigo-4);--mantine-primary-color-5: var(--mantine-color-indigo-5);--mantine-primary-color-6: var(--mantine-color-indigo-6);--mantine-primary-color-7: var(--mantine-color-indigo-7);--mantine-primary-color-8: var(--mantine-color-indigo-8);--mantine-primary-color-9: var(--mantine-color-indigo-9);--mantine-color-red-0: #ffeaea;--mantine-color-red-1: #fed4d4;--mantine-color-red-2: #f4a7a8;--mantine-color-red-3: #ec7878;--mantine-color-red-4: #e55050;--mantine-color-red-5: #e03131;--mantine-color-red-6: #e02829;--mantine-color-red-7: #c71a1c;--mantine-color-red-8: #b21218;--mantine-color-red-9: #9c0411;--mantine-color-violet-0: #fce9ff;--mantine-color-violet-1: #f1cfff;--mantine-color-violet-2: #e09bff;--mantine-color-violet-3: #d16fff;--mantine-color-violet-4: #be37fe;--mantine-color-violet-5: #b51afe;--mantine-color-violet-6: #b009ff;--mantine-color-violet-7: #9b00e4;--mantine-color-violet-8: #8a00cc;--mantine-color-violet-9: #7800b3;--mantine-color-indigo-0: #edecff;--mantine-color-indigo-1: #d6d5fe;--mantine-color-indigo-2: #aaa9f4;--mantine-color-indigo-3: #7b79eb;--mantine-color-indigo-4: #5451e4;--mantine-color-indigo-5: #3b37e0;--mantine-color-indigo-6: #2d2adf;--mantine-color-indigo-7: #1f1ec7;--mantine-color-indigo-8: #1819b2;--mantine-color-indigo-9: #0c149e;--mantine-color-cyan-0: #dffdff;--mantine-color-cyan-1: #caf5ff;--mantine-color-cyan-2: #99e8ff;--mantine-color-cyan-3: #64daff;--mantine-color-cyan-4: #3ccffe;--mantine-color-cyan-5: #24c8fe;--mantine-color-cyan-6: #00c2ff;--mantine-color-cyan-7: #00ade4;--mantine-color-cyan-8: #009acd;--mantine-color-cyan-9: #0085b5;--mantine-color-green-0: #e9fdec;--mantine-color-green-1: #d7f6dc;--mantine-color-green-2: #b0eab9;--mantine-color-green-3: #86df94;--mantine-color-green-4: #62d574;--mantine-color-green-5: #4ccf5f;--mantine-color-green-6: #3fcc54;--mantine-color-green-7: #2fb344;--mantine-color-green-8: #25a03b;--mantine-color-green-9: #138a2e;--mantine-color-yellow-0: #fff7e2;--mantine-color-yellow-1: #ffeecd;--mantine-color-yellow-2: #ffdc9c;--mantine-color-yellow-3: #ffc966;--mantine-color-yellow-4: #feb93a;--mantine-color-yellow-5: #feae1e;--mantine-color-yellow-6: #ffa90f;--mantine-color-yellow-8: #ca8200;--mantine-color-yellow-9: #af7000;--mantine-h1-font-size: clamp(28.0000px, calc(23.6364px + 1.3636vw), 40.0000px);--mantine-h1-font-weight: normal;--mantine-h2-font-size: clamp(24.0000px, calc(21.0909px + 0.9091vw), 32.0000px);--mantine-h2-font-weight: normal;--mantine-h3-font-size: clamp(20.0000px, calc(17.0909px + 0.9091vw), 28.0000px);--mantine-h3-font-weight: normal;--mantine-h4-font-size: clamp(16.0000px, calc(13.0909px + 0.9091vw), 24.0000px);--mantine-h4-font-weight: normal;--mantine-h5-font-size: clamp(16.0000px, calc(14.5455px + 0.4545vw), 20.0000px);--mantine-h5-font-weight: normal;--mantine-h6-font-size: 1rem;--mantine-h6-font-weight: normal;}
:root[data-mantine-color-scheme="dark"], :host([data-mantine-color-scheme="dark"]){--mantine-color-anchor: var(--mantine-color-text);--mantine-color-dimmed: #495057;--mantine-color-dark-filled: var(--mantine-color-dark-5);--mantine-color-dark-filled-hover: var(--mantine-color-dark-6);--mantine-color-dark-light: rgba(105, 105, 105, 0.15);--mantine-color-dark-light-hover: rgba(105, 105, 105, 0.2);--mantine-color-dark-light-color: var(--mantine-color-dark-0);--mantine-color-dark-outline: var(--mantine-color-dark-1);--mantine-color-dark-outline-hover: rgba(184, 184, 184, 0.05);--mantine-color-gray-filled: var(--mantine-color-gray-5);--mantine-color-gray-filled-hover: var(--mantine-color-gray-6);--mantine-color-gray-light: rgba(222, 226, 230, 0.15);--mantine-color-gray-light-hover: rgba(222, 226, 230, 0.2);--mantine-color-gray-light-color: var(--mantine-color-gray-0);--mantine-color-gray-outline: var(--mantine-color-gray-1);--mantine-color-gray-outline-hover: rgba(241, 243, 245, 0.05);--mantine-color-red-filled: var(--mantine-color-red-5);--mantine-color-red-filled-hover: var(--mantine-color-red-6);--mantine-color-red-light: rgba(236, 120, 120, 0.15);--mantine-color-red-light-hover: rgba(236, 120, 120, 0.2);--mantine-color-red-light-color: var(--mantine-color-red-0);--mantine-color-red-outline: var(--mantine-color-red-1);--mantine-color-red-outline-hover: rgba(254, 212, 212, 0.05);--mantine-color-pink-filled: var(--mantine-color-pink-5);--mantine-color-pink-filled-hover: var(--mantine-color-pink-6);--mantine-color-pink-light: rgba(250, 162, 193, 0.15);--mantine-color-pink-light-hover: rgba(250, 162, 193, 0.2);--mantine-color-pink-light-color: var(--mantine-color-pink-0);--mantine-color-pink-outline: var(--mantine-color-pink-1);--mantine-color-pink-outline-hover: rgba(255, 222, 235, 0.05);--mantine-color-grape-filled: var(--mantine-color-grape-5);--mantine-color-grape-filled-hover: var(--mantine-color-grape-6);--mantine-color-grape-light: rgba(229, 153, 247, 0.15);--mantine-color-grape-light-hover: rgba(229, 153, 247, 0.2);--mantine-color-grape-light-color: var(--mantine-color-grape-0);--mantine-color-grape-outline: var(--mantine-color-grape-1);--mantine-color-grape-outline-hover: rgba(243, 217, 250, 0.05);--mantine-color-violet-filled: var(--mantine-color-violet-5);--mantine-color-violet-filled-hover: var(--mantine-color-violet-6);--mantine-color-violet-light: rgba(209, 111, 255, 0.15);--mantine-color-violet-light-hover: rgba(209, 111, 255, 0.2);--mantine-color-violet-light-color: var(--mantine-color-violet-0);--mantine-color-violet-outline: var(--mantine-color-violet-1);--mantine-color-violet-outline-hover: rgba(241, 207, 255, 0.05);--mantine-color-indigo-filled: var(--mantine-color-indigo-5);--mantine-color-indigo-filled-hover: var(--mantine-color-indigo-6);--mantine-color-indigo-light: rgba(123, 121, 235, 0.15);--mantine-color-indigo-light-hover: rgba(123, 121, 235, 0.2);--mantine-color-indigo-light-color: var(--mantine-color-indigo-0);--mantine-color-indigo-outline: var(--mantine-color-indigo-1);--mantine-color-indigo-outline-hover: rgba(214, 213, 254, 0.05);--mantine-color-blue-filled: var(--mantine-color-blue-5);--mantine-color-blue-filled-hover: var(--mantine-color-blue-6);--mantine-color-blue-light: rgba(116, 192, 252, 0.15);--mantine-color-blue-light-hover: rgba(116, 192, 252, 0.2);--mantine-color-blue-light-color: var(--mantine-color-blue-0);--mantine-color-blue-outline: var(--mantine-color-blue-1);--mantine-color-blue-outline-hover: rgba(208, 235, 255, 0.05);--mantine-color-cyan-filled: var(--mantine-color-cyan-5);--mantine-color-cyan-filled-hover: var(--mantine-color-cyan-6);--mantine-color-cyan-light: rgba(100, 218, 255, 0.15);--mantine-color-cyan-light-hover: rgba(100, 218, 255, 0.2);--mantine-color-cyan-light-color: var(--mantine-color-cyan-0);--mantine-color-cyan-outline: var(--mantine-color-cyan-1);--mantine-color-cyan-outline-hover: rgba(202, 245, 255, 0.05);--mantine-color-teal-filled: var(--mantine-color-teal-5);--mantine-color-teal-filled-hover: var(--mantine-color-teal-6);--mantine-color-teal-light: rgba(99, 230, 190, 0.15);--mantine-color-teal-light-hover: rgba(99, 230, 190, 0.2);--mantine-color-teal-light-color: var(--mantine-color-teal-0);--mantine-color-teal-outline: var(--mantine-color-teal-1);--mantine-color-teal-outline-hover: rgba(195, 250, 232, 0.05);--mantine-color-green-filled: var(--mantine-color-green-5);--mantine-color-green-filled-hover: var(--mantine-color-green-6);--mantine-color-green-light: rgba(134, 223, 148, 0.15);--mantine-color-green-light-hover: rgba(134, 223, 148, 0.2);--mantine-color-green-light-color: var(--mantine-color-green-0);--mantine-color-green-outline: var(--mantine-color-green-1);--mantine-color-green-outline-hover: rgba(215, 246, 220, 0.05);--mantine-color-lime-filled: var(--mantine-color-lime-5);--mantine-color-lime-filled-hover: var(--mantine-color-lime-6);--mantine-color-lime-light: rgba(192, 235, 117, 0.15);--mantine-color-lime-light-hover: rgba(192, 235, 117, 0.2);--mantine-color-lime-light-color: var(--mantine-color-lime-0);--mantine-color-lime-outline: var(--mantine-color-lime-1);--mantine-color-lime-outline-hover: rgba(233, 250, 200, 0.05);--mantine-color-yellow-filled: var(--mantine-color-yellow-5);--mantine-color-yellow-filled-hover: var(--mantine-color-yellow-6);--mantine-color-yellow-light: rgba(255, 201, 102, 0.15);--mantine-color-yellow-light-hover: rgba(255, 201, 102, 0.2);--mantine-color-yellow-light-color: var(--mantine-color-yellow-0);--mantine-color-yellow-outline: var(--mantine-color-yellow-1);--mantine-color-yellow-outline-hover: rgba(255, 238, 205, 0.05);--mantine-color-orange-filled: var(--mantine-color-orange-5);--mantine-color-orange-filled-hover: var(--mantine-color-orange-6);--mantine-color-orange-light: rgba(255, 192, 120, 0.15);--mantine-color-orange-light-hover: rgba(255, 192, 120, 0.2);--mantine-color-orange-light-color: var(--mantine-color-orange-0);--mantine-color-orange-outline: var(--mantine-color-orange-1);--mantine-color-orange-outline-hover: rgba(255, 232, 204, 0.05);--app-cta-gradient: linear-gradient(90deg, var(--mantine-color-blue-9) 0%, var(--mantine-color-cyan-7) 100%);--app-color-surface: #2e2e2e;}
:root[data-mantine-color-scheme="light"], :host([data-mantine-color-scheme="light"]){--mantine-color-anchor: var(--mantine-color-text);--mantine-color-dimmed: #495057;--mantine-color-red-light: rgba(224, 40, 41, 0.1);--mantine-color-red-light-hover: rgba(224, 40, 41, 0.12);--mantine-color-red-outline-hover: rgba(224, 40, 41, 0.05);--mantine-color-violet-light: rgba(176, 9, 255, 0.1);--mantine-color-violet-light-hover: rgba(176, 9, 255, 0.12);--mantine-color-violet-outline-hover: rgba(176, 9, 255, 0.05);--mantine-color-indigo-light: rgba(45, 42, 223, 0.1);--mantine-color-indigo-light-hover: rgba(45, 42, 223, 0.12);--mantine-color-indigo-outline-hover: rgba(45, 42, 223, 0.05);--mantine-color-cyan-light: rgba(0, 194, 255, 0.1);--mantine-color-cyan-light-hover: rgba(0, 194, 255, 0.12);--mantine-color-cyan-outline-hover: rgba(0, 194, 255, 0.05);--mantine-color-green-light: rgba(63, 204, 84, 0.1);--mantine-color-green-light-hover: rgba(63, 204, 84, 0.12);--mantine-color-green-outline-hover: rgba(63, 204, 84, 0.05);--mantine-color-yellow-light: rgba(255, 169, 15, 0.1);--mantine-color-yellow-light-hover: rgba(255, 169, 15, 0.12);--mantine-color-yellow-outline-hover: rgba(255, 169, 15, 0.05);--app-color-surface: #f1f3f5;--app-cta-gradient: linear-gradient(90deg, var(--mantine-color-blue-filled) 0%, var(--mantine-color-cyan-5) 100%);}</style><style data-mantine-styles="classes">@media (max-width: 35.99375em) {.mantine-visible-from-xs {display: none !important;}}@media (min-width: 36em) {.mantine-hidden-from-xs {display: none !important;}}@media (max-width: 47.99375em) {.mantine-visible-from-sm {display: none !important;}}@media (min-width: 48em) {.mantine-hidden-from-sm {display: none !important;}}@media (max-width: 61.99375em) {.mantine-visible-from-md {display: none !important;}}@media (min-width: 62em) {.mantine-hidden-from-md {display: none !important;}}@media (max-width: 74.99375em) {.mantine-visible-from-lg {display: none !important;}}@media (min-width: 75em) {.mantine-hidden-from-lg {display: none !important;}}@media (max-width: 87.99375em) {.mantine-visible-from-xl {display: none !important;}}@media (min-width: 88em) {.mantine-hidden-from-xl {display: none !important;}}</style><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","author":"Гавриил","name":"Лицензии свободного ПО: какие они бывают и как выбрать подходящую для вашего продукта","datePublished":"2022-08-01T13:03:42.451Z","headline":"Свободный софт можно бесплатно использовать и распространять с любой целью, адаптировать под себя, улучшать и публиковать свои версии — эти права закрепляются с помощью свободных лицензий. В этой статье рассмотрим основные виды таких лицензий, их особенности и совместимость.\r\n","image":"/vite/assets/blog_post-7eTyeLLt.webp","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":6}]}</script><div style="--container-size:var(--container-size-lg);margin-top:var(--mantine-spacing-xl);height:100%" class="m_7485cace mantine-Container-root" data-size="lg" data-strategy="block"><script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"position":1,"@type":"ListItem","item":{"@id":"/blog","name":"Блог Хекслета"}},{"position":2,"@type":"ListItem","item":{"@id":"/blog/categories/code","name":"Код"}},{"position":3,"@type":"ListItem","item":{"@id":"/blog/posts/litsenzii-svobodnogo-po-kakie-oni-byvayut-i-kak-vybrat-podhodyaschuyu-dlya-vashego-produkta","name":"Лицензии свободного ПО: какие они бывают и как выбрать подходящую для вашего продукта"}}]}</script><div style="margin-bottom:var(--mantine-spacing-xs)" class="m_8b3717df mantine-Breadcrumbs-root"><a style="--text-fz:var(--mantine-font-size-sm);--text-lh:var(--mantine-line-height-sm);white-space:normal;color:inherit" class="mantine-focus-auto m_849cf0da m_f678d540 mantine-Breadcrumbs-breadcrumb m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-size="sm" data-underline="hover" href="/"><div style="color:inherit" class="m_4451eb3a mantine-Center-root"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-home-link "><path d="M20.085 11.085l-8.085 -8.085l-9 9h2v7a2 2 0 0 0 2 2h4.5"></path><path d="M9 21v-6a2 2 0 0 1 2 -2h2a2 2 0 0 1 1.807 1.143"></path><path d="M20 21a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path><path d="M20 16a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path><path d="M15 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path><path d="M21 16l-5 3l5 2"></path></svg></div></a><div class="m_3b8f2208 mantine-Breadcrumbs-separator">/</div><a style="--text-fz:var(--mantine-font-size-sm);--text-lh:var(--mantine-line-height-sm);white-space:normal;color:inherit" class="mantine-focus-auto m_849cf0da m_f678d540 mantine-Breadcrumbs-breadcrumb m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-size="sm" data-underline="hover" href="/blog">Блог Хекслета</a><div class="m_3b8f2208 mantine-Breadcrumbs-separator">/</div><a style="--text-fz:var(--mantine-font-size-sm);--text-lh:var(--mantine-line-height-sm);white-space:normal;color:inherit" class="mantine-focus-auto m_849cf0da m_f678d540 mantine-Breadcrumbs-breadcrumb m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-size="sm" data-underline="hover" href="/blog/categories/code">Код</a><div class="m_3b8f2208 mantine-Breadcrumbs-separator">/</div><p style="--text-fz:var(--mantine-font-size-sm);--text-lh:var(--mantine-line-height-sm);white-space:normal;color:var(--mantine-color-dimmed)" class="mantine-focus-auto m_f678d540 mantine-Breadcrumbs-breadcrumb m_b6d8b162 mantine-Text-root" data-size="sm">Лицензии свободного ПО: какие они бывают и как выбрать подходящую для вашего продукта</p></div><style data-mantine-styles="inline">.__m__-_R_eub_{margin-bottom:var(--mantine-spacing-xs);}@media(min-width: 36em){.__m__-_R_eub_{margin-bottom:var(--mantine-spacing-xs);}}</style><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:space-between;--group-wrap:wrap" class="m_4081bf90 mantine-Group-root __m__-_R_eub_"><style data-mantine-styles="inline">.__m__-_R_deub_{width:100%;}@media(min-width: 36em){.__m__-_R_deub_{width:70%;}}@media(min-width: 75em){.__m__-_R_deub_{width:75%;}}</style><div class="__m__-_R_deub_"><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><h1 style="--title-fw:var(--mantine-h1-font-weight);--title-lh:var(--mantine-h1-line-height);--title-fz:var(--mantine-h1-font-size)" class="m_8a5d1357 mantine-Title-root" data-order="1">Лицензии свободного ПО: какие они бывают и как выбрать подходящую для вашего продукта</h1></div></div></div><div style="position:absolute;top:calc(18.75rem * var(--mantine-scale))" class=""></div><style data-mantine-styles="inline">.__m__-_R_2iub_{--grid-gutter:var(--mantine-spacing-xl);}</style><div class="m_410352e9 mantine-Grid-root __m__-_R_2iub_"><div class="m_dee7bd2f mantine-Grid-inner"><style data-mantine-styles="inline">.__m__-_R_dmiub_{--col-flex-grow:auto;--col-flex-basis:100%;--col-max-width:100%;}@media(min-width: 48em){.__m__-_R_dmiub_{--col-flex-grow:auto;--col-flex-basis:83.33333333333334%;--col-max-width:83.33333333333334%;}}@media(min-width: 62em){.__m__-_R_dmiub_{--col-flex-grow:auto;--col-flex-basis:66.66666666666667%;--col-max-width:66.66666666666667%;}}</style><div class="m_96bdd299 mantine-Grid-col __m__-_R_dmiub_"><div style="--stack-gap:var(--mantine-spacing-md);--stack-align:stretch;--stack-justify:flex-start;margin-bottom:var(--mantine-spacing-xl)" class="m_6d731127 mantine-Stack-root"><div class=""><div style="--group-gap:var(--mantine-spacing-xs);--group-align:center;--group-justify:flex-start;--group-wrap:wrap;margin-bottom:var(--mantine-spacing-xl)" class="m_4081bf90 mantine-Group-root"><button style="--badge-height:var(--badge-height-sm);--badge-padding-x:var(--badge-padding-x-sm);--badge-fz:var(--badge-fz-sm);--badge-bg:var(--mantine-color-default);--badge-color:var(--mantine-color-default-color);--badge-bd:calc(0.0625rem * var(--mantine-scale)) solid var(--mantine-color-default-border);cursor:pointer;color:inherit" class="m_347db0ec mantine-Badge-root" data-variant="default" data-size="sm" type="button" aria-label="Без стека"><span class="m_5add502a mantine-Badge-label">Без стека</span></button></div><div style="--group-gap:calc(0.625rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:wrap;margin-bottom:var(--mantine-spacing-sm);color:var(--mantine-color-gray-text)" class="m_4081bf90 mantine-Group-root"><div style="--group-gap:calc(0.1875rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:wrap;margin-inline-end:var(--mantine-spacing-lg)" class="m_4081bf90 mantine-Group-root">1 августа 2022 г.</div><div style="--group-gap:calc(0.1875rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:wrap" class="m_4081bf90 mantine-Group-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-clock "><path d="M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0"></path><path d="M12 7v5l3 3"></path></svg></div>9 минут</div><div style="--group-gap:calc(0.1875rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:wrap" class="m_4081bf90 mantine-Group-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-thumb-up "><path d="M7 11v8a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1v-7a1 1 0 0 1 1 -1h3a4 4 0 0 0 4 -4v-1a2 2 0 0 1 4 0v5h3a2 2 0 0 1 2 2l-1 5a2 3 0 0 1 -2 2h-7a3 3 0 0 1 -3 -3"></path></svg></div>6</div></div><div style="--ar-ratio:2" class="m_71ac47fc mantine-AspectRatio-root"><img style="--image-radius:var(--mantine-radius-md);--image-object-fit:cover;width:100%;height:100%" class="m_9e117634 mantine-Image-root" src="/vite/assets/blog_post-7eTyeLLt.webp" alt="Лицензии свободного ПО: какие они бывают и как выбрать подходящую для вашего продукта"/></div></div><div role="link" tabindex="0" style="cursor:pointer"><button style="display:block;width:100%" class="mantine-focus-auto m_87cf2631 mantine-UnstyledButton-root" type="button" aria-label="Присоединяйтесь к нашему Telegram-сообществу"><div style="background-color:light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-6))" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root"><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:flex-start;--group-wrap:wrap" class="m_4081bf90 mantine-Group-root"><div style="--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;margin-inline-end:auto;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-brand-telegram "><path d="M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4"></path></svg></div>Присоединяйтесь к нашему Telegram-сообществу</div></div></button></div><div style="margin-bottom:var(--mantine-spacing-xl)" class="m_d08caa0 mantine-Typography-root"><p><strong>Свободный софт можно бесплатно использовать и распространять с любой целью, адаптировать под себя, улучшать и публиковать свои версии — эти права закрепляются с помощью свободных лицензий. В этой статье рассмотрим основные виды таких лицензий, их особенности и совместимость.</strong></p>
<p><em>Материал подготовил Гавриил Максютенко, активный участник сообщества GNOME. Любит изучать непопулярные языки программирования – <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://nim-lang.org/" rel="noopener noreferrer" target="_blank">Nim</a>, <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://vala.dev/" rel="noopener noreferrer" target="_blank">Vala</a>, <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://clojure.org/" rel="noopener noreferrer" target="_blank">Clojure</a>, <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://fsharp.org/" rel="noopener noreferrer" target="_blank">F#</a>, <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://pharo.org/" rel="noopener noreferrer" target="_blank">Pharo</a> (Smalltalk), <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://gleam.run/" rel="noopener noreferrer" target="_blank">Gleam</a>, начал писать свой язык, похожий на Smalltalk. Опыт работы с АСУТП, веб- и десктоп-приложениями, <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://github.com/VodovozOrganization/Vodovoz" rel="noopener noreferrer" target="_blank">ERP</a>. Также благодарим за участие в проверке статьи Андрея Ситника, ведущего фронтенд-разработчика в <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://evilmartians.com/" rel="noopener noreferrer" target="_blank">Evil Martians</a>**.</em></p>
<style data-mantine-styles="inline">.__m__-_R_5derddmiub_{--carousel-slide-gap:var(--mantine-spacing-xs);--carousel-slide-size:70%;}@media(min-width: 36em){.__m__-_R_5derddmiub_{--carousel-slide-gap:var(--mantine-spacing-xl);--carousel-slide-size:50%;}}</style><div style="--carousel-control-size:calc(2.5rem * var(--mantine-scale));--carousel-controls-offset:var(--mantine-spacing-sm);margin-bottom:var(--mantine-spacing-lg);padding-block:var(--mantine-spacing-sm);background:var(--app-color-surface)" class="m_17884d0f mantine-Carousel-root responsiveClassName" data-orientation="horizontal" data-include-gap-in-size="true"><div class="m_39bc3463 mantine-Carousel-controls" data-orientation="horizontal"><button class="mantine-focus-auto m_64f58e10 mantine-Carousel-control m_87cf2631 mantine-UnstyledButton-root" type="button" data-inactive="true" data-type="previous" tabindex="-1"><svg viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" style="transform:rotate(90deg);width:calc(1rem * var(--mantine-scale));height:calc(1rem * var(--mantine-scale));display:block"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button><button class="mantine-focus-auto m_64f58e10 mantine-Carousel-control m_87cf2631 mantine-UnstyledButton-root" type="button" data-inactive="true" data-type="next" tabindex="-1"><svg viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" style="transform:rotate(-90deg);width:calc(1rem * var(--mantine-scale));height:calc(1rem * var(--mantine-scale));display:block"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></div><div class="m_a2dae653 mantine-Carousel-viewport" data-type="media"><div class="m_fcd81474 mantine-Carousel-container __m__-_R_5derddmiub_" data-orientation="horizontal"><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/programs/qa-auto-engineer-python?promo_name=programs_list&promo_position=blog_post&promo_creative=catalog_card&promo_type=card" target="_blank"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">6 месяцев</span><span class="mantine-focus-auto m_b6d8b162 mantine-Text-root">·</span><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Для продвинутых</span></div><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h5);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Автоматизатор тестирования на Python</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Изучите Python, фреймворки для тестирования, автоматизация UI и API</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzkyMCwicHVyIjoiYmxvYl9pZCJ9fQ==--71cd9d863b21d7bfbd927cf623a7a2baaf4530ca/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Bug%20fixing-cuate.png" alt="Автоматизатор тестирования на Python" loading="eager"/></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:end;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-xs)" class="m_4081bf90 mantine-Group-root"><p style="font-size:var(--mantine-font-size-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">от 4 281 ₽</p><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/programs/devops-engineer-from-scratch?promo_name=programs_list&promo_position=blog_post&promo_creative=catalog_card&promo_type=card" target="_blank"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">14 месяцев</span><span class="mantine-focus-auto m_b6d8b162 mantine-Text-root">·</span><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">С нуля</span></div><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h5);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">DevOps-инженер с нуля</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Полное погружение в DevOps: весь стек от Linux до Kubernetes</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6Mzk2NSwicHVyIjoiYmxvYl9pZCJ9fQ==--84278a1852c9c6fb13b80a69f395bac6e47a422e/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Cloud%20sync-bro.png" alt="DevOps-инженер с нуля" loading="eager"/></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:end;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-xs)" class="m_4081bf90 mantine-Group-root"><p style="font-size:var(--mantine-font-size-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">от 6 792 ₽</p><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/programs/docker?promo_name=programs_list&promo_position=blog_post&promo_creative=catalog_card&promo_type=card" target="_blank"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">1 месяц</span><span class="mantine-focus-auto m_b6d8b162 mantine-Text-root">·</span><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Для продвинутых</span></div><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h5);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Docker</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Навык работы с контейнеризацией, оптимизацией разработки и деплой</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6Mzk2MiwicHVyIjoiYmxvYl9pZCJ9fQ==--c18877cf9396039142efbbbe6b2ab4dc6b09f18b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Cloud%20hosting-cuate.png" alt="Docker" loading="eager"/></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:end;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-xs)" class="m_4081bf90 mantine-Group-root"><p style="font-size:var(--mantine-font-size-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">от 3 900 ₽</p><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/programs/fullstack-python?promo_name=programs_list&promo_position=blog_post&promo_creative=catalog_card&promo_type=card" target="_blank"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">16 месяцев</span><span class="mantine-focus-auto m_b6d8b162 mantine-Text-root">·</span><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">С нуля</span></div><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h5);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Fullstack-разработчик на Python</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root"></p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzY2NSwicHVyIjoiYmxvYl9pZCJ9fQ==--f7793ed718d27cc7ce1799556a7623d56e7635f8/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Code%20snippets-rafiki.png" alt="Fullstack-разработчик на Python" loading="eager"/></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:end;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-xs)" class="m_4081bf90 mantine-Group-root"><p style="font-size:var(--mantine-font-size-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">от 7 934 ₽</p><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/programs/python?promo_name=programs_list&promo_position=blog_post&promo_creative=catalog_card&promo_type=card" target="_blank"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">10 месяцев</span><span class="mantine-focus-auto m_b6d8b162 mantine-Text-root">·</span><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">С нуля</span></div><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h5);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Python-разработчик </p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Изучите Python, Django, REST и Fast API для создания веб-приложений</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzczMSwicHVyIjoiYmxvYl9pZCJ9fQ==--f5df4883f3f678321cb4fa96e9ce657bd5ee1adf/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Static%20website-cuate.png" alt="Python-разработчик " loading="eager"/></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:end;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-xs)" class="m_4081bf90 mantine-Group-root"><p style="font-size:var(--mantine-font-size-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">от 6 792 ₽</p><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/courses?promo_name=programs_list&promo_position=blog_post&promo_creative=catalog_card&promo_type=card"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><h2 style="--title-fw:var(--mantine-h2-font-weight);--title-lh:var(--mantine-h2-line-height);--title-fz:var(--mantine-h2-font-size);margin-bottom:var(--mantine-spacing-md);font-size:var(--mantine-font-size-h3)" class="m_8a5d1357 mantine-Title-root" data-order="2" data-responsive="true">Каталог</h2><p style="margin-bottom:auto" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Полный список доступных курсов по разным направлениям</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="/vite/assets/development-BVihs_d5.png" alt="Orientation"/></div></div></div></a></div></div></div></div></div>
<h2 id="heading-2-1">Содержание</h2>
<ul>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-1-2">Каким был бы мир без свободного ПО</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-1-3">Как зародилось свободное ПО</a>
<ul>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-4">Что такое свободное ПО</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-8">MIT (X11 License)</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-9">BSD</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-10">GNU General Public License v3</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-11">GNU Affero General Public License</a></li>
</ul>
</li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-1-12">Совместимость лицензий</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-1-13">Заключение</a>
<ul>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-14">Дополнительные материалы</a></li>
</ul>
</li>
</ul>
<h1 id="heading-1-2">Каким был бы мир без свободного ПО</h1>
<p>Проведем воображаемый эксперимент: представим себе мир без свободного ПО.
Весь код хранится в закрытых репозиториях, а значит, программисты не могут просто и бесплатно использовать накопленный опыт IT-индустрии. Компании, занимающиеся разработкой, вынуждены приобретать платный софт: это требует дополнительных затрат и в конечном счете сказывается на качестве и цене продуктов.</p>
<p>Чтобы сэкономить, они начинают писать свои библиотеки: на IT-сленге это называется «велосипедить». Вместо того чтобы объединить усилия и разрабатывать одну качественную библиотеку, компании создают миллионы одинаковых библиотек разной степени проработанности. Стать программистом в таких условиях куда сложнее, ведь настоящий продакшн-код впервые можно увидеть только устроившись на работу.</p>
<p>В общем, мир без свободного ПО сильно отличался бы от нашего: качество продуктов, подготовка специалистов и темпы развития индустрии были бы гораздо хуже. В этой статье мы поговорим о феномене свободного ПО и типах свободных лицензий, а также узнаем, какую лицензию выбрать, чтобы сделать свой продукт открытым.</p>
<h1 id="heading-1-3">Как зародилось свободное ПО</h1>
<p>Когда персональные компьютеры только начали распространяться, многие пользователи не задумывались, что у программ может быть владелец, а у него — лицензия на эту программу. Все просто передавали программы друг другу, копируя дискеты. Сегодня это называется пиратством.</p>
<p>Корпорации, разумеется, были против. Один из наиболее известных случаев — <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%BE%D0%B5_%D0%BF%D0%B8%D1%81%D1%8C%D0%BC%D0%BE_%D0%BB%D1%8E%D0%B1%D0%B8%D1%82%D0%B5%D0%BB%D1%8F%D0%BC" rel="noopener noreferrer" target="_blank">открытое письмо Билла Гейтса</a>, в котором он обвиняет пользователей BASIC в воровстве, утверждая, что большинство из них не покупали BASIC, а просто копировали его друг у друга.</p>
<p>Однако многие программисты считали, что у пользователей ПО должны быть все права на его изучение и изменение. По аналогии с покупкой автомобиля: купив машину, вы можете посмотреть как устроен двигатель, починить или изменить его, дать покататься друзьям. Одним из лидеров движения за свободное программное обеспечение был Ричард Столлман: он решил создать собственную лицензию, которая будет обладать полной юридической силой, но в то же время гарантировать возможность оставлять софт открытым. Так Столлман создал первую свободную лицензию GNU GPL — General Public Licence. В 1989 году он выпускает первую программу под этой лицензией — редактор кода GNU Emacs, который популярен до сих пор. Про незаурядную личность Ричарда Столлмана в блоге Хекслета есть <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://ru.hexlet.io/blog/posts/richard-stollman" rel="noopener noreferrer" target="_blank">отдельная статья</a>.</p>
<p>Так зародилось движение за свободное ПО и свободные лицензии. По сути оно стало борьбой против авторского права, которое не дает права владения продуктом, несмотря на то, что пользователь за него заплатил. Сегодня и корпорации оценили пользу свободного ПО: почти каждая большая компания имеет свой открытый репозиторий. Именно благодаря этому у нас есть такие библиотеки, как React (Facebook/Meta) или Protobuf (Google).</p>
<p>Список репозиториев с открытым ПО «большой пятерки»:</p>
<ul>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://github.com/facebook" rel="noopener noreferrer" target="_blank">Facebook/Meta</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://github.com/apple" rel="noopener noreferrer" target="_blank">Apple</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://github.com/amzn" rel="noopener noreferrer" target="_blank">Amazon</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://github.com/Netflix" rel="noopener noreferrer" target="_blank">Netflix</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://github.com/google" rel="noopener noreferrer" target="_blank">Google</a></li>
</ul>
<h2 id="heading-2-4">Что такое свободное ПО</h2>
<p>Свободное ПО — это софт с открытой лицензией. Есть разные виды лицензий, но все они гарантируют следующие свободы:</p>
<ol>
<li><strong>Свобода использования в любых целях</strong>, включая коммерческие. Вы не можете сказать, что ваша лицензия работает только в определенной стране или для определенной группы населения.</li>
<li><strong>Свобода распространения.</strong> Любой человек может распространять и даже продавать продукт со свободной лицензией.</li>
<li><strong>Свобода изменения.</strong> Вы можете изменять код продукта, например, исправить в нем баг или добавить нужную вам функцию. Также эта свобода подразумевает агрегацию. Можно собрать коллекцию свободного программного обеспечения, использовать ее в собственном приложении (например, пакеты React и Material UI), а затем продавать его.</li>
<li><strong>Свобода распространения измененной версии.</strong> Это сумма пунктов 2 и 3, которая подразумевает, что вы можете форкнуть (скопировать) проект, если автор не согласен принять ваше изменение.</li>
</ol>
<p>Все свободные лицензии объединяют эти четыре пункта. Некоторые свободы подразумеваются неявно, например, чтобы иметь возможность изменить код, у вас должен быть доступ к исходному коду.</p>
<p>Свободные лицензии делятся на обычные (разрешительные) и вирусные — обоим типам применимы все четыре свободы.</p>
<p>Разрешительные лицензии позволяют использовать исходный код в проприетарном ПО, вносить в него изменения и сделать исправленную версию закрытой.</p>
<ul>
<li><em>Проприетарное ПО — несвободное программное обеспечение (от proprietary — частное, патентованное, в составе собственности). Такое ПО является частной собственностью авторов или правообладателей, его авторы не дают пользователям реальных прав на изучение и изменение купленного софта, сохраняют за собой монополию на его использование, копирование и модификацию, полностью или в существенных моментах. Обычно проприетарным называют любое несвободное ПО, включая полусвободное.</em></li>
</ul>
<p>Вирусную лицензию выбирают, если автор хочет, чтобы все производные продукты с участием его кода распространялись под той же свободной лицензией. То есть, добавив в свой проект код под вирусной лицензией, он будто заражает этой лицензией весь проект. Слово «вирусная» здесь не имеет негативной окраски, наоборот — вирусные лицензии более свободные, так как они гарантируют, что код с ними не будет закрыт.</p>
<p>Ниже разберем примеры вирусных и невирусных лицензий.</p>
<h3 id="heading-3-5">GNU General Public License</h3>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/wAYyJf0.png" alt="" loading="lazy"/></p>
<p>Первая лицензия GNU General Public License до сих пор остается одной из самых популярных.</p>
<p>Допустим, перед нами стоит задача: сделать нашу программу свободной. Для этого нужно заявить, что она является общественным достоянием, и отказаться от авторских прав. Но тогда кто угодно может взять нашу программу, нанять штат разработчиков, добавить в нее новый функционал и продавать, закрыв исходные коды. Значит, нам нужно сделать лицензию, которая дает гарантию, что код под ней всегда будет оставаться открытым.</p>
<p>Именно это и делает GNU GPL. Лицензия является вирусной, то есть при добавлении кода под GNU GPL в проект, ваш код «заражается» и обязан быть выпущен под GNU GPL или другой совместимой лицензией (да, некоторые лицензии совместимы между собой, то есть код с разными лицензиями может быть объединен в одном проекте, но об этом поговорим чуть позже).</p>
<p>В лицензии GNU GPL есть два основных пункта:</p>
<ol>
<li>Исходный код должен либо распространятся с бинарными файлами программы, либо должно быть письмо с пояснением, как их запросить.</li>
<li>Если код под GPL попадает в проект, то весь проект также автоматически станет GPL. <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://www.gnu.org/licenses/old-licenses/gpl-1.0.html" rel="noopener noreferrer" target="_blank">Полная версия лицензии на английском</a></li>
</ol>
<p>Существуют вторая и третья версии GNU GPL, про них мы тоже поговорим.</p>
<h3 id="heading-3-6">GNU General Public License v2</h3>
<p>Основным нововведением второй версии стал принцип «свобода или смерть». Если в результате каких-либо обстоятельств, например, по решению суда, на автора ПО накладывается ограничение на распространение исходных текстов программы, то ему также запрещается распространять и бинарные версии. Если какое-либо государство вследствие патентов или авторского права наложит ограничения на распространение программы, выпущенной под GNU GPL v2, автор вправе полностью запретить ее распространение на территории этого государства. Простыми словами: либо код распространяется с исходниками, либо никак.</p>
<p>Также v2 уточняет: если вы решили распространять программу с инструкцией о запросе исходников, то все, кто получил программу от вас и распространяют ее дальше, обязаны также прикладывать эту инструкцию. В такой инструкции будет указан ваш email-адрес, на который можно отправить запрос, а вы в ответ пришлете исходные коды.</p>
<h3 id="heading-3-7">GNU Lesser General Public License (LGPL)</h3>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/QJUeZ3c.png" alt="" loading="lazy"/></p>
<p>Эта лицензия менее «свободна» и в основном используется для программных библиотек. LGPL не гарантирует конечному пользователю полную свободу использования программного обеспечения. Только свободу модификации для компонентов, лицензированных по LGPL, но не для каких-либо проприетарных компонентов.</p>
<p>Коммерческое ПО может линковаться с библиотекой, выпущенной под LGPL, и при этом оно не будет «заражено» GPL и может оставаться закрытым.</p>
<p>Это позволяет использовать свободные библиотеки в закрытом ПО, все преимущества свободной библиотеки сохраняются. Например, если компания сделает свое изменение в этой библиотеке, она будет обязана его опубликовать. Таким образом библиотека продолжает развиваться большими коммерческими компаниями, которые в то же время могут использовать ее в закрытых продуктах.</p>
<h2 id="heading-2-8">MIT (X11 License)</h2>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/KPR29eM.png" alt="" loading="lazy"/></p>
<p>Эту лицензию разработали в Массачусетском технологическом институте специально для системы X11 Windows System, которая повсеместно используется в Linux-десктопах уже 37 лет. Поэтому ее также называют X11 License.</p>
<p>Чтобы продукт распространялся под лицензией MIT, достаточно приложить текст этой лицензии и распространять продукт вместе с ним.</p>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/RxDKBcS.png" alt="" loading="lazy"/>
<em>Полный текст MIT. Для сравнения: текст третьей версии GNU GPL состоит из 2567 слов.</em></p>
<p>Здесь видно важнейшее отличие от GPL — возможность использовать ПО под лицензией MIT в закрытом коде. MIT позволяет внести изменения в проект и сделать исправленную версию закрытой.
Такие лицензии еще называют разрешительными. По итогу данная лицензия разрешает все, если ее текст приложен к продукту и в нем упомянут оригинальный автор.</p>
<p>Под лицензией MIT выпущено множество известных продуктов: PuTTY, Mono, Ruby on Rails, JQuery, Wayland и, конечно же, X Window System.</p>
<h2 id="heading-2-9">BSD</h2>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/wKRuWTQ.png" alt="" loading="lazy"/></p>
<p>У университета Беркли тоже есть своя лицензия — Berkeley Software Distribution License. Текст лицензии является общественным достоянием, это позволяет любому модифицировать его, создавая свою лицензию на основе BSD. Такие лицензии называют «лицензии типа BSD».</p>
<p>Например, общественная лицензия Microsoft добавляет запрет на изменение лицензии в случае, если код распространяется в виде исходников. Есть также NetBSD, FreeBSD, OpenBSD, DragonFly BSD, но самой используемой считается «модифицированная версия BSD», также известная как «BSD с тремя пунктами».
Дело в том, что изначальная версия из четырех пунктов (англ. «four-clause BSD») содержала неудачный пункт о необходимости подстановки копирайта университета Беркли.</p>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/aWxfDEp.png" alt="" loading="lazy"/></p>
<p>Каждый, кто пользовался BSD, заменял Беркли на свой вариант организации или собственное имя. Известен случай, когда из-за этого пункта приходилось упоминать 75 других организаций. Также этот пункт делал BSD несовместимой с GPL, так как GPL запрещает добавлять новые ограничения, помимо перечисленных в ней самой. После двухлетней дискуссии было принято решение об удалении пункта о рекламе. Теперь в лицензии только три пункта:</p>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/o7TYx2q.png" alt="" loading="lazy"/></p>
<p>Трехпунктовая BSD довольно похожа на MIT, но в MIT явно указаны разрешения на сублицензирование, слияние, публикацию и продажу. Тем не менее эти свободы подразумеваются и в BSD, их можно отнести к «использованию» или «распространению». Можно сказать, что выбор между MIT и BSD — исключительно дело вкуса.</p>
<h2 id="heading-2-10">GNU General Public License v3</h2>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/hlJh1ZT.png" alt="" loading="lazy"/></p>
<p>GPL третьей версии создавалась дольше предыдущих версий, а во время ее утверждения шли бурные споры. Подробно об изменениях GPL v3 можно узнать из официальной <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://www.gnu.org/licenses/quick-guide-gplv3.ru.html" rel="noopener noreferrer" target="_blank">статьи</a> GNU.</p>
<p>Вот три главных нововведения:</p>
<p><strong>Борьба с тивоизацией</strong></p>
<p>Часто производители намеренно ограничивают функциональность устройств или же выпускают дорогую и дешевую версии продукта, которые различаются лишь программно. Примером тивоизированных устройств с ограниченным функционалом являются смартфоны iPhone, на которых запрещено копирование программ и ограничен доступ к файловой системе. Android имеет схожие проблемы.</p>
<p>Одна из целей GPLv3 — закрыть подобную лазейку, то есть пресечь тивоизацию. Если компания использовала свободное ПО под GNU GPL v3 в своем устройстве, лицензия позволяет владельцу устройства запросить исходные коды.</p>
<blockquote>
<p><em>«Тивоизация — опасная попытка урезать свободу пользователей: право изменять свои программы станет бессмысленным, если ни один из ваших компьютеров не даст вам это делать. GPL v3 останавливает тивоизацию, требуя, чтобы распространитель предоставлял вам любые сведения и данные, необходимые для установки измененных программ на устройство»</em></p>
</blockquote>
<p><strong>Запрет на дискриминационные патентные соглашения</strong></p>
<p>Со временем Microsoft и другие корпорации нашли способ ограничивать свободу пользователей: они открывают исходный код, но для работы с ним необходимо купить патент. GNU GPL v3 запрещает такую практику.</p>
<p><strong>Обход цифровой защиты</strong></p>
<p>Закон <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://ru.wikipedia.org/wiki/Digital_Millennium_Copyright_Act#:~:text=Digital%20Millennium%20Copyright%20Act%20%E2%80%94%20%D0%97%D0%B0%D0%BA%D0%BE%D0%BD,%D0%BE%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D0%B8%20%D0%BA%D0%BE%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%B8%20%D1%80%D0%B0%D1%81%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%B8." rel="noopener noreferrer" target="_blank">об авторском праве цифрового тысячелетия</a> и Директива <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%B8%D0%B2%D0%B0_%D0%BE%D0%B1_%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D1%81%D0%BA%D0%BE%D0%BC_%D0%BF%D1%80%D0%B0%D0%B2%D0%B5_%D0%BD%D0%B0_%D0%95%D0%B4%D0%B8%D0%BD%D0%BE%D0%BC_%D1%86%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%BE%D0%BC_%D1%80%D1%8B%D0%BD%D0%BA%D0%B5#:~:text=%D0%94%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%B8%CC%81%D0%B2%D0%B0%20%D0%BE%D0%B1%20%D0%B0%CC%81%D0%B2%D1%82%D0%BE%D1%80%D1%81%D0%BA%D0%BE%D0%BC%20%D0%BF%D1%80%D0%B0%CC%81%D0%B2%D0%B5%20%D0%BD%D0%B0,%D0%B8%20%D1%81%D1%85%D0%BE%D0%B6%D0%B8%D1%85%20%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2%20%D0%BF%D1%80%D0%B0%D0%B2%D0%B0%E2%80%A6%20%D1%81" rel="noopener noreferrer" target="_blank">об авторском праве Европейского союза</a> делают преступлением написание ПО, целью которого является обход цифровых защит. Этот пункт отменяет действие этих законов, разумеется, если сама цифровая защита лицензирована GPL v3. По сути этот пункт гарантирует, что ваше ПО под GPL v3 не смогут использовать в создании цифровых защит.</p>
<h2 id="heading-2-11">GNU Affero General Public License</h2>
<p>Эта лицензия была разработана <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://ru.wikipedia.org/wiki/%D0%A4%D0%BE%D0%BD%D0%B4_%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D1%8F" rel="noopener noreferrer" target="_blank">Фондом свободного программного обеспечения</a> на основе GNU General Public License и <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://ru.wikipedia.org/w/index.php?title=Affero&action=edit&redlink=1" rel="noopener noreferrer" target="_blank">Affero</a> GPL, чтобы решить проблему облачных сервисов. Она обязывает сервер, на котором исполняется модифицированная программа, предоставлять доступ к исходному коду.</p>
<h1 id="heading-1-12">Совместимость лицензий</h1>
<p>Чтобы использовать части программного обеспечения, выпущенные под разными свободными лицензиями, эти лицензии должны быть совместимы между собой.</p>
<p>GNU-сообщество делит лицензии на 3 общих класса — неограничительные, промежуточные и лицензии с авторским левом.</p>
<p>К неограничительным относятся MIT и BSD — этот класс лицензий дает возможность вносить изменения, закрывать код и в целом почти не накладывает ограничений. Этим пользуются, например, Apple и Sony, их продукты работают на модифицированных версиях системы BSD.</p>
<p>К промежуточным относится LGPL. Такие лицензии разрешают использование в закрытом коде, но обязывают публиковать любые вносимые изменения.</p>
<p>Программы, выпущенные под лицензиями с <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BF%D0%B8%D0%BB%D0%B5%D1%84%D1%82" rel="noopener noreferrer" target="_blank">авторским левом</a>, навсегда останутся свободными, независимо от того, кто и как их распространяет. Если целью авторского права является наложение ограничений на пользователя, то авторское лево наоборот гарантирует выполнение всех четырех свобод.</p>
<p>Правила совместимости этих лицензий:</p>
<ul>
<li>Все неограничительные лицензии совместимы между собой, так как они не накладывают никаких ограничений на способ распространения, ничто не мешает распространять их под несколькими лицензиями такого же типа.</li>
<li>Лицензии с авторским левом несовместимы между собой, так как их сутью является гарантия, что любые модификации будут распространяться на тех же условиях. Исключением является GPL v3, которая совместима с v2. Но это односторонняя совместимость, то есть проект на GPL v2 нельзя смешивать с v3, но проект на v3 можно смешать с v2.</li>
<li>Код под неограничительной лицензией, смешанный с кодом под авторским левом, лицензируется под авторским левом.</li>
</ul>
<p>Общая картина такая:</p>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/KaW86nj.png" alt="" loading="lazy"/></p>
<p>Комбинирование в одном проекте кода проприетарной лицензии с пользовательским левом все же возможно, но необходима мощная изоляция как минимум на уровне процессов, разрешение на обмен данными только через бинарный протокол.</p>
<p>Примеры: Android, где используется ядро Linux (GPL v2), или драйвера Nvidia на Linux, которые могут поставляться бинарным блобом (англ. Binary Large Object — двоичный большой объект). Это возможно благодаря кольцам ядра Linux, отделяющим пространство пользователя от пространства, в котором выполняется код ядра.</p>
<p>Последним вариантом соблюдения совместимости является перелицензирование. Это сложный процесс, который требует согласия 95% участников. В этом случае ПО перевыпускается под новой, более подходящей лицензией, а старые версии остаются при этом неизменны.</p>
<style data-mantine-styles="inline">.__m__-_R_57derddmiub_{--carousel-slide-gap:var(--mantine-spacing-xs);--carousel-slide-size:80%;}@media(min-width: 36em){.__m__-_R_57derddmiub_{--carousel-slide-gap:var(--mantine-spacing-xl);--carousel-slide-size:50%;}}</style><div style="--carousel-control-size:calc(2.5rem * var(--mantine-scale));--carousel-controls-offset:var(--mantine-spacing-sm);margin-bottom:var(--mantine-spacing-lg);padding-block:var(--mantine-spacing-sm);background:var(--app-color-surface)" class="m_17884d0f mantine-Carousel-root responsiveClassName" data-orientation="horizontal" data-include-gap-in-size="true"><div class="m_39bc3463 mantine-Carousel-controls" data-orientation="horizontal"><button class="mantine-focus-auto m_64f58e10 mantine-Carousel-control m_87cf2631 mantine-UnstyledButton-root" type="button" data-inactive="true" data-type="previous" tabindex="-1"><svg viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" style="transform:rotate(90deg);width:calc(1rem * var(--mantine-scale));height:calc(1rem * var(--mantine-scale));display:block"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button><button class="mantine-focus-auto m_64f58e10 mantine-Carousel-control m_87cf2631 mantine-UnstyledButton-root" type="button" data-inactive="true" data-type="next" tabindex="-1"><svg viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" style="transform:rotate(-90deg);width:calc(1rem * var(--mantine-scale));height:calc(1rem * var(--mantine-scale));display:block"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></div><div class="m_a2dae653 mantine-Carousel-viewport" data-type="media"><div class="m_fcd81474 mantine-Carousel-container __m__-_R_57derddmiub_" data-orientation="horizontal"><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/biblioteka-react-review-article"><div style="padding-top:0rem;height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="margin-bottom:var(--mantine-spacing-sm)" class="m_599a2148 mantine-Card-section" data-first-section="true"><div style="--ar-ratio:2" class="m_71ac47fc mantine-AspectRatio-root"><img class="m_9e117634 mantine-Image-root" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTYyOCwicHVyIjoiYmxvYl9pZCJ9fQ==--6bac7610f325471938a0e33f58eaa4c52527d66f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX2FuZF9wYWQiOls3MDgsMzU0XSwic2F2ZXIiOnsicXVhbGl0eSI6ODV9fSwicHVyIjoidmFyaWF0aW9uIn19--324dc52aa55ebe818c2a887ebcb832b9ad1c0381/%D1%87%D1%82%D0%BE%D1%82%D0%B0%D0%BA%D0%BE%D0%B5react-01.png" loading="lazy" alt="Библиотека React: особенности, перспективы, ситуация на рынке труда"/></div></div><p style="margin-bottom:var(--mantine-spacing-xs);font-size:var(--mantine-font-size-lg);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Библиотека React: особенности, перспективы, ситуация на рынке труда</p><p style="margin-bottom:auto" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">В объявлениях о поиске программистов часто встречается требование уметь работать с React. Иногда ...</p><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-lg);font-size:var(--mantine-font-size-sm)" class="m_4081bf90 mantine-Group-root">29 февраля 2024 г.<p style="font-size:inherit" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/php-start"><div style="padding-top:0rem;height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="margin-bottom:var(--mantine-spacing-sm)" class="m_599a2148 mantine-Card-section" data-first-section="true"><div style="--ar-ratio:2" class="m_71ac47fc mantine-AspectRatio-root"><img class="m_9e117634 mantine-Image-root" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTU5MSwicHVyIjoiYmxvYl9pZCJ9fQ==--01d293c2c32c364fb419ce05e3336d3b96061b52/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX2FuZF9wYWQiOls3MDgsMzU0XSwic2F2ZXIiOnsicXVhbGl0eSI6ODV9fSwicHVyIjoidmFyaWF0aW9uIn19--324dc52aa55ebe818c2a887ebcb832b9ad1c0381/PHPc%D1%87%D0%B5%D0%B3%D0%BE%D0%BD%D0%B0%D1%87%D0%B0%D1%82%D1%8C-01.png" loading="lazy" alt="Язык программирования PHP: почему его выбирают разработчики и с чего начать изучение"/></div></div><p style="margin-bottom:var(--mantine-spacing-xs);font-size:var(--mantine-font-size-lg);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Язык программирования PHP: почему его выбирают разработчики и с чего начать изучение</p><p style="margin-bottom:auto" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Рассказываем, в чем особенности языка PHP, его преимущества и недостатки, почему он до сих пор не...</p><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-lg);font-size:var(--mantine-font-size-sm)" class="m_4081bf90 mantine-Group-root">1 декабря 2023 г.<p style="font-size:inherit" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/stoit-li-uchit-javascript-perspektivy-situatsiya-na-rynke-truda-mneniya-ekspertov"><div style="padding-top:0rem;height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="margin-bottom:var(--mantine-spacing-sm)" class="m_599a2148 mantine-Card-section" data-first-section="true"><div style="--ar-ratio:2" class="m_71ac47fc mantine-AspectRatio-root"><img class="m_9e117634 mantine-Image-root" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTcwMywicHVyIjoiYmxvYl9pZCJ9fQ==--aa69869c906a992728ba7c26886fa1b715024424/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX2FuZF9wYWQiOls3MDgsMzU0XSwic2F2ZXIiOnsicXVhbGl0eSI6ODV9fSwicHVyIjoidmFyaWF0aW9uIn19--324dc52aa55ebe818c2a887ebcb832b9ad1c0381/%D1%8F%D0%B7%D1%8B%D0%BA%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8Fjavascript-01.png" loading="lazy" alt="Язык программирования JavaScript: где его используют и почему он популярен"/></div></div><p style="margin-bottom:var(--mantine-spacing-xs);font-size:var(--mantine-font-size-lg);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Язык программирования JavaScript: где его используют и почему он популярен</p><p style="margin-bottom:auto" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Рассказываем, что это за язык программирования — JavaScript, где его используют, насколько он поп...</p><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-lg);font-size:var(--mantine-font-size-sm)" class="m_4081bf90 mantine-Group-root">4 октября 2023 г.<p style="font-size:inherit" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></a></div></div></div></div></div>
<h1 id="heading-1-13">Заключение</h1>
<p>Этот обзор должен помочь с выбором подходящей лицензии. Главное — это решить, какую степень свободы вы хотите дать вашим пользователям.</p>
<p>Если вы рассматриваете «возможность запрещать» как одну из свобод и хотите дать пользователям возможность применять ваш продукт в коммерческих целях, вам подойдет одна из разрешительных лицензий (MIT, BSD).</p>
<p>Если же вы хотите, чтобы на свободу вашего продукта ничто не могло повлиять, то GPL или другая лицензия с сильным авторским левом — ваш выбор.</p>
<p>Информацию из этой статьи также стоит учитывать при использовании чужого свободного ПО: помните о «заразности» лицензий с авторским левом, проверяйте, что взятый вами код находится под совместимой лицензией. Мы рекомендуем полностью прочитать текст выбранной лицензии, прежде чем применять ее.</p>
<h2 id="heading-2-14">Дополнительные материалы</h2>
<ul>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://habr.com/ru/post/512272/" rel="noopener noreferrer" target="_blank">Лицензия mongoDB</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://www.cnews.ru/news/top/2021-04-06_google_vyigral_11letnij_spor" rel="noopener noreferrer" target="_blank">Суд Oracle с Google</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://www.opennet.ru/opennews/art.shtml?num=50322" rel="noopener noreferrer" target="_blank">Amazon скопировал ElasticSearch</a></li>
</ul></div><div class=""><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:space-between;--group-wrap:wrap;margin-bottom:var(--mantine-spacing-lg)" class="m_4081bf90 mantine-Group-root"><div class="m_4451eb3a mantine-Center-root" data-inline="true"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;margin-inline-end:var(--mantine-spacing-xs);color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-user "><path d="M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0"></path><path d="M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2"></path></svg></div><p style="margin-inline-end:var(--mantine-spacing-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Гавриил</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">4 года назад</p></div><div style="align-items:center" class="m_8bffd616 mantine-Flex-root __m__-_R_5dirddmiub_"><a style="display:inline-flex" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/litsenzii-svobodnogo-po-kakie-oni-byvayut-i-kak-vybrat-podhodyaschuyu-dlya-vashego-produkta/votes"><div style="--ti-size:var(--ti-size-sm);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;margin-inline-end:var(--mantine-spacing-xs);color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="sm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-thumb-up "><path d="M7 11v8a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1v-7a1 1 0 0 1 1 -1h3a4 4 0 0 0 4 -4v-1a2 2 0 0 1 4 0v5h3a2 2 0 0 1 2 2l-1 5a2 3 0 0 1 -2 2h-7a3 3 0 0 1 -3 -3"></path></svg></div></a><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">6</p></div></div></div><div style="background-color:var(--mantine-color-indigo-light);border:calc(0.0625rem * var(--mantine-scale)) solid transparent;padding:var(--mantine-spacing-xl)" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root"><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h4)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Читайте также:</p><ul style="margin-inline-start:var(--mantine-spacing-lg)" class="m_abbac491 mantine-List-root"><li style="margin-bottom:var(--mantine-spacing-sm)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><a style="color:inherit" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/biblioteka-react-review-article">Библиотека React: особенности, перспективы, ситуация на рынке труда</a></span></div></li><li style="margin-bottom:var(--mantine-spacing-sm)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><a style="color:inherit" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/php-start">Язык программирования PHP: почему его выбирают разработчики и с чего начать изучение</a></span></div></li><li style="margin-bottom:var(--mantine-spacing-sm)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><a style="color:inherit" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/stoit-li-uchit-javascript-perspektivy-situatsiya-na-rynke-truda-mneniya-ekspertov">Язык программирования JavaScript: где его используют и почему он популярен</a></span></div></li></ul></div><div style="margin-block:var(--mantine-spacing-xl)" class="m_3eebeb36 mantine-Divider-root" data-orientation="horizontal" role="separator"></div></div><div></div></div><style data-mantine-styles="inline">.__m__-_R_lmiub_{--col-flex-grow:auto;--col-flex-basis:100%;--col-max-width:100%;}@media(min-width: 48em){.__m__-_R_lmiub_{--col-flex-grow:auto;--col-flex-basis:16.666666666666668%;--col-max-width:16.666666666666668%;}}@media(min-width: 62em){.__m__-_R_lmiub_{--col-flex-grow:auto;--col-flex-basis:33.333333333333336%;--col-max-width:33.333333333333336%;}}</style><div class="m_96bdd299 mantine-Grid-col __m__-_R_lmiub_ mantine-visible-from-md"><div style="background-color:var(--mantine-color-indigo-light);border:calc(0.0625rem * var(--mantine-scale)) solid transparent;margin-bottom:var(--mantine-spacing-xl);padding:var(--mantine-spacing-xl);width:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root"><div style="margin-bottom:var(--mantine-spacing-md)" class="m_4451eb3a mantine-Center-root" data-inline="true"><p style="font-size:var(--mantine-font-size-h4)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Категории</p></div><ul class="m_abbac491 mantine-List-root"><li style="margin-bottom:var(--mantine-spacing-xs)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><button style="color:inherit;text-decoration:underline" class="mantine-focus-auto m_87cf2631 mantine-UnstyledButton-root" type="button" aria-label="Мотивация">Мотивация</button></span></div></li><li style="margin-bottom:var(--mantine-spacing-xs)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><button style="color:inherit;text-decoration:underline" class="mantine-focus-auto m_87cf2631 mantine-UnstyledButton-root" type="button" aria-label="Истории успеха">Истории успеха</button></span></div></li><li style="margin-bottom:var(--mantine-spacing-xs)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><button style="color:inherit;text-decoration:underline" class="mantine-focus-auto m_87cf2631 mantine-UnstyledButton-root" type="button" aria-label="Дневник студента">Дневник студента</button></span></div></li><li style="margin-bottom:var(--mantine-spacing-xs)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><button style="color:inherit;text-decoration:underline" class="mantine-focus-auto m_87cf2631 mantine-UnstyledButton-root" type="button" aria-label="Код">Код</button></span></div></li><li style="margin-bottom:var(--mantine-spacing-xs)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><button style="color:inherit;text-decoration:underline" class="mantine-focus-auto m_87cf2631 mantine-UnstyledButton-root" type="button" aria-label="Карьера">Карьера</button></span></div></li></ul></div><div style="justify-content:end;margin-top:0rem;position:sticky;top:calc(5rem * var(--mantine-scale))" class="m_8bffd616 mantine-Flex-root __m__-_R_5dlmiub_"><div tabindex="0" style="cursor:pointer"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/courses_python?promo_name=program_category&promo_position=blog_post&promo_creative=card&promo_type=card"><div style="background-color:var(--mantine-color-default);border:calc(0.0625rem * var(--mantine-scale)) solid var(--mantine-color-default-border);padding-inline:var(--mantine-spacing-xl);padding-top:var(--mantine-spacing-xl);padding-bottom:var(--mantine-spacing-xs);width:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root"><div class="m_4451eb3a mantine-Center-root" data-inline="true"><p style="font-size:var(--mantine-font-size-h4)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Курсы по Python</p></div><img class="m_9e117634 mantine-Image-root" src="/vite/assets/development-BVihs_d5.png"/><p style="margin-bottom:var(--mantine-spacing-xs);text-align:right" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></a></div></div></div></div></div></div></div>
</main>
<footer class="bg-dark fw-light text-light px-3 py-5">
<div class="row small">
<div class="col-12 col-sm-6 col-md-3">
<div class="h5 mb-3">Хекслет</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/about">О нас</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/testimonials">Отзывы</a>
</li>
<li>
<span class="nav-link link-light py-1 ps-0 external-link" data-href="https://b2b.hexlet.io" role="button">Корпоративное обучение</span>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/blog">Блог</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/qna">Вопросы и ответы</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/glossary">Глоссарий</a>
</li>
<li>
<span class="nav-link link-light py-1 ps-0 external-link" data-href="https://help.hexlet.io" data-target="_blank" role="button">Справка</span>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" target="_blank" rel="noopener noreferrer" href="/map">Карта сайта</a>
</li>
</ul>
</div>
<div class="col-12 col-sm-6 col-md-3">
<div class="h5 fw-normal mb-3">Направления</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_devops">DevOps
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_data_analytics">Аналитика
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_backend_development">Бэкенд
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_programming">Программирование
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_testing">Тестирование
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_front_end_dev">Фронтенд
</a></li>
</ul>
</div>
<div class="col-12 col-sm-6 col-md-3">
<div class="h5">Профессии</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/devops-engineer-from-scratch">DevOps-инженер с нуля</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/go">Go-разработчик</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/java">Java-разработчик</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/python">Python-разработчик </a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/data-analytics">Аналитик данных</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/qa-engineer">Инженер по ручному тестированию</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/php">РНР-разработчик</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/frontend">Фронтенд-разработчик</a>
</li>
</ul>
</div>
<div class="col-12 col-sm-6 col-md-3">
<div class="h5">Навыки</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/python-django-developer">Django</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/docker">Docker</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/php-laravel-developer">Laravel</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/postman">Postman</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/js-react-developer">React</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/js-rest-api">REST API в Node.js</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/spring-boot">Spring Boot</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/typescript">Typescript</a>
</li>
</ul>
</div>
</div>
<hr>
<div class="row">
<div class="col-12 col-sm-4 col-md-2">
<div class="fs-4">
<ul class="list-unstyled d-flex">
<li class="me-3">
<a aria-label="Telegram" target="_blank" class="link-light" rel="noopener noreferrer nofollow" href="https://t.me/hexlet_ru"><span class="bi bi-telegram"></span>
</a></li>
<li>
<a aria-label="Youtube" target="_blank" class="link-light" rel="noopener noreferrer nofollow" href="https://www.youtube.com/user/HexletUniversity"><span class="bi bi-youtube"></span>
</a></li>
</ul>
</div>
<div class="mb-2 d-flex flex-column">
<a class="link-light text-decoration-none" rel="nofollow" href="mailto:support@hexlet.io">support@hexlet.io</a>
<a class="link-light text-decoration-none py-2" target="_blank" href="https://t.me/hexlet_help_bot">t.me/hexlet_help_bot</a>
</div>
<ul class="list-unstyled d-flex">
<li class="me-3">
<span class="link-light text-decoration-none opacity-50 x-font-size-18 external-link" rel="nofollow" data-href="https://hexlet.io/locale/switch?new_locale=en" data-target="_self" role="button"><span class="my-auto">EN</span>
</span></li>
<li class="me-3">
<span class="link-light text-decoration-none opacity-50 x-font-size-18 opacity-100 external-link" rel="nofollow" data-href="https://ru.hexlet.io/locale/switch?new_locale=ru" data-target="_self" role="button"><span class="my-auto">RU</span>
</span></li>
<li class="me-3">
<span class="link-light text-decoration-none opacity-50 x-font-size-18 external-link" rel="nofollow" data-href="https://kz.hexlet.io/locale/switch?new_locale=kz" data-target="_self" role="button"><span class="my-auto">KZ</span>
</span></li>
</ul>
</div>
<div class="col-12 col-sm-4 col-md-3">
<ul class="list-unstyled fs-4">
<li class="mb-3">
<a class="link-light text-decoration-none" href="tel:8%20800%20100%2022%2047">8 800 100 22 47</a>
<span class="d-block opacity-50 small">бесплатно по РФ</span>
</li>
<li>
<a class="link-light text-decoration-none" href="tel:%2B7%20495%20085%2021%2062">+7 495 085 21 62</a>
<span class="d-block opacity-50 small">бесплатно по Москве</span>
</li>
</ul>
</div>
<div class="col-12 col-sm-4 col-md-3">
<div class="small mb-3">Образовательные услуги оказываются на основании Л035-01298-77/01989008 от 14.03.2025</div>
<ul class="list-unstyled small">
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/legal">Правовая информация</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/offer">Оферта</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/license">Лицензия</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/contacts">Контакты</a>
</li>
</ul>
</div>
<div class="col-12 col-sm-12 col-md-4 small">
<div class="mb-2">
<div>ООО «<a href="/" class="text-decoration-none link-light">Хекслет Рус</a>»</div>
<div>108813 г. Москва, вн.тер.г. поселение Московский,</div>
<div>г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3</div>
<div>ОГРН 1217300010476</div>
<div>ИНН 7325174845</div>
</div>
<hr>
<div>АНО ДПО «<a href="/" class="text-decoration-none link-light">Учебный центр «Хекслет</a>»</div>
<div>119331 г. Москва, вн. тер. г. муниципальный округ</div>
<div>Ломоносовский, пр-кт Вернадского, д. 29</div>
<div>ОГРН 1247700712390</div>
<div>ИНН 7736364948</div>
</div>
</div>
</footer>
<div id="root-assistant-offcanvas"></div>
<script src="/vite/assets/assistant-Bukl1lYy.js" crossorigin="anonymous" type="module"></script><link rel="modulepreload" href="/vite/assets/chunk-DsPFFUou.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/init-BrRXra1y.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/ErrorFallbackBlock-naDSYSy9.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/MarkdownBlock-DbyKWoR_.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/gon-D3e4yh1x.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/mantine-CGMYrt2Y.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/shiki-V011pkdv.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/utils-DRqSHbQE.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/routes-CCH8ilKF.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/lib-XR8Qr8kR.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/dist-GCHh59xr.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Box-B5-OOzBf.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/notifications.store-C-3AFSMn.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/useIsomorphicEffect-HJ6VK0D3.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/lib-KSp6QbZ0.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/axios-BEvgo0ym.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/classnames-l6ipYlLR.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/dayjs.min-BkKovM-s.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/debounce-jMQ_Cf4f.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/i18next-BlSq9s7B.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/client-U9M77rxp.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-dom-DaLxUz_h.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/useTranslation-Bx1Cdrkz.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/compiler-runtime-6XxiPFnt.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/jsx-runtime-CwjcCKJi.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-CkL4ZRHB.js" as="script" crossorigin="anonymous">
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v67327c56f0bb4ef8b305cae61679db8f1769101564043" integrity="sha512-rdcWY47ByXd76cbCFzznIcEaCN71jqkWBBqlwhF1SY7KubdLKZiEGeP7AyieKZlGP9hbY/MhGrwXzJC/HulNyg==" data-cf-beacon='{"version":"2024.11.0","token":"d11015b65d11429ea6b4a2ef37dd7e0b","server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>