L’application est ouverte. Ce qui la finance ne l’est pas.

L’application de bureau de Shiro, son outil en ligne de commande et ses paquets partagés sont sur GitHub, sous licences MIT et AGPL-3.0. L’application web et le service Shiro Cloud sont fermés, et leurs abonnements paient le reste. Tout le code qui touche à un projet local peut se lire.

Ce que contient le dépôt

Le code se trouve sur github.com/Quentin967/shiro.

Chemin Contenu Licence
packages/core Le format des projets, le modèle du classeur et des métadonnées, la détection des mentions du Monde, le moteur de compilation MIT
packages/editor L’éditeur TipTap, les règles typographiques en français et en anglais, CriticMarkup, la liaison Yjs MIT
packages/sdk Le SDK des extensions et le client d’API MIT
packages/ui Les vues, les composants et le système de design AGPL-3.0
packages/ai Le moteur de contexte, les invites en français et en anglais, les adaptateurs de modèles AGPL-3.0
apps/desktop L’enveloppe Tauri pour Mac, Windows et Linux AGPL-3.0
apps/cli L’outil en ligne de commande shiro AGPL-3.0
apps/site Ce site, dont les coquilles sont donc ouvertes aux contributions AGPL-3.0

Ce partage a une conséquence concrète. La licence MIT sur le format et l’éditeur permet à n’importe qui d’écrire un outil capable de lire un projet Shiro, sans nous demander la permission. L’AGPL sur l’application oblige quiconque diffuse un Shiro modifié, ou le fait tourner pour d’autres à travers un réseau, à publier ses changements sous la même licence. Ce résumé ne vaut pas conseil juridique : c’est le fichier LICENSE de chaque paquet qui fait foi.

Cela permet aussi de vérifier ce que ce site affirme sur votre vie privée. apps/desktop/e2e/privacy.spec.ts est le test qui échoue quand l’application de bureau émet une requête qu’elle ne devrait pas. Lisez-le, et durcissez-le si vous avez mieux.

Ce qui reste fermé, et pourquoi

Deux choses : l’application web, et le service Shiro Cloud derrière elle, qui gère les comptes, la synchronisation, la facturation et l’IA hébergée. Elles vivent dans un dépôt privé qui importe les mêmes paquets.

La raison est financière. Un serveur coûte quelque chose chaque mois, que le deuxième acte tienne debout ou non, et les offres Cloud paient cela ainsi que le travail sur tout ce qui figure dans le tableau ci-dessus.

Vous ne pouvez donc pas faire tourner votre propre Shiro Cloud, et mieux vaut l’apprendre ici qu’après un après-midi à chercher le serveur. Sans lui, il vous reste toute l’application de bureau : un projet local sur votre disque, avec un modèle local si vous en voulez un, n’exécute pas une ligne de code fermé.

Compiler depuis les sources

Il vous faut Node 22, pnpm 10 et, pour l’application de bureau, Rust et les prérequis de Tauri 2.

git clone https://github.com/Quentin967/shiro
cd shiro
pnpm install
pnpm dev            # le client dans un navigateur, sur http://localhost:1420
pnpm tauri dev      # l’application de bureau
pnpm test           # tests unitaires (Vitest)
pnpm e2e            # tests de navigateur (Playwright)
pnpm lint && pnpm typecheck

pnpm dev garde un projet d’exemple en mémoire et n’enregistre rien : n’y commencez pas votre roman. pnpm tauri dev lance la vraie application. Sa première exécution compile l’enveloppe Rust, ce qui laisse le temps de repenser votre dénouement.

L’outil en ligne de commande shiro se compile lui aussi depuis les sources :

pnpm --filter shiro build
node apps/cli/dist/cli.js --help

Il compile, exporte, valide et sauvegarde les projets depuis un terminal, vérifie les rapports de paternité, et sert un projet aux agents IA par MCP.

Contribuer suppose de signer un CLA

Toute contribution exige un accord de licence de contributeur signé avant d’être fusionnée, et l’assistant CLA vous le demande à votre première pull request. Les paquets partagés sont aussi livrés dans l’application web fermée, ce qui n’est possible que si Shiro détient les droits sur chaque contribution. Si vous préférez ne pas les céder, c’est entendu : les licences vous laissent toujours le droit de créer un fork.

Avant d’ouvrir une pull request, vérifiez que pnpm lint, pnpm typecheck, pnpm test et pnpm e2e passent. Chaque texte de l’interface figure dans en.ts et dans fr.ts, les couleurs, les polices et les espacements viennent des jetons de design, et les deux thèmes ont été regardés. Un test refusera votre pull request pour une espace insécable oubliée devant un deux-points. Il n’a d’égards pour personne. CONTRIBUTING.md donne la liste complète.

Le nom n’est pas compris

Le nom Shiro et son logo sont des marques, et les licences ne les couvrent pas. Un fork peut reprendre le code, pas le nom. Vous baptisez des personnages à longueur de journée, vous trouverez bien.

Les questions qu’on nous pose

Shiro est-il un logiciel libre ?

L’application de bureau, l’outil en ligne de commande et les paquets partagés le sont, sous MIT et AGPL-3.0. L’application web et le service Shiro Cloud sont fermés.

Puis-je reprendre le code de Shiro dans ma propre application ?

Oui, selon sa licence. Les paquets core, editor et sdk sont sous MIT, qui ne demande guère plus que de conserver la mention. Les paquets ui et ai, l’application de bureau et l’outil en ligne de commande sont sous AGPL-3.0 : une version modifiée que vous distribuez ou faites tourner pour d’autres doit publier ses sources. Dans les deux cas, elle ne peut pas s’appeler Shiro.

Puis-je héberger mon propre Shiro Cloud ?

Non, le code du serveur n’est pas publié. Les projets locaux de l’application de bureau n’en ont aucun besoin.

Pourquoi un accord de licence pour contribuer ?

Les paquets partagés sont aussi livrés dans l’application web fermée, ce qui n’est possible que si Shiro détient les droits sur chaque contribution.

Et l’auteur, ayant lu jusqu’au bas d’un site consacré à l’écriture, ouvrit enfin une page blanche.