Comment contribuer à un projet open source ?

Comment contribuer à un projet Open Source

Il n’a jamais été facile d’apprendre la programmation. Mais malgré les tonnes de façons d’apprendre à coder, nous pensons que la meilleure façon d’améliorer vos compétences est de contribuer à des projets open source.

La communauté open source offre aux programmeurs en herbe une excellente occasion de se distinguer ; et en contribuant à divers projets, les développeurs peuvent améliorer leurs compétences et obtenir l’inspiration et le soutien de personnes partageant les mêmes idées. Mais surtout, ils peuvent prouver qu’ils peuvent créer des expériences fantastiques que les gens aiment.

Nous avons déjà discuté de ce que sont les projets open source et des raisons pour lesquelles l’open source est bon pour votre entreprise. Dans cet article, nous vous expliquerons pourquoi vous devriez contribuer à de tels projets, comment y contribuer et quels projets choisir. Cet article s’adresse aux développeurs qui débutent leur carrière et qui souhaitent s’impliquer dans la communauté (et peut-être devenir un génie du codage).

Pourquoi contribuer à des projets open source ?

Il y a plusieurs raisons de contribuer aux logiciels libres (OSS, open-source software). Voyons ce qui motive les développeurs à contribuer.

Premièrement, il y a beaucoup d’enthousiastes qui croient simplement que le code doit être ouvert. Ce sont des idéalistes qui veulent rendre le monde meilleur, et cela les pousse à contribuer au code. Le désir de partager peut être un puissant facteur de motivation.

Deuxièmement, le logiciel libre vous donne un excellent départ. Les débutants peuvent commencer par corriger des choses mineures, comme un bogue dans une bibliothèque, envoyer une demande d’extraction, ou même écrire un morceau de documentation. Cependant, les développeurs débutants peuvent aussi apprendre à écrire du “code propre” – du code lisible et maintenable – tout en contribuant à des projets de logiciels libres. Lorsque les développeurs réalisent que leur code est exposé au monde, ils se concentrent sur la facilité de compréhension et d’assistance de ce code. Les programmeurs s’en tiennent à des règles généralement acceptées au sein d’une équipe, qui comprennent des normes pour les indentations, des descriptions de méthodes et de classes, des noms de variables et le respect de la règle “ne pas se répéter”. En bref, lorsque vous contribuez à des projets libres, vous êtes obligé de vous conformer aux normes d’un projet.

Troisièmement, vous avez la chance de faire partie d’une communauté active de logiciels libres où vous pouvez rencontrer des personnes et des partisans qui partagent les mêmes idées. De plus, si vous êtes indépendant et que vous contribuez activement à des projets open source, vous augmentez vos chances d’être remarqué par des employeurs potentiels.

Les principales raisons qui poussent les développeurs à s’engager dans des projets libres sont d’être reconnus, d’affiner leurs compétences en programmation et de faire partie d’une communauté dynamique. Voyons maintenant ce que vous devez prendre en considération avant de commencer à contribuer.

Ce qu’il faut prendre en considération avant de passer à l’open source

Vous êtes donc impatient de commencer votre premier projet OSS. Voici quelques conseils qui pourraient vous aider à choisir ce sur quoi vous allez travailler.

Langage de programmation

La technologie la plus fondamentale derrière toute application est un langage de programmation. Les langages les plus populaires sur GitHub (une plateforme d’hébergement de code collaboratif) sont JavaScript, Python, Java, Ruby et PHP. Il existe une multitude de projets qui pourraient correspondre à vos compétences et à vos goûts.

Comme nous aimons Ruby et son écosystème, nous aimerions partager plusieurs bases de code OSS en direct pour les débutants :

  • Sinatra, une bibliothèque basée sur Ruby qui permet de créer des applications sans rail ;
  • Hanami, un framework web moderne construit avec Ruby ;
  • Chef, un framework basé sur Ruby utilisé pour automatiser votre travail avec le serveur ;
  • Goby, un framework qui vous permet de créer des jeux de rôle textuels ;
  • JRuby, un deuxième meilleur interprète de Ruby.

Bien que nous n’ayons mentionné que cinq projets open source actifs qui ont besoin d’aide, vous pouvez commencer votre jorney en tant que contributeur Ruby avec eux.

Type de projet

Une fois que vous avez choisi la langue dans laquelle vous souhaitez travailler, vous devez choisir le type de projet que vous préférez. Les projets GitHub sont classés dans des dossiers appelés Showcases. Voici quelques exemples de Showcases : “sécurité”, “réalité virtuelle”, “éditeurs de texte”, et “préprocesseurs CSS”. Choisissez simplement un sujet qui vous intéresse.

Toutefois, nous vous recommandons d’accorder une attention particulière aux projets qui seraient utilisés par un large éventail de personnes afin que vous ayez la possibilité de tester votre code sur un large public dans le monde réel. Par exemple, la vitrine “Emoji” contient 25 dépôts qui représentent sa popularité. Un autre conseil pour choisir un projet de logiciel libre est de commencer à travailler sur un logiciel que vous utilisez déjà ou que vous souhaitez utiliser. Cela vous permettra de rester motivé pour continuer à travailler.

Volume du projet

Les grands projets logiciels comme VLC Media Player ou Spree – avec des milliers de lignes de code – ne sont pas le meilleur choix pour un débutant. Lorsque vous contribuez à de grands projets, vous êtes censé répondre aux exigences établies au sein de cette équipe. Voici un autre petit conseil : faites attention aux étiquettes. Certains problèmes sont étiquetés comme “réservé aux débutants”, “débutant”, “facile”, etc. Vous pouvez également trouver sur Github une liste de projets qui conviennent aux nouveaux venus.

Tenez compte de ces conseils lorsque vous choisissez un projet auquel vous souhaitez contribuer. Et n’oubliez pas de choisir les logiciels qui vous intéressent et de prévoir du temps à l’avance.

Comment contribuer à des projets open source

Lorsque nous parlons de logiciels libres, nous ne pouvons pas éviter de parler de GitHub et des outils connexes. Voyons ce qu’est GitHub et comment il vous aide à participer à des projets de logiciels libres.

Faites connaissance avec GitHub

GitHub est la plateforme la plus populaire pour la collaboration open source, vous l’utiliserez donc probablement pour explorer le monde du logiciel libre. Tout d’abord, vous devez créer un compte GitHub et lire le guide qui vous aidera à démarrer. Sur GitHub, vous pouvez contribuer à des projets en soumettant des problèmes et en contribuant au code. Soumettre des problèmes signifie envoyer des messages concernant les erreurs dans les applications et suggérer des moyens de les corriger. Contribuer au code implique d’envoyer des demandes de retrait avec vos corrections et améliorations.

Apprendre les bases

Lorsque vous travaillez avec GitHub, vous devez savoir comment utiliser Git – l’un des outils de contrôle de version les plus populaires (également connu sous le nom d’outils de contrôle des révisions). Comme les développeurs apportent constamment des modifications à leur code, ils ont besoin d’un système capable de gérer ces modifications dans un dépôt central. De cette façon, toutes les personnes impliquées dans le processus de développement peuvent télécharger un logiciel donné, y apporter des modifications et soumettre des mises à jour.

En plus d’être à l’aise avec les outils de contrôle des révisions, les compétences essentielles comprennent la capacité de cloner un dépôt et d’envoyer des demandes d’extraction. Les demandes pull informent les mainteneurs de code des modifications apportées au code ; ils peuvent ensuite revoir ces modifications, entamer une discussion à leur sujet ou les affecter à un nouveau commit.

Rejoindre la communauté

Vous pouvez facilement rejoindre un projet open source en vous inscrivant à la liste de diffusion de ce projet. Vous pouvez trouver les listes de diffusion sur les sites web officiels ou sur les pages GitHub. Après avoir été accepté sur la liste, vous pouvez communiquer avec les membres de l’équipe et obtenir de l’aide si nécessaire. Grâce aux communautés dynamiques présentes dans presque tous les projets OSS, vous obtiendrez probablement des réponses rapides à vos questions.

Toutes les compétences sont les bienvenues

Même les non-programmeurs peuvent contribuer à des projets open source ! La documentation est nécessaire pour tous les projets, et elle est parfois mal écrite et mal entretenue. Ainsi, vous pouvez aider en écrivant, en mettant à jour ou même en traduisant la documentation. De plus, vos compétences en matière de conception peuvent s’avérer utiles : après tout, chaque application a besoin d’une interface. Enfin, vous pouvez contribuer à la gestion d’une communauté en répondant aux questions et en guidant les nouveaux venus.

Moyens de contribuer à des projets open source

Soulignons les moyens les plus courants de contribuer aux projets de logiciels libres.

1. Créez votre propre projet open source

Chaque projet devrait commencer par un besoin identifié. Si vous estimez que les projets existants sur GitHub ou Bitbucket n’offrent pas les fonctionnalités que vous souhaitez développer, alors créez votre propre solution open source. En plus d’une première ébauche de projet, vous devriez considérer la série de questions suivantes :

  • Quelles sont les compétences dont vous avez besoin pour votre projet ?
  • Combien de temps êtes-vous prêt à consacrer à votre projet ?
  • Quel(s) problème(s) votre logiciel résout-il ?
  • Combien d’utilisateurs potentiels y a-t-il pour votre produit ?

2. Créer des alternatives aux logiciels commerciaux en open source

Les projets commerciaux actuels font activement appel à des solutions à source ouverte. De nombreuses entreprises basent leurs projets sur des outils gratuits. Lorsqu’il y a un grand choix de logiciels, il n’est pas nécessaire de réinventer la roue. C’est pourquoi il est utile de jouer avec des logiciels libres qui peuvent remplacer des logiciels propriétaires similaires, ou qui corrigent un problème auquel vous avez été confronté récemment.

Une autre raison de remplacer les solutions commerciales par des logiciels à source ouverte est la volonté d’une véritable innovation et de la croissance. Les logiciels commerciaux prétendent être innovants, mais leur objectif final est de réaliser des bénéfices. Les logiciels à source ouverte réunissent les meilleures pratiques, une grande qualité de code et des développeurs passionnés qui veulent coder juste parce qu’ils aiment le faire.

3. Contribuer aux projets open source existants

Vous pouvez trouver de nombreux projets auxquels vous êtes libre de participer sur GitHub – une plateforme orientée vers les développeurs avec un ensemble de fonctionnalités simples mais essentielles. GitHub attire les développeurs avec des API publiques, une interface utilisateur élégante et fréquemment mise à jour, des gists (dépôts Git) qui vous permettent de partager des morceaux de code ou même des applications entières, et bien plus encore. Vous pouvez contribuer au logiciel libre de nombreuses façons. Les développeurs peuvent bifurquer des projets, apporter des modifications au code et envoyer des demandes d’extraction. Et l’assurance qualité est toujours appréciée. Parfois, les développeurs sont trop occupés ou trop paresseux pour vérifier la qualité de leur code. Alors n’hésitez pas à signaler un bogue ou à essayer de le corriger – votre aide est appréciée.

Vous pouvez accéder aux projets GitHub les plus chauds en suivant le lien “Trending”. Et pour rendre votre recherche plus pertinente, utilisez la recherche avancée : sélectionnez la langue dans laquelle vous souhaitez coder et choisissez les critères de “meilleure correspondance”. Best match classe les projets en fonction de leur pertinence, en tenant compte du nombre de fourchettes (qui représente le degré d’actualisation du projet) et d’étoiles (“likes”, dans la langue de Facebook). La plupart des projets ont des problèmes connus (mais certains non) avec des étiquettes comme “bug”, “discussion”, “sécurité”, ou “refactor”, ou d’autres étiquettes selon le niveau de difficulté : “facile”, “moyen”, “difficile”.

Conclusion

Les projets open source apportent de nombreux avantages à ceux qui y participent, et une telle expérience est très utile pour votre CV. En rejoignant une communauté de personnes partageant les mêmes idées et en perfectionnant vos compétences, vous pouvez vous donner une longueur d’avance en tant que développeur en herbe. Nous avons dressé une liste des raisons pour lesquelles les gens contribuent aux projets OSS et décrit les différentes façons de démarrer. Si vous souhaitez en savoir plus sur la contribution aux projets OSS, consultez nos précédents articles sur la manière dont les projets open source pénètrent le marché informatique et sur la sécurité des logiciels libres.