Blog

Pourquoi le code de tTerm est ouvert, alors que des offres payantes arrivent

Tout le code de tTerm est désormais sous AGPL v3 au lieu de MIT, et des offres payantes arrivent bientôt. Voici pourquoi l’un n’empêche pas l’autre, et pourquoi nous avons ouvert jusqu’au serveur.

La licence de tTerm Web, vérifiée dans tTerm Web lui-même : AGPL v3 depuis la première version.

Ce qui a changé

Depuis le 11 octobre, tout le code de tTerm est publié sous AGPL v3 : tTerm Web en entier, la page comme le serveur, l’agent pour ordinateurs, le bot Telegram et ce site. tTerm pour votre ordinateur, que nous développons en ce moment, est sous cette licence depuis sa première version. Auparavant, le bot, l’agent et le site étaient publiés sous MIT. Les versions déjà publiées sous MIT le restent : une licence ne se retire pas après coup. L’AGPL s’applique à tout ce qui est nouveau.

Pourquoi même le serveur est ouvert

tTerm se connecte à vos machines. Sur un serveur, il ouvre une session en tant qu’utilisateur tterm avec sudo, autrement dit il obtient les droits root. Un service doté d’un tel accès ne doit pas être cru sur parole, c’est pourquoi tout ce qui le concerne est ouvert : le cœur, le programme distinct qui signe les certificats, l’installateur et l’agent.

Chaque promesse de notre page d’accueil peut être vérifiée dans le code. Un certificat vit deux minutes et ne vaut que pour un seul serveur. Les clés de la CA sont conservées dans un processus séparé, sans accès au réseau. L’installateur ajoute une ligne à authorized_keys et ne touche pas à sshd_config. Le serveur derrière app.tterm.net se met à jour directement depuis le dépôt ouvert, si bien que ce qui est sur GitHub est exactement le code qui tourne.

Souvent, seule l’application est ouverte et le serveur reste fermé. Pour un terminal qui a les droits root sur les machines des autres, cela nous semble une erreur.

Pourquoi l’AGPL plutôt que MIT

La licence MIT permet presque tout, y compris de prendre le code, de l’améliorer et de le faire tourner comme un service fermé. Ceux qui connectent leurs serveurs à un tel service n’ont alors aucun moyen de savoir à qui ils ont donné les droits root, ni comment.

L’AGPL ne le permet pas : quiconque fait tourner une copie modifiée de tTerm comme service pour d’autres doit en ouvrir le code à ses utilisateurs. Tout service construit sur notre code reste aussi transparent que le nôtre.

Rien de tout cela ne vous engage. Connectez vos machines, travaillez, installez tTerm sur votre propre serveur : la licence n’entre en jeu que si vous transmettez tTerm à d’autres personnes ou si vous faites tourner pour elles une version modifiée comme service.

Alors, pourquoi payer

Vous paierez pour le service, pas pour l’accès au code. Faire tourner tTerm chaque jour demande des serveurs dans l’UE et des copies de la base de données, l’envoi d’e-mails, du support, et quelqu’un qui surveille les mises à jour. C’est là qu’ira l’argent des offres payantes, et nous vous les présenterons à l’avance. Tant que tTerm est en bêta, il est gratuit pour tout le monde.

Vous pouvez faire tourner votre propre copie de tTerm : l’AGPL le permet. Mais la plupart des gens ont besoin d’un terminal, pas d’un service de plus à héberger, à mettre à jour et à sauvegarder eux-mêmes.

D’autres projets ouverts fonctionnent de la même façon. En 2020, Plausible est passé de la licence MIT à l’AGPL pour que des entreprises ne construisent pas de services concurrents sur son code sans rien donner en retour. En 2021, Grafana est passé de la licence Apache 2.0 à l’AGPL. Tous deux vendent une version cloud de leur code ouvert.

Où trouver le code

Tout le code de tTerm se trouve dans une seule organisation sur GitHub : github.com/tterm-net. Voici ses dépôts et le rôle de chacun :

  • tterm-web
    tTerm Web, la page et le serveur : le cœur qui fait tourner vos terminaux, le programme distinct qui signe les certificats, et les installateurs pour serveurs et ordinateurs.
  • tterm-app
    tTerm pour votre ordinateur : la même page dans sa propre fenêtre, avec les shells de cet ordinateur. Son moteur est écrit en Rust, et macOS vient en premier.
  • tterm-agent
    L’agent pour ordinateurs : il connecte un Mac ou une machine Linux à tTerm Web et au bot. Il se connecte lui-même vers l’extérieur et n’ouvre aucun port.
  • tterm-telegram
    Le bot Telegram dont tTerm est issu.
  • site
    Ce site.
  • .github
    La page de l’organisation sur GitHub.

Les installateurs sont courts : lisez-les avant de les lancer.

Essayez tTerm Web

Connectez-vous avec votre adresse e-mail : vous recevez un code, puis, sur vos propres appareils, un code court suffit. Votre premier serveur se connecte en une minute.

Commencer gratuitement

À lire aussi sur le blog

Tous les articles
Tous les articles