Обычно у open source есть три вектора. Первый — это pet-проекты. Второй — вклад в коммьюнити, создание бесплатных библиотек, из которых можно брать модули и встраивать в свои продукты. Это делает жизнь других инженеров проще. И третий вектор — открытие части или всего исходного кода коммерческих продуктов, чтобы код могли проверить на безопасность, убедиться, что там нет уязвимостей или самостоятельно модифицировать программу под потребности компании. Мы пошли по третьему пути и выбрали лицензию, которая позволяет покупателям модифицировать код серверной части (при этом клиентская часть останется проприетарной — она несет в себе коммерческую функцию, которая обеспечивает команду ресурсами на развитие продукта).
Выбрали GNU General Public License v3.0 по трем причинам. Во-первых, наш backend-проект использует ряд сторонних библиотек, каждая из которых покрыта GNU-совместимыми лицензиями. Например, GNU LGPL v2.1, GNU LGPL v3.0, GNU GPL v2.0, GNU GPL v3.0. Это обязывает нас использовать такую же или совместимую лицензию для нашего проекта. Во-вторых, при использовании GNU GPLv3 исходный код продуктов на основе нашего проекта НЕ может быть закрытым, так как наш исходный код открыт. В-третьих, менее строгие лицензии, как MIT, MPL, Apache 2.0, нам не подошли. Rocket.Chat и Mattermost используют MIT/Apache 2.0, но это уже полноценные open source проекты, а наша цель на данный момент — аудит кода и возможность его модификации.
Обычно под open-source подразумеваются серверные решения, но не мобильные или десктопные клиенты. Чтобы в современном мире создать качественное и конкурентоспособное приложения для iOS/Android, нужна большая команда с product owner'ом, дизайнерами-разработчиками интерфейса, тестировщиками и высокооплачиваемыми инженерами. На содержание такой команды и, соответственно, развитие продукта, нужны ресурсы. Поэтому инвестиции в коммерческую версию продукта — это гарантия, что приложения будут качественными, удобными и стабильными. Так как речь о корпоративных коммуникациях и сотнях сообщений в день, баги и ошибки, которые случаются, например, в приложениях Mattermost, это недопустимая история.
Весьма актуально.
Благодарю за статью.
Подписался.
Большое спасибо!