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.
fonte
Respostas:
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.
fonte
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.
fonte
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
n
usuá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 :)
fonte
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.
fonte
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
fonte