Dans les réponses de Quelle est la riposte canonique à "c'est open source, soumettre un patch"? , de nombreuses personnes ont exprimé l'opinion que le simple fait de demander aux gens de soumettre un patch est arrogant et grossier.
Mais il me semble qu'en tant que développeur sur n'importe quel projet open source, vous verrez beaucoup plus de demandes de fonctionnalités sur la liste de diffusion que vous pourriez éventuellement implémenter. Ainsi, lorsqu'un utilisateur dit: «J'aimerais voir la fonctionnalité X», la vérité est généralement que les chances de sa mise en œuvre sont assez minces à moins de soumettre lui-même un correctif. De plus, il suffit parfois d'un peu d'encouragement pour transformer un utilisateur en contributeur.
D'un autre côté, vous ne voulez pas effrayer les contributeurs (potentiels) en vous montrant impoli.
Alors, comment diriez-vous "veuillez soumettre des correctifs au lieu de demander des fonctionnalités" de manière conviviale?
Mise à jour: Merci pour toutes les suggestions! Je vois que la plupart d'entre eux nécessitent des explications assez longues. Mais comme je préfère éviter soit (a) d'expliquer la même chose tous les deux jours (cela prend juste trop de temps), soit (b) d'utiliser des extraits que je colle dans un e-mail (cela devient impersonnel très rapidement), je me demande: quelqu'un a-t-il écrit cela dans un document auquel je peux lier?
(Les choses spécifiques au projet, comme la façon d'écrire des tests, de compiler le code et de soumettre le correctif, doivent encore être documentées, bien sûr, mais je pense que ces problèmes techniques devraient de toute façon entrer dans CONTRIBUTING.txt.)
la source
Réponses:
Non.
Dans la mesure où je l'ai vécu, les contributeurs candidats sont des bricoleurs et ne soumettront pas de demande de fonctionnalité en la demandant simplement. Ils le demandent généralement avec un certain niveau de participation déjà:
Les codeurs qui soumettent une demande de fonctionnalité pure et simple le font généralement pour une raison. Certains d'entre eux incluent (et je sais pertinemment que les deux derniers se produisent dans WordPress, par exemple):
Plus généralement, les demandes de fonctionnalités proviendront d'utilisateurs finaux qui ne pourraient pas contribuer au correctif même s'ils le voulaient. Surtout lorsqu'ils sont soumis en dehors du système de billetterie.
Je pense que votre priorité la plus importante devrait être de ne pas repousser les contributeurs potentiels / existants, plutôt que d'essayer d'en recruter activement de nouveaux. C'est extrêmement important, et je le dis par expérience. J'ai une façon étrange de choisir une nouvelle base de code, ce qui implique une lecture rapide du code pour en avoir un certain niveau, sauter dans le système de billetterie et corriger des bogues faciles à regarder pour apprendre les internes en profondeur (et classer nouveaux que je teste). Au fil des ans, j'ai inondé quelques projets de dizaines de tickets et de patchs. Souvent, ces tickets ne recevront que peu ou pas d'attention en temps opportun (pas même une reconnaissance, par exemple, continuez!) - y compris lorsqu'ils sont accompagnés d'étapes de diagnostic documentées et de tests unitaires.
la source
En bref, vous expliquez que vous n'avez pas un temps illimité pour faire leur travail gratuitement. (Vous pouvez sauter le bit 'gratuitement'), et qu'ils peuvent contribuer à tout moment, ce n'est pas "votre" projet, c'est le projet de tout le monde.
donc vous dites "Nous sommes vraiment désolés, c'est une excellente idée, mais nous sommes tout simplement trop occupés avec tous les autres travaux en cours, nous l'ajouterons à la liste, mais si vous souhaitez vraiment intégrer cela, et vous aimeriez nous aider en contribuant au projet, ce serait merveilleux. Nous avons de la documentation pour aider les gars à apporter des modifications au projet, ils sont là, donc si vous avez les compétences et le temps et que vous souhaitez nous aider, alors n'hésitez pas à nous envoyer un patch avec vos modifications. Nous devrons peut-être y apporter des modifications lorsque nous l'obtiendrons afin qu'il corresponde aux normes du projet, mais vous nous une grande faveur en nous donnant au moins un coup de pouce pour ce travail et nous vous aimons pour nous aider ".
Bien sûr, une fois que vous commencez à demander des correctifs, vous ne pouvez jamais, jamais les laisser allongés sur votre système de ticket trop longtemps, si vous en avez beaucoup, vous les intégrerez plus que le travail que vous faisiez auparavant. Vous n'aimerez peut-être pas cela, mais c'est nécessaire si vous voulez que les correctifs continuent de venir.
la source
Restez poli et expliquez clairement la situation. Et quelque chose comme:
Vous voyez, vous ne pouvez pas simplement dire "Pourquoi me dérangez-vous avec vos demandes? Je ne suis pas ici pour travailler gratuitement pour vous; si vous voulez cette fonctionnalité, allez l'implémenter vous-même". La personne peut être un non-développeur, peut ne pas connaître la langue utilisée pour développer le produit, etc.
Ainsi, au lieu d'être impoli, vous pouvez suggérer de participer au projet et expliquer également pourquoi vous ne pouvez pas implémenter la fonctionnalité vous-même.
Une autre façon de ne pas être impoli est de ne rien dire. Si vous avez un site Web où les utilisateurs de votre application peuvent suggérer de nouvelles fonctionnalités et signaler des bogues, vous pouvez vouloir trier les éléments par leur priorité: par exemple, si une fonctionnalité est demandée par 10 000 utilisateurs et une autre par 10 seulement , il est possible que le premier soit implémenté en premier.
Sur un tel site Web, vous pouvez toujours mettre une suggestion "implémentez-le vous-même" pour les fonctionnalités qui, après quelques jours ou semaines, n'ont pas reçu suffisamment de votes positifs d'autres utilisateurs.
la source
Vraiment, était-ce si difficile?
la source
Eh bien, au lieu de simplement dire «soumettre un patch», vous devriez élaborer un peu plus.
la source
Voici ce que je dis généralement ...
la source
En plus des belles façons de dire «Soumettre un correctif», fournissez également une documentation destinée aux développeurs afin que les autres personnes qui souhaitent vraiment que la fonctionnalité puisse se mettre à jour facilement sur votre projet. De nombreux projets ne sont pas conviviaux pour les développeurs et nécessitent des jours au minimum de lecture de milliers de lignes de code et de tonnes de petits cas de test poussant sur différentes parties du système pour bien fonctionner.
Si vous fournissez de l'aide aux développeurs possibles, ils seront plus que disposés à fournir de l'aide. Cela signifie une bonne documentation de code, de bonnes pages wiki expliquant le flux (ou un bon diagramme UML / tableau blanc) et un moyen facile d'obtenir les correctifs acceptés.
la source
J'adore la façon dont github encourage les autres à bifurquer le projet. Plusieurs versions du même projet peuvent exister sous différents comptes d'utilisateurs. Si vous n'aimez pas la direction que je prends le projet, merci de le bifurquer. Vous pouvez facilement soumettre des demandes de tirage mais n'êtes pas bloqué en attendant que je l'accepte.
Donc ma réponse est souvent, il suffit de la fourche.
la source