Я заработал более 300 тысяч долларов на простом JavaScript-проекте lightGallery, используя двойное лицензирование.
Вот всё, что вам нужно знать о монетизации вашего проекта с открытым исходным кодом с помощью двойного лицензирования. Двойное лицензирование (dual licensing) — это бизнес-модель, при которой вы предлагаете своё программное обеспечение под двумя разными лицензиями:
- Бесплатная лицензия с открытым исходным кодом (GPL или AGPL)
- Платная коммерческая лицензия
Когда программное обеспечение имеет двойное лицензирование, пользователи могут выбирать условия его использования.
Как это работает?
Если вы выбираете бесплатную лицензию GPL и используете код под лицензией GPL в своём проекте, то, согласно условиям, вам придётся открыть исходный код всего проекта. Например, если компания использует ваш JavaScript под лицензией GPL на своём веб-сайте, она должна опубликовать весь исходный код своего веб-сайта.
Большинство компаний не могут этого сделать. Так они приобретают у вас коммерческую лицензию, которая даёт им право использовать код в проектах с закрытым исходным кодом.
В этом суть бизнес-модели.
Выбор правильной лицензии: GPL или AGPL
Главное — понимать, что приводит к применению правил открытого исходного кода.
GPLv3: Лучше всего подходит для библиотек и фреймворков. Действует при распространении. Если кто-то включает ваш JavaScript под GPL на свой общедоступный веб-сайт, он должен открыть исходный код всего своего сайта.
AGPLv3: Лучше всего подходит для SaaS-продуктов. Она закрывает «лазейку SaaS», когда код используется на сервере, но никогда не распространяется. AGPL срабатывает, когда пользователь взаимодействует с программным обеспечением по сети.
Работа с контрибьюторами
Вы не можете продавать или повторно лицензировать код, которым не владеете. Когда другие вносят вклад, вам необходимы законные права на их код.
У вас есть два основных варианта:
- CLA (Contributor License Agreement, лицензионное соглашение участника): Участники разрешают вам использовать свой код. Они по-прежнему владеют им.
- CAA (Copyright Assignment Agreement, соглашение о передаче авторских прав): участники передают вам право собственности на код.
Для модели двойного лицензирования CAA — самый безопасный вариант. Вы можете использовать ботов, таких как CLA Assistant на GitHub, для автоматизации подписания перед объединением любых пул-реквестов.
Перевод существующего проекта на двойную лицензию
Если у вас есть другие участники, вам необходимо получить их разрешение на повторное лицензирование их кода. Если они откажутся или не ответят, вам придется удалить их вклады.
Выпустите новую версию под новой основной версией (например, v3.x → v4.0). Это предотвратит случайное нарушение пользователями лицензионных соглашений при использовании менеджеров пакетов, таких как NPM.
Старые версии остаются бесплатными под старой лицензией. Дайте людям веский повод для обновления, предоставив новую версию с эксклюзивным набором новых функций.
Двойное лицензирование — проверенная стратегия, используемая десятилетиями такими крупными игроками, как Oracle. Это надежная бизнес-модель, которую вы можете уверенно применять в своих проектах.
Доход от lightGallery помог мне сосредоточиться на основном проекте, не беспокоясь о потере дохода после увольнения. Сейчас я разрабатываю ParityDeals, чтобы упростить ценообразование и выставление счетов по факту использования для SaaS-сервисов.

