Un modèle économiquede la gestion du fork
RMLL 2011
Laurent CHARLES
2
Le menu du jour
Qui sommes-nous ?
Quel est le problème ?
A chacun son métier
La proposition
Conclusion
3
Quis sum ?
Enalean✔ Collaboration et ingénierie logicielle
✔ Editeur de la forge open-source Tuleap
Laurent✔ Dirige Enalean
✔ 16 ans d'Open Source
4
http://www.kjhkjhkjh.com/repository
Et quel est le problème... ?
Le logiciel libre c'est fantastique✔ Et en plus c'est gratuit !
rpm...get install supersoft-3.0.2.35.6-1.5.4
5
Gratuit ?
Ben oui✔ Pas de coût de licence
✔ Tout est fait en interne
✔ Pas de budget « achat »
Alors il se déploie
Les utilisateurs sont contents
6
Et en plus on peut adapter notre produit
L'utilisateur le demande
On peut le faire, c'est libre
On sait le faire
On aime le faire
7
Le fork
Symptômes✔ Développements internes
✔ Spécificités métiers
✔ Difficulté à suivre « l'upstream »
2 options✔ Divergence assumée
✔ Merge, migration, merge,...
8
Et alors ?
« Je ne vais pas passer ma vie à merger !»©
9
Approches possibles
Communauté d'entreprises/d'utilisateurs✔ Développer en interne & Contributions
✔ Nécessite excellente coordination
✔ Difficile d'éviter le fork
Assumer le fork interne✔ Il faut aller aussi vite que le marché ou faire mieux
Partenariat avec l'éditeur✔ Quel modèle économique ?
10
A chacun son métier
L'éditeur...
La communauté...
L'utilisateur...
Le DSI...
✔ ...utilise
✔ ...communique
✔ ...dirige le système d'information
✔ ...édite
Trouvez les correspondances
11
A chacun son métier
L'éditeur...
La communauté...
L'utilisateur...
Le DSI...
✔ ...utilise
✔ ...communique
✔ ...dirige le système d'information
✔ ...édite
Où est la valeur de chacun ?Où est la valeur de chacun ?
12
✔ ...utilise
✔ ...communique
✔ ...dirige le système d'information
✔ ...édite
A chacun son métier
L'éditeur...
La communauté...
L'utilisateur...
Le DSI...
Où est la valeur de chacun ?Où est la valeur de chacun ?
Support, Maintenance, EvolutionSupport, Maintenance, Evolution
Utilise pour faire son boulot Utilise pour faire son boulot
Développement logicielDéveloppement logiciel
Cas d'utilisation, bonnes idées,trouve^wtombe sur les bugs
Cas d'utilisation, bonnes idées,trouve^wtombe sur les bugs
Discute, contribue, solliciteDiscute, contribue, sollicite
Expertise, relai d'opinion, notoriétéExpertise, relai d'opinion, notoriété
Paye, garantit le service, assure l'urbanisationPaye, garantit le service, assure l'urbanisation
Adaptation au métiers de l'entrepriseAdaptation au métiers de l'entreprise
13
A chacun son objectif
L'éditeur...
La communauté...
L'utilisateur...
Le DSI...
✔ Se faire plaisir
✔ Gagnez de l'argent
✔ Etre plus efficace
✔ Ne pas perdre d'argent
✔ Garder son boulot
✔ Gagner en reconnaissance
✔ Aller plus vite
✔ Gardez le pouvoir
✔ Se la couler douce
✔ Faire une conf aux RMLL
Trouvez les correspondances
14
A chacun son objectif
L'éditeur...
La communauté...
L'utilisateur...
Le DSI...
✔ Se faire plaisir
✔ Gagnez de l'argent
✔ Etre plus efficace
✔ Ne pas perdre d'argent
✔ Garder son boulot
✔ Gagner en reconnaissance
✔ Aller plus vite
✔ Gardez le pouvoir
✔ Se la couler douce
✔ Faire une conf aux RMLL
Trouvez les correspondances
15
A chacun son objectif
L'éditeur...
La communauté...
L'utilisateur...
Le DSI...
✔ Se faire plaisir
✔ Gagnez de l'argent
✔ Etre plus efficace
✔ Ne pas perdre d'argent
✔ Garder son boulot
✔ Gagner en reconnaissance
✔ Aller plus vite
✔ Gardez le pouvoir
✔ Se la couler douce
✔ Faire une conf aux RMLL
Mais des raisons différentesMais des raisons différentes
●Rémunération●Notoriété●Rentabilité●...
●Rémunération●Notoriété●Rentabilité●...
●Faire mon business●Le Fun●...
●Faire mon business●Le Fun●...
●Eviter l'externalisation●Diminuer le TCO●Contrôler le SI●...
●Eviter l'externalisation●Diminuer le TCO●Contrôler le SI●...
●Avoir un bon outil●Mieux faire mon travail●...
●Avoir un bon outil●Mieux faire mon travail●...
16
I have a dream
De l'entreprise utilisatrice
✔ La maintenance coûte cher(TMA ou interne)
✔ Je ne suis pas éditeur de logiciel
✔ Il n'y a que moi qui connaisse mon métier
De l'éditeur de logiciel
✔ Je dois développer mon produit
✔ Je dois gagner de l'argent
✔ Le contributions coûtent cher à intégrer
17
L'avait qu'à payer pour pas être dans la m
L'avait qu'à payer pour pas être dans la m S'il veut les
fixes, il n'a qu'à payer
S'il veut les fixes, il n'a qu'à
payer
I have a dream
De l'entreprise utilisatrice
✔ La maintenance coûte cher(TMA ou interne)
✔ Je ne suis pas éditeur de logiciel
✔ Il n'y a que moi qui connaisse mon métier
De l'éditeur de logiciel
✔ Je dois développer mon produit
✔ Je dois gagner de l'argent
✔ Le contributions coûtent cher à intégrer
Faudrait qu'on le fasse pour moi
Faudrait qu'on le fasse pour moi
J'aimerai bien développer un
peu aussi
J'aimerai bien développer un
peu aussiMais ça, il n'y a que
moi que puisse le faireMais ça, il n'y a que
moi que puisse le faire
Faudrait qu'il y ait des contributions
Faudrait qu'il y ait des contributions
Si seulement ils ne codaient pas avec les pied...
Si seulement ils ne codaient pas avec les pied...
C'est pas à moi de corriger les bugs
C'est pas à moi de corriger les bugs
18
Recherche de la valeur
Chacun peut faire ce qui a de la valeur pour lui✔ L'entreprise utilisatrice
– Amélioration pour son Service ou son Métier– Diminution des coûts– Ce qui est urgent
✔ L'éditeur de logiciel– Ce qui est conforme à sa stratégie produit– Réduction des coûts de maintenance
Focus ProduitFocus Produit
Focus MétierFocus Métier
19
Modèle proposé : Support à la contribution
EditeurEditeur
UtilisateurUtilisateur
Maintenance
Améliore& Contribue
+ Valeurdu produit
+ Valeuréconomique
€ Rétribution
+ Valeurefficacité
Support
+ Valeuréconomique
Echange de valeur
✔ Contribution contre support
✔ Contributions donnent valeur au produit
✔ Support permet bonnes contributions, plus rapides
✔ Bonnes contributions donnent valeur au produit
✔ Maintenance des contributions
✔ Rétribution pour support et maintenance
Bonnes conditions pour ne pas avoir de fork
Bonnes conditions pour ne pas avoir de fork
20
Comment ça marche ?
Décision en amont
✔ Intégré/Pas intégré + Type d'intégration
Accompagnement du développement
✔ Support par des experts
Revue et validation de la qualité
✔ Acceptation par automatique/systématique
Intégration et release
✔ Mise en production
Maintenance de l'éditeur
Ingénierie indispensable
✔ Développer/Contribuer doit être simple
✔ Tout ce qui peut être automatisé doit l'être
✔ Automatisation =Réduction des coûts de support
RequestRequest
SupportSupport
Publicationof code
Publicationof code Development Development
SupportSupport
ChangesFixes
ChangesFixes
ChangesFixes
ChangesFixes
Integration IntegrationReview (wiki, chat, etc.)Review (wiki, chat, etc.)
ReleaseReleaseValidationValidation
Pushin prod
Pushin prod
ProdProd
Maintenance Maintenance
DecisionDecision
Proposal Proposal
21
Bilan de la collaboration
L'éditeur✔ Contributions de bonne qualité
✔ Logique produit est respectée
✔ Source de revenus
L'entreprise utilisatrice✔ Produit de bonne qualité et évolutif
✔ Produit correspondant à son métier
✔ Réduction des coûts
Pas de forkPas de fork
22
Conclusion
Le fork, ça se gère en amont
Un bon partenariat, ça marche
L'ingénierie doit être efficace
Nécessité d'un équilibre économique
23
Merci de votre attention
Des questions peut être... ?
Compléments et échanges :[email protected]
?