The post has been translated automatically. Original language: Russian
MIT, BSD, and Apache 2.0 are permissive licenses.
Their basic idea is simple:
the code can be taken, modified, used in your products and distributed further with minimal restrictions.
MIT
MIT is one of the simplest licenses.
She allows it:
- use the code in commercial products;
- change it;
- distribute;
- include it in closed programs;
- sell products based on it.
The main requirement is to keep the license text and copyright information.
In other words, a company can take a project under MIT, modify it, and release it as part of its own proprietary product.
The author of the original project does not automatically receive the right to make these changes.
BSD
BSD works on roughly the same principle.
It also allows you to freely use the code, including in closed commercial products.
The differences between MIT and BSD are small for most projects and are more often related to the wording of the license.
Apache 2.0
Apache 2.0 provides similar freedom, but regulates legal issues in more detail.
Its important difference is the provisions on patents.
If a project participant submits code that uses a patent belonging to him, the license, within certain limits, gives users the right to apply this patent together with the project.
This can be a significant advantage for large and corporate projects.
Why do companies like such licenses?
Because they create almost no obstacles to implementation.
The developer does not need to think:
"If I use this library, will I have to open my entire product?"
Not usually.
Therefore, technologies for MIT, BSD and Apache 2.0 are easier to get:
- in commercial products;
- to large companies;
- to cloud services;
- to other open projects.
The fewer the restrictions, the easier the technology is distributed.
What is the disadvantage for the author
The same freedom works against him.
A competitor can:
- Take your code;
- improve it;
- embed it in your product;
- do not publish changes;
- earn on the result.
And this is not a violation of the license.
Therefore, permissive licenses are well suited when the main goal is to maximize the spread of technology.
But if you want the improvements to be returned to the open source project, you will need a different approach.
For this purpose, there are licenses with the copyleft principle, primarily the GPL and AGPL.
About them — in the following material.
MIT, BSD и Apache 2.0 относятся к разрешительным лицензиям.
Их основная идея проста:
код можно брать, изменять, использовать в своих продуктах и распространять дальше с минимальными ограничениями.
MIT
MIT — одна из самых простых лицензий.
Она разрешает:
- использовать код в коммерческих продуктах;
- изменять его;
- распространять;
- включать в закрытые программы;
- продавать продукты на его основе.
Главное требование — сохранить текст лицензии и сведения об авторских правах.
То есть компания может взять проект под MIT, изменить его и выпустить уже как часть собственного закрытого продукта.
Автор оригинального проекта при этом не получает автоматического права на эти изменения.
BSD
BSD работает примерно по тому же принципу.
Она также позволяет свободно использовать код, в том числе в закрытых коммерческих продуктах.
Различия между MIT и BSD для большинства проектов небольшие и чаще связаны с формулировками лицензии.
Apache 2.0
Apache 2.0 даёт похожую свободу, но подробнее регулирует юридические вопросы.
Её важное отличие — положения о патентах.
Если участник проекта передаёт код, который использует принадлежащий ему патент, лицензия в определённых пределах даёт пользователям право применять этот патент вместе с проектом.
Для крупных и корпоративных проектов это может быть существенным преимуществом.
Почему компании любят такие лицензии
Потому что они почти не создают препятствий для внедрения.
Разработчику не нужно думать:
«Если я использую эту библиотеку, придётся ли мне открывать весь свой продукт?»
Обычно — нет.
Поэтому технологии под MIT, BSD и Apache 2.0 легче попадают:
- в коммерческие продукты;
- в крупные компании;
- в облачные сервисы;
- в другие открытые проекты.
Чем меньше ограничений, тем проще распространяется технология.
В чём недостаток для автора
Та же свобода работает и против него.
Конкурент может:
- взять ваш код;
- улучшить его;
- встроить в свой продукт;
- не публиковать изменения;
- зарабатывать на результате.
И это не нарушение лицензии.
Поэтому разрешительные лицензии хорошо подходят, когда главная цель — максимальное распространение технологии.
Но если вы хотите, чтобы улучшения обязательно возвращались в открытый проект, потребуется другой подход.
Для этого существуют лицензии с принципом copyleft — прежде всего GPL и AGPL.
О них — в следующем материале.