Les logiciels open source sont prolifiques en technologie aujourd'hui. À peu près tout, des superordinateurs à l'électronique grand public, est alimenté par au moins un morceau de code open source.
Mais de nombreuses entreprises se retrouvent à lancer des produits open source à un rythme qui s'accélère rapidement sans vraiment comprendre ni les avantages qui en découlent ni les pièges potentiels à éviter.
Parlons de ce que l'open source signifie pour votre entreprise et de la manière dont vous pouvez l'exploiter pour répondre à la fois à vos clients et aux besoins de votre entreprise.
Comprendre l'open source
Qu'est-ce qu'un logiciel open source exactement ? Le mouvement open-source est né il y a des décennies comme un engagement philosophique à fournir des logiciels vraiment « libres » (comme dans la parole). Cette philosophie rejetait sévèrement toute tentative de commercialisation ou de limitation de l'utilisation de telles applications.
Cependant, les développeurs open source adoptent aujourd'hui généralement une approche plus nuancée, donnant la priorité à l'accessibilité et à la durabilité à long terme de leurs projets plutôt qu'à un engagement inébranlable envers une neutralité absolue.
Certains principes communs de l'open source moderne incluent :
- Publier librement le code source de l'application
- Autoriser les autres à redistribuer et modifier le code
- Conserver l'attribution pour tous ceux qui ont contribué
Bien que simple dans son concept, il existe de nombreuses licences open source couramment utilisées. L'Open Source Initiative (OSI), une organisation dédiée à la promotion et à la protection des communautés open source, a approuvé des dizaines de licences comme étant éligibles à l'open source conformément à leur politique. Il convient de reconnaître que l'OSI lui-même n'a aucune autorité légale sur la validité d'une licence et agit simplement en tant que délégué de l'industrie.
Pourquoi tant de licences ?
Certains auteurs de projet souhaitent conserver un certain contrôle sur leur travail pour s'assurer que l'attribution est conservée et que toute modification de leur travail doit également être publiée en open source.
Dans de tels cas, une licence plus restrictive (parfois appelée « copyleft ») telle que GPLv3 est généralement choisie. D'autres auteurs peuvent ne pas se soucier autant de ces considérations et opter pour une licence plus libérale telle que les licences MIT ou Apache 2.0.
La sélection de la meilleure licence pour un projet est une source courante de confusion, à tel point que GitHub a créé un outil dédié à aider à guider les développeurs inexpérimentés dans la prise de décision.
Intérêts commerciaux pour l'adoption de l'open source
Avec une compréhension du concept open-source, il est naturel de se demander pourquoi une entreprise aurait l'idée de donner un logiciel dont la création a pris du temps et de l'argent. Mais il existe de nombreuses façons dont l'open source peut profiter à votre entreprise.
Tirer parti du soutien de la communauté
De nombreux outils développés par votre entreprise ne contribuent pas directement à ses résultats. Par exemple, j'ai développé NetBox pour aider à gérer l'infrastructure réseau tout en travaillant comme ingénieur réseau chez DigitalOcean, un fournisseur d'hébergement cloud.
Le logiciel était certainement précieux, mais nous n'étions pas en mesure de le vendre directement à nos clients. Nous avons donc décidé de le rendre public en tant que projet open source. En échange, nous avons reçu une tonne d'idées et de contributions de collaborateurs externes qui ont aidé à améliorer et à maintenir le logiciel pour le bénéfice de tous, y compris le nôtre.
Test d'adéquation du produit
Supposons que vous ayez une idée pour un nouveau produit et que vous vouliez tester son adéquation sur le marché. Vous pouvez envisager de lancer le produit initial avec uniquement les fonctionnalités essentielles sous une licence open source. Cela vous permettra d'évaluer l'intérêt du marché pour le produit et, en supposant qu'il y ait suffisamment d'intérêt, fournira un moyen de recueillir les commentaires des premiers utilisateurs pour résoudre les bogues et demander des fonctionnalités supplémentaires bien avant le lancement du produit complet.
Promouvoir la notoriété de la marque
Les projets open source n'ont pas besoin d'être des efforts importants ou complexes. En fait, bon nombre des projets les plus utiles ne comprennent que quelques centaines de lignes de code : peut-être un utilitaire pratique ou une bibliothèque pratique utile à d'autres développeurs. Certains ne sont même pas du tout du code, mais des collections organisées de notes ou de ressources.
De tels projets sont relativement peu coûteux à développer et à entretenir, mais contribuent à amplifier la marque de votre entreprise au sein de la communauté. Le fait d'avoir déjà corrélé votre marque avec une ressource utile dans l'esprit d'un client potentiel le rend plus susceptible de considérer vos produits payants.
Open Source comme produit
Peut-être paradoxalement, l'exigence que l'open source soit librement disponible n'empêche pas sa vente. De nombreuses entreprises prospères se sont construites autour de la vente de produits principalement open source, généralement en offrant une valeur supplémentaire sous la forme d'un support ou d'une fonctionnalité étendue.
L'une des approches les plus courantes de l'open source commercialisé consiste à offrir une assistance et/ou un hébergement payants pour un produit open source. Par exemple, WordPress est un système de gestion de contenu open source extrêmement populaire. Tout le monde peut le télécharger et l'installer gratuitement, mais ils ont également la possibilité d'acheter un abonnement via wordpress.com. Leurs plans de support payants incluent l'hébergement, le support et d'autres fonctionnalités et intégrations en fonction du niveau de tarification sélectionné.
Une autre stratégie de commercialisation consiste à diviser un produit en composants open-source et open-source, une approche appelée « open core ». GitLab, un outil de développement logiciel, en est un exemple. Bien que le produit de base soit disponible gratuitement en open source, bon nombre de ses fonctionnalités les plus avancées sont limitées aux versions payantes.
Selon la nature de votre produit, cette approche peut être un bon choix car vous récoltez les avantages d'avoir une communauté open source tout en sécurisant les revenus des utilisateurs avancés.
Lancement d'un produit Open Source
Lorsque vous publiez un projet open source pour la première fois, il est important d'avoir un plan pour inciter les gens à participer. Il peut être étonnamment difficile de donner quelque chose. Un obstacle est l'absence d'étiquette de prix. Nous sommes tellement habitués à nous fier au prix comme indicateur objectif (mais pas toujours précis) de la valeur qu'il peut être difficile de transmettre la valeur d'un produit gratuit.
Les projets open source les plus réussis se concentrent sur la résolution de problèmes spécifiques ou sur la satisfaction d'un ensemble bien défini de besoins. Lorsque vous faites connaître votre projet, expliquez pourquoi vous avez décidé de créer un nouveau projet plutôt que d'utiliser quelque chose qui existe déjà, et comment les utilisateurs peuvent s'attendre à gagner en adoptant votre solution.
Soyez précis : répond-il à un cas d'utilisation qui n'est pas bien couvert par les solutions existantes ? Est-ce plus rapide ? Plus paramétrable ? Le document d'introduction de votre projet (souvent un simple fichier README) doit énoncer sa proposition de valeur en quelques phrases maximum.
Une fois que vous avez cela en place, vous devrez travailler activement pour attirer les gens vers votre projet. Cela peut être fait par le marketing et les canaux sociaux, mais il y a une ligne à suivre. Vous ne voulez pas être perçu comme du spam ou trop promotionnel, car cela découragera rapidement les gens.
Réfléchissez aux types d'utilisateurs qui bénéficieraient le plus de l'adoption de votre logiciel et à la meilleure façon de les atteindre. Les articles de blog démontrant (et pas seulement parlant) les avantages de votre logiciel ont tendance à être très puissants ; vidéos encore plus. Vous pouvez tirer parti des canaux sociaux pour les promouvoir plutôt que de vous connecter directement au projet lui-même.
Selon la nature de votre projet, vous pourriez également bénéficier d'une recherche active de plaintes concernant des problèmes que vous pouvez résoudre. Par exemple, vous avez peut-être développé un client API pour un service ou une technologie particulière. Surveillez les personnes en difficulté dans ce domaine et suggérez comment votre projet peut leur être utile, le cas échéant.
Twitter, Stack Overflow et les chats publics peuvent être des supports particulièrement efficaces pour ce type d'interaction. Mais encore une fois, ne soyez pas spam. Les gens ont tendance à avoir une tolérance plus élevée pour la promotion de logiciels open source par rapport aux produits payants, mais cela reste un seuil assez bas. N'intervenez que lorsque vous êtes raisonnablement sûr que le public bénéficiera de ce que vous avez à dire.
Participer à des projets Open Source externes
Votre entreprise peut également bénéficier de la participation à des projets open source externes. Il existe peut-être des outils open source sur lesquels votre entreprise s'appuie et qui bénéficieraient de vos contributions. Ou peut-être existe-t-il des projets gérés par la communauté qui permettent à vos clients de mieux consommer vos offres commerciales. Contribuer à des projets open source externes peut apporter des avantages à la fois tangibles et intangibles.
Lorsque l'on envisage une contribution externe, il est crucial de comprendre d'abord la politique de contribution du projet. Les projets bien établis auront généralement un document formel expliquant comment les contributions doivent être proposées et soumises, tandis qu'un projet plus petit peut simplement s'appuyer sur une convention établie. Prenez le temps de vous familiariser avec les contributions récentes au projet et faites un effort sérieux pour respecter leur précédent.
Tenez également compte de la valeur réelle de votre proposition de contribution à la base d'utilisateurs du projet. Contrairement à la croyance populaire, les propositions de contributions à des projets open source imposent un fardeau substantiel aux mainteneurs d'un projet. Chaque soumission doit être soigneusement examinée pour en vérifier la pertinence, la fonctionnalité, la sécurité, la documentation, etc. avant de pouvoir être fusionnée dans le projet. Les modifications non sollicitées sont souvent plus un fardeau qu'une aubaine pour les mainteneurs.
En cas de doute, discutez toujours de votre proposition avec les responsables avant de procéder à la soumission d'un nouveau code pour examen.
Une tendance établie
Compte tenu de la croissance continue et de l'intérêt pour les logiciels open source ces dernières années, il ne fait aucun doute que la tendance se poursuivra dans un avenir prévisible.
En établissant et en entretenant des communautés open source axées à la fois en interne et en externe, les entreprises ainsi que leurs clients peuvent en bénéficier énormément.
Il est clair que les entreprises qui adoptent sérieusement une stratégie open source seront bien placées pour dominer leurs marchés.
L'open source est une philosophie qui promeut la collaboration et l'innovation par le partage de code et de connaissances. Les développeurs open source contribuent à des projets volontairement, sans attendre de récompense financière. Les logiciels open source sont gratuits et peuvent être utilisés, modifiés et redistribués librement.
C'est une bonne chose, car cela rend les produits plus abordables et permet aux développeurs de tirer parti de la communauté des développeurs.
Toutefois, il y a un revers à la médaille. Les développeurs qui créent ces logiciels open source ne sont pas toujours rémunérés pour leur travail.
Il est donc important de reconnaître le travail des développeurs et de les rémunérer lorsque cela est possible.