TL;DR: Проект Cap (открытый аналог Loom, 22 800 звёзд на GitHub) держит весь монорепозиторий в открытом доступе, но выстроил четыре уровня монетизации. Главный ход: базовые движки захвата отданы под MIT, основной монорепозиторий закрыт AGPLv3, а коммерческая лицензия за $29/год продаётся не на исходный код, а на официально собранный бинарник. Разбираем архитектуру на Rust/Tauri + Next.js, код проверки лимитов и то, что из этой схемы может применить разработчик-одиночка.
Большинство попыток заработать на открытом коде упираются в две крайности:
Сбор донатов. Автор ставит кнопку спонсорства на GitHub или ссылку на Boosty. Проект собирает десятки тысяч звёзд, раздел Issues разрастается от баг-репортов, а создатель получает пару сотен долларов в месяц за круглосуточную техподдержку.
Внезапная смена лицензии. Проект привлекает инвестиции, набирает аудиторию за счёт сообщества, а затем переходит на закрытую коммерческую лицензию вроде BSL или SSPL (история Redis, Elastic и MongoDB). Сообщество отвечает резким негативом и немедленно делает форки (Valkey, OpenSearch), а доверие к авторам теряется навсегда.
В конце 2023 года появился проект Cap — инструмент для записи экрана, альтернатива сервису Loom. Сейчас у репозитория CapSoftware/Cap уже 22 800 звёзд на GitHub, небольшая удалённая команда и устойчивая выручка.
При этом весь исходный код доступен публично. Любой разработчик может склонировать проект, выполнить docker compose up -d и поднять сервис на своём сервере.
Я внимательно изучил монорепозиторий Cap, их лицензионные соглашения и тарифную сетку. Ниже — подробный разбор того, как устроена эта модель с точки зрения кода и бизнеса.
Архитектура: как устроен проект под капотом
Cap устроен сложнее обычного веб-сервиса. Это монорепозиторий, разделенный на несколько независимых уровней:

-
Десктопное приложение (
apps/desktopиapps/desktop-gpui):Клиент написан на Rust с использованием фреймворка Tauri (а в новой ветке разрабатывается нативный интерфейс на GPUI).
Внутри работает легковесный веб-интерфейс на React.
Захват видео идёт напрямую через системные API macOS (ScreenCaptureKit) и Windows.
-
Низкоуровневые библиотеки (
cap-camera*,scap-*):Отдельные крейты на Rust, отвечающие за захват картинки с экрана и веб-камеры.
-
Серверная часть (
apps/web):Веб-приложение на Next.js с обработчиками API на базе Hono.
База данных — MySQL.
Объектное хранилище — совместимое с S3 (MinIO для локальной работы, AWS S3 или Cloudflare R2 на продакшене).
-
Медиа-сервер (
apps/media-server):Фоновый сервис на базе FFmpeg, отвечающий за обработку, нарезку и пережатие видеофайлов.
В репозитории нет закрытых модулей: клиент, серверные эндпоинты и файлы развёртывания лежат в общем доступе.

Разделение лицензий: как защитить открытый код от клонирования
Интереснее всего в Cap устроен не стек технологий, а структура файла LICENSE в корне репозитория.
Авторы не стали выбирать одну лицензию для всего проекта, а разделили кодовую базу на три юридические зоны с разными задачами:
CapSoftware/Cap ├── cap-camera* / scap-* ──► Лицензия MIT (распространение и помощь сообщества) ├── apps/web / desktop ──► Лицензия AGPLv3 (защита от перепродажи в виде SaaS) └── Сборки .dmg / .exe ──► Коммерческая лицензия (монетизация готовых файлов, $29/год)
1. Движки захвата под MIT: продвижение и бесплатный вклад сообщества
Библиотеки из семейств cap-camera* и scap-* распространяются под свободной лицензией MIT:
- All code residing in the `cap-camera*` and `scap-*` families of crates is licensed under the MIT License (see licenses/LICENSE-MIT).
Любой сторонний разработчик вправе взять этот код в свой проект, включая полностью закрытый коммерческий продукт.
Зачем авторам отдавать ядро бесплатно?
Высокая сложность захвата экрана. Стабильная запись экрана на macOS через ScreenCaptureKit и на Windows с поддержкой аппаратного ускорения — тяжёлая низкоуровневая задача.
Помощь сторонних инженеров. Другие Rust-разработчики находят ошибки, присылают исправления, оптимизируют код и тестируют библиотеки на разном железе.
Узнаваемость. Cap становится базовым стандартом видеозахвата для всей экосистемы Rust.
2. Приложение и бэкенд под AGPLv3: барьер для облачных провайдеров
Всё остальное в репозитории — веб-панель, шеринг записей, само десктопное приложение — распространяется под лицензией AGPLv3.
Главное требование 13-й статьи AGPLv3: если вы вносите изменения в программу и запускаете её как сетевую службу (SaaS) для сторонних пользователей, вы обязаны опубликовать полный исходный код своих доработок под той же лицензией.
Это закрывает типичную проблему открытых проектов:
Сторонний сервис или облачный хостинг берёт готовый код Cap.
Меняет логотип, подключает приём платежей и продаёт чужой софт как свой, не помогая развитию оригинала.
Под AGPLv3 такой конкурент обязан открыть исходный код своей платформы. Нарушение этого условия ведёт к судебному иску.
Кроме того, AGPLv3 работает как фильтр для крупных корпораций. Юридические отделы многих enterprise-компаний запрещают сотрудникам использовать продукты под AGPL, чтобы случайно не поставить под угрозу закрытую интеллектуальную собственность компании. Этот барьер подталкивает корпоративных заказчиков сразу покупать коммерческую подписку.
3. Коммерческая лицензия на готовые сборки
Самая любопытная деталь проекта связана с монетизацией десктопного клиента.
Если код доступен под AGPLv3, на каком основании с пользователей берут оплату за программу на рабочем компьютере?
Ответ содержится на странице коммерческого лицензирования Cap (cap.so/docs/commercial-license)

Официальная формулировка из документации:
"The Cap Desktop application you can download from our download page is free to use, but requires a commercial license to be used for commercial purposes...
This license does not apply to versions of the app you build yourself from our source code, only to binaries that we distribute."
В переводе на простой язык:
Если вы скачали готовый установочный пакет (
.dmgдля macOS или.exeдля Windows) с официального сайта и используете его для рабочих задач (запись скринкастов для клиентов, созвоны, внутренние видео) — вы обязаны приобрести Desktop License за $29 в год (или за $58 разово).Но если вы клонировали репозиторий с GitHub, установили компилятор Rust, настроили окружение и собрали бинарный файл самостоятельно через
cargo build— вы пользуетесь программой бесплатно и легально.
Почему эта схема работает?
Потому что ни одна компания не будет оплачивать рабочие часы штатного разработчика ради экономии $29 в год.
Самостоятельная сборка приложения и его поддержка требуют ощутимых усилий:
Нужно поставить и обновлять тулчейн Rust, Node.js, pnpm и сборочные зависимости Tauri.
На macOS возникает проблема цифровой подписи кода (Code Signing). Без платной учётной записи Apple Developer ($99 в год) и процедуры нотаризации система безопасности Gatekeeper блокирует запуск каждого нового билда.
Все обновления придётся пересобирать вручную после каждого выхода багфикса.
Час работы инженера стоит ощутимо дороже $29. Сотруднику гораздо проще оплатить лицензию корпоративной картой и списать её в отчёт о расходах.
Cap продаёт не закрытые алгоритмы, а удобство готового подписанного файла с регулярными автообновлениями. При этом каждый такой пользователь обходится авторам в $0 затрат на серверы, поскольку локальная запись и экспорт видео выполняются на компьютере пользователя.
Тарифная сетка: четыре источника дохода
Схема монетизации Cap разделена на понятные сегменты — от частных лиц до крупных компаний.

Тариф |
Стоимость |
Что именно покупает клиент |
Затраты на инфраструктуру для создателей |
|---|---|---|---|
Free |
$0 |
Полный редактор на компьютере, экспорт в 4K, облачные ссылки до 5 минут. Только некоммерческое использование. |
Минимальные (короткие ролики до 5 минут) |
Desktop License |
58 разово) |
Право запускать официальный дистрибутив на работе. Неограниченная локальная запись, до 20 ссылок в месяц. |
$0 (видео хранится и кодируется на клиенте) |
Cap Pro |
8.16/мес при оплате за год) |
Безлимитный облачный шеринг, свой домен ( |
Ощутимые (S3-хранилище, трафик, API нейросетей) |
Enterprise |
Цена Pro + модули (99/мес BAA) |
Корпоративные стандарты: единый вход SAML SSO, отчёты аудита SOC 2 Type II, ISO 27001, соглашение HIPAA BAA. |
Юристы, регулярный аудит безопасности, SLA |
В дополнение к тарифам работает Developer API (0.001 за минуту хранения видео в месяц для сервисов, встраивающих запись к себе).
Код проверки лимита: как устроен 5-минутный пейволл
В проприетарных программах проверки спрятаны в обфусцированном коде. В открытом проекте вся логика видна в исходниках.
Посмотрим, как авторы Cap ограничили длину бесплатных роликов пятью минутами.
Серверная проверка (Next.js / Hono)
В файле apps/web/app/api/desktop/[...route]/video.ts при загрузке ролика сервер проверяет статус аккаунта:
const user = c.get("user"); if ( createWithId && (!videoId || !/^[0-9abcdefghjkmnpqrstvwxyz]{15}$/.test(videoId)) ) { return c.json({ error: "invalid_video_id" }, { status: 400 }); } // Проверяем, оформлена ли у пользователя платная подписка Pro const isCapPro = userIsPro(user); // Если подписки нет, а длина видео больше 5 минут (300 секунд) — возвращаем 403 if (!isCapPro && durationInSecs && durationInSecs > /* 5 min */ 5 * 60) { return c.json({ error: "upgrade_required" }, { status: 403 }); }
Обработка на клиенте (Rust / Tauri)
В коде десктопного приложения (apps/desktop/src-tauri/src/upload.rs) клиент ловит этот ответ:
let status = response.status(); let body = response.text().await; if let Some(error) = body .as_ref() .ok() .and_then(|body| serde_json::from_str::<CreateErrorResponse>(body).ok()) && status == StatusCode::FORBIDDEN && error.error == "upgrade_required" { // Открываем окно с предложением оформить платную подписку return Err(AuthedApiError::UpgradeRequired); }
Сложно ли это обойти?
Любой программист может за десять минут вырезать эту проверку в своём форке или направить клиент на собственный сервер.
Создатели Cap отдают себе в этом отчёт. Расчёт строится на простой закономерности: пользователь, готовый тратить вечер на правку чужого кода и поддержку сборки, всё равно никогда бы не оформил подписку. Деньги приносят те люди, которым нужно быстро отправить ролик клиенту и продолжить основную работу.
Собственный сервер: почему открытый деплой не мешает продажам
Cap даёт возможность поднять всю серверную инфраструктуру самостоятельно. В репозитории лежит готовый конфигурационный файл docker-compose.yml.
Казалось бы, если систему можно поднять бесплатно на своём сервере, зачем платить за облако?
Достаточно взглянуть на список компонентов для самостоятельного развёртывания:
Контейнер веб-приложения на Next.js.
СУБД MySQL.
Хранилище MinIO с настройкой постоянных дисковых томов.
Медиа-сервис с FFmpeg, создающий заметную нагрузку на процессор при кодировании видео.
Настройка обратного прокси (Nginx/Caddy) и выпуск SSL-сертификатов.
Регулярное резервное копирование данных.
Оплата собственных API-ключей для распознавания речи (Whisper) и генерации текстовых саммари через LLM.
При этом авторы прямо заявляют: техподдержка для самостоятельных установок не оказывается.
В результате возможность самостоятельного хостинга решает важную психологическую задачу: снимает страх зависимости от одного сервиса.
Клиент спокоен: если компания закроется или резко взвинтит цены, данные не пропадут — их всегда можно поднять на собственном виртуальном сервере. Но на практике 95% пользователей не хотят тратить время на администрирование рекордера экрана за $8–12 в месяц. Им проще платить за готовое облако.
По точно такой же схеме работают Plausible Analytics, Ghost и Cal.com.
Прямое сравнение с лидером рынка: отстройка от Loom
Вся коммуникация Cap нацелена на прямое сравнение с сервисом Loom, принадлежащим корпорации Atlassian.

Фактическое сравнение выглядит так:
Loom Business: стоит $18 за пользователя в месяц при помесячной оплате. Все внутренние записи компании хранятся исключительно на серверах Atlassian. Оффлайн-режима нет.
Cap Pro: стоит $8.16 за пользователя в месяц при оплате за год. Исходный код открыт, видеозаписи можно сохранять в собственное облачное хранилище S3 или Google Drive, десктопное приложение работает без подключения к сети, а для быстрого перехода есть встроенный инструмент переноса архива из Loom.
Cap не пытается продавать «новую парадигму асинхронных коммуникаций». Они формулируют предложение предельно понятно: «Мы делаем то же самое, что Loom, но в два раза дешевле, с открытым кодом и полным контролем над вашими данными».
Такая подача избавляет от необходимости долго объяснять аудитории пользу продукта: ценность инструмента понятна заранее, остаётся лишь показать выгоду по цене и контролю.
Что стоит перенять разработчику-одиночке
Если вы создаёте собственный продукт и планируете открыть код, вот практические приёмы, которые можно забрать из опыта Cap:
Разделение на домашнее и рабочее использование через лицензирование сборок. Вам не нужно писать сложные механизмы аппаратной защиты от копирования. Достаточно прописать в условиях: личное использование бесплатно, а использование готовой сборки в коммерческой деятельности требует оплаты $29 в год. Компании платят без споров, чтобы не рисковать нарушениями.
Публикация базовых компонентов под MIT, а самого сервиса — под AGPLv3. Если в вашем проекте есть сложная автономная часть (парсер, драйвер, движок захвата), отдайте её под MIT. Это даст поток контрибьюторов и внимание сообщества. Готовое приложение и серверную обвязку держите под AGPLv3 для защиты от копирования крупными игроками.
Ежегодная подписка вместо разовой пожизненной оплаты. Подписка за 58 даёт деньги один раз, но обязывает вас годами поддерживать пользователя и исправлять баги.
Спокойное отношение к открытому пейволлу. Не нужно бояться, что лимит времени или функционала зашит в открытый код. Платящие клиенты ценят своё время и не станут тратить часы на сборку форков.
Чего не стоит повторять без команды и бюджета
Не все шаги Cap подходят для независимого разработчика без стартового капитала:
Обещание безлимитного дискового пространства. Cap предлагает тариф с неограниченным хранилищем. Хранение и раздача терабайтов 4K-видео требуют больших расходов на сетевой трафик. Стартап с венчурными инвестициями может позволить себе субсидировать эти затраты ради быстрого роста, но разработчика-одиночку это быстро уведёт в минус. Для небольшого проекта безопаснее брать деньги за реальный объём хранилища или давать пользователям подключать свои бакеты S3.
Прохождение сертификаций безопасности (SOC 2, ISO 27001, HIPAA). Это дорогостоящий процесс: оплата услуг аудиторов, пентесты, внедрение платформ мониторинга и составление сотен страниц регламентов. Одиночному разработчику браться за это бессмысленно, пока нет подтверждённых контрактов с крупными клиентами на крупные суммы.
Сложные корпоративные продажи. Личные созвоны, заполнение опросников отделов безопасности и согласование индивидуальных договоров отнимают всё рабочее время и не оставляют ресурсов на само написание кода.
Главный вывод
Опыт Cap показывает, как устроен прагматичный Open Core:
Открытый репозиторий приносит проекту более 22 000 звёзд на GitHub, доверие разработчиков и естественный поток пользователей.
Лицензия AGPLv3 гарантирует, что сторонние сервисы не смогут перепродавать продукт под своим брендом без раскрытия кода.
Коммерческая лицензия на готовый бинарный файл ($29) обеспечивает монетизацию корпоративного сегмента без серверных затрат.
Облачный тариф ($12 в месяц) избавляет пользователей от необходимости тратить время на администрирование собственной серверной инфраструктуры.
Это взвешенная модель, которая позволяет проекту развиваться и зарабатывать деньги, не прибегая к скандальным сменам лицензий.
Комментарии (39)

koreec
28.09.2026 23:00Достаточно взглянуть на список компонентов для самостоятельного развёртывания:
Контейнер веб-приложения на Next.js.
СУБД MySQL.
Хранилище MinIO с настройкой постоянных дисковых томов.
Медиа-сервис с FFmpeg, создающий заметную нагрузку на процессор при кодировании видео.
Настройка обратного прокси (Nginx/Caddy) и выпуск SSL-сертификатов.
Регулярное резервное копирование данных.
Claude Code справится с этим примерно за пол-часа

romankurnovskii Автор
28.09.2026 23:00в руках ученого физика - да
Но писал статью не про развертывание приложения, а про подход как монетизации. Также очень интересный подход с лицензиями у проекта n8n, например.

max9
28.09.2026 23:00но зачем? есть встроенная запись у MS, если мало - OBS.
записи на ютуб

Wakabulyar
28.09.2026 23:00Не всеми записями хочется делиться на ютубе. Ну и это просто 8 баксов за удобство.
Не надо настраивать обс, не надо тратить время на создание и шейр папки на гугл драйв, нажал кнопку, отправил ссылку. У лума есть транскрибация, саммари и возможность оставлять комментарии прямо на таймлайне. Если с транскрибацией и саммари ещё можно разобраться локальной ллм, то писать сервис для онлайн-обсуждения с привязкой к таймлайну и с автозагрузкой видео на свои сервера может выйти куда дольше и дороже.

emelyan43
28.09.2026 23:00>Сообщество отвечает резким негативом и немедленно делает форки (Valkey, OpenSearch), а доверие к авторам теряется навсегда.
ахаха, дальше не читал. ну и "эксперт"

romankurnovskii Автор
28.09.2026 23:00Будет время почитать - посмотрите актуальные ветки в twitter, посмотрите историю openoffice и libreoffice

emelyan43
28.09.2026 23:00причём тут oo и lo?
амазон с его OpenSearch это не комьюнити, а топовая корпорация зла.
OpenSearch много лет паразитирует и бесконечно догоняет ES, смысла им пользоваться нет. Практически никто не отказывался от ES, даже в РФ (там качать дистриб неудобно)
монгой тоже пользуюсь уже 10 лет, то что они поменяли лицензию чтобы усложнить паразитам жизнь - молодцы, респект.

romankurnovskii Автор
28.09.2026 23:00так амазоновские сервисные для того и делают, чтобы клиенты(компании крупные) были вендор привязанными - и все чтобы работало из под коробки - для крупных игроков это наоборот преимущество

Freeman_RU
28.09.2026 23:00О да, твиттер это ж прям АРГУМЕНТ. Покажите хоть один проект, который после смены лицензии чувствует себя плохо.

romankurnovskii Автор
28.09.2026 23:00твиттер - да аргумент
пример как раз openoffice/libreoffice
именно с того времени начались активно разработки proprietary продуктов - чтобы не было конфликтов/споров с лицензиями, а также массовая пропаганда - всем публиковать в opensource
то что сегодня наблюдаем - не смена лицензии, а в основном - сервис, и изначальная лицензия, чтобы этим opensource никто не пользовался в целях предоставления услуг как заработка кроме основных разработчиков

Revertis
28.09.2026 23:00Если бы в статье 3-4 раза не повторялось одно и тоже, было бы лучше. В следующий раз скажите Клоду, чтобы так не делал.
Но за инфу спасибо, интересный подход.

trinxery
28.09.2026 23:00Это уже 3-й или 4-й автор подряд (из проверенных мною) (1 2 3), который за 100%-но написанную нейронкой статью получает инвайт даже не от абы кого, а от админстрации Хабра (aka НЛО). Очередное дно пробито.

romankurnovskii Автор
28.09.2026 23:00вы противник нейронок или в статье рекомендуете, чтобы нужно было более "человечно" и понятно описывать идеи?

trinxery
28.09.2026 23:00Я не противник нейронок в общем виде, я сторонник того, что, во-первых, нужно маркировать, в какой степени нейронки использовались при создании материала, и во-вторых, если есть правила (правила Хабра), то либо нужно следить за их соблюдением (вопрос к администрации и @moderator (1 2 3 4 5)), либо отменить вообще.

romankurnovskii Автор
28.09.2026 23:00Я, правда, согласен с вами, наличие нейронок в жизни слишком возросло за последний год. Буду оптимизировать подачу обязательно

Dmitrii_DAK
28.09.2026 23:00А какой смысл Cap или Loom - если есть бесплатный OBS или есть полностью бесплатный и при этом очень простой аналог ShareX (он ещё и скриншоты умеет делать, кроме записи экрана)

romankurnovskii Автор
28.09.2026 23:00Идея не в cap или obs , а интересный способ монетизации open source проектов
OBS мне тоже кажется привычным уже

AlexeyPolunin
28.09.2026 23:00Да не зарабатывает опенсорс нихрена таким образом - максимум на печеньки хватает. И неважно сколько там звезд, люди когда ставят звезду они это делают с чувством аналогичным оплате тищи баксов за лицензию в месяц. Проекты живут либо корпоратам продают что-то задорого, либо это фонд который спонсируется корпоратами или государством. А вот это все так бинарник, сяк бинарник - ну это не работает без отдела продаж, который дороже разработки, особенно учитывая, что там все изолентой на соплях смотано из 100500 компонент. А потом люди читаю и такие - я уволюсь и буду делать свой проект в опенсорс, так как там люди зввезды ставят а потом как-то оно само продастся тк я бинарник сделал - да нихрена, бабки заканчиваются, покупают мало и происходит столкновение с бетонной реальностью.

romankurnovskii Автор
28.09.2026 23:00Согласен, кажется это уже навязанным, что надо все в open source отправлять

Revertis
28.09.2026 23:00люди когда ставят звезду они это делают с чувством аналогичным оплате тищи баксов за лицензию в месяц
Вообще-то, звезда - это добавление в закладки как интересное. Я именно так использую.

ion_nsk_region
28.09.2026 23:00Поддержу предыдущего оратора: Можно почитать как зарабатывают (ну или выживают) такие проекты как:
Blender - Фонд с донатами, подписка на обучающий контент и готовые текстуры и модели, продажа мерча, комиссия с магазина где сторонние разработчики продают свои плагины и 3D-модели.
Moodle - франшиза, где аккредитованные компании оказывают услуги по установке, хостингу, настройке, и техподдержке. Облачный хостинг от самого Moodle.
Postgres - никакого фонда, только группа разработчиков (даже не являющаяся юридическим лицом), которые имеют право одобрять коммиты в репозиторий. Вот этих вот разработчиков и нанимают корпорации, которые и платят им за то, чтобы разработчики развивали Postgres ну или реализовывали какие-то нужные корпорациям фичи.

AlexeyPolunin
28.09.2026 23:00Угу, где-то 30% аудитории так делает, поэтому есть отток звезд в течение 2-3 месяцев (помимо аннулирования бот-аккаунтов), те положил в закладки, потом вернулся в свободное время посмотрел, что не подходит — снял. Где-то 10% от общего роста стоставляет такой отток.

Barnaby
28.09.2026 23:00Так это на одну установку $29, а если их 100? 1000? И никакой инженер тут не нужен, клод автоматический CD настроит и все.
Почему эта схема работает?
А точно работает? Они могут и в минус работать, надеясь что когда-нибудь потом...

mlavrinenko
28.09.2026 23:00Хм, интересно, а они как-то запрещают публикацию собственных сборок? А то ведь легко кому-то одному это сделать и просто опубликовать. В nixpkgs репозитории по таймауту закрылась issue про пакетирование Cap. Вот интересно, если бы её не закрыли, а сделали, то запуская Cap из nix репозитория должен ли я за него платить?

cmyser
Какой смешной оксюморон, спасибо, посмеялся)
romankurnovskii Автор
альтернативы полегче данной имплементации? или показался сложным пользовательский опыт?
cmyser
сразу видно что вы еще меня не видели и не знаете)
не то что бы я какого то о себе там мнения, я просто распространяю\продвигаю лучшее решение для веб приложений
веб фреймворк $mol https://b-on-g.github.io/smalljs/
лучше во всем, лучше всех
trinxery
Уровень критичности вам, видимо, передался от Дмитрия.
cmyser
я просто искренне в это верю
Часто упрекают, но тут я специально такие формулировки выбрал
Roman-Usaty
Я не понимаю. Такое чувство будто я слышал про мол и про Дмитрия. Не сказал бы что хорошее, но сейчас я не помню точно. Вроде тоже какой-то проект продвигал. Не напомните?
trinxery
Дмитрий Карловский -- автор $mol. Известен своим "высоким" уровнем исследования [1 2 3 4 и т.п.] и таким же уровнем самокритичности [1 2 и т.п.].
cmyser
https://b-on-g.github.io/smalljs/
Комент выше, веб фреймворк