Sommaire
- Ce que j'ai fait
- Le code comme prétexte pour se rencontrer
- La satisfaction d'un logiciel qui fonctionne
- La vente et le logiciel
- Le mouvement "Indie Hacker" et les entreprises ouvertes
- Le libre et l'animation
- Conclusion
A intervalles réguliers, j'écris un bilan de mes années passées en tant que développeur de logiciels libres. J'ai commencé fin 2010 par créer un petit projet de réseau social distribué. Cela m'a amené ensuite à fonder une startup dont le produit principal était libre. Après quelques déboires, j'ai dû recommencer de zéro. J'ai choisi un sujet plus facile et suis parti sur la réalisation d'un outil très ciblé : un logiciel de gestion de projet pour l'industrie du film d'animation. Cette nouvelle histoire est en train prendre une bonne tournure, c'est donc toujours mon activité principale.
A l'issue de chaque année je publiais un article résumant ce que j'avais fais et appris de mon expérience. J'ai ensuite pris plus de temps pour rédiger ces articles. J'avais clos un premier cycle de cinq ans au cinquième article. C'est donc le deuxième cycle que je vais clore ici avec ce huitième article.
Précédemment nous avions parcouru beaucoup de sujets : comment démarrer un projet, comment contribuer et motiver les autres à contribuer, comment interagir avec sa communauté, comment se préparer pour une présentation en public, pourquoi il faut se ménager et comment en vivre si on le souhaite. Cette fois, je vais surtout expliquer comment je tire de la satisfaction de tout ça.
Pour commencer je vais revenir sur ce que j'ai fait ces deux dernières années. On abordera ensuite les meetups que j'ai organisé dans le cadre du projet, les actions commerciales que j'ai du mener, le mouvement Indie Hacker et on terminera par l'état du logiciel libre dans le secteur de l'animation.
Bilans précédents : 1, 2, 3, 4, 5, 6, 8
Ce que j'ai fait
Mes efforts se sont principalement portés sur ma société CGWire. J'y développe une application web, nommée Kitsu, de gestion de production de films d'animation. J'utilise Javascript/Vue.js pour le frontend et Python/Flask/PostgreSQL pour le backend. J'ai codé principalement seul dessus. Nous avons eu quelques contributions et un développeur est venu m'aider pendant 6 mois. L'aspect ouvert du logiciel m'a permis de garder un minimum de rigueur et d'avoir quelques avis extérieurs. Le logiciel est utilisé en production, ce qui assure aussi une qualité minimale.
CGWire a donc bien absorbé mon temps. Du côté de mes projets liés au serveur personnel, j'ai été mou, voir très mou. Clairement j'ai moins la niaque pour les projets "à coté"… Je suis quand même en train de réécrire, Newebe, mon projet de réseau social distribué. Le code actuel est trop engoncé dans Python 2, une réécriture d'une bonne partie est à envisager pour migrer sur Python 3. Pas mal des dépendances n'ont pas évolué vers cette version. Je me suis donc permis de changer de langage et de m'amuser avec une technologie (Go) que je ne connais pas bien. Cela m'a aussi permis de partir sur une base de donnée embarquée (boltdb) pour le stockage des données. Cela facilitera le déploiement. Plus tard, je profiterai des go routines pour envoyer des requêtes non bloquantes aux pairs. Pour le frontend j'ai choisi Vue, ce framework répond à toutes mes attentes (tout-en-un, composants réutilisables, bonne documentation).
J'ai aussi un peu avancé sur mon API de stockage de données personnelles en Elixir, mais je ne suis pas allé bien loin. J'ai juste pu me familiariser un peu plus avec ce langage. Aujourd'hui, tout ce que je fais sur le serveur perso est très expérimental, avance à pas de fourmi et n'est pas utilisable. Espérons que je puisse un jour reprendre tout ça plus activement.
A côté de ça, les travaux que j'ai réalisés sur l'API Diaspora ont enfin été intégrés dans la branche de développement. Un autre contributeur, Hank, a pris le relais. Il avait l'opportunité de travailler à temps plein dessus. Il a donc démarré là où je me suis arrêté et a finalisé l'API. Je me chargeais de relire ses PR pour assurer une meilleure qualité. C'est un très bon développeur. C'était donc instructif de le voir faire. Ensuite, après de longs mois d'attente, les mainteneurs ont accepté la PR. Ce qui nous a vraiment réjoui avec Hank. Quelques points de karma ça fait jamais de mal !
Maintenant que vous avez une idée de ce que j'ai fait, je vais vous expliquer comment j'ai incité pas mal de gens à discuter un peu plus ensemble.
Le code comme prétexte pour se rencontrer
En développant et évangélisant Kitsu notre logiciel principal, nous avons croisé pas mal de monde. La plupart résolvent les même problématiques chacun dans leur coin. Ce qui nous a amené à penser qu'il serait bon de les faire se rencontrer pour qu'ils parlent des problèmes auxquels ils font face et des solutions qu'ils y apportent. Nous avons donc organisé des "meetups" autour du pipeline de film d'animation. Voyant le succès auprès des gens techniques, on a poussé l'idée en invitant aussi des graphistes. Ainsi, nous leur avons permis de partager leur manière d'aborder la création de films sur des thèmes variés : modélisation, lumière, réalisation, etc.
Entre 30 et 100 personnes se réunissaient à chaque fois. Au delà des discussions et des présentations, on arrive à travers ces rencontres à introduire un esprit plus collaboratif dans le secteur. Les gens viennent présenter des bonnes pratiques sur leur milieu et progressent ensemble. Comme nous fournissions déjà du code libre, cela a paru naturel que nous organisions ce genre d'événements. Le logiciel libre ce n'est pas que du code, c'est aussi un état d'esprit. Grâce à ça, on a pu aider l'écosystème de l'animation au delà de l'outillage.
La satisfaction d'un logiciel qui fonctionne
Certes nos chiffres sont petits pour une entreprise numérique, certes l'application technologiquement n'est pas révolutionnaire, pour autant, nous sommes satisfaits de ce que nous réalisons. En effet, Kitsu tourne en production dans une quarantaine de studios. Il supporte correctement la charge et donne de bons coups de mains aux utilisateurs. Il est utilisé principalement par des studios indépendants et des écoles.
Résultat, à travers Kitsu nous avons pu participer à pas mal de séries animées et longs métrages. Certains ont même reçu des prix, d'autres atteignent des dizaines de millions de vue sur Youtube ou nous font tout simplement bien rire. Nous n'avons pas réglé le problème de la faim dans le monde, mais on est quand même content d'avoir pu contribuer à toutes ces oeuvres.
La vente et le logiciel
Vivre de son travail sur un logiciel libre vient quand même avec quelques contraintes. Si on n'est pas directement employé, un rapport commercial doit s'installer à un moment ou un autre. Je remarque ainsi que de plus en plus de développeurs libres se rémunèrent à travers la plateforme Patreon. Je trouve ce phénomène intéressant. Toutefois, j'ai l'impression que ça condamne les développeurs en question à rester très productifs sur les projets pour lesquels ils sont attendus.
Pour ma part, j'ai préféré vendre le logiciel et des services associés. J'ai donc du me former un minimum au métier de la vente. C'est pas évident car pas naturel et ce n'est pas vraiment attendu dans le cadre du libre. Toutefois ça m'a permis de démystifier le sujet. J'ai toujours beaucoup de progrès à faire mais au moins j'y vois clair maintenant.
Pour moi, le point le plus difficile est le passage mental à effectuer quand je dois prendre la casquette développeur puis la casquette vendeur. Quand je suis concentré sur un problème technique et qu'on me contacte en plein milieu, j'ai beaucoup de mal à être patient et conciliant. Et vendre un code qui est déjà gratuit n'est pas simple. Il faut vraiment être convaincant sur la valeur ajouté du service fourni autour.
Au final, nous avons réussi à dégager un chiffre d'affaires suffisant pour rémunérer deux personnes (mon associée et moi). La société existe depuis plus de 3 ans maintenant. Nous avons eu des déconvenues pendant le premier confinement mais aujourd'hui nous sommes toujours à flot. Ce qui constitue aussi une bonne satisfaction.
Le mouvement "Indie Hacker" et les entreprises ouvertes
Les entreprises intégrant le mouvement Indie Hacker sont des entreprises auto-financées (qui n'ont pas fait appel à du capital risque). Leurs créateurs choisissent cette voie pour garder leur indépendance par rapport à l'évolution de leur entreprise et pour la beauté du geste (quand l'approche par levée de fonds prédomine, cela devient chic de faire sans). L'éco-système est plus sain que pour les startups en général.
Ce mouvement est intéressant car il privilégie le partage de connaissance pour permettre à une multitude de petits projets d'arriver à leurs fins. L'esprit d'entraide est beaucoup plus présent puisque les enjeux sont moindres. Toutefois, on reste assez loin du logiciel libre, car ici la prioritié est donné au chiffre d'affaires et la croissance du nombre d'utilisateurs.
Autre concept intéressant, lié à ce mouvement, celui de société ouverte. Une "open company" partage ses résultats financiers avec les autres membres de la communauté. Cela permet de voir comment elle évolue et aussi de voir quels sont les modèles d'affaires porteurs. Cette logique de transparence collait bien avec les valeurs du libre. Nous avons donc choisi cette voie également en publiant nos indicateurs financiers principaux.
Le libre et l'animation
A côté de ça, je suis content de voir les logiciels libres se développer dans l'animation. Krita commence à trouver une petite place quand Blender n'arrête pas de faire parler de lui. Gimp, quant à lui, peine à s'imposer mais reste présent pour des petites tâches utilitaires.
Pour revenir sur Blender, c'est vraiment intéressant de voir comment il se développe. Les GAFAM et les fabricants de hardware versent des sous à une fondation qui avance sur le logiciel. Les développeurs sont recrutés dans la communauté et sont payés pour maintenir le module sur lequel ils travaillaient. La fondation n'assure pas de support utilisateur aux entreprises et développe que ce qui l'intéresse. Cela permet aux développeurs d'être très concentrés et de ne pas avoir à s'occuper de clients. Résultat, Blender rencontre un énorme succès.
J'ai aussi eu la chance de discuter avec Ton, le meneur du projet et Francesco, le gestionnaire de la fondation. Ils sont vraiment portés sur l'idée de développer la liberté de créer et d'offrir à tout le monde les outils pour y arriver. Quand on les entend parler, on pourrait presque voir un pont se former entre les licences logiciels (GPL) et les licences créatives (CC). La mission est saine et motive à les soutenir. On aimerait bien collaborer plus avec eux. C'est d'ailleurs en cours de discussion. Envisager des partenariats avec ce genre d'organisations est aussi quelque chose de très réjouissant.
Pour aller plus loin :
- Une thèse sur le sujet par Damien Picard
- Une présentation à ce propos que j'ai faite au FOSDEM
Conclusion
10 ans déjà… Ca passe vite c'est sûr… Est-ce que je regrette de m'être lancé dans cette aventure ? Non. Ça n'a pas été de tout repos, mais j'ai beaucoup appris sur tous les plans. J'ai rencontré des tas de gens et m'en suis bien tiré financièrement. J'ai aidé pas mal de monde à mon échelle. Et bien sûr, j'ai pu construire et participer à de beaux projets.
Aujourd'hui je suis satisfait de ce que je réalise et je travaille comme je le souhaite. Ça me demande toujours beaucoup d'implication mais je prends du plaisir et arrive à garder une vie sociale. Je n'ai pas abordé le logiciel libre sous son côté le plus vertueux, mais je suis arrivé à un compromis confort de vie / éthique intéressant.
Si c'était à refaire que pourrais je faire de mieux ? Commencer par contribuer plus à des projets existants purement communautaires et si c'était en 2020, j'aurais aussi regardé plus tôt du côté des plateformes de sponsor pour financer mon activité. J'aurais peut être dû me concentrer sur des sujets plus faciles d'accès et plus porteurs. Mais je ne suis pas sur que je serais resté motivé…
Allez, il est temps de vraiment conclure cette fois. Merci si vous êtes arrivé jusque là. Merci aussi à tout ceux qui m'ont aidé dans cette aventure. Il y beaucoup de monde à citer, je vais donc faire l'impasse sur les noms mais je sais qu'ils se reconnaîtront.
Dans ces billets bilans, j'ai évoqué beaucoup de sujets, je pense avoir fait un peu le tour. Ce sera donc probablement le dernier. Si jamais je vis des expériences nouvelles vraiment intéressantes je ressusciterai peut être ce concept mais pour l'instant ce n'est pas à l'ordre du jour.
En tout cas, j'espère que ce retour d'expérience vous motivera à contribuer. Ou tout simplement qu'il vous donnera des idées pour monter votre projet. Vous vivrez sans doute de belles aventures, ferez de belles rencontres et en retirez une grande satisfaction. Le logiciel libre c'est la vie, alors n'hésitez plus pour vous lancer, foncez !
# Combien ?
Posté par _kaos_ . Évalué à 3.
Salut,
Petite question indiscrète à laquelle tu peux ne pas répondre.
Combien de tentatives n'ont pas vu le jour avant celle-là ?
Bonne chance pour la suite !
Matricule 23415
[^] # Re: Combien ?
Posté par gelnior (site web personnel) . Évalué à 4.
Je me suis rarement arrêté avant de publier quelque chose. Après si tu entends par là lesquelles n'ont pas suscité d'intérêt. Je dirais une bonne dizaine. Quand c'est un sujet qui ne me motive pas beaucoup et que ça ne prend pas, je m'arrête vite.
[^] # Re: Combien ?
Posté par _kaos_ . Évalué à 3.
Salut,
Oui, c'était la question :)
Et bah… je suis pas sorti de l'auberge ;)
Merci pour la réponse !
Matricule 23415
[^] # Re: Combien ?
Posté par gelnior (site web personnel) . Évalué à 2.
C'est un sujet complexe. Pour tenter de simplifier, soit tu développes une bibliothèque sur un sujet commun à pas mal de monde et là tu peux compter sur les moteurs d'indexation pour faire connaître ton projet et initier une communauté. Soit tu fais un logiciel un peu en rupture avec ce qui se fait déjà. Dans ce cas, il faudra prévoir de le présenter dans un maximum de conférences pour trouver tes premiers utilisateurs.
[^] # Re: Combien ?
Posté par _kaos_ . Évalué à 2. Dernière modification le 29 décembre 2020 à 21:31.
Salut,
Oui, c'est ce que je vois d'ici.
Ça fait deux projets déjà plantés de mon côté, le troisième est intéressant (pour moi), mais pas sûr d'une adhésion…
C'était juste pour une estimation vague du nombre de fois où il faut se planter avant d'éventuellement y arriver ;)
projet 1 : on m'a poussé alors que je ne voulais pas (amis trop proches, j'ai gardé la relation et abandonné le projet)
projet 2 : intéressant mais modèle économique pas jouable il me semble
projet 3 : là, je suis seul sur cette voie, contrairement aux précédents, je sens le casse-gueule aussi…
Voilà, c'était pour savoir combien de tentatives tu avais fait. J'ai bien demandé (mais sans trop insister à cause de notre cher COVID) une formation aussi. Je suis persuadé que c'est un point qui me fait défaut.
Merci encore pour ton retour !
Matricule 23415
[^] # Re: Combien ?
Posté par _kaos_ . Évalué à 2.
Salut,
Je complète un tout petit peu, mon message précédent étant assez lapidaire.
Il serait possible que j'en sois à ma troisième tentative, je ne sais pas encore.
D'un côté, je vois que c'est dur (c'était ma question), et de l'autre réalisable !
Merci encore. Je vais décompter le nombre de fois où je me suis cassé la tronche si j'arrive à un truc ;)
Matricule 23415
# Merci !
Posté par GuieA_7 (site web personnel) . Évalué à 5.
C'est toujours un plaisir de lire tes rétrospectives. Je suis sûr que dans quelques temps tu auras fait de nouvelles choses que tu voudras partager, et que ce n'est pas le dernier bilan (mais si c'était le cas, ce n'est pas grave hein).
Des bisous !
[^] # Re: Merci !
Posté par gelnior (site web personnel) . Évalué à 3.
Merci :) Oui, sait on jamais !
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.