OpenStack est un projet open source de grande envergure composé de plusieurs milliers de développeurs à travers la planète. Chacun peut y contribuer à sa façon et sans forcément être un gourou Python. Bien évidemment, savoir coder est un plus, mais il n’est pas nécessaire d’avoir des connaissances techniques particulières pour apporter sa pierre à l’édifice.
En tant que développeur, la manière la plus simple pour débuter est sans doute de corriger les bugs remontés par les utilisateurs. OpenStack utilise Launchpad comme système de suivi de bugs. Ceux-ci sont classés en plusieurs catégories selon leur degré d’importance (low, medium, high et critical). Libre à vous de travailler sur la résolution d’un bug si personne ne s’est attribué ce rôle. Certains bugs peuvent être à la portée de développeurs non confirmés.
Vous pouvez également mette en oeuvre un patch si vous relevez une erreur dans le code qui n’impacte pas le fonctionnement du module sans forcément avoir besoin de remonter un bug. Par exemple, il peut s’agir d’une faute d’orthographe dans un commentaire, etc. Ce n’est pas une contribution énorme, mais cela permet de commencer et de voir le déroulement du processus de validation d’un patch puis de faire des contributions plus importantes par la suite.
Avant de soumettre votre code, n’oubliez pas que dans OpenStack tout doit être testé ou presque. Pour chaque nouvelle fonctionnalité ajoutée, un test unitaire doit être créé. Une fois votre code prêt, il doit passer par Gerrit, un système de revue de code. C’est ici que sont lancés automatiquement les différents tests (unitaires, fonctionnels, etc.). Si ces tests échouent, alors il y a de fortes chances que vos modifications ne soient pas correctes. Votre code doit aussi être validé par au moins un core reviewer du projet sur lequel porte votre patch. Un core reviewer est un membre ayant des responsabilités vis-à-vis du projet dont il a la charge. C’est souvent l’occasion d’échanges entre les reviewers (qu’il s’agisse de core reviewer ou non) et vous sur des erreurs que vous n’avez pas vues dans votre code, des conseils divers sur son amélioration ou des points obscurs que peuvent soulever vos modifications. Il y a donc souvent des corrections à réaliser en réponse aux revues des autres développeurs pour que le patch soit définitivement validé et intégré dans le dépôt du projet. Avoir une revue négative est parfois frustrant mais souvent enrichissant.
Une autre façon de contribuer à OpenStack presque à la portée de tous est d’aider dans sa traduction. Nul besoin d’avoir de connaissances techniques ou d’installer divers logiciels pour réaliser cette tâche. Un minimum de pratique d’Anglais est forcément requis, mais chacun peut traduire selon son propre rythme de ses compétences. On peut aussi se charger de relire et corriger les traductions des autres membres. Le système est basé sur la plateforme web Zanata. L’interface est assez intuitive et permet de traduire rapidement les différents projets OpenStack ainsi que la documentation associée. Le prérequis est juste d’intégrer l’équipe de traduction dédiée à une langue.
Il y a bien sur d’autres possibilités de contribuer en reportant des bugs, en faisant de la documentation, etc. Ce n’était pas une liste exhaustive des différentes manières de contribuer. Pour obtenir plus d’informations vous rendez-vous sur le wiki d’OpenStack qui liste les différentes manières de contribuer.
Si vous souhaitez développer, il existe un guide indispensable à lire dans la documentation OpenStack avant de débuter.