Como trabalho emblemas no meu projeto de código aberto?


12

O Stack Overflow possui um conjunto impressionante de distintivos que reconhece a contribuição de uma pessoa para a comunidade e permite que as capacidades de um indivíduo cresçam quanto mais ele contribui.

Quais técnicas posso usar para projetos de código-fonte aberto ou de codificação? Por exemplo, a contribuição de uma pessoa para a base de código recebe distintivos, juntamente com um conjunto cada vez maior de recursos no projeto?

Nota do moderador

Fornecer um link para uma recomendação não é suficiente: forneça respostas detalhadas sobre como incorporar elementos de gamificação em um projeto de código aberto. Qualquer resposta que não fizer isso será excluída.

Consulte Subjetivo Bom, Subjetivo Ruim para obter mais informações sobre os tipos de perguntas e os tipos de respostas que estamos procurando em Programadores.


3
Acho que nunca ouvi falar disso, mas é uma ideia interessante.
Adam Lear

1
@FrustratedWithFormsDesigner A pergunta faz referência a distintivos SO para fornecer contexto, mas não é sobre SO. Não pertence à meta.
Adam Lear

@Frustrated - por quê? Além de usar o SO como exemplo, não tem nada a ver com o Stack Exchange.
ChrisF

1
Não deve estar na meta, porque trata-se de COMO criamos e promovemos código em um projeto. A questão aqui é ... podemos criar código de uma maneira que capacite a comunidade de maneira semelhante ao que o estouro de pilha faz.
Dakotah North

Respostas:


3

Na verdade, as medalhas no SE são mais conquistas, elas não dizem muito sobre sua contribuição, mas mais sobre quanto do site você usou (nas medalhas de bronze) ou quão comprometido você é (para as medalhas de prata e ouro) e existem alguns que têm como objetivo obter uma boa pergunta ou resposta.

O que você deseja é mais parecido com o sistema de reputação do site, havia uma pergunta semelhante no passado em que uma das respostas recomendava o livro Construindo Sistemas de Reputação Online , para ser sincero, não li o livro, mas a resposta foi: votado o suficiente, então eu acredito que é bom.


1

Eu sempre considerei entrar no diálogo sobre como uma espécie de distintivo. Da mesma forma, obtendo o status de committer, tendo seu primeiro bug atribuído a você e depois concluído no rastreador de erros, participações em grupos, responsabilidade por um subsistema, etc. Esses tipos de coisas são facilmente detectáveis. O Launchpad ainda possui um "karma" listado para cada colaborador.


1

Soa como um projeto divertido :)

Eu posso começar com um pequeno conjunto de emblemas (ou mesmo um) que pode ser fornecido através de algum método automatizado. Capturar eventos como o primeiro commit de um usuário seria bastante trivial.

Digamos que você tenha nusuários (se você não souber o número de colaboradores, por exemplo, se sua fonte estiver hospedada externamente, você poderá executar todos os commits para obter uma lista de usuários distintos para criar sua própria lista de proxy). Usando os ganchos do seu controle de origem (ou seja, githooks ), você pode capturar quando um usuário é novo - se o committer já não estiver na sua lista de proxy de usuários, uma entrada é feita na lista de proxy e eles recebem automaticamente o primeiro prêmio.

Usando ganchos, você pode automatizar qualquer número de coisas (são todas as funções do Committer comentou? Será que todos os comentários em um formato esperado, ou seja Javadoc? É este usuário né 1000 comprometer ?, etc etc etc) e adjudicar o committer com qualquer badge você quer.

Claro, esses são apenas pensamentos do alto da minha cabeça e então eu estou meio que falando da minha retaguarda, mas acho que isso parece viável :)


1

Outra maneira de incluir crachás é ter uma opção de votação no banco de dados de bugs e crachás com base na classe de bugs corrigidos. Dessa forma, as pessoas podem votar em algo que realmente querem e quem as corrige recebe as insígnias! Você também pode acompanhar a lista de discussão / fóruns.

Também adoro as respostas dos githooks acima.


1

UserInfuser é uma plataforma de gamificação de código aberto lançada sob a GPLv3. É executado no Google App Engine e possui ligações para python, php, java e ruby. Com ele, você pode recompensar distintivos e pontos. A API retorna widgets para permitir que seus usuários vejam a classificação e os emblemas que possuem. http://google.code.com/p/userinfuser

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.