In French: Talk given in French at the Loops network of scientific computing development and at the pyconfr conference.
Subject: rules of thumb for community-driven development
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
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
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
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