seungwon

Expérience de contribution open source

Création: 2025-05-03

Mise à jour: 2025-05-27

Création: 2025-05-03 00:00

Mise à jour: 2025-05-27 09:42

Cet article a pour but de donner du courage à ceux qui s'intéressent à l' open source mais qui ont peur de se lancer, se demandant « Suis-je capable ? », « Par où commencer ? ».

Aujourd'hui, je souhaite partager mon expérience en tentant ma chance avec l' open source et en partageant ce que j'ai appris et ressenti au cours de ce processus.

Open source ?

Lorsque vous étudiez le développement, vous rencontrez souvent le terme « open source». Si vous parcourez GitHub, vous trouverez de nombreux projets qui font bouger le monde et qui ont ouvert leurs codes.

Un projet qui publie ainsi son code à l'extérieur est appelé 'open source'.
Par exemple, il existe de grands projets open source tels que OpenJDK, Spring Framework, Redis et React.

Contribution open source

J'ai contribué à l'open source 4 fois jusqu'à présent. Au lieu d'ajouter des fonctionnalités révolutionnaires, je cherche et contribue à des améliorations mineures dans l'open source.

Je ne connais pas non plus le style de code de ces projets et je ne comprends pas en détail leur fonctionnement.

On peut constater que l'on peut contribuer à la communauté même sans parfaitement comprendre le code. Je n'ai commencé le développement que depuis deux ans, et je ne me suis pas vraiment senti doué pour le développement.

Je maintiens ces activités simplement parce que j'aime contribuer à l'open source et communiquer avec la communauté des développeurs.

Pourquoi voulais-je contribuer à l'open source ?

Honnêtement, au début, je n'étais pas complètement exempt de la pensée « Ne serait-il pas bon d'ajouter une ligne à mon CV ? ». C'était assez grand. Mais il y avait une motivation plus importante. C'était l'aspiration à « apprendre plus profondément » et la nécessité de « résoudre le problème que j'ai rencontré ».

Lors d'un projet d'équipe, j'ai eu l'occasion d'étudier en profondeur Project Reactor, la technologie sous-jacente à Spring WebFlux. J'ai compris les concepts grâce aux livres et aux documents, mais la façon dont il fonctionne et s'optimise dans les systèmes complexes était quelque chose que je ne pouvais comprendre qu'en regardant directement le code et en le confrontant. De plus, je me demandais souvent « Comment puis-je prouver que j'ai beaucoup étudié Reactor ? », et j'ai pensé, « Je devrais contribuer à l'open source ! ».

Une fois que j'ai décidé de contribuer !, je ne savais pas par où commencer. J'avais peur de tout, depuis la recherche de la partie à modifier dans le vaste code jusqu'à la prédiction de l'impact de ma modification sur l'ensemble du système.

Je me suis demandé : « Et si je soumettais une demande d'extraction et que je me faisais réprimander ? » et il m'a fallu beaucoup de temps avant de finalement enregistrer la demande d'extraction.

J'ai pensé que la commande réactive de Lettuce, le client Java Redis que j'utilisais avec la pile réactive, était basée sur Reactor, et j'ai voulu l'améliorer en modifiant directement la chaîne Reactor sur la base de l'apprentissage de Reactor.

J'ai simplement bifurqué (fork) et examiné tous les codes contenant les chaînes de caractères « Reactive » et « reactor ». Il semble que j'ai vérifié tous les codes constitués de chaînes Reactor avec des éditeurs Reactor tels que Mono et Flux.

En parcourant le code de fond en comble, j'ai eu la chance de trouver un code avec un peu moins de lisibilité et des chaînes de méthodes incorrectes parmi les codes utilisant la chaîne Reactor. Ce n'était pas une grande amélioration des fonctionnalités ni une modification de l'architecture qui bouleverserait le monde, mais c'était un petit problème clair dans le cadre de ma compréhension et de ma modification. J'ai pensé, « Ah, dans ce cas, je peux aussi y contribuer ! ».

J'ai modifié le code avec précaution sur la base de ce que j'avais compris et j'ai vérifié s'il fonctionnait comme prévu, au moins simplement dans l'environnement local. Bien qu'il s'agisse d'une petite modification, je me suis efforcé d'adopter au maximum le style du code existant et j'ai abordé la question avec prudence, en me demandant à plusieurs reprises si cela affecterait d'autres parties.

J'étais prêt à soumettre la demande d'extraction une fois que j'ai validé le contenu modifié. Honnêtement, il y a eu beaucoup de soucis et d'hésitations avant de cliquer sur le bouton « Envoyer ». J'étais préoccupé par des questions telles que « Est-ce que je peux envoyer une demande d'extraction avec ce genre de modifications ? », « Est-ce que je ne vais pas me faire dire que j'ai corrigé quelque chose d'évident ? » et « Puis-je bien écrire les explications en anglais ? ».

Comme je l'ai dit précédemment, j'avais très peur d'être critiqué à cause de mes lacunes. Mais avec la pensée « Commencer, c'est déjà la moitié du travail » et « On n'apprend rien sans se confronter », j'ai pris mon courage à deux mains et j'ai soumis la demande d'extraction, en décrivant aussi précisément que possible les modifications que j'avais apportées et les raisons qui les motivaient.

Expérience de contribution open source

redis/lettuce - #3061

Finalement, ma demande d'extraction a été « fusionnée » et j'ai ressenti un grand sentiment d'accomplissement et de fierté de savoir que le code que j'avais écrit et modifié faisait partie d'un projet open source célèbre utilisé par de nombreux développeurs.

Surtout, j'ai pu acquérir la confiance que je peux le faire aussi ! a été la plus grande réussite.

Hésitez-vous peut-être à contribuer à l'open source maintenant ?

Ce n'est pas grave si vous ne comprenez pas parfaitement. Vous pouvez commencer par de petites choses comme moi. Il existe de nombreuses façons de contribuer, comme la correction de fautes de frappe dans les documents, la participation à la traduction et le signalement de bogues simples. L'important est le courage de surmonter la peur et de faire le premier pas.

Si vous faites une erreur, c'est aussi une opportunité de croître davantage en recevant des commentaires de la communauté grâce à cette erreur.

Bien que ce soit une précieuse opportunité d'ajouter une ligne à votre CV, la contribution à l'open source basée sur l'apprentissage peut également servir de moyen de prouver que vous avez vraiment étudié dur.

Les commentaires ne sont pas autorisés sur cet article.