POSS Chap 5 Part 5
Un article de Framalang Wiki.
[modifier] Money Can't Buy You Love / L'argent ne fait pas tout
If you're a paid developer on a project, then set guidelines early on about what the money can and cannot buy. This does not mean you need to post twice a day to the mailing lists reiterating your noble and incorruptible nature. It merely means that you should be on the lookout for opportunities to defuse the tensions that could be created by money. You don't need to start out assuming that the tensions are there; you do need to demonstrate an awareness that they have the potential to arise.
Si vous êtes un développeur payé dans un projet, posez rapidement les bases de ce que l'argent peut ou ne peut pas acheter. Cela ne veut pas dire que vous devez envoyer des messages deux fois par jour sur les listes de diffusion pour répéter votre nature noble et incorruptible. Cela veut simplement dire que vous devriez être sur vos gardes pour détecter les opportunités de réduire la tension qui pourrait être créée par l'argent. Vous n'avez pas besoin de vous lancer dans le projet en supposant que ces tensions existent, vous devez montrer que vous savez que ces tensions peuvent potentiellement surgir.
A perfect example of this came up in the Subversion project. Subversion was started in 2000 by CollabNet, which has been the project's primary funder since its inception, paying the salaries of several developers (disclaimer: I'm one of them). Soon after the project began, we hired another developer, Mike Pilato, to join the effort. By then, coding had already started. Although Subversion was still very much in the early stages, it already had a development community with a set of basic ground rules.
Nous avons eu affaire à un exemple parfait dans le projet Subversion. Subversion a été lancé en 2000 par CollabNet, donateur principal du projet depuis sa création et employeur de plusieurs développeurs (note : je n'en fais pas partie). Peu après le début du projet, nous avons engagé un autre développeur, Mike Pilato, pour se joindre à notre effort. A ce moment là, l'écriture du code avait déjà commencé. Bien que Subversion n'en était encore qu'à ses balbutiements il possédait déjà une communauté de développeurs avec un ensemble de règles de base.
Mike's arrival raised an interesting question. Subversion already had a policy about how a new developer gets commit access. First, he submits some patches to the development mailing list. After enough patches have gone by for the other committers to see that the new contributor knows what he's doing, someone proposes that he just commit directly (that proposal is private, as described in the section called “Committers”). Assuming the committers agree, one of them mails the new developer and offers him direct commit access to the project's repository.
L'arrivée de Mike a soulevé une question intéressante. Subversion avait déjà une règle pour l'attribution de l'accès de commit à un nouveau développeur. Il commence par proposer des correctifs à la liste de développement. Quand il a envoyé suffisamment de correctifs pour que les autres committers voient que le nouveau participant sait ce qu'il fait, quelqu'un propose qu'il valide ses changements lui-même (cette proposition est privée, comme décrit dans la section « Committers »). En supposant que les autres committers soient d'accord, l'un d'entre eux envoie un courrier au nouveau développeur et lui propose un accès de commit direct aux dépôts du projet.
CollabNet had hired Mike specifically to work on Subversion. Among those who already knew him, there was no doubt about his coding skills or his readiness to work on the project. Furthermore, the volunteer developers had a very good relationship with the CollabNet employees, and most likely would not have objected if we'd just given Mike commit access the day he was hired. But we knew we'd be setting a precedent. If we granted Mike commit access by fiat, we'd be saying that CollabNet had the right to ignore project guidelines, simply because it was the primary funder. While the damage from this would not necessarily be immediately apparent, it would gradually result in the non-salaried developers feeling disenfranchised. Other people have to earn their commit access—CollabNet just buys it.
CollabNet a engagé Mike tout spécialement pour travailler sur Subversion. Pour ceux qui le connaissaient déjà, ses aptitudes à coder et son envie de travailler sur le projet ne faisaient aucun doute. De plus, les développeurs volontaires avaient une très bonne relation avec les employés de CollabNet et n'auraient certainement pas émis d'objection si nous avions donné l'accès de commit à Mike dès le jour où il a été embauché. Mais nous savions que nous établirions alors un précédent. Si nous avions accordé l'accès de commit à Mike par décision nous aurions envoyé le message que CollabNet avait le droit d'ignorer les règles du projet simplement parce qu'il est le principal donateur. Alors que les conséquences n'auraient pas forcément été directement visibles, au fur et à mesure les développeurs non-salariés se seraient sentis privés de leur droit de vote. Les autres développeurs doivent mériter leur accès de commit, CollabNet n'a qu'à l'acheter.
So Mike agreed to start out his employment at CollabNet like any other volunteer developer, without commit access. He sent patches to the public mailing list, where they could be, and were, reviewed by everyone. We also said on the list that we were doing things this way deliberately, so there could be no missing the point. After a couple of weeks of solid activity by Mike, someone (I can't remember if it was a CollabNet developer or not) proposed him for commit access, and he was accepted, as we knew he would be.
Donc Mike a accepté de commencer chez CollabNet comme n'importe quel autre développeur volontaire, sans accès de commit. Il a envoyé des correctifs aux listes de diffusion publiques, là où ils pouvaient être, et ont été, vérifiés par tout le monde. Nous avons aussi dit sur les listes que nous le faisions délibérément, afin que tout le monde comprenne bien la démarche. Après quelques semaines d'activité intense de la part de Mike, quelqu'un (je ne me souviens plus si c'était un développeur de CollabNet ou pas) a proposé qu'on lui donne l'accès de commit et il lui a été accordé, comme il s'y attendait.
That kind of consistency gets you a credibility that money could never buy. And credibility is a valuable currency to have in technical discussions: it's immunization against having one's motives questioned later. In the heat of argument, people will sometimes look for non-technical ways to win the battle. The project's primary funder, because of its deep involvement and obvious concern over the directions the project takes, presents a wider target than most. By being scrupulous to observe all project guidelines right from the start, the funder makes itself the same size as everyone else.
C'est ce genre de cohérence qui vous apportera la crédibilité que l'argent ne pourra jamais vous acheter. Et la crédibilité est une monnaie de valeur dans les discussions techniques : elle fournit l'immunité contre la remise en cause des motivations. Dans une discussion tendue les gens peuvent chercher des moyens autres que des moyens techniques pour emporter la bataille. Le principal donateur du projet, en raison de sa profonde implication et de son intérêt évident pour la direction prise par le projet, est une cible plus facile que les autres. En respectant scrupuleusement les règles du projet dès le début, le donateur ne s'expose pas plus que les autres.
(See also Danese Cooper's blog at http://blogs.sun.com/roller/page/DaneseCooper/20040916 for a similar story about commit access. Cooper was then Sun Microsystem's "Open Source Diva"—I believe that was her official title—and in the blog entry, she describes how the Tomcat development community got Sun to hold its own developers to the same commit-access standards as the non-Sun developers.)
Vous pouvez aussi lire une histoire similaire sur http://blogs.sun.com/roller/page/DaneseCooper/20040916 à propos de l'accès de 'commit. Cooper était alors la « Diva Open Source » chez Sun Microsystem, je crois que c'était son titre officiel, et dans ce billet elle décrit comment la communauté de développement Tomcat est parvenue à faire adopter par Sun les mêmes standards pour l'accès de commit de ses propres développeurs et des développeurs qui ne venaient pas de Sun.
The need for the funders to play by the same rules as everyone else means that the Benevolent Dictatorship governance model (see the section called “Benevolent Dictators” in Chapter 4, Social and Political Infrastructure) is slightly harder to pull off in the presence of funding, particularly if the dictator works for the primary funder. Since a dictatorship has few rules, it is hard for the funder to prove that it's abiding by community standards, even when it is. It's certainly not impossible; it just requires a project leader who is able to see things from the point of view of the outside developers, as well as that of the funder, and act accordingly. Even then, it's probably a good idea to have a proposal for non-dictatorial governance sitting in your back pocket, ready to be brought out the moment there are any indications of widespread dissatisfaction in the community.
La nécessité pour les donateurs de respecter les mêmes règles du jeu que tout le monde signifie également que le modèle de gouvernement du « Dictateur bienveillant » (voir la section appelée « Le dictateur bienveillant » dans le Chapitre 4, Infrastructure sociale et politique) est plus compliqué à mettre en place en présence de dons, en particulier si le dictateur travaille pour le donateur principal. Comme une dictature a peu de règles il est difficile pour le donateur de prouver qu'il se conforme aux standards de la communauté même si c'est effectivement le cas. Ce n'est évidemment pas impossible, il faut juste que le meneur du projet soit capable de voir les choses à la fois du point de vue d'un développeur extérieur et de celui du donateur et qu'il agisse en fonction. Même dans ce cas, ce sera certainement une bonne idée de garder sous le coude une proposition de système de gouvernance non dictatorial, prête à être sortie dès que vous percevez les signes indicateurs d'une insatisfaction grandissante dans la communauté.

