Je suis allé à Bruxelles pour contribuer à Symfony et API Platform !

Temps de lecture : 5 minutes

Publié le 12/04/2019.

S'il y a bien une chose qui me tient à cœur en informatique, et ce depuis que j'ai découvert l'écosystème Linux et tout ce qui gravite autour, c'est le Logiciel libre.

Pour celles et ceux qui ne seraient pas familiers avec cette notion, un logiciel libre est un logiciel qui offre, selon la Free Software Foundation (l'organisation fondée par Richard Stallman, évangéliste du mouvement libre), quatre grandes libertés à son utilisateur final :

  • la liberté d'exécuter le programme, et donc de l'utiliser ;
  • la liberté d'en étudier le fonctionnement et de l'adapter à son besoin ;
  • la liberté d'en redistribuer des copies ;
  • la liberté de l'améliorer et de distribuer ces amélioration au public.

Pour vulgariser, il s'agit donc de logiciels que chacun peut utiliser, modifier et redistribuer librement. Ils s'opposent ainsi aux logiciels dits propriétaires (certains les qualifient même de privateurs) dont le code source est privé et dont la modification et la redistribution est soumise à autorisation par son ou ses auteurs/éditeurs (qui l'accordent rarement, sauf à des fins de profits). Il est important de distinguer le logiciel libre du logiciel open source et du freeware : le premier est un logiciel dont le code source est mis à disposition, mais sous des conditions qui ne remplissent pas l'ensemble des critères cités plus hauts (ou qui utilisent des projets non libres, voire propriétaires), et le second ne met pas à disposition son code source (il s'agit donc d'un logiciel propriétaire). De plus, et contrairement à une idée largement reçue, un logiciel libre n'est pas nécessairement gratuit.

De nombreux logiciels populaires sont libres, si bien que vous en utilisez probablement tous les jours, peut-être sans même vous en rendre compte. On compte parmi eux de grands noms tels que Mozilla Firefox, The GIMP, LibreOffice ou encore VideoLAN VLC. Ce sont aussi des logiciels libres qui font tourner une écrasante majorité des sites et applications Web que vous utilisez tous les jours, comme le très populaire langage de programmation PHP, le serveur Web HTTPD d'Apache ou encore les systèmes de gestion de bases de données PostgreSQL ou MariaDB.

Ce week-end, j'ai eu la chance de participer à un hackaton de deux jours organisé à Bruxelles par la Commission européenne, afin de contribuer aux logiciels libres que sont les frameworks Symfony, un des plus populaires de l'écosystème PHP pour la conception d'applications, et API Platform, étoile montante développé depuis quelques années par la société coopérative dans laquelle je travaille depuis septembre dernier, Les-Tilleuls.coop, et destiné quant à lui à faciliter le développement d'API (un composant permettant aux applications de communiquer entre elles), aux côtés d'une cinquantaine d'autres développeurs, parmi lesquels on a pu compter la plupart des principaux acteurs de l'évolution des deux frameworks (core team).

Photo de l'événment : quelques développeurs sont en train de travailler. Dehors, le soleil est déjà couché

Photo : BeMyApp © 2019 — Tous droits réservés

En tant que développeur débutant, mon objectif personnel était double : d'une part, je souhaitais m'impliquer davantage dans le développement d'API Platform. Depuis ma dernière proposition d'ajout aujourd'hui incluse dans la dernière mouture, je n'avais pas vraiment eu de temps à accorder au projet, étant staffé à temps plein chez un client et travaillant plutôt sur mes propres projets sur mon temps libre. D'autre part, je souhaitais commencer à contribuer au développement de Symfony que j'utilise depuis maintenant environ un an. C'est ainsi que, dans un premier temps, j'ai commencé à ajouter le support de Mercure, un nouveau protocole de mise à jour de données d'affichage en temps réel, dans le générateur d'applications VueJS d'API Platform. Dans un second temps, j'ai commencé à prendre des tickets pour des ajouts de fonctionnalités et des corrections de bugs sur Symfony.

Et bien que je n'aie pas vraiment été le plus productif — pendant que je galérais avec les quelques tâches que je m'étais assignées, les autres développeurs ont réalisé l'équivalent de deux mois de travail en deux jours seulement ! —, je suis heureux d'avoir pu participer à cette aventure qui m'ont montré que chacun peut, à son niveau, contribuer à l'amélioration d'un logiciel libre. Ce qui compte, ce n'est pas le niveau de compétence, mais la volonté de le faire (bon, et aussi le temps, je vous l'accorde !).

Contrairement à une idée reçue, un logiciel libre, même lorsqu'il est édité par une entreprise, a généralement peu de ressources en interne pour le faire évoluer, c'est pourquoi il est crucial que ses utilisateurs contribuent à son développement s'ils ne veulent pas le voir dépérir. Un des plus gros utilisateurs de ces logiciels libres, de par le fait qu'ils sont généralement gratuits, sont les entreprises qui en tirent par ailleurs un profit considérable, c'est pourquoi il est important qu'elles contribuent autant, voire davantage, à ces outils. Les moyens ne manquent pas, comme le montre Grégoire dans son article dédié à l'événement (que je vous invite à lire !) :

Toutes sortes de contributions sont possibles : libérer du temps à vos employés, mettre à disposition vos locaux, sponsoriser des événements ou des développements […]… Amis employeurs, laissez libre cours à votre créativité.

Toutes les informations sur le hackaton sont ici !