Journal de la création d’un projet open-source : 1. les étapes
Aimer l’open source, c’est bien. Y contribuer, c’est mieux! Jusque là, ma contribution se limitait à ce blog ou à quelques reports de bugs. Toutefois, avec Grogeek, je suis en train de me lancer dans un autre aspect de l’aventure, qui très intéressant : la création d’un projet open-source. Voila comment nous nous y sommes pris :
- détermination du projet : non pas que nous nous soyons lancé dans le projet savoir que faire. Nous avons en fait posé les bornes du projet. Qu’est ce qui fera quoi/quand/où/comment? Il fallait aussi déterminer la viabilité du projet pour qu’il soit pérenne et anticiper ses évolutions (roadmap). Nous avons aussi décidé de ce que sera l’architecture technique du projet qui reprend en fait un code sur lequel GroGeek avait déjà travaillé seul.
- premiers tests : avant d’engager quoi que ce soit, nous avons lancé quelques tests de la solution sur différentes plateformes. L’objectif est de définir les principales modifications à faire, reporter divers bugs et prévoir une documentation.
- premières modifications : suite à ces premiers test, Grogeek s’est remis le nez dans le code pour l’améliorer selon nos premières constations.S’il reste sans doute des bugs et de nombreuses évolutions à faire, les bases sont posées.
- détermination du nom et de l’identité visuelle du projet : choisir le nom du bébé a été étonnement assez long. Il fallait en trouver un qui soit assez simple à retenir, qui ne ressemble pas trop à ce qui existe déjà et qui ait un lien avec le projet. Plusieurs nous plaisaient mais ne correspondaient pas aux critères précédemment listés. Nous avons finalement opté par un nom qui est la traduction en Espagnol du nom d’un animal donc le comportement se rapproche de celui de notre projet.
Puis, nous avons sollicité YekCim pour la création du logo du projet. Après différents jets, nous sommes tombés vite d’accord sur un chouette logo illustrant avec humour et sobriété le projet.
- ouverture du code : fort de l’idée de notre projet open-source, nous avons créé un espace sur sourceforge pour le publier. Vînt la difficile question de la licence. Après nous être arraché les cheveux quelques temps, nous avons opté pour une licence GNU General Public License version 3.0 (GPLv3).
Je vous assure que l’étape sourceforge est assez périlleuse (trop de choix rend celui-ci difficile). Mais nous ne nous sommes pas laissé décourager et le projet est monté.
- tests, tests, tests : durant ce temps, Grogeek continuait de bousiller le code pour le re-tester avec moi. Il faut souligner sa patience pour reprendre après mes x idées/recommandations/points de vue… Il n’a jamais été aussi frustrant pour moi de n’être qu’une quiche en développement et de ne pouvoir que peu l’aider.
- création d’un site dédié : en parallèle de l’espace sourceforge, nous avons créé un site (sous WordPress) pour le projet avec serveur et nom de domaine. Le tout à nos frais (enfin, ceux de GroGeek actuellement). Nous espérons donc que le projet plaira et recevra des dons pour couvrir nos frais.
- création de la documentation : derrière le mot documentation je mets la documentation informative (le “qu’est ce que c’est”), la documentation technique (le “qu’est ce qu’il y a dedans”), l’aide (les “comment ca s’installe” & “comment ca marche”), la roadmap (le “qu’est ce que ca va devenir”) qui viendront alimenter le site sourceforge et le site du projet. Vous vous en doutez, le tout est long à produire (et n’est pas encore fini).
Nous avons maintenant donc une version beta du projet, un site (et sa doc) qui sera bientôt complet, un espace sourceforge, une licence, un logo. Cela se résume ici en quelques lignes et en back-office à des heures de travail. Il ne reste plus qu’à publier les sources pour lancer officiellement le projet et ça c’est pour très bientôt!
Alors, je peux déjà vous annoncer que très vite, sur Geek de France, vous pourrez voir l’annonce de notre nouveau bébé. Nom, caractéristiques et sites vous seront alors enfin communiqués!