Blog

Por que o código do tTerm é aberto, mesmo com planos pagos a caminho

Todo o código do tTerm agora está sob a AGPL v3 em vez da licença MIT, e os planos pagos chegam em breve. Explicamos por que uma coisa não atrapalha a outra e por que abrimos até o servidor.

A licença do tTerm Web, conferida no próprio tTerm Web: AGPL v3 desde a primeira versão.

O que mudou

Desde 11 de outubro, todo o código do tTerm sai sob a AGPL v3: o tTerm Web inteiro, tanto a página quanto o servidor, o agente para computadores, o bot no Telegram e este site. O tTerm para o seu computador, que estamos construindo agora, está sob ela desde a primeira versão. Antes disso, o bot, o agente e o site saíam sob a licença MIT. As versões já lançadas sob a MIT continuam com ela: uma licença não pode ser revogada retroativamente. A AGPL vale para tudo o que é novo.

Por que até o servidor é aberto

O tTerm se conecta às suas máquinas. Num servidor, ele entra como o usuário tterm com sudo, ou seja, ganha root. Não dá para simplesmente acreditar na palavra de um serviço com esse tipo de acesso, por isso tudo o que tem a ver com esse acesso é aberto: o núcleo, o programa separado que assina certificados, o instalador e o agente.

Qualquer promessa da nossa página inicial pode ser conferida no código. Um certificado vive dois minutos e vale só para um servidor. As chaves da CA ficam num processo separado, sem rede. O instalador adiciona uma linha ao authorized_keys e não toca no sshd_config. O servidor em app.tterm.net é atualizado direto do repositório aberto, então o que está no GitHub é exatamente o código que está rodando.

Muitas vezes, só o app é aberto e o servidor fica fechado. Para um terminal com root nas máquinas de outras pessoas, isso nos parece errado.

Por que AGPL e não MIT

A licença MIT permite quase tudo, inclusive pegar o código, melhorá-lo e rodá-lo como um serviço fechado. Aí, quem conecta os próprios servidores a um serviço assim não tem como saber a quem deu root, nem como.

A AGPL não permite isso: quem roda uma cópia modificada do tTerm como serviço para outras pessoas precisa abrir o código dela para os próprios usuários. Qualquer serviço construído sobre o nosso código continua tão transparente quanto o nosso.

Nada disso cria obrigações para você. Conecte as suas máquinas, trabalhe, instale o tTerm no seu próprio servidor: a licença só entra em jogo se você repassar o tTerm a outras pessoas ou rodar uma versão modificada como serviço para elas.

Então por que pagar

Você vai pagar pelo serviço, não pelo acesso ao código. Manter o tTerm funcionando todos os dias exige servidores na UE e cópias do banco de dados, e-mail, suporte e alguém de olho nas atualizações. É para isso que vai o dinheiro dos planos pagos, e vamos falar dos planos com antecedência. Enquanto o tTerm está em beta, ele é grátis para todos.

Você pode rodar a sua própria cópia do tTerm: a AGPL permite. Mas a maioria das pessoas precisa de um terminal, não de mais um serviço para hospedar, atualizar e fazer backup por conta própria.

Outros projetos abertos também vivem assim. Em 2020, o Plausible trocou a licença MIT pela AGPL para que empresas não construíssem serviços concorrentes sobre o código dele sem dar nada em troca. Em 2021, o Grafana passou da Apache 2.0 para a AGPL. Os dois vendem uma versão na nuvem do próprio código aberto.

Onde fica o código

Todo o código do tTerm fica numa organização no GitHub: github.com/tterm-net. Estes são os repositórios dela e para que serve cada um:

  • tterm-web
    O tTerm Web, a página e o servidor: o núcleo que mantém os seus terminais rodando, o programa separado que assina certificados e os instaladores para servidores e computadores.
  • tterm-app
    O tTerm para o seu computador: a mesma página numa janela própria, com os shells daquele computador. O motor é escrito em Rust, e o macOS vem primeiro.
  • tterm-agent
    O agente para computadores: conecta um Mac ou uma máquina Linux ao tTerm Web e ao bot. Ele inicia a conexão sozinho e não abre portas.
  • tterm-telegram
    O bot no Telegram que deu origem ao tTerm.
  • site
    Este site.
  • .github
    A página da organização no GitHub.

Os instaladores são curtos: leia-os antes de rodar.

Experimente o tTerm Web

Entre com o seu e-mail: você recebe um código, e depois, nos seus próprios dispositivos, basta um código curto. O seu primeiro servidor se conecta em um minuto.

Comece grátis

Mais do blog

Todos os posts
Todos os posts