Une situation qui s'est produite à plusieurs reprises dans des projets open source se présente comme suit:
- Je remarque un bug dans notre déploiement et je trouve un correctif de piratage rapide. (Par exemple, commentez simplement le code dont nous n'avons pas réellement besoin.)
- Je dépense un peu d'effort supplémentaire pour comprendre le vrai bug, trouver un correctif et le soumettre via une demande d'extraction Git, ou similaire.
- Ma demande de retrait est rejetée. Peut-être que le correctif était imparfait (par exemple, incluait des lignes qu'il ne devrait pas avoir), peut-être qu'il violait le style de codage, peut-être qu'il avait d'autres ramifications. Ou peut-être que j'ai fait quelque chose de mal dans Git - la demande de pull aurait dû être rebasée ou quelque chose. Un responsable fournit des commentaires sur la façon d'améliorer le correctif et demande que je le soumette à nouveau.
À ce stade, je ne sais pas jusqu'où je dois aller. En ce qui me concerne, je n'ai pas de problème: je l'ai résolu à l'étape 1. J'ai signalé le problème, j'ai même pris des mesures pour le résoudre pour les autres. Mais je ne pense pas que ce soit "ma" demande de pull, donc je ne pense pas que la responsabilité d'améliorer le patch devrait m'incomber.
Une situation particulière qui me contrarie est qu'après discussion sur les échecs de mon correctif, nous nous entendons sur une liste de diffusion sur ce que serait le correct correct (c'est-à-dire, comment il devrait se comporter, en incluant parfois chaque ligne de code énoncée). Ensuite, il est toujours présumé de ma responsabilité de générer et de soumettre le correctif.
Y a-t-il une étiquette standard dans ces situations? Comment sont-ils résolus? Ma réaction est-elle inhabituelle? Jusqu'où êtes-vous censé aller pour faire accepter votre correction de bogue?
(Notez quand je dis «projet open source», certains d'entre eux sont très petits, mais peuvent ne pas être des passe-temps - simplement de petits projets logiciels qui sont utiles à plusieurs organisations, qui engagent des ressources de développement pour y travailler. Au cas où la réponse évidente c'est "réparer le correctif et soumettre à nouveau", comprenez que j'ai la responsabilité envers mon employeur de travailler sur des choses qui leur sont bénéfiques. Passer du temps à corriger un bogue qui ne nous affecte pas serait une erreur ...)
la source
Allez aussi loin que vous le souhaitez. Ce serait bien de réparer votre patch et de le partager avec le monde dans le coffre principal, mais si le responsable ne le veut pas, hausser les épaules. Vous pouvez publier quelque part votre problème et le correctif pour y faire face, afin que d'autres personnes dans le même bateau puissent rechercher une solution.
Et vous n'êtes pas sans problème. Votre patch ne sera pas dans la prochaine mise à niveau. Vous devrez donc repatch, et espérons que cela fonctionne ou le masser en place, chaque fois que vous prenez une nouvelle version. Ainsi, le faire entrer dans le projet principal vous fera économiser, ainsi qu'à votre entreprise, du temps à long terme.
C'est une douleur pour vous, mais vous contribuez à la communauté. J'apprécie certainement tout le travail fourni par les contributeurs. Ce n'est pas comme un logiciel de qualité, comme par magie, la genèse des masses. Quelqu'un doit faire le travail. (Alors, qui est génial? Tu es génial). Si vous ne vous sentez pas d'accord, annoncez à la communauté que si vous appréciez la discussion sur la façon dont cela devrait être, vous êtes tout simplement trop occupé pour le faire. Je veux dire, qu'est-ce qu'ils vont faire? Coupez vos salaires?
la source
Il existe un principe qui facilite la compréhension de la culture open source: la personne qui fait le travail décide sur quoi travailler. C'est l'un de ses attraits par rapport aux emplois de jour des développeurs. Votre priorité n ° 1 pourrait être n ° 50 sur leur carnet de commandes. Si vous ne corrigez pas votre demande de tirage, elle finira probablement par remonter au sommet et ils s'en occuperont. Cependant, si vous leur facilitez la tâche, ils s'en occuperont maintenant.
L'autre raison pour laquelle ils vous demandent de corriger votre demande de tirage est plus magnanime. Ils veulent que vous obteniez un crédit pour votre contribution, aussi petite soit-elle. Si vous faites la correction, votre nom est celui du champ auteur du commit. La plupart des gens sont assez fiers de leur contribution pour vouloir y parvenir, donc le mode de fonctionnement par défaut des responsables est de les laisser faire.
En ce qui concerne votre responsabilité envers votre employeur, si votre entreprise s'appuie sur ce code, vous ne lui rendez pas service. Les employeurs connaissent l'avantage d'un ouvrier qui prend le temps d'aiguiser ses outils.
la source
AFAIK, la méthode open source est que la responsabilité de la correction des bugs est laissée à celui qui se soucie suffisamment du bogue pour gérer la charge et s'assurer qu'il est corrigé. Selon les circonstances, j'ai tout fait, de simplement ignorer un problème à combattre (fournir des correctifs et argumenter pour qu'ils soient acceptés) pour m'assurer qu'il a été corrigé.
Tout va bien, ne laissez pas les personnes qui gèrent le projet attendre la mauvaise chose de votre part (c.-à-d. Donnez-leur l'espoir que vous réglerez le problème correctement par des options de discussion, puis ne faites rien), elles sont probablement au courant de plus de problèmes qu'elles peut se débrouiller seul et essaiera de faire de vous un contributeur récurrent s'il le peut.
la source
Le bogue d'origine ne peut que vous affecter, il est donc très dans votre intérêt d'obtenir la soumission en faisant tout ce qui est nécessaire pour mettre votre patch en conformité. Sinon, la prochaine version que vous tirerez (car vous avez besoin d'autres correctifs) n'aura pas votre correctif.
Vous ne voulez pas conserver une liste des correctifs que vous devez appliquer chaque fois que vous tirez une nouvelle copie du projet - c'est tout simplement trop de problèmes. Prenez un peu de temps supplémentaire et faites-le réparer de façon permanente afin que vous n'ayez plus à vous en occuper.
la source
Pour un développeur open source, il existe deux types de problèmes:
Je pense que la plupart des mainteneurs / développeurs de packages open source AIMENT l'idée d'aider à mettre à jour un contributeur non-core avec leurs correctifs.
Leur objectif principal, cependant, est de minimiser le nombre de problèmes de type b. C'est pourquoi la barre est placée assez haut.
Certaines personnes le surmontent. Ils deviennent des contributeurs, voire des contributeurs de base. D'autres abandonnent. Il y a une certaine nature darwinienne à l'Open Source - la survie du plus apte.
Je vous encourage à continuer et à briller votre contribution au point où l'équipe l'accepte. Une fois que vous aurez fait quelques contributions, ils vous feront davantage confiance, mais vous devez toujours vous assurer que vos contributions sont impeccables.
Le résultat final en vaut vraiment la peine. Des trucs comme pouvoir dire "Est-ce que je code? Oui ... Vous dirigez quelque chose que j'ai écrit, tous les jours."
la source