Почему код tTerm открыт, хотя будут платные тарифы
Весь код tTerm теперь под лицензией AGPL v3 вместо MIT, а скоро появятся платные тарифы. Рассказываем, почему одно другому не мешает и зачем мы открыли даже сервер.
Что поменялось
С 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
Вход по почте: придёт код, а на своих устройствах потом хватит короткого кода. Первый сервер подключается за минуту.
Начать бесплатно