SlideShare une entreprise Scribd logo
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.pdf
CIPE
 
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 Source
Core-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
 
Digital lab brief
Digital lab   briefDigital lab   brief
Digital lab brief
Alexandre Rivaux
 
Keynote drupagora 2015 7
Keynote drupagora 2015 7Keynote drupagora 2015 7
Keynote drupagora 2015 7
Core-Techs
 
WordPress & les contributions — WordCamp Paris 2016
WordPress & les contributions — WordCamp Paris 2016WordPress & les contributions — WordCamp Paris 2016
WordPress & les contributions — WordCamp Paris 2016
Boiteaweb
 
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 presentee
Patrick MOREAU
 
Utiliser les outils numériques créatifs pour valoriser sa médiathèque
Utiliser les outils numériques créatifs pour valoriser sa médiathèqueUtiliser les outils numériques créatifs pour valoriser sa médiathèque
Utiliser les outils numériques créatifs pour valoriser sa médiathèque
cspirin
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphi
pprem
 
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
 
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
olberger
 
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 ADEO
Julien 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'entreprise
LINAGORA
 
Project Management 7 agility basics
Project Management 7 agility basicsProject Management 7 agility basics
Project Management 7 agility basics
ElodieDescharmes
 
Jcom02.ppt
Jcom02.pptJcom02.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
Romain Boman
 

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
 
Utiliser les outils numériques créatifs pour valoriser sa médiathèque
Utiliser les outils numériques créatifs pour valoriser sa médiathèqueUtiliser les outils numériques créatifs pour valoriser sa médiathèque
Utiliser les outils numériques créatifs pour valoriser sa médiathèque
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphi
 
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
 
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
 
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
 

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 value
Gael 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 imaging
Gael Varoquaux
 
Machine learning with missing values
Machine learning with missing valuesMachine learning with missing values
Machine learning with missing values
Gael 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 data
Gael Varoquaux
 
Representation learning in limited-data settings
Representation learning in limited-data settingsRepresentation learning in limited-data settings
Representation learning in limited-data settings
Gael 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 mapping
Gael 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 variables
Gael Varoquaux
 
Machine learning for functional connectomes
Machine learning for functional connectomesMachine learning for functional connectomes
Machine learning for functional connectomes
Gael 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 imaging
Gael 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 imaging
Gael 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 imaging
Gael Varoquaux
 
Computational practices for reproducible science
Computational practices for reproducible scienceComputational practices for reproducible science
Computational practices for reproducible science
Gael Varoquaux
 
Coding for science and innovation
Coding for science and innovationCoding for science and innovation
Coding for science and innovation
Gael 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 Limitations
Gael Varoquaux
 
On the code of data science
On the code of data scienceOn the code of data science
On the code of data science
Gael 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 data
Gael 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 questions
Gael 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
 
Machine learning with missing values
Machine learning with missing valuesMachine learning with missing values
Machine learning with missing values
 
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
 

Dernier

Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
OCTO Technology
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
UNITECBordeaux
 
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO Technology
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
Université de Franche-Comté
 
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
OCTO Technology
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Laurent Speyser
 

Dernier (6)

Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
 
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
 
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
 

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