Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Contributions à l'Open Source

Contributions à l'Open Source

Tu utilises des outils open source et tu en es très satisfait. 😍
Cependant, il arrive qu'il y ait des bugs 🐛... Comment réagis-tu face à ce problème ? 🤔
La solution que je propose est de contribuer. 👐
On ouvre le dépôt, prend connaissance du guide de contribution et c’est parti !

Nous allons donc aborder :
- L’organisation des projets open source
- Les bonnes pratiques dans les échanges avec les contributeur•rice•s des projets
- Comment résoudre une issue en live

Avatar for Charles-Henri GUERIN

Charles-Henri GUERIN

May 05, 2020

Other Decks in Technology

Transcript

  1. Generally, Open Source software is software that can be freely

    accessed, used, changed, and shared (in modified or unmodified form) by anyone. Open source software is made by many people, and distributed under licenses that comply with the Open Source Definition. The internationally recognized Open Source Definition provides ten criteria that must be met for any software license, and the software distributed under that license, to be labeled "Open Source software." Only software licensed under an OSI-approved Open Source license should be labeled "Open Source" software. Source : https://opensource.org/faq#osd Qu’est-ce que l’Open Source ?
  2. La définition de “Open Source” • Free Redistribution • Source

    Code • Derived Works • Integrity of The Author’s Source Code Source : https://opensource.org/osd
  3. La définition de “Open Source” • No Discrimination Against Persons

    or Groups • No Discrimination Against Fields of Endeavor Source : https://opensource.org/osd
  4. La définition de “Open Source” • License Must Not Be

    Specific to a Product • License Must Not Restrict Other Software • License Must Be Technology-Neutral Source : https://opensource.org/osd
  5. Pourquoi contribuer à l’Open Source ? Working on [freenode] helped

    me earn many of the skills I later used for my studies in university and my actual job. I think working on open source projects helps me as much as it helps the project! — @errietta, “Why I love contributing to open source software”
  6. Pourquoi contribuer à l’Open Source ? • Améliorer le logiciel

    que vous utilisez ainsi que vos compétences • Rencontrer des gens avec les mêmes centres d’intérêt • Trouver des mentors et instruire les autres • Construisez des choses qui vous aident à développer une réputation (et une carrière) • Apporter des changements, même petits est gratifiant Source : https://opensource.guide/how-to-contribute/#why-contribute-to-open-source
  7. Comment contribuer à l’Open Source ? If you’re a new

    open source contributor, the process can be intimidating. How do you find the right project? What if you don’t know how to code? What if something goes wrong? Source : https://opensource.guide/how-to-contribute/#what-it-means-to-contribute
  8. Vous n’êtes pas obligé de coder I’ve been renowned for

    my work on CocoaPods, but most people don’t know that I actually don’t do any real work on the CocoaPods tool itself. My time on the project is mostly spent doing things like documentation and working on branding. — @orta, “Moving to OSS by default” Source : https://opensource.guide/how-to-contribute/#what-it-means-to-contribute
  9. Vous aimez écrire ? Seriously, [documentation] is mega-important. The documentation

    so far has been great and has been a killer feature of Babel. There are sections that could certainly use some work and even the addition of a paragraph here or there is extremely appreciated. — @kittens, “Call for contributors” Source : https://opensource.guide/how-to-contribute/#what-it-means-to-contribute
  10. Vous aimez organiser des évènements ? • Organisez un workshop

    ou un meetup sur le thème du projet • Organisez la conférence du projet • Aidez les membres de la communauté à trouver la bonne conférence et soumettre leur talk Source : https://opensource.guide/how-to-contribute/#what-it-means-to-contribute
  11. Vous aimez coder ? • Trouvez une “issue” ouverte et

    attaquez-la • Demandez si pouvez aider à écrire de nouvelles fonctionnalités • Automatisez la mise en place du projet • Améliorez l’outillage et les tests Source : https://opensource.guide/how-to-contribute/#what-it-means-to-contribute
  12. Comment fonctionne un projet Open Source ? If you go

    to an issue tracker and things seem confusing, it’s not just you. These tools require a lot of implicit knowledge, but people can help you navigate it and you can ask them questions. — @shaunagm, “How to Contribute to Open Source” Source : https://opensource.guide/how-to-contribute/#orienting-yourself-to-a-new-project
  13. Un projet, plusieurs rôles • Author : La ou les

    personnes ou organisation ayant créé le projet • Owner : La ou les personnes possédant les droits d’administration sur le projet ou le dépôt (pas toujours les mêmes personnes que les auteurs) • Maintainers : Contributeurs responsables pour la prise de décision et la gestion organisationnel du projet (Ils peuvent aussi être author ou owner du projet) • Contributors : Toute personne ayant contribuée au projet • Community member : Personne qui utilise le projet. Elle peut être active dans les discussions et exprimer son opinion sur la direction que prend le projet. Source : https://opensource.guide/how-to-contribute/#orienting-yourself-to-a-new-project
  14. Un projet est aussi documenté • LICENSE : Par définition

    tous les projets open source ont une licence. S’il n’en a pas, il n’est pas open source. • README : Le “livret d’accueil” du projet. Il explique l’utilité du projet et comment commencer. • CONTRIBUTING : Il aide les gens à contribuer au projet. Il explique quels types de contributions sont acceptées et comment fonctionne le processus de contribution. • CODE_OF_CONDUCT : L’ensemble des règles définissant le comportement accepté. Il participe à créer et maintenir un environnement amical et bienveillant. Source : https://opensource.guide/how-to-contribute/#orienting-yourself-to-a-new-project
  15. Un projet, plusieurs outils • Issue tracker : L’endroit où

    discuter des “issues” du projet • Pull requests : L’endroit où discuter et relire des modifications en cours • Forum de discussions ou liste d’envois : Certains projets utilisent ces canaux de discussion pour différents sujets de conversation tel que “How do I…” ou “What do you think about…”. D’autres utilisent l’issue tracker pour toutes les conversations • Canaux de chat : Certains projets utilisent des canaux d’échanges (tel que Discord, Slack ou IRC) pour de échanger ou collaborer simplement Source : https://opensource.guide/how-to-contribute/#orienting-yourself-to-a-new-project
  16. Trouver un projet • Commencez par un projet que vous

    utilisez ou souhaitez utiliser • Allez sur la page /contribute du projet • Découvrez de nouveaux projets avec : GitHub Explore, Open Source Friday, First Timers Only, CodeTriage, 24 Pull Requests, Up For Grabs, Contributor-ninja, First Contributions, SourceSort Source : https://opensource.guide/how-to-contribute/#finding-a-project-to-contribute-to
  17. Une checklist avant de contribuer ✅ • Répond-il à la

    définition de Open Source ? • Accepte-il les contributions ? • Est-il bienveillant ? https://opensource.guide/how-to-contribute/#a-checklist-before-you-contribute
  18. Comment soumettre sa contribution ? [As a new contributor,] I

    quickly realized I had to ask questions if I wanted to be able to close the issue. I skimmed through the code base. Once I had some sense of what was going on, I asked for more direction. And voilà! I was able to solve the issue after getting all the relevant details I needed. — @shubheksha, A Beginner’s Very Bumpy Journey Through The World of Open Source Source : https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution
  19. Donnez du contexte “X doesn’t happen when I do Y”

    “X is broken! Please fix it.” Source : https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution
  20. Faites vos devoirs à l’avance ‍ “I’m not sure how

    to implement X. I checked the help docs and didn’t find any mentions.” “How do I X?” Source : https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution
  21. Gardez vos demandes courtes et directes “I’d like to write

    an API tutorial.” “I was driving down the highway the other day and stopped for gas, and then I had this amazing idea for something we should be doing, but before I explain that, let me show you…“ Source : https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution
  22. Gardez vos échanges public (as a comment) “@-maintainer Hi there!

    How should we proceed on this PR?” (as an email) “Hey there, sorry to bother you over email, but I was wondering if you’ve had a chance to review my PR” Source : https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution
  23. Posez des questions, mais soyez patient ! “Thanks for looking

    into this error. I followed your suggestions. Here’s the output.” “Why can’t you fix my problem? Isn’t this your project?” Source : https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution
  24. Respectez les décisions ‍⚖ “I’m disappointed you can’t support my

    use case, but as you’ve explained it only affects a minor portion of users, I understand why. Thanks for listening.” “Why won’t you support my use case? This is unacceptable!” Source : https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution
  25. Restez simple • Des collaborateurs du monde entier • Des

    langues différentes • Des cultures différentes • Des fuseaux horaires différents Source : https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution
  26. Ouvrez une issue • Remonter une erreur que vous ne

    pouvez corriger • Discuter d’un sujet ou d’une idée • Proposer une nouvelle fonctionnalité ou idée Source : https://opensource.guide/how-to-contribute/#opening-an-issue
  27. Une issue existe • Vous souhaitez la résoudre ? Faites

    le savoir • Ouverte depuis un certain temps et non résolu ? Posez la question ❓ • Vous avez fait un doublon ? Commentez puis fermez l’issue ❌ Source : https://opensource.guide/how-to-contribute/#opening-an-issue
  28. Ouvrir une pull request • Faites un fork du projet

    • Créez une nouvelle branche • Référencez l’issue dans votre PR • Testez vos changements ! ✅ • Respectez le style du projet Source : https://opensource.guide/how-to-contribute/#opening-a-pull-request
  29. Que se passe-t-il ensuite ? • Vous n’avez pas de

    réponse • Quelqu’un vous demande des changements • Votre contribution n’est pas acceptée • Votre contribution est acceptée Source : https://opensource.guide/how-to-contribute/#what-happens-after-you-submit-a-contribution
  30. L’Open Source à Zenika • Getting started : https://oss.zenika.com/white-paper/getting-started •

    Preparing your project being open sourced : https://oss.zenika.com/white-paper/preparing-your-project-being-open-sourced • Promotion : https://oss.zenika.com/white-paper/promotion • Licenses : https://oss.zenika.com/white-paper/licenses • Plus de contenu sur https://oss.zenika.com