Come lavoro i badge nel mio progetto open source?


12

Stack Overflow ha un fantastico set di badge che riconosce il contributo di una persona alla comunità e consente alle capacità di un individuo di crescere più contribuisce.

Quali tecniche posso usare per progetti open source o di codifica? Ad esempio, il contributo di una persona alla base di codice fa guadagnare loro badge insieme a una serie sempre crescente di funzionalità sul progetto?

Nota del moderatore

Fornire un collegamento a una raccomandazione non è sufficiente: fornire risposte dettagliate su come incorporare elementi di gamification in un progetto open source. Qualsiasi risposta che non lo farà verrà eliminata.

Vedi Buono soggettivo, Cattivo soggettivo per ulteriori informazioni sui tipi di domande e sui tipi di risposte che stiamo cercando sui programmatori.


3
Non credo di averne mai sentito parlare, ma è un'idea interessante.
Adam Lear

1
@FrustratedWithFormsDesigner La domanda fa riferimento ai badge SO per fornire il contesto, ma non riguarda SO. Non appartiene a meta.
Adam Lear

@Frustrato - perché? Oltre a usare SO come esempio non ha nulla a che fare con Stack Exchange.
ChrisF

1
Non dovrebbe essere su meta perché si tratta di COME creiamo il codice e promuoviamo il codice in un progetto. La domanda qui è ... possiamo creare codice in un modo che autorizzi la comunità in un modo simile a quello dello stack overflow.
Dakotah North,

Risposte:


3

In realtà i badge su SE sono più dei successi, in realtà non dicono molto del tuo contributo, ma di più su quanto del sito hai usato (nei badge in bronzo) o quanto sei impegnato (per i badge in argento e oro) e ci sono alcuni che riguardano ottenere una domanda o una risposta davvero buona.

Quello che vuoi è più simile al sistema di reputazione sul sito, c'era una domanda simile in passato in cui una delle risposte raccomandava il libro Costruire sistemi di reputazione online , a dire il vero non ho letto il libro ma la risposta era abbastanza votato, quindi credo che sia buono.


1

Ho sempre considerato di entrare nella finestra di dialogo about come una sorta di badge. Allo stesso modo ottenere lo stato di committer, avere il tuo primo bug assegnato a te e poi completato nel tracker bug, appartenenze a gruppi, responsabilità su un sottosistema, ecc. Questi tipi di cose sono facilmente individuabili. Launchpad ha anche un "karma" elencato per ciascun contributore.


1

Sembra un progetto divertente :)

Potrei iniziare con un piccolo set di badge (o anche uno) che possono essere distribuiti attraverso un metodo automatizzato. La cattura di eventi come il primo commit di un utente sarebbe piuttosto banale.

Supponiamo che tu abbia nutenti (se non conosci il numero di contributori, diciamo che se la tua fonte è ospitata esternamente, potresti eseguire tutti gli commit per un elenco di utenti distinti per costruire il tuo elenco di proxy). Usando gli hook del tuo controllo del codice sorgente (cioè githooks ), potresti catturare quando un utente è nuovo - se il committer non è già nel tuo elenco proxy di utenti, viene inserito un elenco nell'elenco proxy e viene automaticamente assegnato il loro primo premio.

Usando gli hook, puoi automatizzare qualsiasi numero di cose (tutte le funzioni del committer sono commentate? Tutti i commenti sono in un formato previsto, ad esempio Javadoc? Il n1000esimo utente di questo utente è? Ecc. Ecc. ) E assegnare al committer qualsiasi badge tu vuoi.

Certo, questi sono solo pensieri dalla parte superiore della mia testa e quindi sto parlando un po 'fuori dalla mia parte posteriore, ma penso che questo sia fattibile :)


1

Un altro modo per includere badge è avere un'opzione di voto nel database dei bug e badge basati sulla classe di bug corretti. In questo modo, le persone possono votare su ciò che vogliono veramente e chi li aggiusta ottiene i badge! Puoi anche seguire la mailing list / i forum in modo simile.

Adoro anche la risposta dei githook sopra.


1

UserInfuser è una piattaforma di gamification open source rilasciata sotto GPLv3. Funziona su Google App Engine e ha collegamenti per python, php, java e ruby. Con esso puoi premiare badge e punti. L'API restituisce i widget per consentire agli utenti di vedere dove si posizionano e quali badge detengono. http://google.code.com/p/userinfuser

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.