tech

Qu’est-ce que l’Open source ?

Temps de lecture : 7 min

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 là où ils ne le font pas et protéger son avantage. Et pourtant, au sein de ce grand marché de la tech aux milliards de dollars, il y a une tendance de logiciels qui souhaite redéfinir les règles. Les logiciels Open Source qui veulent prendre une direction opposée. La particularité principale de l’Open Source est de donner à tous et sans contrainte l’accès à son code source. Une idée totalement à contre-courant de ce qu’on a l’habitude de voir. Être Open Source c’est donner à accès à n’importe qui ? Même aux concurrents ? Et si tout est accessible, comment l’Open Source « fait de l’argent » ? Est-ce que l’on travaille gratuitement pour un projet Open Source ? J’ai la chance depuis plusieurs mois de travailler pour un produit Open Source et cette expérience est à la fois destabilisante et inspirante.

Qu’est-ce qu’un logiciel Open Source ?

Le terme Open Source est né en 1998 et crédité à 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 Editon.

La principale critique issue du mouvement parent du logiciel libre est le fait que l’open source ne communique presque exclusivement que sur une des caractéristiques techniques des logiciels (la liberté d’accès au fonctionnement du logiciel) en occultant les motivations premières dont elles sont issues, au risque de les perdre. Ils accusent l’Open Source d’être mû par la dynamique et les ressources financières et d’expertise de multinationales, l’opposant au logiciel libre mû par des idéaux d’ordre philosophique et politique. – Wikipedia

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 alors 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 ont réussi à trouver un moyen de monétiser leur projet et d’employer des salariés rémunéré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 avoir un projet Open Source:

Quels sont les avantages d’un projet Open Source ?

Au-delà de l’accès au code, l’Open Source a d’autres avantages pour les auteurs du projet mais aussi pour ses contributeurs.

En rendant le code accessible à tous, l’auteur du projet peut animer une communauté afin d’améliorer le produit et corriger ses bugs. Personne n’aime utiliser un produit qui est défaillant. C’est aussi le cas des développeurs. Si un développeur rencontre un problème avec l’Open Source, il peut développer une solution, la garder pour lui ou la partager avec les autres sur GitHubou GitLab. L’auteur du projet peut bénéficier de la force de la communauté pour résoudre des bugs qu’il n’aurait pas forcément vus ou qu’il n’a pas le temps de corriger.

De plus, les contributeurs peuvent aussi se servir dans le code source pour créer des projets dérivés, des intégrations, des plugins… Et ainsi créer tout un écosystème de produit adapté aux besoins de chacun. Ceci sans que les auteurs du projet aient besoin d’investir en R&D ou recrutement. De plus, cela permet d’apporter plus de diversité à l’écosystème du 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é peuvent consulter des contenus afin de se former au 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 créateurs.

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 décortiquer et comprendre comment le projet a été codé. En installant le projet sur leur machine, ils peuvent lire le code et expérimenter ligne par ligne. Certains développeurs réalisent des copies du projet seulement à des fins d’apprentissages.

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.

J’ai présenté plus tôt dans les avantages le bénéfice de créer une communauté qui peut contribuer gratuitement au projet. Mais cette communauté, encore faut-il réussir à la créer. Avant de bénéficier de leur aide, il faut que votre projet plaise et que vous ayez une stratégie d’animation de communauté pour retenir vos fans. Ce sont des personnes qui vont donner du temps et de l’énergie à votre projet. Il faut réussir à les convaincre. Si vous ne réussissez pas à créer une communauté, vous aurez la responsabilité de maintenir seul votre idée. Or si ce n’est pas votre projet à temps plein ou si vous ne le monétisez pas, ce sera très difficile à tenir dans la durée.

En parlant de monétisation, une autre difficulté évidente est de trouver un modèle économique autour de son projet Open Source. Certains projets sont créés par des volontaires ou des associations et ne souhaitent pas faire de profit. Mais pour ceux qui souhaitent monter une entreprise autour de leur idée c’est à prendre en compte. Habituellement, un produit vend l’accès à son utilisation. Je paie Netflix pour accéder à la plateforme, télécharger l’application et visualiser les contenus. Mais si j’ai accès au code source de Netflix, je pourrai installer et créer mon propre usage de Netflix. Donc la solution habituelle de vendre un accès ne fonctionne pas. Il faut faire preuve de plus de réflexion pour réussir à monétiser son budget.

Le principe de l’Open Source déjà évoqué est de rendre son code accessible à tous. Mais si votre code est accessible au public, il l’est aussi à d’éventuelles personnes qui voudront le copier et lancer leur propre version de votre produit. C’est un risque que vous acceptez de prendre. Pour pallier cela, il faudra réussir à vous démarquer sur d’autres terrains comme le marketing, la fidélité de vos utilisateurs ou le support.

Si votre communauté peut apporter des ajouts ou modifications à votre code, est-ce qu’il faut néanmoins tout accepter ? Sur GitHub, les contributeurs peuvent proposer des changements mais c’est à l’auteur de décider si ces contributions sont à fusionner avec la branche principale ou non. Les raisons de refus sont multiples. Certaines contributions ne seront pas de bonnes qualités et d’autres peuvent être des attaques de piratage déguisées. Enfin, le plus souvent cela peut être certes de bonnes contributions mais qui vont à l’encontre de votre vision du projet. En accordant la parole à votre communauté, vous prenez aussi le risque de les décevoir. Il faudra accepter de faire des choix qui ne conviendront pas à certains membres de votre communauté.

Comment monétiser un projet Open Source ?

Ce n’est pas parce qu’un projet est Open Source qu’il est forcément gratuit. Sinon, beaucoup de projets n’auraient pas perduré dans le temps. L’Open Source demande quand même de l’investissement. Certains projets demandent une contribution sous forme dons. D’autres proposent un support payant. Mais aussi vous pouvez choisir de ne pas rendre toutes les fonctionnalités de votre produit accessibles. Par exemple, chez Strapi nos fonctionnalités Enterprise sont protégées par une licence et un accès payant.

Pourquoi s’intéresser à l’Open Source en growth ?

Tout d’abord, pour une raison stratégique. Si votre produit est Open Source, il faudra adapter votre stratégie Growth. Vous pouvez accentuer vos actions vers du Community Led Growth ou du Product Led Growth. L’Open Source va au-delà de spécificité technique, c’est aussi une philosophie. Votre cible pour un projet Open Source ne sera pas réceptive à des techniques de Growth trop manipulatrices ou commerciales.

C’est aussi intéressant de rechercher des alternatives à vos outils habituels dans l’Open Source. Ils peuvent être plus adaptés à vos besoins, personnalisables à votre business model et parfois moins cher. 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. Ces alternatives sont moins connues mais peuvent être plus intéressantes.

Pour les clients d’un projet Open Source, c’est aussi la possibilité de s’assurer que l’outil sera plus sécurisé et toujours maintenu par ses contributeurs. Si les clients ont la chance d’avoir une équipe de développeurs à disposition, ils peuvent leur demander de personnaliser le code de l’outil selon leurs besoins et d’étendre le champ d’action du produit. Néanmoins, cela demande des ressources et du temps en interne. C’est à prendre en compte avant de signer pour un logiciel Open Source.

Comment contribuer à l’Open Source ?

Les contributions que reçoivent 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 est certes Open Source mais nous avons des développeurs salariés et bénévoles qui codent tous les jours sur Strapi. Même pour un projet monétisé, l’apport des contributeurs est important. Comme on l’a vu, ils permettent de voir des bugs que l’on ignore, d’apporter de la diversité dans les fonctionnalités ou les algorithmes, de personnaliser le produit mais aussi de réduire les coûts d’une entreprise dans l’Open Source.

Mais si vous souhaitez participer à ce mouvement, l’Open Source n’est pas réservé qu’aux développeurs. Même sans compétence en programmation, vous pouvez participer. Voici quelques exemples de contributions possibles pour toutes les compétences :

  • 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 ont traduit.
  • Vous pouvez corriger des fautes.
  • Vous pouvez chercher des tickets sur Github à corriger.
  • Vous pouvez répondre aux questions des 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 mois d’Octobre le Hacktobefest, qui vient de démarrer.



Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Les sujets de ce blog
Recevoir ma newsletter mensuelle