Comment devient-on un grand contributeur à un projet open source?

10

Je sais que le conseil par défaut pour les projets open source, et pour commencer, est de commencer à corriger les bugs. Mais j'ai le sentiment que c'est le chemin que l'on voudrait prendre s'ils voulaient être un testeur / correcteur de bugs dans le projet. Comment devient-on un contributeur actif d'un projet open source? [C'est à dire au niveau de l'architecture]

monksy
la source
15
Étape 1 - Devenez un énorme contributeur. Étape 2 - réduisez un peu.
psr

Réponses:

10

Cela va probablement ressembler à un peu de tautologie, mais si vous voulez devenir un contributeur majeur de nouvelles fonctionnalités, utilisez le produit pendant un certain temps, trouvez une nouvelle fonctionnalité qui pourrait l'améliorer, écrivez le code pour implémenter la fonctionnalité et contribuez-le.

La raison pour laquelle il est conseillé aux gens de commencer avec des corrections de bugs est que cela les amène à fouiller dans la base de code et à se familiariser avec la façon dont les choses fonctionnent. Cela vous permettra également de participer à la communauté de discussion du projet, quelle qu'elle soit (généralement une liste de diffusion ou un forum), de sorte que vous aurez une idée de l'orientation du projet. Vous vous sentiriez un peu idiot si vous réalisiez 80% du chemin avec votre nouvelle fonctionnalité pour constater que quelqu'un d'autre y avait travaillé tout le temps et qu'ils venaient de le terminer!

Mason Wheeler
la source
Assez loin, diriez-vous que cette tactique est plus politique ou embarrassante? [Alias. la publicité d'un patch sur un blog, avant d'obtenir l'autorisation de s'engager]
monksy
2
@monksy - ce n'est ni l'un ni l'autre, car vous ne le rendriez pas normalement public, mais contribuez- le via le mécanisme approprié à la base de code. Vous essayez de gagner la confiance via une expérience partagée. Vous n'obtenez pas d'engagements privés en ennuyant les gens!
sdg
1
@monksy: N'annoncez pas votre patch sur un blog; comment savez-vous que quelqu'un du projet le verra même? Si vous avez un patch, apportez-le à la communauté de discussion et parlez-en là. C'est là que vous obtiendrez probablement la réponse la plus utile. (BTW si vous avez un correctif de bogue, soyez prêt à prouver qu'il y a réellement un bogue. Cela signifie que vous comprenez ce que le code est censé faire et que vous pouvez montrer un cas reproductible où il fait autre chose. Assurez-vous de connaître la différence entre un bug et le code faisant quelque chose qu'il est censé faire et que vous n'aimez pas.)
Mason Wheeler
4

Il n'y a pas de raccourci. Les projets open source sont extrêmement basés sur le mérite. Lorsque vous avez montré que vous êtes capable de gérer des tâches plus petites, vous serez finalement confié à des tâches de plus en plus importantes. Les projets open source ont également beaucoup de dynamisme de la part des contributeurs qui contribuent un ou deux correctifs puis passent à autre chose, et encore plus de personnes qui «contribuent» à une ou deux idées majeures mais non mises en œuvre passent ensuite. Si vous voulez faire des contributions plus importantes, vous devrez montrer que vous êtes à long terme.

Cela dit, les améliorations architecturales incrémentielles sont souvent les bienvenues, surtout si elles résolvent un bogue majeur ou un problème de performances. Par exemple, il y a plusieurs années, l'un des rares correctifs que j'ai apportés au projet Cinelerra était une modification architecturale de la pile d'annulation qui réduisait considérablement la consommation de mémoire et la latence pour les opérations annulables.

Vous allez trouver le plus de succès si vous résolvez un problème auquel vous êtes personnellement confronté, plutôt que de simplement vous mettre à "devenir un contributeur à un projet open source". Lorsque j'ai soumis ce patch à Cinelerra, je n'essayais pas d'apporter une modification architecturale à un projet open source choisi au hasard, j'essayais de comprendre pourquoi il avait fallu si longtemps pour déplacer un point d'entrée / sortie lors de l'édition de mes vidéos.

Karl Bielefeldt
la source
Agréable! J'ai toujours voulu utiliser Cinelerra, mais c'était toujours pénible de l'installer sur gentoo. Merci pour les contributions. Mais c'est exactement le genre de changement que je propose et demande. C'est un assez grand changement pour inquiéter les gens, mais ce n'est pas une correction de bogue.
monksy
2

Vous pouvez le faire en apprenant à connaître ceux qui sont déjà dans cette position et en manifestant un intérêt à les rejoindre, ce qui est mieux accompli en corrigeant des bogues, en trouvant des bogues et en participant au développement.

Ryathal
la source
Cela semble être un long chemin vers la prise de décisions architecturales / de conception. [Je fonctionne en partant du principe que les fourches sont mauvaises]
monksy
@monksy il semble que vous partez d'un postulat différent de celui indiqué dans votre question. Si vous croyez que vous avez une bien meilleure façon qu'un projet actuel, engagez-vous peut-être dans une conversation ouverte discrète pour mieux comprendre pourquoi les choses sont comme elles sont, puis allez-y ...
sdg
5
@monksy gravir les échelons prend du temps, vous ne devez pas décider de commencer par le haut à moins de créer votre propre échelle.
Ryathal