Publier son code en open source serait plus bénéfique qu’il n’y paraît. Mieux qu’une simple philosophie, c’est une démarche qualitative.
Pour les projets que NOUS menons, en interne ou pour nos clients, nous suivons toujours ce schéma :
Dans cet arbre décisionnel, on remarque que l’ouverture du code d’un projet à une place prépondérante dans le choix de la solution.
On pourrait penser que c’est pour des raisons financières : libre = gratuit, d’ailleurs en anglais, les deux se traduisent free !
La raison est tout autre.
L’ouverture du code (open source) apporte de nombreux avantages, on vous en détaillé quelques uns ici.
1. Rigueur et autodiscipline
Votre logement n’est-il pas mieux rangé lorsque vous attendez de la visite ?
Pour le code, c’est pareil.
Sachant que les lignes pourront être lues, commentées ou même amendées (on y revient par la suite), vous avez naturellement tendance à travailler plus proprement que sur un projet « secret ».
Gérer un projet en open source, c’est comme se lancer dans un travail d’équipe avec le monde entier.
Il n’est pas si rare de voir des échanges internationaux au sujet de la correction d’un bug.
Le respect des normes et standards n’est alors plus un luxe, mais une nécessité.
2. Retours d’expérience enrichissants
La maturation d’un projet dépend en grande partie des personnes qui l’utilisent. Et plus ces personnes seront nombreuses, plus le spectre des usages sera riche.
En ce sens, offrir le fruit de votre travail permettra de recueillir un plus grand nombre de retours d’expérience – feedback. A vous de les mettre en perspectives et de prendre le recul nécessaire pour les traduire en fonctionnalités « universelles ».
3. Corrections et contributions
Mieux que des retours, certain·e·s, vous apporterons directement leur soutien.
Cela peut se matérialiser à différentes échelles, allant de la traduction, à la contribution sous forme de code, ou même au don.
Dans cette démarche où l’on offre son travail, on peut dire que l’on rend la monnaie de sa pièce !
Un argument souvent porté à charge est que : le code étant ouvert, cela facilite la recherche de faille par des pirates. Il y a de fortes chances que si des personnes malveillantes daignent se préoccuper de votre projet, dix fois plus vous aiderons à le sécuriser, et ce, dans leur propre intérêt.
4. Mutualisation
En terme de modèle financier, on pourrait penser que cette approche est à fond perdu et ne convient qu’aux idéalistes.
Pas forcément.
Libre ne veut pas dire gratuit. Le code peut être publique, mais son élaboration peut être rémunérée, tout comme son implémentation, via des services de support ou de maintenance.
Et ce modèle économique profite à tout le monde.
En ce sens, un client A peut vous acheter le développement d’un logiciel, que vous décidez conjointement de publier.
Un client B pourra utiliser ce logiciel, avoir un besoin un peu plus poussé, et à son tour commander le développement de nouvelles fonctionnalités.
Au final, A et B auront un logiciel plus complet que s’il en avaient gardé la propriété.
5. Altruisme
Pourquoi garder pour soi quelque chose qui peut être partagée sans vous manquer ?
Là, il n’y a pas d’argument concret à apporter. Le partage n’a pour but que le partage.
A et B auront permis à C, D, E… X, Y et Z de bénéficier du même logiciel, sans que cela ait une quelconque incidence.
Ce n’est pas l’objet, mais il se peut même que ces derniers aient de la reconnaissance pour A, B et leur prestataire, avec un impact bénéfique sur leur notoriété.
Certains projets populaires, ancrés sur une solide communauté, fonctionnent principalement par la contribution bénévole et n’en restent pas moins à la pointe.
Apache, Firefox, Libre Office, Linux, MariaDB, Nextcloud, Wikipedia, WordPress… Les projets libres et communautaires font légion et n’ont pas à pâlir devant leurs concurrents propriétaires.
Et toi, t’es libre ?
Ces articles sur les bonnes pratiques pourraient aussi vous intéresser : Schémas d’URL pour un partage non intrusif, L’effet rebond des scripts compilés, Pour la rentrée, si vous passiez votre site WordPress au bio ?