
Partager:
Diana est défenseur des développeurs chez Vonage. Elle aime manger des huîtres fraîches.
Un guide pour les débutants sur la façon de contribuer à l'Open Source
Temps de lecture : 11 minutes
"Contribuer à l'open source" est une de ces phrases que l'on entend tout le temps et que l'on veut faire, mais que l'on ne sait pas toujours comment faire. Au début, j'avoue avoir été découragé de contribuer parce que j'étais submergé par toutes les ressources mises à ma disposition, surtout lorsque chacune d'entre elles avait une approche différente.
Ce blog sera également l'une des nombreuses façons de commencer avec l'open source (désolé), mais je vais partager mon approche honnête de la façon dont je me suis impliqué dans la contribution et des choses que j'aurais aimé savoir quand j'ai commencé.
Qu'est-ce qu'un projet Open Source ?
Le terme "open source" fait référence à un projet conçu pour être ouvertement accessible et modifiable. Souvent, un projet à code source ouvert est mis à la disposition de tous pour qu'ils puissent le voir, le modifier et le partager (contrairement aux logiciels à code source fermé (CSS) qui ne sont pas partagés par le public et ne peuvent être modifiés que par la personne ou l'organisation qui les a créés). Toutefois, même si les gens sont généralement encouragés à contribuer au projet et à l'améliorer, il est nécessaire de respecter certaines règles de "gestion interne", et c'est là qu'intervient la question des licences (je reviendrai sur ce point dans ce blog).
Les facteurs qui définissent l'open source sont les suivants :
Le projet dispose d'un code source accessible au public. Le projet dispose d'une licence conforme à la Définition de l'Open Source (OSD).
Par exemple, le SDK Python de Vonage est un logiciel libre. Ici, vous pouvez voir qu'il utilise la licence Apache-2.0. Il s'agit d'une norme pour tous nos SDK de Vonage.
Python Repo
Qu'est-ce qu'un contributeur Open Source ?
Alors que les projets à source ouverte open-source ont des critères qui les définissent comme étant des logiciels libres, les contributeurs n'en ont pas. Il existe de nombreuses façons de contribuer, par exemple :
Contributions au code: Corriger les bogues, implémenter de nouvelles fonctionnalités et remanier le code.
Documentation: Créer ou améliorer la documentation (y compris les fichiers README, les guides d'utilisation et la documentation sur les API), localiser les documents (les traduire dans une autre langue parlée ou écrire le code dans un autre langage de codage) et rédiger des tutoriels.
Questions relatives aux rapports: Si vous remarquez qu'un projet peut être amélioré, suggérez des changements en soulevant un problème. Vous n'avez pas besoin de mettre en œuvre le changement lui-même, même si cela serait fortement recommandé et extrêmement utile si vous le pouviez. Cependant, quelqu'un d'autre disposant des compétences et de la bande passante nécessaires pourrait prendre en charge le problème afin d'améliorer le projet pour tous les autres.
Essais: Tester sur différentes plateformes et signaler les problèmes, écrire des tests unitaires, et mettre en place ou améliorer les pipelines CI/CD.
Soutien communautaire: Répondre aux questions sur les forums, faire des revues de code, et encadrer les nouveaux contributeurs. Par exemple, si quelqu'un sur le serveur Discord d'Appwrite demande de l'aide pour mettre en œuvre Vonage Video sur Appwrite Cloud, je pourrais commenter en lui indiquant mon coéquipier. Le blog de Chris Tankersley.
Organiser des événements: Accueillez ou participez à des réunions ou à des ateliers qui promeuvent les projets à code source ouvert.
Comment trouver un projet Open Source auquel contribuer ?
Examinons les différentes façons de trouver des projets open-source.
Postuler pour un programme de mentorat Open Source
Contribuer à l'open source peut être une activité ponctuelle que vous faites pendant votre temps libre, ou cela peut être comme un travail à plein temps. Si vous avez la possibilité de participer à un programme dans lequel quelqu'un vous donnera des responsabilités et vous guidera tout au long du processus, vous confiera un projet avec des échéances et verra votre travail noté, je vous recommande de vous inscrire à un programme tel que Google Summer of Codequi exige 40 heures par semaine pendant le programme. Cela aurait été une option idéale pour moi alors que j'étais encore un étudiant sans stage.
Un de mes très bons amis, Kunal Kushwahaa une Video sur YouTube qui explique ce processus, mais en voici un bref aperçu :
Tenez compte des dates limites de cette option. Il n'est pas possible de s'inscrire au programme Google Summer of Code à n'importe quel moment de l'année. Les Applications doivent être acceptées pour travailler sur le projet de leur choix.
Aller à Google Summer of Code> Organisations> Parcourir toutes les organisations. Utilisez les filtres pour rechercher une organisation, une technologie ou un sujet qui vous intéresse. Cliquez sur une organisation pour voir quels projets sont disponibles pour les contributeurs.
Lisez chaque projet et trouvez les instructions spécifiques sur la manière de poser votre candidature pour travailler sur ce projet spécifique. Ce serait même le bon moment pour essayer le projet.
Voici quelques éléments à prendre en compte lors de la sélection d'un projet :
Quels sont vos objectifs ?
Pourquoi avez-vous choisi ce projet spécifique ?
Si vous finissez par proposer votre propre projet, en quoi votre idée est-elle différente d'une idée préexistante que vous auriez pu choisir ?
Qu'est-ce qui vous rend apte à participer à ce projet ?
Combien de temps prévoyez-vous d'investir dans le projet avant/pendant/après le programme ?
3. Si vous êtes accepté(e), vous serez jumelé(e) à un mentor qui vous aidera à devenir un(e) excellent(e) collaborateur(trice) !
Trouver des numéros "bons pour la première fois
Supposons que vous ne puissiez pas consacrer autant temps à contribuer à l'open source - ce n'est pas grave, je ne le peux pas non plus. En revanche, vous pouvez vous attaquer à un bon premier problème qui convient aux nouveaux contributeurs, car il ne nécessite généralement pas de connaissances approfondies de la base de code du projet. Vous devriez en choisir un en fonction de vos compétences et de vos intérêts.
Voici quelques pistes pour trouver un "bon premier numéro" :
Rechercher un dépôt Github Github qui correspond au thème 'bonne-première-question'. D'autres mots-clés/expressions que vous pouvez rechercher et qui peuvent donner des résultats similaires sont 'contributions-bienvenues', 'hacktoberfest', 'débutant', 'débutant-friendly', 'help-wanted', ou 'contributions-bienvenues'.
Par exemple, Appwrite a des problèmes étiquetés comme suit 'bon-premier-problème'.
Utilisez un bon outil de recherche de première émission. Eddie Jaoude en a construit un que vous pouvez utiliser gratuitement.
Une fois que vous avez trouvé un problème sur lequel vous aimeriez travailler, regardez dans le fil des commentaires pour voir s'il a été assigné à quelqu'un. Si ce n'est pas le cas, laissez un commentaire demandant aux responsables de vous l'attribuer.
Voici un exemple de commentaire d'une personne demandant à travailler sur un problème que j'ai signalé.Voici un exemple de commentaire d'une personne demandant à travailler sur un problème que j'ai signalé.
Si vous avez une question pendant que vous travaillez sur le problème, n'ayez pas peur d'apprendre en public. Allez sur le fil de discussion du problème sur GitHub et/ou sur n'importe quelle plateforme publique que la communauté utilise pour discuter (Discord, Slack, etc.) et envoyez-leur un message public avec le contexte suivant :
ce que vous avez fait
ce que vous essayez de réaliser
erreur(s) rencontrée(s)
demander des ressources pour vous aider à vous débloquer
Comment signaler un problème
J'avais l'habitude de penser que le fait de soulever un problème faisait de moi le problème. Comme le dit Taylor Swift, "C'est moi". C'est moi. Je suis le problème, c'est moi." Mais voilà le truc... tu n'es pas le problème ! Vous pourriez même être la solution. Signaler les problèmes compte toujours, et c'est mon manière préférée de contribuer à l'open source.
Si aucun problème ne vous a semblé évident lorsque vous avez essayé de trouver un "bon premier problème", rendez-vous sur un dépôt GitHub qui vous intéresse et utilisez le projet. Construisez le projet sur votre propre système. Si vous rencontrez un problème (que ce soit dans le code ou dans la documentation), signalez-le.
Exemple de contribution à un logiciel libre (signalement d'un problème)
Examinons ma contribution à Appwriteune société qui fournit un logiciel open-source Backend-as-a-Service (BaaS) open-source.
Comment savoir s'il s'agit d'un projet open-source ? Vérifions sur leur repo!
Appwrite Check Il s'agit d'un repo public.
Il dispose d'une licence.
Le fichier LICENSE.md décrit ce que vous êtes autorisé à faire avec ce projet.
Alors que je construisais une application qui planifie des SMS en utilisant Vonage et Appwrite Messagingj'ai rencontré un problème qui m'a fait me sentir stupide sur le moment. J'essayais de définir la date et l'heure (30 mai 2024, à 15:27:10) à laquelle je voulais qu'un texte soit envoyé, mais je recevais toujours un message d'erreur. J'ai même confirmé que l'heure que j'essayais de régler était postérieure à l'heure actuelle (15:25).
Discord QuestionJe suis donc allé sur le serveur Discord d'Appwrite et j'ai envoyé un message à l'un de leurs canaux. Oui, être vulnérable et demander de l'aide devant d'autres personnes peut être intimidant, mais apprendre en public est une grande partie de la culture open-source.
Peu de temps après, j'ai reçu une réponse de l'un des membres de l'équipe qui m'a expliqué exactement ce qui n'allait pas. Il a même reconnu qu'il s'agissait d'un bon problème à signaler, car si j'avais rencontré ce problème, d'autres le feraient aussi.
Discord responseTout d'abord, j'ai fait une recherche rapide de leur repo et j'ai trouvé leur fichier CONTRIBUTING.mdqui indique clairement le type d'aide dont ils ont besoin et comment les gens peuvent s'impliquer.
J'ai cliqué sur l'onglet l'onglet questions et j'ai cliqué sur "Nouveau numéro".
Sur cette page, j'ai sélectionné mon type de problème. Comme je souhaite suggérer une modification de la fonction de planification des SMS, je choisis "Amélioration".
Ensuite, j'ai rempli tous les champs requis pour soumettre la proposition, puis j'ai cliqué sur "Soumettre un nouveau numéro". À titre de référence, j'ai consulté un problème signalé précédemment.
Vous pouvez consulter mon numéro ouvert ici. C'est tout - j'ai fait une contribution open-source ! 🙌🏻
Idées reçues sur l'Open Source
Vous devez savoir comment coder. Nombreux sont ceux qui pensent que contribuer à des projets open source nécessite des compétences avancées en matière de codage. Bien que le codage soit utile, il existe d'autres façons de contribuer, telles que l'amélioration de la documentation (réécriture, reformatage, etc.), la conception, les tests, la traduction, le signalement de bogues et le soutien à la communauté. Aucune de ces contributions ne nécessite de codage.
L'open source, c'est du vol. Certaines personnes pensent que copier l'open source, c'est voler la propriété intellectuelle. VOUS TOUS ! Vous vous souvenez quand j'ai dit que les projets open source avaient besoin d'une licence ? Si le responsable du projet a choisi une licence qui ne qui permet aux autres d'utiliser, de modifier et de distribuer leur logiciel, il est tout à fait légal de le faire. L'open source est fait pour être utilisé. Si un projet possède les fonctionnalités dont vous avez besoin pour votre propre application, pourquoi réinventer la roue ? Et si vous trouvez des problèmes dans ce projet pendant que vous l'utilisez, vous pouvez contribuer en signalant le problème ou en le corrigeant vous-même. Tant que vous rendez à César ce qui appartient à César, c'est un jeu équitable. N'oubliez pas que toutes les licences ne l'interdisent pas.
Par exemple, la licence Apache comporte peu de restrictions et permet d'incorporer le code dans des projets commerciaux sans exiger que l'ensemble du projet soit open source. C'est la licence qu'utilise le SDK Python de Vonage (mentionné au début de ce blog).
On ne peut pas gagner de l'argent avec l'open source. Au départ, j'étais également curieux à ce sujet, car je ne comprenais pas comment une entreprise de logiciels libres pouvait gagner de l'argent alors qu'elle fournissait son code gratuitement. Le code reste gratuit. Cependant, de nombreuses entreprises qui créent des logiciels à code source ouvert peuvent gagner de l'argent en offrant des services tels qu'une assistance payante, des fonctions personnalisées ou une formation des clients à l'utilisation du projet lui-même.
A titre d'exemple, le projet CAMARA est un projet open-source au sein de la Fondation Linux qui comporte des sous-projets liés aux télécommunications, tels que SIM Swap et la Vérification des Numbers. Une grande entreprise comme Ericsson peut toujours utiliser légalement l'API SIM Swap API d'échange de cartes SIM et API de vérification de numéro pour construire ses produits commercialisés.
Comment rendre votre projet Open Source
Choisir une licence Open Source: Bien que vous n'ayez pas besoin de passer par un processus d'approbation pour confirmer que votre projet est open source, il est nécessaire que vous choisissiez une licence approuvée qui corresponde à vos objectifs et qui provienne d'une source fiable telle que l'Open Source Initiative. Lorsque vous choisissez une licence, prenez en compte les différents cas d'utilisation de votre projet, comme la création d'un logiciel que vous souhaitez vendre.
Préparer votre projet pour une diffusion publique: Assurez-vous que votre code est bien documenté et propre, et créez des directives de contribution qui décrivent comment les autres peuvent s'impliquer et soumettre des améliorations au projet. N'oubliez pas d'inclure la licence que vous avez choisie dans votre projet.
Publier votre projet sur une plateforme d'hébergement: Téléchargez votre code sur la plateforme de votre choix - n'oubliez pas d'inclure le fichier de licence ! Les dépôts de code publics tels que GitHub ou GitLab sont des options populaires pour l'hébergement de projets open-source.
Et le tour est joué ! Votre projet est considéré comme open source et facilement accessible à d'autres.
Partagez vos projets Open Source avec nous !
Nous sommes toujours ravis de voir ce que les développeurs créent à l'aide de nos API et SDK de Vonage à code source ouvert. Si vous ne faites pas encore partie de notre communauté de développeurs Vonage, nous aimerions que vous rejoindre notre canal Slack et suivez notre équipe sur Xanciennement connu sous le nom de Twitter, afin que tout le monde puisse voir tous les projets amusants que vous aimeriez partager. Si vous avez apprécié ce blog (ou pas), n'hésitez pas à me le faire savoir sur X et dites-moi quels sont vos projets open-source préférés !