Ce que signifie « open source » et où se situe Slack
Un logiciel open source est distribué avec son code source sous une licence permettant à quiconque de le lire, de le modifier et de le redistribuer. Slack ne répond pas à cette définition. L'application de bureau, les applications mobiles et l'infrastructure dorsale sont toutes fermées et propriétaires. Salesforce, qui a acquis Slack en 2021, contrôle l'intégralité de la base de code, des serveurs et du protocole. Les utilisateurs ne peuvent pas inspecter ce que l'application fait sur leur machine, ne peuvent pas la corriger, et ne peuvent pas héberger leur propre serveur.
Il s'agit d'un choix commercial délibéré, non d'un oubli. Les revenus de Slack reposent sur des abonnements par niveaux, et le produit est étroitement lié à sa propre infrastructure cloud. Il n'existe ni édition communautaire auto-hébergeable, ni spécification d'API publiée qui permettrait une implémentation entièrement indépendante.
Ce que Slack rend public
Slack propose bien une API publique ainsi qu'un ensemble d'outils pour développeurs (le SDK Bolt, Block Kit, les Webhooks et le répertoire d'applications Slack). Ceux-ci permettent aux développeurs tiers de créer des bots et des intégrations par-dessus Slack, mais ce n'est pas la même chose que de libérer le produit lui-même en open source. La surface de l'API est par ailleurs délibérément limitée : le transport de messagerie central, les mécanismes internes d'administration des espaces de travail et la couche voix/vidéo ne sont pas exposés.
Quelques outils auxiliaires de l'écosystème développeur Slack sont publiés sous des licences ouvertes, mais le client et la plateforme restent fermés. Il convient d'être précis ici : publier des SDK sous une licence ouverte est une pratique courante et utile, qui ne revient pas à rendre le produit lui-même open source.
Pourquoi cela compte : code propriétaire, Electron et consommation de ressources
Pour la plupart des utilisateurs, la question du caractère open source d'un logiciel reste abstraite. Avec Slack, elle a pourtant une conséquence directe et quotidienne : le client de bureau officiel est construit sur Electron, un framework qui embarque un moteur de navigateur Chromium complet dans chaque application. Le résultat est une application pouvant consommer bien plus d'un gigaoctet de RAM lors d'une session de travail ordinaire, qui met plusieurs secondes à démarrer, et qui sollicite les cœurs du processeur même lorsque la fenêtre est inactive en arrière-plan.
Parce que le code est propriétaire, les utilisateurs n'ont aucun recours. Vous ne pouvez pas recompiler le client avec un moteur de rendu plus léger, vous ne pouvez pas désactiver les fonctionnalités que vous n'utilisez pas, et vous ne pouvez pas auditer ce que l'application envoie sur le réseau. Vous acceptez le binaire tel qu'il est livré.
Il s'agit d'une limitation structurelle du modèle à code fermé, non d'une critique envers un ingénieur en particulier. La même contrainte s'appliquerait à n'importe quelle application Electron propriétaire.
msga : un client Slack open source sous licence GPL-3.0
msga (Make Slack Great Again) est un client de bureau Slack gratuit et open source, développé en C++ et Qt6 — le même framework qu'utilise Telegram Desktop. Parce qu'il s'agit d'une application native plutôt que d'une simple interface web, il démarre en moins d'une seconde, tourne proche de 0 % d'utilisation CPU au repos, et consomme une fraction de la mémoire qu'exige le client Electron officiel — environ 60 à 100 Mo en utilisation courante.
Le code source complet est publié sur GitHub sous la licence GPL-3.0. N'importe qui peut le lire, l'auditer, signaler des problèmes ou proposer des correctifs. Il fonctionne avec les espaces de travail Slack auxquels vous appartenez déjà — aucun compte ni service séparé n'est nécessaire.
msga fonctionne sur Linux, macOS et Windows, et c'est le seul client Slack natif et open source reposant sur une pile C++/Qt6 moderne. Le projet est honnête sur son état actuel : certaines fonctionnalités de Slack sont encore en cours de développement, et le projet évolue activement. Si vous dépendez de chaque fonctionnalité de Slack, il vaut la peine de consulter la page du projet avant de basculer complètement. Mais pour l'usage principal — lire et écrire des messages dans vos espaces de travail sans qu'un moteur de navigateur tourne en arrière-plan — cela fonctionne dès aujourd'hui.
Pourquoi la GPL-3.0 en particulier
La licence GPL-3.0 est une licence copyleft forte. Elle garantit que toute personne qui distribue une version modifiée de msga doit également publier le code source de ses modifications sous les mêmes termes. C'est un choix délibéré : il empêche qu'une entreprise s'empare du travail, y ajoute des modifications propriétaires et distribue un binaire fermé. Les contributions de la communauté restent dans les communs.
Pour les utilisateurs, la signification pratique est simple : vous pouvez toujours obtenir le code source, compiler l'application vous-même, et vérifier qu'elle fait ce qu'elle prétend faire. C'est une propriété précieuse pour un logiciel qui gère vos communications professionnelles.
Récapitulatif
| Slack (officiel) | msga | |
|---|---|---|
| Licence | Propriétaire | GPL-3.0 |
| Code source disponible | Non | Oui |
| Technologie cliente | Electron (Chromium) | C++ / Qt6 (natif) |
| Consommation RAM approximative | 1–2 Go+ | ~60–100 Mo |
| Backend auto-hébergeable | Non | Utilise l'API Slack |
| Plateformes | Linux, macOS, Windows | Linux, macOS, Windows |
Slack est un produit utile, et pour de nombreuses équipes, c'est le bon choix indépendamment de son caractère fermé. Mais si la question « Slack est-il open source ? » vous importe — parce que vous vous souciez de la transparence, de la consommation de ressources ou de la liberté logicielle — la réponse honnête est non, et msga existe précisément pour offrir une voie alternative. Vous conservez vos espaces de travail Slack ; vous remplacez simplement le client lourd et opaque par quelque chose de plus léger et de transparent.
Si cela vous semble valoir la peine d'essayer, vous pouvez télécharger msga ou parcourir le code source sur GitHub.