Блог

Почему код tTerm открыт, хотя будут платные тарифы

Весь код tTerm теперь под лицензией AGPL v3 вместо MIT, а скоро появятся платные тарифы. Рассказываем, почему одно другому не мешает и зачем мы открыли даже сервер.

Лицензия tTerm Web, проверенная в самом tTerm Web: AGPL v3 с первой версии.

Что поменялось

С 11 октября весь код tTerm выходит под AGPL v3: tTerm Web целиком, и страница, и сервер, агент для компьютеров, бот в Telegram и этот сайт. С первой версии под ней же и tTerm для компьютера, который мы сейчас делаем. До этого бот, агент и сайт выходили под MIT. Версии, которые успели выйти под MIT, под ней и останутся: лицензию нельзя отозвать задним числом. AGPL действует для всего нового.

Почему открыт даже сервер

tTerm подключается к твоим машинам. На сервере он входит пользователем tterm с правом sudo, то есть получает root. Сервису с таким доступом нельзя верить на слово, поэтому открыто всё, что к нему относится: ядро, отдельная программа подписи сертификатов, установщик и агент.

Любое обещание с нашей главной можно проверить по коду. Сертификат живёт две минуты и годится только для одного сервера. Ключи CA лежат в отдельном процессе без сети. Установщик добавляет одну строку в authorized_keys и не трогает sshd_config. Сервер на app.tterm.net обновляется прямо из открытого репозитория, так что на GitHub лежит ровно тот код, который работает.

Часто открывают только приложение, а сервер держат закрытым. Для терминала с root на чужих машинах нам это кажется неправильным.

Почему AGPL, а не MIT

MIT разрешает почти всё, в том числе взять код, доработать его и запустить закрытым сервисом. Тогда люди, которые подключат к такому сервису свои серверы, уже не смогут узнать, кому и как они отдали root.

AGPL этого не позволяет: кто запускает изменённую копию tTerm как сервис для других, обязан открыть её код своим пользователям. Любой сервис на нашем коде останется таким же прозрачным, как наш.

Тебя это ни к чему не обязывает. Подключай свои машины, работай, ставь tTerm у себя: лицензия вступает в дело, только если ты раздаёшь tTerm другим людям или запускаешь изменённую версию как сервис для них.

Зачем тогда платить

Платить будут за сервис, а не за доступ к коду. Чтобы tTerm работал каждый день, нужны серверы в ЕС и копии базы, почта, поддержка, присмотр за обновлениями. На это и пойдут деньги с платных тарифов, а о них мы напишем заранее. Пока tTerm в бете, он бесплатный для всех.

Поднять свою копию tTerm можно, AGPL это разрешает. Но большинству нужен терминал, а не ещё один сервис, который надо держать, обновлять и копировать самому.

Так живут и другие открытые проекты. Plausible в 2020 году сменила MIT на AGPL, чтобы компании не строили на её коде конкурирующие сервисы, ничего не отдавая взамен. Grafana в 2021 году перешла на AGPL с Apache 2.0. Обе продают облачную версию своего открытого кода.

Где код

Весь код tTerm лежит в одной организации на GitHub: github.com/tterm-net. Вот её репозитории и за что отвечает каждый:

  • tterm-web
    tTerm Web, страница и сервер: ядро, которое держит твои терминалы, отдельная программа подписи сертификатов и установщики для серверов и компьютеров.
  • tterm-app
    tTerm для компьютера: та же страница в своём окне, с шеллами этого компьютера. Движок написан на Rust, начинаем с macOS.
  • tterm-agent
    Агент для компьютеров: подключает Mac или Linux к tTerm Web и к боту. Сам выходит на связь и не открывает портов.
  • tterm-telegram
    Бот в Telegram, с которого начался tTerm.
  • site
    Этот сайт.
  • .github
    Страница организации на GitHub.

Установщики короткие: прочитай их перед запуском.

Попробуй tTerm Web

Вход по почте: придёт код, а на своих устройствах потом хватит короткого кода. Первый сервер подключается за минуту.

Начать бесплатно

Ещё в блоге

Все записи
Все записи