Comment intégrer des badges dans mon projet open-source?

12

Stack Overflow a un ensemble impressionnant de badges qui reconnaît la contribution d'une personne à la communauté et permet aux capacités d'un individu de croître plus il contribue.

Quelles techniques puis-je utiliser pour les projets open source ou de codage? Par exemple, la contribution d'une personne à la base de code lui vaut des badges ainsi qu'un ensemble toujours croissant de capacités sur le projet?

Note du modérateur

Fournir un lien vers une recommandation ne suffit pas: veuillez fournir des réponses détaillées sur la façon d'incorporer des éléments de gamification dans un projet open-source. Toute réponse qui ne fait pas cela sera supprimée.

Voir Bon subjectif, Mauvais subjectif pour plus d'informations sur les types de questions et les types de réponses que nous recherchons sur les programmeurs.

Dakotah North
la source
3
Je ne pense pas en avoir entendu parler, mais c'est une idée intéressante.
Adam Lear
1
@FrustratedWithFormsDesigner La question fait référence aux badges SO pour fournir le contexte, mais il ne s'agit pas de SO. Il n'appartient pas à la méta.
Adam Lear
@Frustré - pourquoi? Mis à part l'utilisation de SO comme exemple, cela n'a rien à voir avec Stack Exchange.
ChrisF
1
Il ne devrait pas être sur la méta car il s'agit de COMMENT créer du code et promouvoir le code dans un projet. La question ici est ... pouvons-nous créer du code d'une manière qui renforce la communauté d'une manière similaire à celle du débordement de pile.
Dakotah North

Réponses:

3

En fait, les badges sur SE sont plus des réalisations, ils ne disent pas vraiment beaucoup de votre contribution mais plus de la quantité de site que vous avez utilisée (dans les badges de bronze) ou à quel point êtes-vous engagé (pour les badges d'argent et d'or) et il y en a quelques-uns qui visent à obtenir une très bonne question ou réponse.

Ce que vous voulez est plus similaire au système de réputation sur le site, il y avait une question similaire dans le passé dans laquelle l'une des réponses recommandait le livre Building Online Reputation Systems , pour être honnête, je n'ai pas lu le livre mais la réponse était assez voté donc je pense que c'est bon.

Ziv
la source
1

J'ai toujours pensé à en faire un dialogue comme une sorte de badge. De même, obtenir le statut de committer, avoir votre premier bogue attribué et ensuite terminé dans le suivi des bogues, l'appartenance à des groupes, la responsabilité d'un sous-système, etc. Ces sortes de choses sont facilement détectables. Launchpad a même un "karma" répertorié pour chaque contributeur.

Karl Bielefeldt
la source
1

Le project semble amusant :)

Je pourrais commencer par un petit ensemble de badges (ou même un) qui peuvent être distribués par une méthode automatisée. Attraper des événements tels que le premier commit d'un utilisateur serait assez trivial.

Disons que vous avez des nutilisateurs (si vous ne connaissez pas le nombre de contributeurs, par exemple, si votre source est hébergée en externe, vous pouvez exécuter toutes les validations pour une liste d'utilisateurs distincts afin de créer votre propre liste de proxy). En utilisant les hooks de votre contrôle source (c'est-à-dire les githooks ), vous pouvez intercepter lorsqu'un utilisateur est nouveau - si le committer n'est pas déjà dans votre liste d'utilisateurs proxy, une entrée est faite dans la liste proxy et ils reçoivent automatiquement leur première récompense.

En utilisant des crochets, vous pouvez automatiser un certain nombre de choses ( -ce que toutes les fonctions de l'committers a commenté? Ce que tous les commentaires dans un format attendu, à savoir Javadoc? Est - ce l' utilisateur n« s 1000e commettre ?, etc etc etc) et récompense les committers avec tout insigne tu veux.

Bien sûr, ce ne sont que des pensées du haut de ma tête et je parle donc un peu de mon arrière, mais je pense que cela semble faisable :)

Demian Brecht
la source
1

Une autre façon d'inclure des badges est d'avoir une option de vote dans la base de données de bugs et des badges basés sur la classe de bugs corrigés. De cette façon, les gens peuvent voter sur quelque chose qu'ils veulent vraiment et celui qui les corrige obtient les badges! Vous pouvez également suivre la liste de diffusion / les forums.

J'adore aussi la réponse des githooks ci-dessus.

Subu Sankara Subramanian
la source
1

UserInfuser est une plate-forme de gamification open source publiée sous GPLv3. Il fonctionne sur Google App Engine et possède des liaisons pour python, php, java et ruby. Avec lui, vous pouvez récompenser des badges et des points. L'API renvoie des widgets pour permettre à vos utilisateurs de voir où ils se classent et quels badges ils détiennent. http://google.code.com/p/userinfuser

Navraj Chohan
la source