Article original : How I crushed my fear of open source and started my own project — and how you can, too.
Par Linea Brink Andersen
Il y a une semaine, j'ai lancé un projet Open Source. Je n'avais jamais fait de pull request ou fusionné quoi que ce soit sur GitHub. Soudain, je suis devenue une mainteneuse Open Source.
Dans ma recherche d'un projet Open Source facilement accessible, j'ai fini par créer le mien.
J'avais toujours voulu contribuer à l'Open Source. Chaque fois que je cherchais un projet, j'abandonnais. J'étais submergée par le code source d'un projet, ou il semblait trop compliqué. Je ne savais pas à qui m'adresser pour obtenir des informations et de l'aide. Je doutais de mes compétences et me convainquais que mes contributions ne seraient pas utiles.
C'était ironique. Je voulais contribuer à l'Open Source pour gagner de l'expérience. Mais je sentais que j'avais besoin de plus d'expérience avant de pouvoir commencer. C'était une spirale sans fin, et j'ai réalisé que je devais faire quelque chose.
Briser la barrière
Je voulais un projet Open Source pour débutants. Je rêvais d'un projet où je pourrais me sentir confiante. Où les autres contributeurs apprenaient aussi à coder, ou contribuaient pour aider les débutants. J'ai compris qu'il y avait probablement d'autres personnes comme moi à la recherche de la même opportunité.
Puis, cela m'a finalement frappé. Je pourrais lancer un projet open source moi-même. J'ai passé 14 heures dessus ce jour-là, et tôt le matin, j'avais un projet sur GitHub. Ensuite, j'ai tweeté pour que d'autres me rejoignent.
Si vous êtes curieux à propos de l'open source depuis un moment, mais que vous n'avez pas encore commencé, je vous encourage à faire de même. J'ai capturé mon processus dans cet article. Si vous créez le type de projet auquel vous seriez heureux de contribuer, il sera beaucoup plus facile de commencer. En prime, vous aiderez d'autres personnes qui ont hésité à contribuer pour les mêmes raisons que vous. Essayez — vous apprendrez beaucoup.
Note : J'ai dit ci-dessus que j'ai commencé mon projet en 14 heures. Pour être tout à fait honnête, j'ai commencé à l'étape 3 (voir ci-dessous) ce jour-là. J'avais déjà mon idée, et j'avais écrit mon code de base quelques semaines avant. Si vous avez un petit projet que vous avez déjà commencé, vous pouvez l'utiliser. Mais si ce n'est pas le cas, ne vous inquiétez pas, vous n'avez pas besoin de tout faire en un jour.
Alors sans plus tarder, voici mes cinq étapes pour créer votre propre projet Open Source.
Étape 1 - Trouver une idée
Cela peut sembler très difficile, mais ce n'est pas obligatoire. Après tout, vous n'avez besoin que du début d'une idée. Vos futurs contributeurs et utilisateurs potentiels seront pleins d'idées pour construire sur la vôtre.
Beaucoup de technologies comme Google et YouTube ont commencé très simplement, et il en devrait être de même pour votre projet. Rappelez-vous que c'est une expérience d'apprentissage. Votre idée n'a pas besoin de sembler être une invention géniale. Si vous êtes toujours bloqué, peut-être que ce site idiot peut vous aider.
Étape 2 - Créer une base de code
Il est plus facile de commencer à collaborer s'il y a un peu de code minimal pour commencer. C'est à vous de décider combien de code votre projet doit inclure au début. Mais il sera plus facile pour vos contributeurs de commencer s'il y a au moins quelques lignes de code qu'ils peuvent modifier ou compléter.
Ne vous inquiétez pas si votre base semble trop simple. C'est exactement ce que vous voulez. D'autres débutants pourront contribuer, car le projet est simple et le code est facile à lire.
Étape 3 - Configurer votre dépôt
Le dépôt est l'endroit où tout se passe. C'est aussi là que nous, débutants, manquons un peu d'expérience, comparés aux développeurs expérimentés. Utilisez votre expérience en tant que "newbie" Open Source pour créer un projet simple et encourageant que d'autres débutants peuvent rejoindre.
Vous savez exactement ce qui était difficile pour vous. Assurez-vous que votre projet facilite les choses. Créez le type de projet que vous auriez aimé rejoindre vous-même.
Lorsque je cherchais à rejoindre un projet Open Source, je voulais vraiment demander aux mainteneurs comment je pouvais contribuer. J'ai fait en sorte qu'il y ait plusieurs façons pour les personnes regardant mon dépôt de me contacter. J'ai fourni des informations sur la façon d'ouvrir un problème et de se présenter. Si quelqu'un le fait, nous pouvons ensemble déterminer comment il peut commencer à contribuer.
Il y a des gens qui ont les mêmes difficultés que vous. Si vous construisez votre version d'un projet open source accueillant, ils auront plus de facilité à vous rejoindre. Ensemble, vous pouvez apprendre et développer votre projet.
Il existe de nombreux guides sur la façon de démarrer un dépôt GitHub, par exemple ici. Apprendre en faisant est ce qui fonctionne le mieux pour moi.
J'ai suivi des guides interactifs gratuits sur GitHub Learning Lab. Si vous êtes nouveau sur GitHub ou souhaitez vous rafraîchir la mémoire, vous pouvez commencer par une "Introduction à GitHub" comme je l'ai fait.
Ensuite, passez à "Déplacer votre projet vers GitHub". Ce guide vous guidera étape par étape pour configurer un dépôt Open Source. N'hésitez pas à sauter toute étape que vous ne pensez pas pertinente pour votre projet, ou que vous souhaitez garder pour plus tard. Lorsque vous avez terminé, vous pouvez changer le nom de votre dépôt, le rendre public, et voilà ! Vous avez un projet open source.
N'oubliez pas que l'open source ne signifie pas seulement un projet collaboratif. Cela signifie également avoir une licence open source. Le guide GitHub vous aidera également à l'ajouter à votre dépôt.
Si vous construisez un projet Open Source accueillant, les gens vous rejoindront. Tenez-vous la main pendant que vous apprenez ensemble.
Étape 4 - Inviter des personnes à collaborer avec vous
C'était l'étape qui me faisait le plus peur. Je n'avais pas d'amis codeurs que je pouvais inviter à rejoindre mon projet. J'avais moins de 20 abonnés sur Twitter, donc je n'étais même pas sûre que mes tweets auraient beaucoup de portée. Mais j'ai tweeté une invitation à rejoindre, et j'ai ajouté quelques hashtags que j'espérais atteindre d'autres débutants.
Et puis, Rien ne s'est passé !
Pendant plus de 24 heures, personne n'a aimé mon tweet. Le seul retweet venait d'un bot Twitter. Pire encore, personne n'était actif sur le dépôt. J'étais déçue. Mes attentes n'étaient pas élevées, mais j'espérais qu'au moins une ou deux personnes le consulteraient.
Mais le lendemain matin, il y avait eu quelques activités sur Twitter. Deux personnes avaient travaillé sur le dépôt. Le projet avait sa première pull request. J'étais si excitée. Maintenant, moins d'une semaine plus tard, il y a 8 collaborateurs actifs sur le projet, dont je n'ai jamais rencontré aucun.
Étape 5 - Maîtriser le jeu Open Source
Cette étape consiste à apprendre en faisant. Vous serez confronté à de nombreux défis en commençant à travailler sur le projet avec vos contributeurs. Mon premier grand défi était un conflit de fusion. Google a été d'une grande aide à ce moment-là, et j'ai eu de la chance de pouvoir demander de l'aide lors de ma rencontre hebdomadaire.
Rappelez-vous que vous avez construit un espace d'apprentissage. Vos contributeurs comprennent que vous ne savez pas tout faire dès le départ. Considérez chaque nouveau défi comme une opportunité d'apprentissage. N'ayez pas peur de demander de l'aide ou des conseils à vos contributeurs. La beauté de l'Open Source est de combiner les forces de toute l'équipe. Vous pouvez tous partager votre expertise individuelle.
Maintenant, passez à l'action
La morale de l'histoire est que n'importe qui peut lancer un projet open source — cela signifie vous aussi. Peu importe que vous n'ayez pas une idée énorme et compliquée pour un projet géant. Peu importe que vous n'ayez pas utilisé GitHub depuis longtemps, ou jamais. Peu importe même que vous n'ayez pas d'amis codeurs avec qui collaborer. Vous pouvez le faire, et j'espère vraiment que vous le ferez. Vous apprendrez beaucoup, et vous aiderez à rendre l'open source plus accessible pour d'autres débutants.
Si vous avez des questions, ou si vous voulez discuter, n'hésitez pas à me contacter sur Twitter @lineal et à rejoindre mon projet open source Prog-o-meter.