SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
Créer et développer une
communauté Open
Source
@juliendubois
Julien Dubois
Créateur & principal
développeur de
JHipster
Réagissez sur Twitter:
@juliendubois
@java_hipster
JHipster
- Plus de 2 millions d’installations
- Des milliers d’entreprises
utilisatrices
- De nombreuses conférences, des
livres, etc.
- Sans doute le #1 projet Java Open
Source Français
- Et surtout: plus de 500
contributeurs!!
Pourquoi créer une communauté?
- L’Open Source est d’abord une
license, il n’y a pas
nécessairement de communauté
- C’est grâce à la diversité de ses
membres que JHipster a surpassé
la concurrence
- Cela garantit la pérennité du
produit
Pourquoi participer à une communauté?
- Il y a un intérêt dans votre travail:
pour la réussite de votre projet,
pour votre entreprise
- Pour se former
- Pour se faire connaître
- Parce que c’est fun
Comment créer une communauté?
Phase 1: Les débuts
Une idée simple, réalisable rapidement et compréhensible
de tous, réalisée par un développeur “héroïque”
“JHipster est un générateur d’applications
Spring + AngularJS”
- Privilégier un code facile à lire et à modifier, plutôt
qu’un système plus avancé
- Exemple: un fichier de “secrets” Kubernetes avec
JHipster
Faciliter la contribution grâce à un code simple
Une documentation au top
- La documentation est primordiale
- Aide les premiers contributeurs
- Elle doit être versionnée
- On doit également pouvoir y contribuer: la documentation
de JHipster est elle-même un projet Open Source
- Multiplier les supports:
- Guides interactifs
- Tutoriels vidéos
Lancement de la communauté
- Réseaux sociaux: Twitter, GitHub, LinkedIn
- Sites spécialisés: Reddit, Hacker News
- C’est plus facile quand on a de l’argent (publicité) ou si l’on
est connu
Conférences et Meetups, niveau 1
- Tout le monde n’est pas sur Twitter
- Voir les gens pour de vrai permet d’avoir un
meilleur feedback
Alliances avec d’autres projets
- Un projet Open Source n’est jamais seul: il
s’appuie et s’intègre à d’autres projets
- Ensemble, les projets sont plus forts
Phase 2: les premiers contributeurs
Tout faire pour aider les premiers contributeurs
Rendre la contribution facile
- Réaliser un guide de contribution
- Proposer des modèles pour les tickets et les pull requests
- JHipster a même un générateur de ticket!
Les premiers problèmes : le support
- Le support est vite un
problème
- GitHub permet de gérer les
bugs ou demandes
d’amélioration
- Stack Overflow est parfait pour
les questions, et a un excellent
système de modération
- Gitter.im ou Slack permettent
de communiquer en direct
- Une mailing list pour l’équipe
de développement
Les premiers problèmes : la charge de travail
- Chercher à attirer des
contributions nuit parfois à
la qualité
- Le “dévelopeur héroïque”
du début devient le point
de contention
Phase 3: l’équipe
- Seul moyen de monter en charge, en
faisant sauter le “développeur héroïque”
- Il faut mettre en place des pratiques et
outils pour faciliter le travail de l’équipe
Organisation de JHipster
- Méritocratie
- Pour être dans l’équipe,
il faut avoir été élu
- Cela donne accès en
écriture au code, ainsi
que d’autres privilèges
- Démocratie
- Chaque membre de
l’équipe a les mêmes
droits
Méthodologie
et outillage
- Pas de planning: tout le
monde contribue quand il
a le temps
- Outillage orienté mobile:
une énorme partie du
développement est réalisé
dans les transports en
commun, ou autre…
Gérer la qualité à l’échelle
- Le workflow de GitHub
- Pull Requests et revues
de code
- Les règles de qualité à
suivre
- Eslint
- Sonar
- L’intégration continue est
essentielle
- Azure DevOps
Conférences et Meetups, niveau 2
- Faire ses propres Meetups
- Aider les autres à faire des Meetups et des
conférences
- Avoir sa propre conférence
JHipster Conf 2
- 27 Juin 2019, à Paris
- Nombreux contributeurs et speakers internationaux
- Agenda & billets sur https://jhipster-conf.github.io/
Phase 4: les attaques
- Lorsque le projet atteint
environ 10,000 étoiles sur
GitHub, il devient une
cible
- Sites malveillants
- Non respect de la license
Open Source
- Campagnes de
dénigrement, voire
insultes
Code of Conduct
- La plupart des projets Open
Source importants ont
maintenant un “Code of
Conduct”
- Si ce n’est pas important
pour vous, c’est que vous
êtes privilégié
- L’objectif est d’attirer
autant de gens
compétents que possible
- Tout en gardant un bon
esprit!
“Code of Conduct” de JHipster
Créer une communauté bienveillante
Être inclusif
- Formulation des phrases
- Logos inclusifs
- Ne pas hésiter à prendre
conseil et à valider avec
des référents
Phase 5: Open Collective
- A un moment il faut de
l’argent
- Pour gérer les attaques:
acheter le nom de
domaine, la marque, etc
- Pour certains
développements
- Pour être inclusif
- Pour rémunérer certains
contributeurs
- Pour garder le bon esprit
Fonctionnement pour les sponsors
- Pourquoi être sponsor?
- Quels niveaux de sponsoring?
Fonctionnement pour l’équipe
- Remboursement de
“notes de frais”
- Bug bounties: devenez
riche grâce à l’Open
Source!
- Aspects légaux
Le futur…
- Découpage du projet en modules
- Elections annuelles d’un comité gérant le projet?
- Rattachement à une fondation??
JHipster Conf 2
- 27 Juin 2019, à Paris
- Nombreux contributeurs et speakers internationaux
- Agenda & billets sur https://jhipster-conf.github.io/

Contenu connexe

Tendances

MWCP21 - Introduction GitHub et SharePoint Framework
MWCP21 - Introduction GitHub et SharePoint FrameworkMWCP21 - Introduction GitHub et SharePoint Framework
MWCP21 - Introduction GitHub et SharePoint FrameworkLaurent Sittler
 
Agile tour2015
Agile tour2015Agile tour2015
Agile tour2015ffaure32
 
Comment développer un PaaS Java en 30 minutes avec docker
Comment développer un PaaS Java en 30 minutes avec dockerComment développer un PaaS Java en 30 minutes avec docker
Comment développer un PaaS Java en 30 minutes avec dockerAmico Fabien
 
la boite à outils de développements dans firefox devtools
la boite à outils de développements dans firefox devtoolsla boite à outils de développements dans firefox devtools
la boite à outils de développements dans firefox devtoolsChristophe Villeneuve
 
Peur de la migration vers l’open source ?
Peur de la migration vers l’open source ?Peur de la migration vers l’open source ?
Peur de la migration vers l’open source ?Christophe Villeneuve
 
DevOps : mission [im]possible ?
DevOps : mission [im]possible ?DevOps : mission [im]possible ?
DevOps : mission [im]possible ?rfelden
 
Docker, une alternative aux machines virtuelles pour déployer ses services .N...
Docker, une alternative aux machines virtuelles pour déployer ses services .N...Docker, une alternative aux machines virtuelles pour déployer ses services .N...
Docker, une alternative aux machines virtuelles pour déployer ses services .N...Microsoft
 
DevOps et ALM : Application Lifecycle Management: Continuous Delivery avec Vi...
DevOps et ALM : Application Lifecycle Management: Continuous Delivery avec Vi...DevOps et ALM : Application Lifecycle Management: Continuous Delivery avec Vi...
DevOps et ALM : Application Lifecycle Management: Continuous Delivery avec Vi...Adrien Clerbois
 

Tendances (9)

MWCP21 - Introduction GitHub et SharePoint Framework
MWCP21 - Introduction GitHub et SharePoint FrameworkMWCP21 - Introduction GitHub et SharePoint Framework
MWCP21 - Introduction GitHub et SharePoint Framework
 
Agile tour2015
Agile tour2015Agile tour2015
Agile tour2015
 
Comment développer un PaaS Java en 30 minutes avec docker
Comment développer un PaaS Java en 30 minutes avec dockerComment développer un PaaS Java en 30 minutes avec docker
Comment développer un PaaS Java en 30 minutes avec docker
 
Présentation SoLocal
Présentation SoLocalPrésentation SoLocal
Présentation SoLocal
 
la boite à outils de développements dans firefox devtools
la boite à outils de développements dans firefox devtoolsla boite à outils de développements dans firefox devtools
la boite à outils de développements dans firefox devtools
 
Peur de la migration vers l’open source ?
Peur de la migration vers l’open source ?Peur de la migration vers l’open source ?
Peur de la migration vers l’open source ?
 
DevOps : mission [im]possible ?
DevOps : mission [im]possible ?DevOps : mission [im]possible ?
DevOps : mission [im]possible ?
 
Docker, une alternative aux machines virtuelles pour déployer ses services .N...
Docker, une alternative aux machines virtuelles pour déployer ses services .N...Docker, une alternative aux machines virtuelles pour déployer ses services .N...
Docker, une alternative aux machines virtuelles pour déployer ses services .N...
 
DevOps et ALM : Application Lifecycle Management: Continuous Delivery avec Vi...
DevOps et ALM : Application Lifecycle Management: Continuous Delivery avec Vi...DevOps et ALM : Application Lifecycle Management: Continuous Delivery avec Vi...
DevOps et ALM : Application Lifecycle Management: Continuous Delivery avec Vi...
 

Similaire à Créer et développer une communauté Open Source

Scikit Learn: Développement communautaire
Scikit Learn: Développement communautaireScikit Learn: Développement communautaire
Scikit Learn: Développement communautaireGael Varoquaux
 
"Adoption et Réseaux Sociaux d'Entreprise" - Collaboratif Info
"Adoption et Réseaux Sociaux d'Entreprise" - Collaboratif Info"Adoption et Réseaux Sociaux d'Entreprise" - Collaboratif Info
"Adoption et Réseaux Sociaux d'Entreprise" - Collaboratif InfoSébastien Blanc
 
Faire grandir une communauté open source
Faire grandir une communauté open sourceFaire grandir une communauté open source
Faire grandir une communauté open sourcexavierborderie
 
Fedora, state of the art
Fedora, state of the artFedora, state of the art
Fedora, state of the artAnne Nicolas
 
WordPress & les contributions — WordCamp Paris 2016
WordPress & les contributions — WordCamp Paris 2016WordPress & les contributions — WordCamp Paris 2016
WordPress & les contributions — WordCamp Paris 2016Boiteaweb
 
1308 - Présentation de talkSpirit
1308 - Présentation de talkSpirit1308 - Présentation de talkSpirit
1308 - Présentation de talkSpirittalkspirit
 
Digitalisez votre business !
Digitalisez votre business ! Digitalisez votre business !
Digitalisez votre business ! HELENE FRIEH
 
Entretiens problème Lean Startup meetup OCTO 19 10 2015
Entretiens problème Lean Startup meetup OCTO 19 10 2015Entretiens problème Lean Startup meetup OCTO 19 10 2015
Entretiens problème Lean Startup meetup OCTO 19 10 2015Dominique Lequepeys
 
Appréhender son premier Design Sprint
Appréhender son premier Design SprintAppréhender son premier Design Sprint
Appréhender son premier Design SprintSebastien Bonneval
 
IESA - Introduction à la Veille Stratégique Digitale
IESA - Introduction à la Veille Stratégique DigitaleIESA - Introduction à la Veille Stratégique Digitale
IESA - Introduction à la Veille Stratégique DigitaleMedhi Corneille Famibelle*
 
Vous souhaitez passer votre projet en open source ?
Vous souhaitez passer votre projet en open source ?Vous souhaitez passer votre projet en open source ?
Vous souhaitez passer votre projet en open source ?Open Source Experience
 
Le podcasting - la création en anglais
Le podcasting  - la création en anglaisLe podcasting  - la création en anglais
Le podcasting - la création en anglaisMarie-Hélène Fasquel
 
AgiLille 2023 - Le Digital Lab Kiabi : moins de framework, plus de #Heart of ...
AgiLille 2023 - Le Digital Lab Kiabi : moins de framework, plus de #Heart of ...AgiLille 2023 - Le Digital Lab Kiabi : moins de framework, plus de #Heart of ...
AgiLille 2023 - Le Digital Lab Kiabi : moins de framework, plus de #Heart of ...Julien Roynette
 
Agile tour bordeaux 2010 espace agoractif cr agoraction
Agile tour bordeaux 2010 espace agoractif cr agoractionAgile tour bordeaux 2010 espace agoractif cr agoraction
Agile tour bordeaux 2010 espace agoractif cr agoractionLuc Bizeul
 
Comment créer des communautés (au sein ou pour) des entreprises - Olivier Tai...
Comment créer des communautés (au sein ou pour) des entreprises - Olivier Tai...Comment créer des communautés (au sein ou pour) des entreprises - Olivier Tai...
Comment créer des communautés (au sein ou pour) des entreprises - Olivier Tai...Olivier Taieb
 
Développer son business avec les réseaux sociaux : petit mémo à destination d...
Développer son business avec les réseaux sociaux : petit mémo à destination d...Développer son business avec les réseaux sociaux : petit mémo à destination d...
Développer son business avec les réseaux sociaux : petit mémo à destination d...Sophie Duême
 
Le podcasting - la création en anglais- réunion 30 janvier 2013.
Le podcasting  - la création en anglais- réunion 30 janvier 2013.Le podcasting  - la création en anglais- réunion 30 janvier 2013.
Le podcasting - la création en anglais- réunion 30 janvier 2013.Marie-Hélène Fasquel
 

Similaire à Créer et développer une communauté Open Source (20)

Scikit Learn: Développement communautaire
Scikit Learn: Développement communautaireScikit Learn: Développement communautaire
Scikit Learn: Développement communautaire
 
"Adoption et Réseaux Sociaux d'Entreprise" - Collaboratif Info
"Adoption et Réseaux Sociaux d'Entreprise" - Collaboratif Info"Adoption et Réseaux Sociaux d'Entreprise" - Collaboratif Info
"Adoption et Réseaux Sociaux d'Entreprise" - Collaboratif Info
 
Faire grandir une communauté open source
Faire grandir une communauté open sourceFaire grandir une communauté open source
Faire grandir une communauté open source
 
Fedora, state of the art
Fedora, state of the artFedora, state of the art
Fedora, state of the art
 
WordPress & les contributions — WordCamp Paris 2016
WordPress & les contributions — WordCamp Paris 2016WordPress & les contributions — WordCamp Paris 2016
WordPress & les contributions — WordCamp Paris 2016
 
1308 - Présentation de talkSpirit
1308 - Présentation de talkSpirit1308 - Présentation de talkSpirit
1308 - Présentation de talkSpirit
 
Digitalisez votre business !
Digitalisez votre business ! Digitalisez votre business !
Digitalisez votre business !
 
Entretiens problème Lean Startup meetup OCTO 19 10 2015
Entretiens problème Lean Startup meetup OCTO 19 10 2015Entretiens problème Lean Startup meetup OCTO 19 10 2015
Entretiens problème Lean Startup meetup OCTO 19 10 2015
 
Lacantine 2010-fr -v2
Lacantine 2010-fr -v2Lacantine 2010-fr -v2
Lacantine 2010-fr -v2
 
Lacantine 2010-fr -v2
Lacantine 2010-fr -v2Lacantine 2010-fr -v2
Lacantine 2010-fr -v2
 
Appréhender son premier Design Sprint
Appréhender son premier Design SprintAppréhender son premier Design Sprint
Appréhender son premier Design Sprint
 
IESA - Introduction à la Veille Stratégique Digitale
IESA - Introduction à la Veille Stratégique DigitaleIESA - Introduction à la Veille Stratégique Digitale
IESA - Introduction à la Veille Stratégique Digitale
 
Vous souhaitez passer votre projet en open source ?
Vous souhaitez passer votre projet en open source ?Vous souhaitez passer votre projet en open source ?
Vous souhaitez passer votre projet en open source ?
 
Le podcasting - la création en anglais
Le podcasting  - la création en anglaisLe podcasting  - la création en anglais
Le podcasting - la création en anglais
 
Inria Tech Talk SOFA
Inria Tech Talk SOFAInria Tech Talk SOFA
Inria Tech Talk SOFA
 
AgiLille 2023 - Le Digital Lab Kiabi : moins de framework, plus de #Heart of ...
AgiLille 2023 - Le Digital Lab Kiabi : moins de framework, plus de #Heart of ...AgiLille 2023 - Le Digital Lab Kiabi : moins de framework, plus de #Heart of ...
AgiLille 2023 - Le Digital Lab Kiabi : moins de framework, plus de #Heart of ...
 
Agile tour bordeaux 2010 espace agoractif cr agoraction
Agile tour bordeaux 2010 espace agoractif cr agoractionAgile tour bordeaux 2010 espace agoractif cr agoraction
Agile tour bordeaux 2010 espace agoractif cr agoraction
 
Comment créer des communautés (au sein ou pour) des entreprises - Olivier Tai...
Comment créer des communautés (au sein ou pour) des entreprises - Olivier Tai...Comment créer des communautés (au sein ou pour) des entreprises - Olivier Tai...
Comment créer des communautés (au sein ou pour) des entreprises - Olivier Tai...
 
Développer son business avec les réseaux sociaux : petit mémo à destination d...
Développer son business avec les réseaux sociaux : petit mémo à destination d...Développer son business avec les réseaux sociaux : petit mémo à destination d...
Développer son business avec les réseaux sociaux : petit mémo à destination d...
 
Le podcasting - la création en anglais- réunion 30 janvier 2013.
Le podcasting  - la création en anglais- réunion 30 janvier 2013.Le podcasting  - la création en anglais- réunion 30 janvier 2013.
Le podcasting - la création en anglais- réunion 30 janvier 2013.
 

Plus de Julien Dubois

Accessibility in the UK
Accessibility in the UKAccessibility in the UK
Accessibility in the UKJulien Dubois
 
Java on Azure "Back to Basics" series - databases introduction
Java on Azure "Back to Basics" series - databases introductionJava on Azure "Back to Basics" series - databases introduction
Java on Azure "Back to Basics" series - databases introductionJulien Dubois
 
JHipster Code 2020 keynote
JHipster Code 2020 keynoteJHipster Code 2020 keynote
JHipster Code 2020 keynoteJulien Dubois
 
Running Spring Boot microservices in the cloud
Running Spring Boot microservices in the cloudRunning Spring Boot microservices in the cloud
Running Spring Boot microservices in the cloudJulien Dubois
 
JHipster Conf 2019 English keynote
JHipster Conf 2019 English keynoteJHipster Conf 2019 English keynote
JHipster Conf 2019 English keynoteJulien Dubois
 
JHipster Conf 2018 Quiz
JHipster Conf 2018 QuizJHipster Conf 2018 Quiz
JHipster Conf 2018 QuizJulien Dubois
 
Devoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipsterDevoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipsterJulien Dubois
 
JHipster overview and roadmap (August 2017)
JHipster overview and roadmap (August 2017)JHipster overview and roadmap (August 2017)
JHipster overview and roadmap (August 2017)Julien Dubois
 
Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipsterJulien Dubois
 
JHipster for Spring Boot webinar
JHipster for Spring Boot webinarJHipster for Spring Boot webinar
JHipster for Spring Boot webinarJulien Dubois
 
Gérer son environnement de développement avec Docker
Gérer son environnement de développement avec DockerGérer son environnement de développement avec Docker
Gérer son environnement de développement avec DockerJulien Dubois
 
Performance tuning the Spring Pet Clinic sample application
Performance tuning the Spring Pet Clinic sample applicationPerformance tuning the Spring Pet Clinic sample application
Performance tuning the Spring Pet Clinic sample applicationJulien Dubois
 
HTML5, Spring, NoSQL et mobilité
HTML5, Spring, NoSQL et mobilitéHTML5, Spring, NoSQL et mobilité
HTML5, Spring, NoSQL et mobilitéJulien Dubois
 
Nouveau look pour une nouvelle vie, version spéciale Ippon
Nouveau look pour une nouvelle vie, version spéciale IpponNouveau look pour une nouvelle vie, version spéciale Ippon
Nouveau look pour une nouvelle vie, version spéciale IpponJulien Dubois
 
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilitéNouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilitéJulien Dubois
 
Hibernate vs le Cloud computing
Hibernate vs le Cloud computingHibernate vs le Cloud computing
Hibernate vs le Cloud computingJulien Dubois
 
Spring 3 en production
Spring 3 en productionSpring 3 en production
Spring 3 en productionJulien Dubois
 
Developing modular Java applications
Developing modular Java applicationsDeveloping modular Java applications
Developing modular Java applicationsJulien Dubois
 

Plus de Julien Dubois (20)

Accessibility in the UK
Accessibility in the UKAccessibility in the UK
Accessibility in the UK
 
Java on Azure "Back to Basics" series - databases introduction
Java on Azure "Back to Basics" series - databases introductionJava on Azure "Back to Basics" series - databases introduction
Java on Azure "Back to Basics" series - databases introduction
 
JHipster Code 2020 keynote
JHipster Code 2020 keynoteJHipster Code 2020 keynote
JHipster Code 2020 keynote
 
Running Spring Boot microservices in the cloud
Running Spring Boot microservices in the cloudRunning Spring Boot microservices in the cloud
Running Spring Boot microservices in the cloud
 
Spring on Azure
Spring on AzureSpring on Azure
Spring on Azure
 
JHipster Conf 2019 English keynote
JHipster Conf 2019 English keynoteJHipster Conf 2019 English keynote
JHipster Conf 2019 English keynote
 
JHipster Conf 2018 Quiz
JHipster Conf 2018 QuizJHipster Conf 2018 Quiz
JHipster Conf 2018 Quiz
 
Devoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipsterDevoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipster
 
JHipster overview and roadmap (August 2017)
JHipster overview and roadmap (August 2017)JHipster overview and roadmap (August 2017)
JHipster overview and roadmap (August 2017)
 
Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipster
 
JHipster overview
JHipster overviewJHipster overview
JHipster overview
 
JHipster for Spring Boot webinar
JHipster for Spring Boot webinarJHipster for Spring Boot webinar
JHipster for Spring Boot webinar
 
Gérer son environnement de développement avec Docker
Gérer son environnement de développement avec DockerGérer son environnement de développement avec Docker
Gérer son environnement de développement avec Docker
 
Performance tuning the Spring Pet Clinic sample application
Performance tuning the Spring Pet Clinic sample applicationPerformance tuning the Spring Pet Clinic sample application
Performance tuning the Spring Pet Clinic sample application
 
HTML5, Spring, NoSQL et mobilité
HTML5, Spring, NoSQL et mobilitéHTML5, Spring, NoSQL et mobilité
HTML5, Spring, NoSQL et mobilité
 
Nouveau look pour une nouvelle vie, version spéciale Ippon
Nouveau look pour une nouvelle vie, version spéciale IpponNouveau look pour une nouvelle vie, version spéciale Ippon
Nouveau look pour une nouvelle vie, version spéciale Ippon
 
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilitéNouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
 
Hibernate vs le Cloud computing
Hibernate vs le Cloud computingHibernate vs le Cloud computing
Hibernate vs le Cloud computing
 
Spring 3 en production
Spring 3 en productionSpring 3 en production
Spring 3 en production
 
Developing modular Java applications
Developing modular Java applicationsDeveloping modular Java applications
Developing modular Java applications
 

Créer et développer une communauté Open Source

  • 1. Créer et développer une communauté Open Source @juliendubois
  • 2. Julien Dubois Créateur & principal développeur de JHipster Réagissez sur Twitter: @juliendubois @java_hipster
  • 3. JHipster - Plus de 2 millions d’installations - Des milliers d’entreprises utilisatrices - De nombreuses conférences, des livres, etc. - Sans doute le #1 projet Java Open Source Français - Et surtout: plus de 500 contributeurs!!
  • 4. Pourquoi créer une communauté? - L’Open Source est d’abord une license, il n’y a pas nécessairement de communauté - C’est grâce à la diversité de ses membres que JHipster a surpassé la concurrence - Cela garantit la pérennité du produit
  • 5. Pourquoi participer à une communauté? - Il y a un intérêt dans votre travail: pour la réussite de votre projet, pour votre entreprise - Pour se former - Pour se faire connaître - Parce que c’est fun
  • 6. Comment créer une communauté?
  • 7. Phase 1: Les débuts Une idée simple, réalisable rapidement et compréhensible de tous, réalisée par un développeur “héroïque” “JHipster est un générateur d’applications Spring + AngularJS”
  • 8. - Privilégier un code facile à lire et à modifier, plutôt qu’un système plus avancé - Exemple: un fichier de “secrets” Kubernetes avec JHipster Faciliter la contribution grâce à un code simple
  • 9. Une documentation au top - La documentation est primordiale - Aide les premiers contributeurs - Elle doit être versionnée - On doit également pouvoir y contribuer: la documentation de JHipster est elle-même un projet Open Source - Multiplier les supports: - Guides interactifs - Tutoriels vidéos
  • 10. Lancement de la communauté - Réseaux sociaux: Twitter, GitHub, LinkedIn - Sites spécialisés: Reddit, Hacker News - C’est plus facile quand on a de l’argent (publicité) ou si l’on est connu
  • 11. Conférences et Meetups, niveau 1 - Tout le monde n’est pas sur Twitter - Voir les gens pour de vrai permet d’avoir un meilleur feedback
  • 12. Alliances avec d’autres projets - Un projet Open Source n’est jamais seul: il s’appuie et s’intègre à d’autres projets - Ensemble, les projets sont plus forts
  • 13. Phase 2: les premiers contributeurs Tout faire pour aider les premiers contributeurs
  • 14. Rendre la contribution facile - Réaliser un guide de contribution - Proposer des modèles pour les tickets et les pull requests - JHipster a même un générateur de ticket!
  • 15. Les premiers problèmes : le support - Le support est vite un problème - GitHub permet de gérer les bugs ou demandes d’amélioration - Stack Overflow est parfait pour les questions, et a un excellent système de modération - Gitter.im ou Slack permettent de communiquer en direct - Une mailing list pour l’équipe de développement
  • 16. Les premiers problèmes : la charge de travail - Chercher à attirer des contributions nuit parfois à la qualité - Le “dévelopeur héroïque” du début devient le point de contention
  • 17. Phase 3: l’équipe - Seul moyen de monter en charge, en faisant sauter le “développeur héroïque” - Il faut mettre en place des pratiques et outils pour faciliter le travail de l’équipe
  • 18. Organisation de JHipster - Méritocratie - Pour être dans l’équipe, il faut avoir été élu - Cela donne accès en écriture au code, ainsi que d’autres privilèges - Démocratie - Chaque membre de l’équipe a les mêmes droits
  • 19. Méthodologie et outillage - Pas de planning: tout le monde contribue quand il a le temps - Outillage orienté mobile: une énorme partie du développement est réalisé dans les transports en commun, ou autre…
  • 20. Gérer la qualité à l’échelle - Le workflow de GitHub - Pull Requests et revues de code - Les règles de qualité à suivre - Eslint - Sonar - L’intégration continue est essentielle - Azure DevOps
  • 21. Conférences et Meetups, niveau 2 - Faire ses propres Meetups - Aider les autres à faire des Meetups et des conférences - Avoir sa propre conférence
  • 22. JHipster Conf 2 - 27 Juin 2019, à Paris - Nombreux contributeurs et speakers internationaux - Agenda & billets sur https://jhipster-conf.github.io/
  • 23. Phase 4: les attaques - Lorsque le projet atteint environ 10,000 étoiles sur GitHub, il devient une cible - Sites malveillants - Non respect de la license Open Source - Campagnes de dénigrement, voire insultes
  • 24. Code of Conduct - La plupart des projets Open Source importants ont maintenant un “Code of Conduct” - Si ce n’est pas important pour vous, c’est que vous êtes privilégié - L’objectif est d’attirer autant de gens compétents que possible - Tout en gardant un bon esprit!
  • 25. “Code of Conduct” de JHipster
  • 26. Créer une communauté bienveillante
  • 27. Être inclusif - Formulation des phrases - Logos inclusifs - Ne pas hésiter à prendre conseil et à valider avec des référents
  • 28. Phase 5: Open Collective - A un moment il faut de l’argent - Pour gérer les attaques: acheter le nom de domaine, la marque, etc - Pour certains développements - Pour être inclusif - Pour rémunérer certains contributeurs - Pour garder le bon esprit
  • 29. Fonctionnement pour les sponsors - Pourquoi être sponsor? - Quels niveaux de sponsoring?
  • 30. Fonctionnement pour l’équipe - Remboursement de “notes de frais” - Bug bounties: devenez riche grâce à l’Open Source! - Aspects légaux
  • 31. Le futur… - Découpage du projet en modules - Elections annuelles d’un comité gérant le projet? - Rattachement à une fondation??
  • 32. JHipster Conf 2 - 27 Juin 2019, à Paris - Nombreux contributeurs et speakers internationaux - Agenda & billets sur https://jhipster-conf.github.io/