Why tTerm's code is open, even though paid plans are coming
All of tTerm's code is now under AGPL v3 instead of MIT, and paid plans are coming soon. Here is why one does not get in the way of the other, and why we opened even the server.
What changed
Since October 11, all of tTerm's code comes out under AGPL v3: tTerm Web in full, both the page and the server, the agent for computers, the Telegram bot and this site. tTerm for your computer, which we are building now, has been under it since its first version. Before that, the bot, the agent and the site came out under MIT. Versions already released under MIT keep it: a license cannot be taken back after the fact. AGPL applies to everything new.
Why even the server is open
tTerm connects to your machines. On a server it signs in as the user tterm with sudo, which means it gets root. A service with that kind of access should not be taken at its word, so everything that has to do with it is open: the core, the separate program that signs certificates, the installer and the agent.
Any promise on our main page can be checked against the code. A certificate lives for two minutes and is good for one server only. The CA keys are kept in a separate process with no network. The installer adds one line to authorized_keys and does not touch sshd_config. The server at app.tterm.net updates straight from the open repository, so what is on GitHub is exactly the code that runs.
Often only the app is open, and the server is kept closed. For a terminal with root on other people's machines, that seems wrong to us.
Why AGPL and not MIT
MIT allows almost anything, including taking the code, improving it and running it as a closed service. The people who connect their servers to such a service then have no way of knowing whom they gave root to, and how.
AGPL does not allow that: whoever runs a modified copy of tTerm as a service for others must open its code to their users. Any service built on our code stays as transparent as ours.
None of this binds you. Connect your machines, work, set tTerm up on your own server: the license only comes into play if you pass tTerm on to other people or run a modified version as a service for them.
So why pay
You will pay for the service, not for access to the code. Keeping tTerm running every day takes servers in the EU and copies of the database, email, support, and someone keeping an eye on updates. That is where the money from paid plans will go, and we will tell you about the plans in advance. While tTerm is in beta, it is free for everyone.
You can run your own copy of tTerm: AGPL allows that. But most people need a terminal, not one more service to host, update and back up themselves.
Other open projects live this way too. In 2020 Plausible moved from MIT to AGPL so that companies would not build competing services on its code without giving anything back. In 2021 Grafana moved to AGPL from Apache 2.0. Both sell a cloud version of their open code.
Where the code is
All of tTerm's code lives in one organization on GitHub: github.com/tterm-net. Here are its repositories and what each one is for:
- tterm-web
tTerm Web, the page and the server: the core that keeps your terminals running, the separate program that signs certificates, and the installers for servers and computers. - tterm-app
tTerm for your computer: the same page in a window of its own, with the shells of that computer. Its engine is written in Rust, and macOS comes first. - tterm-agent
The agent for computers: it connects a Mac or a Linux machine to tTerm Web and to the bot. It dials out by itself and opens no ports. - tterm-telegram
The Telegram bot tTerm grew out of. - site
This site. - .github
The organization's page on GitHub.
The installers are short: read them before you run them.
Try tTerm Web
Sign in with your email: you get a code, and on your own devices a short code is enough after that. Your first server connects in a minute.
Start for free