SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
Scikit Learn
D´veloppement communautaire
 e


        Ga¨l Varoquaux
          e              —
John Hunter 1968–2012        matplotlib
    http://numfocus.org/johnhunter
Scikit Learn
D´veloppement communautaire
 e


        Ga¨l Varoquaux
          e              —
Mon gros succ`s logiciel libre
             e                    –   1er essai

  Package XXX
   2007: inclut dans Debian
   2008: .1% des utilisateurs l’installent
   2012: .5% des utilisateurs (scilab = 1.2%)
Mon gros succ`s logiciel libre
             e                    –   1er essai

  Package XXX
   2007: inclut dans Debian
   2008: .1% des utilisateurs l’installent
   2012: .5% des utilisateurs (scilab = 1.2%)


                 Nombre de commits
Mon gros succ`s logiciel libre
             e                   –   1er essai

“““Hey Gael, I take it you’re too busy. That’s okay, I
   Package XXX
spent a day trying to install XXX and I think I’ll suc-
    2007: inclut dans Debian
ceed myself. des utilisateurs l’installent don’t ignore
    2008: .1% Next time though please
my emails, I really don’t like it. You1.2%)say, ‘sorry,
    2012: .5% des utilisateurs (scilab = can
I have no time to help you.’ Just don’t ignore.”””

                 Nombre de commits
La trag´die des logiciels libres
       e




                                   Source: Fernando Perez
Mon gros succ`s logiciel libre
             e                   –   2eme essai
Notre gros succ`s logiciel libre
               e
Notre gros succ`s logiciel libre
               e

  Scikit-learn
   2006-2009: cr´´ par D. Cournapeau, d´p´rit
                  ee                     e e
   2010: reprise, release 0.1
   2012, mars: release 0.11 avec 31 contributeurs
   2012, aoˆt: release 0.12 avec 48 contributeurs
            u

                 Nombre de commits
Notre gros succ`s logiciel libre
               e

  Scikit-learn
 130 email/semaine sur la mailing list
 312006-2009: cr´´ code Python ( 1/3 Django)
    000 lignes dee par D. Cournapeau, d´p´rit
                  e                       e e
   2010: reprise, release 0.1
 320 forks et 744 followers sur github
 262012, lignes release 0.11 avec 31 contributeurs
    000 mars: de documentation
 6 000 visiteurs uniques/mois 48 contributeurs
   2012, aoˆt: release 0.12 avec sur la page web
            u

                 Nombre de commits
10 le¸ons durement
     c
      apprises
1 Connaˆ
       ıtre son march´
                     e


 A march´ niche, petit projet
        e

 Ne pas viser de public qui ne peut
 se transformer en contributeur

 Connaˆ ses concurrents
      ıtre


 Savoir ne pas cr´er de projet
                 e
           Pourra-t-on avoir un impact?
2 Utiliser Github

 Github = outil ` la mode
                a

 Mener toutes les discussions en ligne

 Le syst`me de fork/pull
        e
 request met tous le
 monde ` ´galit´
         ae    e

 Critique de code sur les
 ‘pull requests’
3 Ne pas s’approprier l’identit´ du projet
                               e



 Ne pas mettre son nom trop en avant

 Ne pas mettre son employeur trop en avant
 (attention ` l’utilisation des forges)
            a

 Pousser d’autres personnes ` communiquer au nom
                            a
 du groupe (conf´rences)
                 e
4 Cibler la qualit´
                  e
Apporter une valeur ajout´e par rapport au code perso
                         e

 Documentation, exemples

 Efficacit´ / g´n´ralit´ du code
        e    e e     e

 Tests: base de code modifiable en toute confiance

 Conventions de style de code

Th´orie de la fenˆtre bris´e:
   e             e        e
 le bon code am`ne du bon code
               e
5 Release r´guli`res
           e    e


 Les contributeurs donnent leur code pour qu’il arrive
 chez les utilisateurs

 Effet d’adr´naline de la release (rendre sa copie)
           e

 Cr´er du buzz
   e
6 Contrˆler la technicit´
       o                e

 Choisir les comp´tences: la population des experts
                 e
 en C++ et en optimisation convex est petite

 Important pour cibler les contours du projet


 D´marche d’ing´nieur:
   e            e
 ´quilibrer complexit´
 e                   e
 avec gain en fonctionnalit´
                           e
7 Entretenir une bonne culture de projet


 Attitude positive

 Pragmatisme et impartialit´ dans la prise de d´cision
                           e                   e
 Prendre une solution autre que la sienne peut ˆtre
                                                e
 b´n´fique socialement
  e e

 Valoriser les autres
   - Attribuer toujours tous les fichiers
   - Confier des responsabilit´s (release manager)
                              e
   - Donner les droits de commit
8 Organiser des sprints

        Lignes de code produites
9 Investir dans le recrutement



 Cibler sa population

 Aider les contributeurs motiv´s
                              e

 Stages / Google summer of code,
 mais encadr´e
10 Communiquer

 Blog, twitter

 Conf´rence et article
      e
 en ´tant inclusif
    e
1   Connaˆ son march´
            ıtre           e
 2   Utiliser Github
 3   Ne pas s’approprier l’identit´ du projet
                                  e
 4   Cibler la qualit´
                     e
 5   Release r´guli`res
               e e
 6   Contrˆler la technicit´
           o               e
 7   Entretenir une bonne culture de projet
 8   Organiser des sprints
 9   Investir dans le recrutement
10   Communiquer

       @GaelVaroquaux

Contenu connexe

Similaire à Scikit Learn: Développement communautaire

cipe jeu gestion de projet.pdf
cipe jeu gestion de projet.pdfcipe jeu gestion de projet.pdf
cipe jeu gestion de projet.pdfCIPE
 
Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...
Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...
Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...Chipway
 
Le choix de l'Open Source
Le choix de l'Open SourceLe choix de l'Open Source
Le choix de l'Open SourceCore-Techs
 
Développement et gestion de Logiciel Libre et Ouvert (LLO)
Développement et gestion  de Logiciel Libre et Ouvert (LLO)Développement et gestion  de Logiciel Libre et Ouvert (LLO)
Développement et gestion de Logiciel Libre et Ouvert (LLO)geomsp
 
Keynote drupagora 2015 7
Keynote drupagora 2015 7Keynote drupagora 2015 7
Keynote drupagora 2015 7Core-Techs
 
WordPress & les contributions — WordCamp Paris 2016
WordPress & les contributions — WordCamp Paris 2016WordPress & les contributions — WordCamp Paris 2016
WordPress & les contributions — WordCamp Paris 2016Boiteaweb
 
La Meta-programmation
La Meta-programmation La Meta-programmation
La Meta-programmation Microsoft
 
Innover en support de formation à l'ère du numérique : exemple d'un escape ga...
Innover en support de formation à l'ère du numérique : exemple d'un escape ga...Innover en support de formation à l'ère du numérique : exemple d'un escape ga...
Innover en support de formation à l'ère du numérique : exemple d'un escape ga...Institut de l'Elevage - Idele
 
Captronic grenoble 01102014 version presentee
Captronic grenoble 01102014 version presenteeCaptronic grenoble 01102014 version presentee
Captronic grenoble 01102014 version presenteePatrick MOREAU
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphipprem
 
Plate-formes pour le développement collaboratif des logiciels libres
Plate-formes pour le développement collaboratif des logiciels libresPlate-formes pour le développement collaboratif des logiciels libres
Plate-formes pour le développement collaboratif des logiciels libresolberger
 
Plateforme Pour Le DéVeloppement Collaboratif Des Logiciels Libres
Plateforme Pour Le DéVeloppement Collaboratif Des Logiciels LibresPlateforme Pour Le DéVeloppement Collaboratif Des Logiciels Libres
Plateforme Pour Le DéVeloppement Collaboratif Des Logiciels LibresFdiwa
 
jeu gestion projet
jeu gestion projet jeu gestion projet
jeu gestion projet CIPE
 
Nos trucs et astuces pour construire des produits que les devs adorent chez ADEO
Nos trucs et astuces pour construire des produits que les devs adorent chez ADEONos trucs et astuces pour construire des produits que les devs adorent chez ADEO
Nos trucs et astuces pour construire des produits que les devs adorent chez ADEOJulien Jakubowski
 
Web 2.0, SBS / ESS et collaboratif d'entreprise
Web 2.0, SBS / ESS et collaboratif d'entrepriseWeb 2.0, SBS / ESS et collaboratif d'entreprise
Web 2.0, SBS / ESS et collaboratif d'entrepriseLINAGORA
 
Project Management 7 agility basics
Project Management 7 agility basicsProject Management 7 agility basics
Project Management 7 agility basicsElodieDescharmes
 
Développer des codes de simulation numérique avec une équipe "non geek" à l'ULg
Développer des codes de simulation numérique avec une équipe "non geek" à l'ULgDévelopper des codes de simulation numérique avec une équipe "non geek" à l'ULg
Développer des codes de simulation numérique avec une équipe "non geek" à l'ULgRomain Boman
 
Fedora, state of the art
Fedora, state of the artFedora, state of the art
Fedora, state of the artAnne Nicolas
 

Similaire à Scikit Learn: Développement communautaire (20)

cipe jeu gestion de projet.pdf
cipe jeu gestion de projet.pdfcipe jeu gestion de projet.pdf
cipe jeu gestion de projet.pdf
 
Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...
Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...
Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...
 
Le choix de l'Open Source
Le choix de l'Open SourceLe choix de l'Open Source
Le choix de l'Open Source
 
Développement et gestion de Logiciel Libre et Ouvert (LLO)
Développement et gestion  de Logiciel Libre et Ouvert (LLO)Développement et gestion  de Logiciel Libre et Ouvert (LLO)
Développement et gestion de Logiciel Libre et Ouvert (LLO)
 
Digital lab brief
Digital lab   briefDigital lab   brief
Digital lab brief
 
Keynote drupagora 2015 7
Keynote drupagora 2015 7Keynote drupagora 2015 7
Keynote drupagora 2015 7
 
WordPress & les contributions — WordCamp Paris 2016
WordPress & les contributions — WordCamp Paris 2016WordPress & les contributions — WordCamp Paris 2016
WordPress & les contributions — WordCamp Paris 2016
 
La Meta-programmation
La Meta-programmation La Meta-programmation
La Meta-programmation
 
Innover en support de formation à l'ère du numérique : exemple d'un escape ga...
Innover en support de formation à l'ère du numérique : exemple d'un escape ga...Innover en support de formation à l'ère du numérique : exemple d'un escape ga...
Innover en support de formation à l'ère du numérique : exemple d'un escape ga...
 
Captronic grenoble 01102014 version presentee
Captronic grenoble 01102014 version presenteeCaptronic grenoble 01102014 version presentee
Captronic grenoble 01102014 version presentee
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphi
 
Plate-formes pour le développement collaboratif des logiciels libres
Plate-formes pour le développement collaboratif des logiciels libresPlate-formes pour le développement collaboratif des logiciels libres
Plate-formes pour le développement collaboratif des logiciels libres
 
Plateforme Pour Le DéVeloppement Collaboratif Des Logiciels Libres
Plateforme Pour Le DéVeloppement Collaboratif Des Logiciels LibresPlateforme Pour Le DéVeloppement Collaboratif Des Logiciels Libres
Plateforme Pour Le DéVeloppement Collaboratif Des Logiciels Libres
 
jeu gestion projet
jeu gestion projet jeu gestion projet
jeu gestion projet
 
Nos trucs et astuces pour construire des produits que les devs adorent chez ADEO
Nos trucs et astuces pour construire des produits que les devs adorent chez ADEONos trucs et astuces pour construire des produits que les devs adorent chez ADEO
Nos trucs et astuces pour construire des produits que les devs adorent chez ADEO
 
Web 2.0, SBS / ESS et collaboratif d'entreprise
Web 2.0, SBS / ESS et collaboratif d'entrepriseWeb 2.0, SBS / ESS et collaboratif d'entreprise
Web 2.0, SBS / ESS et collaboratif d'entreprise
 
Project Management 7 agility basics
Project Management 7 agility basicsProject Management 7 agility basics
Project Management 7 agility basics
 
Jcom02.ppt
Jcom02.pptJcom02.ppt
Jcom02.ppt
 
Développer des codes de simulation numérique avec une équipe "non geek" à l'ULg
Développer des codes de simulation numérique avec une équipe "non geek" à l'ULgDévelopper des codes de simulation numérique avec une équipe "non geek" à l'ULg
Développer des codes de simulation numérique avec une équipe "non geek" à l'ULg
 
Fedora, state of the art
Fedora, state of the artFedora, state of the art
Fedora, state of the art
 

Plus de Gael Varoquaux

Evaluating machine learning models and their diagnostic value
Evaluating machine learning models and their diagnostic valueEvaluating machine learning models and their diagnostic value
Evaluating machine learning models and their diagnostic valueGael Varoquaux
 
Measuring mental health with machine learning and brain imaging
Measuring mental health with machine learning and brain imagingMeasuring mental health with machine learning and brain imaging
Measuring mental health with machine learning and brain imagingGael Varoquaux
 
Dirty data science machine learning on non-curated data
Dirty data science machine learning on non-curated dataDirty data science machine learning on non-curated data
Dirty data science machine learning on non-curated dataGael Varoquaux
 
Representation learning in limited-data settings
Representation learning in limited-data settingsRepresentation learning in limited-data settings
Representation learning in limited-data settingsGael Varoquaux
 
Better neuroimaging data processing: driven by evidence, open communities, an...
Better neuroimaging data processing: driven by evidence, open communities, an...Better neuroimaging data processing: driven by evidence, open communities, an...
Better neuroimaging data processing: driven by evidence, open communities, an...Gael Varoquaux
 
Functional-connectome biomarkers to meet clinical needs?
Functional-connectome biomarkers to meet clinical needs?Functional-connectome biomarkers to meet clinical needs?
Functional-connectome biomarkers to meet clinical needs?Gael Varoquaux
 
Atlases of cognition with large-scale human brain mapping
Atlases of cognition with large-scale human brain mappingAtlases of cognition with large-scale human brain mapping
Atlases of cognition with large-scale human brain mappingGael Varoquaux
 
Similarity encoding for learning on dirty categorical variables
Similarity encoding for learning on dirty categorical variablesSimilarity encoding for learning on dirty categorical variables
Similarity encoding for learning on dirty categorical variablesGael Varoquaux
 
Machine learning for functional connectomes
Machine learning for functional connectomesMachine learning for functional connectomes
Machine learning for functional connectomesGael Varoquaux
 
Towards psychoinformatics with machine learning and brain imaging
Towards psychoinformatics with machine learning and brain imagingTowards psychoinformatics with machine learning and brain imaging
Towards psychoinformatics with machine learning and brain imagingGael Varoquaux
 
Simple representations for learning: factorizations and similarities
Simple representations for learning: factorizations and similarities Simple representations for learning: factorizations and similarities
Simple representations for learning: factorizations and similarities Gael Varoquaux
 
A tutorial on Machine Learning, with illustrations for MR imaging
A tutorial on Machine Learning, with illustrations for MR imagingA tutorial on Machine Learning, with illustrations for MR imaging
A tutorial on Machine Learning, with illustrations for MR imagingGael Varoquaux
 
Scikit-learn and nilearn: Democratisation of machine learning for brain imaging
Scikit-learn and nilearn: Democratisation of machine learning for brain imagingScikit-learn and nilearn: Democratisation of machine learning for brain imaging
Scikit-learn and nilearn: Democratisation of machine learning for brain imagingGael Varoquaux
 
Computational practices for reproducible science
Computational practices for reproducible scienceComputational practices for reproducible science
Computational practices for reproducible scienceGael Varoquaux
 
Coding for science and innovation
Coding for science and innovationCoding for science and innovation
Coding for science and innovationGael Varoquaux
 
Estimating Functional Connectomes: Sparsity’s Strength and Limitations
Estimating Functional Connectomes: Sparsity’s Strength and LimitationsEstimating Functional Connectomes: Sparsity’s Strength and Limitations
Estimating Functional Connectomes: Sparsity’s Strength and LimitationsGael Varoquaux
 
On the code of data science
On the code of data scienceOn the code of data science
On the code of data scienceGael Varoquaux
 
Scientist meets web dev: how Python became the language of data
Scientist meets web dev: how Python became the language of dataScientist meets web dev: how Python became the language of data
Scientist meets web dev: how Python became the language of dataGael Varoquaux
 
Machine learning and cognitive neuroimaging: new tools can answer new questions
Machine learning and cognitive neuroimaging: new tools can answer new questionsMachine learning and cognitive neuroimaging: new tools can answer new questions
Machine learning and cognitive neuroimaging: new tools can answer new questionsGael Varoquaux
 
Social-sparsity brain decoders: faster spatial sparsity
Social-sparsity brain decoders: faster spatial sparsitySocial-sparsity brain decoders: faster spatial sparsity
Social-sparsity brain decoders: faster spatial sparsityGael Varoquaux
 

Plus de Gael Varoquaux (20)

Evaluating machine learning models and their diagnostic value
Evaluating machine learning models and their diagnostic valueEvaluating machine learning models and their diagnostic value
Evaluating machine learning models and their diagnostic value
 
Measuring mental health with machine learning and brain imaging
Measuring mental health with machine learning and brain imagingMeasuring mental health with machine learning and brain imaging
Measuring mental health with machine learning and brain imaging
 
Dirty data science machine learning on non-curated data
Dirty data science machine learning on non-curated dataDirty data science machine learning on non-curated data
Dirty data science machine learning on non-curated data
 
Representation learning in limited-data settings
Representation learning in limited-data settingsRepresentation learning in limited-data settings
Representation learning in limited-data settings
 
Better neuroimaging data processing: driven by evidence, open communities, an...
Better neuroimaging data processing: driven by evidence, open communities, an...Better neuroimaging data processing: driven by evidence, open communities, an...
Better neuroimaging data processing: driven by evidence, open communities, an...
 
Functional-connectome biomarkers to meet clinical needs?
Functional-connectome biomarkers to meet clinical needs?Functional-connectome biomarkers to meet clinical needs?
Functional-connectome biomarkers to meet clinical needs?
 
Atlases of cognition with large-scale human brain mapping
Atlases of cognition with large-scale human brain mappingAtlases of cognition with large-scale human brain mapping
Atlases of cognition with large-scale human brain mapping
 
Similarity encoding for learning on dirty categorical variables
Similarity encoding for learning on dirty categorical variablesSimilarity encoding for learning on dirty categorical variables
Similarity encoding for learning on dirty categorical variables
 
Machine learning for functional connectomes
Machine learning for functional connectomesMachine learning for functional connectomes
Machine learning for functional connectomes
 
Towards psychoinformatics with machine learning and brain imaging
Towards psychoinformatics with machine learning and brain imagingTowards psychoinformatics with machine learning and brain imaging
Towards psychoinformatics with machine learning and brain imaging
 
Simple representations for learning: factorizations and similarities
Simple representations for learning: factorizations and similarities Simple representations for learning: factorizations and similarities
Simple representations for learning: factorizations and similarities
 
A tutorial on Machine Learning, with illustrations for MR imaging
A tutorial on Machine Learning, with illustrations for MR imagingA tutorial on Machine Learning, with illustrations for MR imaging
A tutorial on Machine Learning, with illustrations for MR imaging
 
Scikit-learn and nilearn: Democratisation of machine learning for brain imaging
Scikit-learn and nilearn: Democratisation of machine learning for brain imagingScikit-learn and nilearn: Democratisation of machine learning for brain imaging
Scikit-learn and nilearn: Democratisation of machine learning for brain imaging
 
Computational practices for reproducible science
Computational practices for reproducible scienceComputational practices for reproducible science
Computational practices for reproducible science
 
Coding for science and innovation
Coding for science and innovationCoding for science and innovation
Coding for science and innovation
 
Estimating Functional Connectomes: Sparsity’s Strength and Limitations
Estimating Functional Connectomes: Sparsity’s Strength and LimitationsEstimating Functional Connectomes: Sparsity’s Strength and Limitations
Estimating Functional Connectomes: Sparsity’s Strength and Limitations
 
On the code of data science
On the code of data scienceOn the code of data science
On the code of data science
 
Scientist meets web dev: how Python became the language of data
Scientist meets web dev: how Python became the language of dataScientist meets web dev: how Python became the language of data
Scientist meets web dev: how Python became the language of data
 
Machine learning and cognitive neuroimaging: new tools can answer new questions
Machine learning and cognitive neuroimaging: new tools can answer new questionsMachine learning and cognitive neuroimaging: new tools can answer new questions
Machine learning and cognitive neuroimaging: new tools can answer new questions
 
Social-sparsity brain decoders: faster spatial sparsity
Social-sparsity brain decoders: faster spatial sparsitySocial-sparsity brain decoders: faster spatial sparsity
Social-sparsity brain decoders: faster spatial sparsity
 

Dernier

The Importance of Indoor Air Quality (French)
The Importance of Indoor Air Quality (French)The Importance of Indoor Air Quality (French)
The Importance of Indoor Air Quality (French)IES VE
 
Mes succès sur Microsoft LEARN et examens
Mes succès sur Microsoft LEARN et examensMes succès sur Microsoft LEARN et examens
Mes succès sur Microsoft LEARN et examensErol GIRAUDY
 
Workshop l'IA au service de l'industrie - Présentation générale - Extra 14...
Workshop l'IA au service de l'industrie - Présentation générale - Extra 14...Workshop l'IA au service de l'industrie - Présentation générale - Extra 14...
Workshop l'IA au service de l'industrie - Présentation générale - Extra 14...Infopole1
 
Les Metiers de l'Intelligence Artificielle
Les Metiers de l'Intelligence ArtificielleLes Metiers de l'Intelligence Artificielle
Les Metiers de l'Intelligence ArtificielleErol GIRAUDY
 
KIT-COPILOT and more Article du 20240311
KIT-COPILOT and more Article du 20240311KIT-COPILOT and more Article du 20240311
KIT-COPILOT and more Article du 20240311Erol GIRAUDY
 
Installation de Sylius 2.0 et découverte du nouveau backoffice en Bootstrap
Installation de Sylius 2.0 et découverte du nouveau backoffice en BootstrapInstallation de Sylius 2.0 et découverte du nouveau backoffice en Bootstrap
Installation de Sylius 2.0 et découverte du nouveau backoffice en BootstrapMaxime Huran 🌈
 

Dernier (6)

The Importance of Indoor Air Quality (French)
The Importance of Indoor Air Quality (French)The Importance of Indoor Air Quality (French)
The Importance of Indoor Air Quality (French)
 
Mes succès sur Microsoft LEARN et examens
Mes succès sur Microsoft LEARN et examensMes succès sur Microsoft LEARN et examens
Mes succès sur Microsoft LEARN et examens
 
Workshop l'IA au service de l'industrie - Présentation générale - Extra 14...
Workshop l'IA au service de l'industrie - Présentation générale - Extra 14...Workshop l'IA au service de l'industrie - Présentation générale - Extra 14...
Workshop l'IA au service de l'industrie - Présentation générale - Extra 14...
 
Les Metiers de l'Intelligence Artificielle
Les Metiers de l'Intelligence ArtificielleLes Metiers de l'Intelligence Artificielle
Les Metiers de l'Intelligence Artificielle
 
KIT-COPILOT and more Article du 20240311
KIT-COPILOT and more Article du 20240311KIT-COPILOT and more Article du 20240311
KIT-COPILOT and more Article du 20240311
 
Installation de Sylius 2.0 et découverte du nouveau backoffice en Bootstrap
Installation de Sylius 2.0 et découverte du nouveau backoffice en BootstrapInstallation de Sylius 2.0 et découverte du nouveau backoffice en Bootstrap
Installation de Sylius 2.0 et découverte du nouveau backoffice en Bootstrap
 

Scikit Learn: Développement communautaire

  • 2. John Hunter 1968–2012 matplotlib http://numfocus.org/johnhunter
  • 4. Mon gros succ`s logiciel libre e – 1er essai Package XXX 2007: inclut dans Debian 2008: .1% des utilisateurs l’installent 2012: .5% des utilisateurs (scilab = 1.2%)
  • 5. Mon gros succ`s logiciel libre e – 1er essai Package XXX 2007: inclut dans Debian 2008: .1% des utilisateurs l’installent 2012: .5% des utilisateurs (scilab = 1.2%) Nombre de commits
  • 6. Mon gros succ`s logiciel libre e – 1er essai “““Hey Gael, I take it you’re too busy. That’s okay, I Package XXX spent a day trying to install XXX and I think I’ll suc- 2007: inclut dans Debian ceed myself. des utilisateurs l’installent don’t ignore 2008: .1% Next time though please my emails, I really don’t like it. You1.2%)say, ‘sorry, 2012: .5% des utilisateurs (scilab = can I have no time to help you.’ Just don’t ignore.””” Nombre de commits
  • 7. La trag´die des logiciels libres e Source: Fernando Perez
  • 8. Mon gros succ`s logiciel libre e – 2eme essai
  • 9. Notre gros succ`s logiciel libre e
  • 10. Notre gros succ`s logiciel libre e Scikit-learn 2006-2009: cr´´ par D. Cournapeau, d´p´rit ee e e 2010: reprise, release 0.1 2012, mars: release 0.11 avec 31 contributeurs 2012, aoˆt: release 0.12 avec 48 contributeurs u Nombre de commits
  • 11. Notre gros succ`s logiciel libre e Scikit-learn 130 email/semaine sur la mailing list 312006-2009: cr´´ code Python ( 1/3 Django) 000 lignes dee par D. Cournapeau, d´p´rit e e e 2010: reprise, release 0.1 320 forks et 744 followers sur github 262012, lignes release 0.11 avec 31 contributeurs 000 mars: de documentation 6 000 visiteurs uniques/mois 48 contributeurs 2012, aoˆt: release 0.12 avec sur la page web u Nombre de commits
  • 12. 10 le¸ons durement c apprises
  • 13. 1 Connaˆ ıtre son march´ e A march´ niche, petit projet e Ne pas viser de public qui ne peut se transformer en contributeur Connaˆ ses concurrents ıtre Savoir ne pas cr´er de projet e Pourra-t-on avoir un impact?
  • 14. 2 Utiliser Github Github = outil ` la mode a Mener toutes les discussions en ligne Le syst`me de fork/pull e request met tous le monde ` ´galit´ ae e Critique de code sur les ‘pull requests’
  • 15. 3 Ne pas s’approprier l’identit´ du projet e Ne pas mettre son nom trop en avant Ne pas mettre son employeur trop en avant (attention ` l’utilisation des forges) a Pousser d’autres personnes ` communiquer au nom a du groupe (conf´rences) e
  • 16. 4 Cibler la qualit´ e Apporter une valeur ajout´e par rapport au code perso e Documentation, exemples Efficacit´ / g´n´ralit´ du code e e e e Tests: base de code modifiable en toute confiance Conventions de style de code Th´orie de la fenˆtre bris´e: e e e le bon code am`ne du bon code e
  • 17. 5 Release r´guli`res e e Les contributeurs donnent leur code pour qu’il arrive chez les utilisateurs Effet d’adr´naline de la release (rendre sa copie) e Cr´er du buzz e
  • 18. 6 Contrˆler la technicit´ o e Choisir les comp´tences: la population des experts e en C++ et en optimisation convex est petite Important pour cibler les contours du projet D´marche d’ing´nieur: e e ´quilibrer complexit´ e e avec gain en fonctionnalit´ e
  • 19. 7 Entretenir une bonne culture de projet Attitude positive Pragmatisme et impartialit´ dans la prise de d´cision e e Prendre une solution autre que la sienne peut ˆtre e b´n´fique socialement e e Valoriser les autres - Attribuer toujours tous les fichiers - Confier des responsabilit´s (release manager) e - Donner les droits de commit
  • 20. 8 Organiser des sprints Lignes de code produites
  • 21. 9 Investir dans le recrutement Cibler sa population Aider les contributeurs motiv´s e Stages / Google summer of code, mais encadr´e
  • 22. 10 Communiquer Blog, twitter Conf´rence et article e en ´tant inclusif e
  • 23. 1 Connaˆ son march´ ıtre e 2 Utiliser Github 3 Ne pas s’approprier l’identit´ du projet e 4 Cibler la qualit´ e 5 Release r´guli`res e e 6 Contrˆler la technicit´ o e 7 Entretenir une bonne culture de projet 8 Organiser des sprints 9 Investir dans le recrutement 10 Communiquer @GaelVaroquaux