How to destroy your community
De Framalang Wiki.
Article original sur lwn.net.
| Pseudo | Code | Rôle | Statut |
|---|---|---|---|
| Olivier | OLV | Traduction | Terminé |
| Daria | DAR | Relecture | Terminé |
| DonRico | DRI | Validation | Terminé |
| Mise en forme |
Article en ligne à l'adresse : http://www.framablog.org/index.php/post/2010/02/08/comment-detruire-votre-communaute
Sommaire |
Titre
How to destroy your community
Comment détruire votre communauté : mode d'emploi.
Paragraphe 1
Josh Berkus is well known as a PostgreSQL hacker, but, as it happens, he also picked up some valuable experience during his stint at "The Laboratory for the Destruction of Communities," otherwise known as Sun Microsystems. That experience has been distilled into a "patented ten-step method" on how to free a project of unwelcome community involvement. Josh's energetic linux.conf.au presentation on this topic was the first talk in the "business of open source" miniconf; it was well received by an enthusiastic crowd.
Le réputation de Josh Berkus en tant que hacker de PostgreSQL n'est plus à faire, mais ce n'est pas sa seule compétence, puisqu'il a aussi acquis une précieuse expérience durant sa pige au "Laboratoire de Destruction des Communautés", plus connu sous le nom de Sun Microsystems. Il y a suivi "l'enseignement breveté en 10 étapes" pour apprendre à débarrasser un projet de toute ingérence de la communauté. La présentation très dynamique qu'a donnée Josh à la linux.conf.au sur le sujet était la première discussion du mini symposium "l'économie de l'Open Source" ; l'audience lui a réservé un accueil chaleureux.
Paragraphe 2
If you are a corporate developer, you're likely to realize early on that free software development communities are a pain. They'll mess up your marketing schemes by, for example, taking the software into countries where you have no presence and no plans. They'll interfere with product roadmaps with unexpected innovation, adding features which you had not planned for the next few years - or, worse, features which were planned for a proprietary version. Free software communities are never satisfied; they are always trying to improve things. They tend to redefine partner and customer relationships, confusing your sales people beyond any help. And they bug you all the time: sending email, expecting you to attend conferences, and so on. Fortunately, there are ways to get rid of this community menace. All that's needed are the following ten steps.
Si vous êtes développeur dans une grosse entreprise, vous vous rendrez rapidement compte que les communautés de développement des logiciels libres sont une plaie. Dites adieu à vos plans marketing, par exemple, car elle se chargera d'introduire le logiciel dans des pays où vous êtes absents et pour lesquels vous n'avez pas de plan. Ils flanqueront par terre vos prévisions produits en sortant des innovations non-prévues, en implémentant des fonctionnalités des années avant ce que vous aviez planifié, ou pire encore, des fonctionnalités qui devaient être réservées à la version propriétaire de votre logiciel. Les communautés de logiciels libres sont d'éternelles insatisfaites, elles n'ont de cesse de vouloir améliorer les choses. Elles ont tendance à redéfinir les relations avec vos partenaires et vos clients, et vos commerciaux ne savent plus à quel saint se vouer. Et sans arrêt elles vous dérangent : un e-mail par ci, une conférence à laquelle vous devriez assister par là, etc. Mais heureusement, des solutions existent pour vous débarrasser de la menace que représente cette communauté. Il suffit d'appliquer une ou plusieurs des étapes suivantes.
Paragraphe 3
1 is to make the project depend as much as possible on difficult tools. He noted that most companies have no real trouble employing this technique, since it makes good use of the tools they have around anyway. Community-resistant projects should, for example, use weird build systems not found anywhere else. A proprietary version control system is mandatory. Even better are issue trackers with limited numbers of licenses, forcing everybody to use the same account. It's also important to set up an official web site which is down as often as it's up. It's not enough to have no web site at all; in such situations, the community has an irritating habit of creating sites of its own. But a flaky site can forestall the creation of those sites, ensuring that information is hard to find.
Méthode 1 : rendez le projet dépendant d'outils complexes. Il a remarqué qu'en général, les entreprises n'ont pas de problème avec cette technique puisqu'elles aiment s'appuyer sur leurs propres outils. Pour les projets où la communauté n'est pas la bienvenue, il faut par exemple employer des systèmes singuliers qu'on ne trouve nulle part ailleurs. Un système de contrôle de version propriétaire est absolument obligatoire. Mieux encore, un outil de suivi des problèmes avec un nombre limité de licences, afin que tout le monde doive s'y connecter avec le même compte. N'oubliez pas de mettre en place un site Web qui respecte la parité : 50% du temps planté, 50% du temps opérationnel. Ne pas mettre de site à disposition ne suffira pas : dans de telles situations, la communauté a la fâcheuse habitude de créer le sien. Avec avec un site bancal, en revanche, vous vous en prémunirez et vous assurerez que l'information restera bien cachée.
--DRI 4 février 2010 à 20:15 (UTC):
Parler d'étapes était tentant, mais l'auteur lui-même semble s'emmêler les pinceaux. Quand on avance dans le texte, on s'aperçoit qu'il ne faut pas appliquer toutes ces techniques à la suite, mais en utiliser une ou plusieurs. J'ai donc préféré parler de méthodes (ce qui se recoupe à la fin avec ton "techniques", Olivier.
2: Encourage the presence of poisonous people and maximize the damage that they can create. There is a special technique to the management of these people which goes something like this:
1. Take pains to argue with these people at length and to denounce them on the project lists.
2. Eventually, they should be banned from the community by fiat; it's important to avoid any sort of community process here.
3. The banned people will take their flames elsewhere. Follow them and continue to argue with them in those external sites.
4. Eventually the community will complain about this behavior; respond by letting the poisonous people back in. Then go back to step 1 and do it all over again.
Properly managed, one effective poisonous person, according to Josh, can wipe out a community of hundreds.
Méthode 2 : attirez les participants nocifs et optimisez les dégâts qu'ils peuvent engendrer. Ce cas particulier nécessite quelques étapes :
- Prenez sur vous et engagez-vous dans de longs débats avec ces personnes et dénoncez-les sur les listes du projet.
- Au bout d'un certain temps, bannissez-les par décret ; évitez à tout prix tout processus communautaire.
- Les gens bannis déverseront leur bile ailleurs. Vous devez les suivre et poursuivre votre débat sur ces sites externes.
- Enfin, la communauté se plaindra de ce comportement. Votre réponse sera simple : réintégrez les enquiquineurs à la communauté. Reprenez à la première étape et recommencez.
3: Provide no documentation. There should be no useful information about the code, build methods, the patch submission process, the release process, or anything else. Then, when people ask for help, tell them to RTFM.
Méthode 3 : ne fournissez pas de documentation. Aucune information utile ne devrait être disponible, ni pour le code, ni sur les méthodes de compilation, rien sur le processus de soumission de correctif, ni sur le processus de sortie, rien de rien. Puis, quand on demandera de l'aide, répondez "Lis la notice, bordel !"
4: Project decisions should be made in closed-door meetings. An OK start is to have online meetings with very short notice, though, for best effect, they should be at a time which is inconvenient in the time zones where most community members are to be found. Better is to have meetings via conference call: that excludes about a third of the planet due to sleep requirements, and, for extra value, also excludes a number of people who are at work who might have been able to participate in an online meeting. Best, though, is to hold meetings in person at the corporate headquarters.
Méthode 4 : les décisions relatives aux projets devraient être prises en petit comité. Pour bien commencer, vous pouvez organiser vos réunions en ligne en ne prévenant les participants que très peu de temps à l'avance. Pour que cette technique soit vraiment efficace, prévoyez ces réunions à des heures incompatibles avec le fuseau horaire commun à la plupart des membres de la communauté. Le mieux est encore de tout faire en visioconférence : vous exclurez de fait environ un tiers de la planète pour qui elle se déroule de nuit, de plus, les gens ont un boulot, tant pis pour eux aussi. Mais le must reste encore d'organiser les réunions en personne au siège de la société.
5: Employ large amounts of legalese. Working with the project should involve complex contributor agreements, web site content licensing, non-disclosure agreements, trademark licenses, and so on. For full effect, these documents should all be changed without notice every couple of months or so.
Méthode 5 : sortez la grosse artillerie juridique. S'impliquer dans le projet devrait rimer avec accords de participation alambiqués, contrats de licence protégeant le contenu du site Web, accords de confidentialité, marques déposées, etc. Pour ne pas faire les choses à moitié, tous ces documents devraient être modifiés en catimini à peu près tous les deux mois.
6: The community liaison must be chosen carefully. The optimal choice is somebody reclusive - somebody who has no friends and really doesn't like people at all. Failing that, go with the busiest person on the staff - somebody with both development and management responsibilities, and who is already working at least 70 hours per week. It's important, in this case, to not remove any of this person's other responsibilities when adding the liaison duty. It can also be effective to go with somebody who is unfamiliar with the technology; get a Java person to be the liaison for a Perl-based project. Or, if all else fails, just leave the position vacant for months at a time.
Méthode 6 : l'agent de liaison avec la communauté devrait être choisi avec soin. Votre meilleur candidat : quelqu'un de solitaire, quelqu'un qui n'a pas d'amis et qui n'apprécie pas vraiment les autres. Si vous n'en avez pas sous la main, prenez le membre de votre équipe qui a le plus de travail, quelqu'un avec des responsabilités en développement et en gestion, et qui travaille déjà au minimum 70 heures par semaine. Dans ce cas, il est primordial de ne pas le décharger de la moindre de ses responsabilités. Quelqu'un qui ne maîtrise pas la technologie fera aussi l'affaire. Prenez un spécialiste de Java pour assurer la liaison dans un projet en Perl. Ou, si vraiment ces solutions ne sont pas possibles, laissez simplement la place vacante pendant des mois.
7: Governance obfuscation. Community-averse corporations, Josh says, should learn from the United Nations and create lengthy, complicated processes. Keep the decision-making powers unclear; this is an effective way to turn contributors into poisonous people. Needless to say, the rules should be difficult or impossible to change.
Méthode 7 : l'opacité des prises de décision. Les entreprises réfractaires aux communautés devraient, d'après Josh, s'inspirer des Nations Unies et créer des processus longs et complexes. Personne ne doit savoir qui prend réellement les décisions, c'est très bon pour transformer les contributeurs en éléments nocifs. Il va de soit que les règles devraient être immuables ou presque.
8: Screw around with licensing. Community members tend to care a lot about licenses, so changing the licensing can be a good way to make them go elsewhere. Even better is to talk a lot about license changes without actually changing anything; that will drive away contributors who like the current license without attracting anybody who might like the alleged new license.
Méthode 8 : faites n'importe quoi avec les licences. Les membres de la communauté étant souvent à cheval sur la question des licences, modifiez la licence et vous avez de bonnes chances de les faire fuir. Évoquer des changements de licence sans jamais vraiment rien modifier peut se révéler encore plus efficace : vous faites fuir les contributeurs actuels qui apprécient la licence choisie sans pour autant en attirer d'autres, adeptes eux de la future licence supposée.
9: Do not allow anybody outside the company to have commit access, ever. There should be a rule (undocumented, of course) that only employees can have commit rights. Respond evasively to queries - "legal issues, we're working on it" is a good one. For especially strong effect, pick an employee who writes no code and make them a committer on the project.
Méthode 9 : n'accordez jamais, au grand jamais, l'accès au commit à quelqu'un d'extérieur à l'entreprise. Ce devrait être une règle (tacite évidemment) : seuls les employés peuvent avoir les droits de commit. Vos réponses doivent être évasives, "problèmes légaux, on y travaille" est une bonne carte à jouer. Afin que cette mesure prenne tout son effet, choisissez un employé qui n'écrit pas de code et confiez lui l'accès au commit sur le projet.
--daria 3 février 2010 à 10:42 (UTC):
nécessité d'une explication plus claire pour le grand public de l'accès au commit ?
--DRI 4 février 2010 à 19:52 (UTC):
Au cas où on va mettre un lien vers l'article Wikipédia.
10: Silence. Don't answer queries, don't say anything. A company which masters this technique may not need any of the others; it is the most effective community destroyer of them all.
Méthode 10 : le silence. Laissez les questions sans réponse, ne dites rien. Maîtriser cette technique peut rendre, à elle seule, toutes les autres inutiles. C'est le meilleur moyen de détruire une communauté qui existe.
Paragraphe 4
Josh concluded by noting that he saw all of these techniques employed to great effect by Sun. But Sun is far from alone in this regard. Josh has been told by a veteran of the X Consortium that they, too, had made good use of all ten methods at one point or another. Community-destroying skills are widespread in the industry.
En conclusion, Josh ajoute que grâce à Sun, il peut témoigner de l'efficacité de toutes ces techniques. Mais Sun est loin d'être la seule entreprise dans cette situation. Un ancien du X Consortium a avoué à Josh qu'eux aussi avaient un jour recouru un jour ou l'autre à chacune de ces méthodes. Ces compétences de destruction de communauté sont monnaie courante dans l'industrie du logiciel.
= Paragraphe 5
But what if you have a different kind of company, one which wants to encourage and build communities? Doing the opposite of all of the above clearly makes a lot of sense. But, Josh said, it all really comes down to trust. A relationship with a development community can be seen like a marriage: one can spend years building it up, but one affair will kill the trust it is based on. Similarly, a company can lose half of its community in a weekend. Those who would avoid that fate must trust their communities and act in a way which will cause that trust to be returned.
Mais que faire si votre entreprise veut au contraire se bâtir une communauté ? Il paraît évident qu'elle devrait alors s'employer à appliquer à l'inverse les méthodes énumérées ci-dessus. Mais d'après Josh, la clé de voûte du système reste la confiance. À l'instar du mariage, développer une communauté peut prendre des années, mais une seule infidélité détruira la confiance qui en constitue le socle. Ainsi, une entreprise peut perdre la moitié de sa communauté en un week-end. Pour ne pas connaître ce triste sort, il faut avoir confiance en la communauté et agir de sorte que cette confiance soit réciproque.

