Come faccio a lavorare distintivi nel mio progetto open source?

12

Stack Overflow ha una serie impressionante di badge che riconosce il contributo di una persona alla community e consente alle capacità di una persona di crescere più contribuisce.

Quali tecniche posso utilizzare per progetti open-source o di codifica? Ad esempio, il contributo di una persona al codice base guadagna distintivi insieme a un numero sempre crescente di funzionalità sul progetto?

Moderator note

Providing a link to a recommendation is not enough: please provide detailed answers about how to incorporate gamification elements into an open-source project. Any answer that doesn't do this will be deleted.

See Good Subjective, Bad Subjective for more information about the types of questions, and the types of answers, we're looking for on Programmers.

    
posta Dakotah North 19.05.2011 - 15:16
fonte

5 risposte

3

In realtà i badge su SE sono più di risultati, in realtà non dicono molto del tuo contributo, ma più su quanto del sito hai usato (nei badge in bronzo) o quanto sei impegnato (per l'argento e l'oro distintivi) e ce ne sono alcuni che fanno una domanda o una domanda 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 suggeriva il libro Creazione di sistemi di reputazione online , ad essere onesti, non ho letto il libro, ma la risposta è stata svalutata abbastanza, quindi credo che sia buona.

    
risposta data 28.05.2011 - 03:11
fonte
1

Ho sempre pensato di inserirlo nella finestra di dialogo about come una sorta di badge. Allo stesso modo ottenere lo stato di committer, avere il primo bug assegnato a te e poi completato nel bug tracker, l'appartenenza ai gruppi, la responsabilità su un sottosistema, ecc. Questo tipo di cose sono facilmente individuabili. Launchpad ha persino un "karma" elencato per ogni contributore.

    
risposta data 19.05.2011 - 16:06
fonte
1

Sembra un progetto divertente:)

Potrei iniziare con un piccolo set di badge (o anche uno) che può essere distribuito attraverso un metodo automatico. Catturare eventi come il primo commit di un utente sarebbe piuttosto semplice.

Supponiamo che tu abbia n utenti (se non conosci il numero di contributori, diciamo se la tua fonte è ospitata esternamente, potresti eseguire tutte le commit per un elenco di utenti distinti per creare il tuo elenco di proxy) . Utilizzando i ganci del controllo del codice sorgente (ad es. githooks ), puoi catturare quando un utente è nuovo - se il committer non è già nel tuo elenco di utenti proxy, viene effettuata una voce nell'elenco proxy e viene automaticamente assegnato il primo premio.

Usando i ganci, puoi automatizzare qualsiasi numero di cose (tutte le funzioni del committer sono commentate? Sono tutti i commenti in un formato previsto, ad esempio Javadoc? Questo utente n ha il 1000 ° commit ?, etc etc etc) e assegnare al committer il badge che si desidera.

Ovviamente, questi sono solo pensieri fuori dalla mia testa e quindi sto parlando da un po 'fuori dalla mia parte posteriore, ma penso questo sembra fattibile:)

    
risposta data 28.05.2011 - 03:20
fonte
1

Un altro modo di includere i badge è di avere un'opzione di voto nel database dei bug e dei badge in base alla classe di bug risolti. In questo modo, le persone possono votare qualcosa che vogliono veramente e chi le risolve ottiene i badge! Puoi anche tenere traccia della mailing list / forum.

Adoro anche la risposta dei githooks sopra.

    
risposta data 28.05.2011 - 04:35
fonte
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 classificano e quali badge contengono. link

    
risposta data 15.06.2011 - 15:26
fonte

Leggi altre domande sui tag