Slide 1

Slide 1 text

Lionel Laské [email protected] ONTRIBUER OMPRENDRE OPEN SOURCE: Crédits: Wikipédia - Sam Williams v 1.0.5

Slide 2

Slide 2 text

INTRODUCTION ONTRIBUER OMPRENDRE OPEN SOURCE:

Slide 3

Slide 3 text

Lionel LASKÉ • Responsable • Membre du board de l’organisation Open Source • Auteur et Lead développeur (+10 000 utilisateurs, +80 contributeurs) • Mentor Google Summer of Code depuis 2013 Crédits: Lionel Laské

Slide 4

Slide 4 text

ü Pourquoi contribuer ? ü Quel projet choisir ? ü Comment contribuer ? ü Programmes pour démarrer: Ø Hacktober Fest Ø Le Google Summer of Code ü Faire votre première PR Crédits: Flickr - Gábor Hojtsy AGENDA

Slide 5

Slide 5 text

POURQUOI CONTRIBUER ? ONTRIBUER OMPRENDRE OPEN SOURCE:

Slide 6

Slide 6 text

Pourquoi contribuer à l’Open Source ? Crédits: The Noun Project - Arm by Alina Oleynik, Mentor/Give by Adrien Coquet, Tools by Gregor Cresnar, Worldwide by ATOM, Celebrity by achmad mulyana Améliorer ses compétences Apprendre ou apprendre aux autres Participer au bien commun Améliorer les outils qu’on utilise Rencontrer des gens du monde entier Se faire connaître

Slide 7

Slide 7 text

QUEL PROJET CHOISIR ? ONTRIBUER OMPRENDRE OPEN SOURCE:

Slide 8

Slide 8 text

La plupart des projets Open Source sont des échecs… • Les causes les plus courantes: • Ne répond pas à un vrai besoin • Plus assez de développeurs intéressés (ou le développeur principal s'en désintéresse) • Le projet est dépassé techniquement, un compétiteur fait mieux • Manque de documentation • Manque de leadership, pb de gouvernance, conflits • Manque de temps/d'argent Ø Ce fort taux d’échec n’est pas nécessairement une mauvaise chose: des graines sont plantées et cela encourage l’exploration de nouvelles idées ! Taux d’activité projets Open Source (Source: synopsis open hub)

Slide 9

Slide 9 text

Identifier les signes vitaux d’un projet • Regarder les statistiques du projet • Watch / Star / Fork / Used by • Vérifier les commits • De quand date le dernier commit ? • Combien y a-t-il de contributeurs ? • Vérifier les issues • Combien y a-t-il d’issues ? • Sont-elles récentes ? • Sont-elles fermées régulièrement ? • Vérifier les PR • Combien y a-t-il de PR ? • Sont-elles récentes ? • Sont-elles revues/mergées régulièrement ? Crédits: Flickr - Airman Magazine

Slide 10

Slide 10 text

Exemple: React contributors vs Vue.js contributors https://github.com/facebook/react/graphs/contributors https://github.com/vuejs/vue/graphs/contributors Evan You (auteur de Vue.js) Salarié de Facebook Salarié de Facebook Salarié de Facebook Ex-salariée de Facebook

Slide 11

Slide 11 text

Exemple: Statistiques Angular sur Synopsis Open Hub https://www.openhub.net/p/angularjs

Slide 12

Slide 12 text

Vérifier que le projet est accueillant • Est-ce un projet Open Source ? Y a t-il une licence ? • Comment accueille t-il les contributeurs ? • Y a-t-il un guide du contributeur ? un code de conduite ? • Y a-t-il de la documentation ? • Y a-t-il des issues tagguées « good first issue » ? • Comment les mainteneurs répondent aux contributions ? • Répondent-ils rapidement aux questions/issues ? • Répondent-ils amicalement ? • Y a-t-il des discussions sur les issues/PR ? • Remercient-ils les gens pour leurs contributions ? Crédits: Flickr - José Carlos

Slide 13

Slide 13 text

Exemple: https://github.com/nodejs/TSC/blob/master/BasePolicies/CONTRIBUTING.md

Slide 14

Slide 14 text

Exemple: Code de conduite Kubernetes https://github.com/cncf/foundation/blob/master/code-of-conduct.md

Slide 15

Slide 15 text

Exemple: Des listes de projets accueillants Crédits: DigitalOcean - Accord Project https://github.com/MunGell/awesome-for-beginners https://www.codetriage.com/

Slide 16

Slide 16 text

COMMENT CONTRIBUER ? ONTRIBUER OMPRENDRE OPEN SOURCE:

Slide 17

Slide 17 text

Checklist : démarrer une contribution q Installer l'application/le projet (s'assurer que c'est la dernière version) q Jouer avec l'application/le projet, le tester q Lire la documentation q S'abonner aux listes de diffusion, forum, IRC, slack, … et se présenter q Identifier les commiter du projet q Commenter des posts/issues (c'est déjà une contribution !) q Déclarer une issue ØVérifier qu'il n'y pas déjà une issue similaire ØIndiquer les étapes pour la reproduire et l’env. de test q Faire une Pull Request Crédits: Flickr - Lindsey Turner

Slide 18

Slide 18 text

Créer une Pull Request Créer une branche Faire ses commits Créer une PR Discuter Corriger Validation (par un commiter) Merge (par un commiter) ØLes Pull Request (PR) sont la base des contributions Open Source Forker Cloner https://guides.github.com/introduction/flow/

Slide 19

Slide 19 text

Exemple: Message de présentation Crédits: DigitalOcean - Accord Project

Slide 20

Slide 20 text

HACKTOBER FEST ONTRIBUER OMPRENDRE OPEN SOURCE:

Slide 21

Slide 21 text

Hacktober Fest • Evénement organisé par Digital Ocean pour inciter à contribuer à des projets Open Source • Chaque année du 1er au 31 Octobre • Les projets intéressés inscrivent leur repo et tagguent des issues « hacktoberfest » • Les 70 000 premiers participants qui font 4 PR gagnent un T-Shirt Crédits: DigitalOcean - Accord Project https://hacktoberfest.digitalocean.com/

Slide 22

Slide 22 text

LE GOOGLE SUMMER OF CODE ONTRIBUER OMPRENDRE OPEN SOURCE:

Slide 23

Slide 23 text

Qu’est-ce que c’est ? • Le Google Summer of Code (GSoC) est un programme « online » international destiné à encourager les étudiants des écoles et universités à participer au développement des logiciels open source • Les étudiants travaillent pendant l’été pour une organisation open source et reçoivent une rémunération de Google Crédits: Flickr - John Marino

Slide 24

Slide 24 text

Objectifs du programme • Pour les organisations Open Source : identifier chaque année de nouveaux développeurs • Pour les étudiants : participer au développement de projets Open Source, se construire une expérience et un réseau, être rémunéré (~6,500€/3 mois) • Pour Google : soutenir le monde de l’Open Source Crédits: Wikipédia - The Pancake of Heaven

Slide 25

Slide 25 text

Comment ça marche ? • Les organisations faisant de l’Open source font la demande à Google pour être des organisations du GSoC • Google choisit les organisations qui participent • Les étudiants soumettent leurs candidatures pour réaliser les projets proposés • Les organisations choisissent les meilleurs étudiants • Les étudiants développent, encadrés par les mentors des organisations Crédits: Flickr – Lionel Laské

Slide 26

Slide 26 text

Quelques organisations participants au GSoC

Slide 27

Slide 27 text

ATELIER: FAIRE SA 1er PULL REQUEST ONTRIBUER OMPRENDRE OPEN SOURCE:

Slide 28

Slide 28 text

First Contributions • Un site pas à pas pour réaliser votre 1ere Pull Request • Faites une PR pour ajouter votre nom à la liste des contributeurs ! Crédits: DigitalOcean - Accord Project https://github.com/firstcontributions/first-contributions/

Slide 29

Slide 29 text

Prérequis q Disposer d’un compte sur Github https://github.com/ q Avoir installé Git sur sa machine ou q Avoir installé Github Desktop sur sa machine https://desktop.github.com/ q Disposer d’un éditeur de texte (Vim, emacs, Notepad, Atom, VS Code, …) Crédits: Flickr - Tom Ray

Slide 30

Slide 30 text

Etape 1: Forker le repo first-contributions sur Github

Slide 31

Slide 31 text

Etape 2: Cloner le repo en local sur son PC

Slide 32

Slide 32 text

Etape 3: Créer une nouvelle branche

Slide 33

Slide 33 text

Etape 4: Ajouter sa contribution

Slide 34

Slide 34 text

Etape 5: Faire un commit de la contribution

Slide 35

Slide 35 text

Etape 6: Publier la nouvelle branche

Slide 36

Slide 36 text

Etape 7: Créer une PR depuis Github

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

Etape 8: Votre contribution est intégrée ! 🎉

Slide 39

Slide 39 text

CONCLUSION ONTRIBUER OMPRENDRE OPEN SOURCE:

Slide 40

Slide 40 text

Les badges que vous avez débloqué Savoir comment contribuer #1 Faire sa 1er Pull Request Savoir se présenter à une communauté Faire une 1er contribution Niveau 2 Faire une contribution significative Niveau 3

Slide 41

Slide 41 text

Continuez votre route ! • Contribuer à un projet que vous aimez • Faites votre première contribution • Devenez top contributeur • Devenez un commiter • Lancez votre propre projet open source • Mais n’oubliez pas de mentionner la licence ! Crédits: Flickr – Rodney Campbell

Slide 42

Slide 42 text

QUESTIONS/RÉPONSES ONTRIBUER OMPRENDRE OPEN SOURCE:

Slide 43

Slide 43 text

CE N’EST PAS FINI ONTRIBUER OMPRENDRE OPEN SOURCE:

Slide 44

Slide 44 text

Pour en savoir plus • Retrouvez le cours dont est tiré cette présentation sur http://bit.ly/oscc-video • Tous les contenus sont sous licence CC-BY-SA