Blog

Dlaczego kod tTerma jest otwarty, choć będą płatne plany

Cały kod tTerma jest teraz na licencji AGPL v3 zamiast MIT, a wkrótce pojawią się płatne plany. Wyjaśniamy, dlaczego jedno nie przeszkadza drugiemu i dlaczego otworzyliśmy nawet serwer.

Licencja tTerm Web sprawdzona w samym tTerm Web: AGPL v3 od pierwszej wersji.

Co się zmieniło

Od 11 października cały kod tTerma jest publikowany na licencji AGPL v3: tTerm Web w całości, zarówno strona, jak i serwer, agent dla komputerów, bot na Telegramie i ta witryna. tTerm na komputer, który właśnie budujemy, ma tę licencję od pierwszej wersji. Wcześniej bot, agent i witryna były publikowane na licencji MIT. Wersje, które już wyszły na MIT, tę licencję zachowują: licencji nie da się cofnąć z mocą wsteczną. AGPL dotyczy wszystkiego, co nowe.

Dlaczego otwarty jest nawet serwer

tTerm łączy się z twoimi maszynami. Na serwerze loguje się jako użytkownik tterm z dostępem do sudo, czyli uzyskuje uprawnienia roota. Usłudze z takim dostępem nie należy wierzyć na słowo, dlatego otwarte jest wszystko, co ma z nim związek: rdzeń, osobny program podpisujący certyfikaty, instalator i agent.

Każdą obietnicę z naszej strony głównej można sprawdzić w kodzie. Certyfikat jest ważny przez dwie minuty i tylko dla jednego serwera. Klucze CA są przechowywane w osobnym procesie bez dostępu do sieci. Instalator dodaje jeden wiersz do authorized_keys i nie dotyka sshd_config. Serwer pod adresem app.tterm.net aktualizuje się prosto z otwartego repozytorium, więc na GitHubie jest dokładnie ten kod, który działa.

Często otwarta jest tylko aplikacja, a serwer pozostaje zamknięty. Dla terminala z rootem na cudzych maszynach wydaje nam się to niewłaściwe.

Dlaczego AGPL, a nie MIT

MIT pozwala niemal na wszystko, także na to, by wziąć kod, ulepszyć go i uruchomić jako zamkniętą usługę. Ludzie, którzy podłączą swoje serwery do takiej usługi, nie mają wtedy jak się dowiedzieć, komu i w jaki sposób dali roota.

AGPL na to nie pozwala: kto uruchamia zmodyfikowaną kopię tTerma jako usługę dla innych, musi udostępnić jej kod swoim użytkownikom. Każda usługa zbudowana na naszym kodzie pozostaje tak samo przejrzysta jak nasza.

Ciebie to do niczego nie zobowiązuje. Podłączaj swoje maszyny, pracuj, postaw tTerm na własnym serwerze: licencja ma znaczenie dopiero wtedy, gdy przekazujesz tTerm innym ludziom albo uruchamiasz zmodyfikowaną wersję jako usługę dla nich.

Po co więc płacić

Płacić będziesz za usługę, a nie za dostęp do kodu. Żeby tTerm działał każdego dnia, potrzebne są serwery w UE i kopie bazy danych, poczta, pomoc techniczna i ktoś, kto pilnuje aktualizacji. Na to pójdą pieniądze z płatnych planów, a o samych planach powiemy z wyprzedzeniem. Dopóki trwa beta, tTerm jest bezpłatny dla wszystkich.

Możesz uruchomić własną kopię tTerma: AGPL na to pozwala. Ale większość ludzi potrzebuje terminala, a nie kolejnej usługi do samodzielnego hostowania, aktualizowania i robienia kopii zapasowych.

Tak działają też inne otwarte projekty. W 2020 roku projekt Plausible przeszedł z MIT na AGPL, żeby firmy nie budowały na jego kodzie konkurencyjnych usług, nic nie dając w zamian. W 2021 roku Grafana przeszła na AGPL z Apache 2.0. Oba projekty sprzedają chmurową wersję swojego otwartego kodu.

Gdzie jest kod

Cały kod tTerma jest w jednej organizacji na GitHubie: github.com/tterm-net. Oto jej repozytoria i to, do czego służy każde z nich:

  • tterm-web
    tTerm Web, strona i serwer: rdzeń, na którym działają twoje terminale, osobny program podpisujący certyfikaty oraz instalatory dla serwerów i komputerów.
  • tterm-app
    tTerm na komputer: ta sama strona we własnym oknie, z powłokami tego komputera. Jego silnik jest napisany w Ruście, a pierwszą platformą jest macOS.
  • tterm-agent
    Agent dla komputerów: podłącza Maca lub maszynę z systemem Linux do tTerm Web i do bota. Sam nawiązuje połączenie i nie otwiera żadnych portów.
  • tterm-telegram
    Bot na Telegramie, od którego zaczął się tTerm.
  • site
    Ta witryna.
  • .github
    Strona organizacji na GitHubie.

Instalatory są krótkie: przeczytaj je przed uruchomieniem.

Wypróbuj tTerm Web

Zaloguj się adresem e-mail: dostaniesz kod, a później na własnych urządzeniach wystarczy krótki kod. Pierwszy serwer podłączysz w minutę.

Zacznij za darmo

Więcej na blogu

Wszystkie wpisy
Wszystkie wpisy