Difficile de parler de technologie sans évoquer les brevets, la course à l’innovation et les secrets industriels. Pour réussir face à ses concurrents, il faut innover et protéger son avance technologique. Et, pourtant, au sein de ce grand marché de la tech aux milliards de dollars, une tendance de logiciels reste à contre-courant, les logiciels Open Source. La particularité principale de l’Open Source est de donner à tous et sans contrainte l’accès à son code source. Une idée à l’opposée de ce que l’on a l’habitude d’observer. Être Open Source c’est donner à accès à n’importe qui ? Même aux concurrents ? Et, si tout est accessible, comment l’Open Source peut être monétisé ? Est-ce que l’on travaille gratuitement pour un projet Open Source ? J’ai la chance depuis plusieurs mois de travailler pour un logiciel Open Source, Strapi, et cette expérience est aussi déstabilisante qu’inspirante.
Qu’est-ce qu’un logiciel Open Source ?
Le terme Open Source est né en 1998 et crédité à une femme, Christine Peterson, cofondatrice du Foresight Institute. La même année, l’Open Source Initiative est créé pour promouvoir la liberté d’accéder aux codes source des programmes et de créer un marché dépendant de la vente de prestations et non plus de l’utilisation du logiciel.
Le mot Open Source a été créé suite à une scission avec le mouvement des logiciels libres. Les défenseurs des logiciels libres défendent la gratuité totale d’utilisation et de prestation de service du logiciel. Ces logiciels sont régulés par la Free Software Edition.
Enfin, les logiciels Open Source s’opposent aux projets dits propriétaires. Pour les logiciels propriétaires, le code source et sa distribution ne sont pas accessibles aux personnes externes au projet. Voici quelques exemples :
- Microsoft Office est un logiciel propriétaire, mais Libre Office est un logiciel Open Source.
- Linux est Open Source alors que Windows ne l’est pas.
- Firefox est Open Source tandis que Chrome et son code appartiennent à Google.
Le cliché de l’Open Source est que ces logiciels sont toujours maintenus par une communauté de bénévoles à des fins associatives. Même si c’est vrai pour certains projets, d’autres sont bien des projets lucratifs maintenus par des salariés.
Comment savoir si un projet est Open Source ?
On peut facilement identifier un projet Open Source en consultant sa licence. Ces licences ont chacune leurs particularités, la plus connue et la plus ouverte étant la MIT license.
Voici la liste des licences que peut posséder un projet Open Source :
- Apache License 2.0
- BSD 3-Clause « New » or « Revised » license
- BSD 2-Clause « Simplified » or « FreeBSD » license
- GNU General Public License (GPL)
- GNU Library or « Lesser » General Public License (LGPL)
- Mozilla Public License 2.0
- Common Development and Distribution License
- Eclipse Public License version 2.0
Quels sont les avantages d’un projet Open Source ?
Au-delà de l’accès au code, l’Open Source a d’autres intérêts pour les auteurs du projet, mais également pour ses contributeurs.
En rendant le code accessible à tous, l’auteur du projet peut accéder à une communauté qui participera potentiellement à l’amélioration du produit et la correction de ses bugs. Personne n’aime utiliser un produit défaillant. Si un développeur rencontre un problème avec l’Open Source, il peut trouver une solution, et choisir de la garder pour lui ou de la partager sur GitHub. L’auteur du projet récupère potentiellement ses améliorations réalisées par la communauté et les fusionne avec le code du projet.
De plus, les contributeurs peuvent aussi se servir dans le code source pour créer des projets dérivés, des intégrations ou des plugins… Et, ainsi, créer tout un écosystème de produits adapté aux besoins de chacun. Ceci sans que les auteurs du projet recourent à de l’investissement en R & D ou de recrutement. De plus, cela permet d’apporter plus de diversité au produit si chaque membre de la communauté participe à sa façon.
La communauté peut aussi contribuer via de la création de contenus, comme des ressources ou des tutoriels. Ainsi, de nouveaux membres de la communauté ont accès aux contenus et découvrent le projet. Et, l’auteur bénéficie de création de contenus gratuitement, ou à moindre coût s’il décide de rémunérer les contributeurs.
Pour les contributeurs, l’Open Source est aussi une excellente opportunité d’apprentissage. En effet, comme les développeurs ont accès au code source, ils peuvent installer le code sur leur machine et l’expérimenter ligne par ligne. Certains développeurs réalisent des copies de projet Open Source seulement à des fins d’apprentissage.
Quels sont les inconvénients de l’Open Source ?
Tout n’est pas parfait dans le monde transparent de l’Open Source. Il y a aussi des contraintes.
Beaucoup de bénéfices pour l’Open Source sont possibles grâce à la force de la communauté. Mais, encore faut-il réussir à créer un engouement communautaire autour de son produit. Ce sont des personnes qui vont vouloir donner du temps et de l’énergie pour votre projet, or il y a des milliers d’autres produits Open Source tout aussi intéressants. Le projet doit attirer, convaincre et retenir une communauté. Sinon, le risque est que vous mainteniez seul votre projet, ce qui sera plus laborieux, surtout s’il n’est pas encore monétisé.
En parlant de monétisation, une autre difficulté évidente est de trouver un modèle économique autour de son projet Open Source. Certains projets Open Source sont créés par des volontaires ou des associations et ne souhaiteront pas faire de profit. Mais, pour les autres, ils doivent trouver un modèle de monétisation au-delà de la vente de l’accès au produit, comme l’accès gratuit est déjà disponible. Je paie une licence Microsoft Office, cependant je peux gratuitement télécharger Libre Office. Certains logiciels Open Source ont choisi de monétiser le support, d’autres choisissent de monétiser des fonctionnalités premium, et parfois certains logiciels sont rémunérés par des dons.
Si votre code devient accessible à tous, il l’est aussi à de potentiels concurrents, c’est un risque que vous acceptez de prendre. Votre produit devra se démarquer sur d’autres terrains que la technologie, comme votre communication ou la fidélité de votre communauté.
Enfin, si votre communauté peut apporter des ajouts ou des modifications à votre code, faut-il néanmoins tout accepter ? Sur GitHub, les contributeurs proposent potentiellement des changements. Néanmoins, c’est à l’auteur de décider si ces contributions sont à fusionner avec la branche principale. Certaines contributions peuvent ne pas être de bonnes qualités, d’autres peuvent créer des bugs. Et, occasionnellement, certaines contributions, peuvent ne pas être acceptée, car elles ne vont pas dans la même direction que ce que l’auteur avait envisagé pour son produit. Si l’auteur accepte toutes les suggestions de sa communauté sans trier, le produit peut rapidement devenir n’importe quoi.
Maintenir un projet Open Source, c’est aussi accepter l’idée de faire des choix qui ne plairont pas forcément à votre communauté.
Pourquoi s’intéresser à l’Open Source si vous travailliez dans le Growth ?
Tout d’abord, en gardant en tête que l’Open Source va au-delà d’une particularité technologique, c’est aussi une philosophie. Les utilisateurs de logiciels Open Source sont une cible à part. Ils seront vigilants sur la qualité du produit, sur votre transparence et ils auront les compétences techniques pour repérer vos tactiques de Growth.
Il faut aussi adapter sa stratégie et plutôt viser des actions de Community-Led Growth. La communauté sera votre canal de croissance le plus intéressant à exploiter. Vous pouvez considérer des techniques pour encourager votre communauté à améliorer une particularité du produit, à participer à des webinaires ou à vous aider à vendre une licence premium.
Et, même pour votre propre stack technologiques, cela peut être intéressant d’explorer des alternatives Open Source. Par exemple, Metabase et Superset sont des alternatives à Google Data Studio. Posthog et Rudderstack sont des alternatives à Amplitude. Voici un site qui répertorie des alternatives en Open Source. Certaines de ces alternatives peuvent être moins chères ou plus personnalisables que les logiciels que vous utilisez habituellement
Comment contribuer à l’Open Source ?
Les contributions reçues par les projets Open Source sont indispensables pour la survie et la maintenance du projet. L’auteur du projet Open Source ne pourra pas toujours résoudre seul les bugs, surtout lorsque son projet prend de l’ampleur. Strapi s’avère certes Open Source, mais nous avons des développeurs salariés et la communauté qui codent quotidiennement pour Strapi. Même pour un projet lucratif, l’apport des contributeurs s’avère indispensable. C’est un avantage concurrentiel.
Si vous souhaitez participer à ce mouvement, l’Open Source n’est pas réservée qu’aux développeurs. Même sans compétence en programmation, vous pouvez contribuer. Voici quelques exemples de contributions possibles :
- Vous pouvez contribuer à la rédaction de la documentation.
- Vous pouvez écrire des tutoriels pour le projet.
- Vous pouvez traduire un projet. Par exemple, pour FreeCodeCamp qui est disponible en plusieurs langues, ce sont les contributeurs qui l’ont traduit.
- Vous pouvez corriger des fautes.
- Vous pouvez chercher des tickets sur GitHub à corriger.
- Vous pouvez répondre aux questions d’autres contributeurs.
À vous de choisir les tâches qui vous intéressent et pour lesquelles vous avez les compétences. Et, si vous avez besoin d’un coup de pouce, Digital Ocean lance tous les ans au mois d’octobre le Hacktoberfest, un grand en ligne pour encourager à contribuer à l’Open Source.