Karma

Karma is a measure of the activity of Maemo community members. You can see it in practice in the list of members ranked by karma.

Several factors are taken into account when counting a user's karma measurement, including:

  • Having a maemo.org account
  • Posting to core Maemo mailing lists - from email addresses authenticated in your maemo.org profile.
  • Commenting or rating Maemo news items, blog posts or products
  • Joining Garage groups related to products
  • Maintaining products on the Garage
  • Writing blog posts aggregated to Planet Maemo
  • Opening new bugs at https://bugs.maemo.org - from an email address authenticated in your maemo.org profile
  • Commenting on bugs, for example as part of bug triaging
    • If you would like to know more about contributing to this much needed function of the community, visit the Bugs & Features section of maemo.org
  • creating/editing wiki pages
  • Posts on talk.maemo.org forum after you Link talk.maemo.org account with maemo.org profile
  • Thanks on talk.maemo.org forum
  • Testing packages in Extras-testing and promoting/demoting them

Each of these is weighted according to the activity to give the final karma total for a user. The maemo.org deployment of Midgard uses a different set of weights.

[edit] Weights

The karma calculation for each of these is calculated as follows:

  • Comments, commenting a news item or a Maemo app in testing: 2 * sqrt(# comments)
  • Favourites, voting on news items: 0.25 * sqrt(# thumbs)
  • Packagetesting, promoting or demoting packages in Extras Testing: 0.5 * # thumbs
  • Blog post, 1-10 per post depending on votes it has received
  • Products, applications in Maemo Downloads: 7 * (1 + stars per application)
  • Discussion, posts to Maemo mailing lists: 2 * sqrt(# posts)
  • Brainstorm: 5 for idea under vote or in development, 10 for implemented idea, 2 for solution under vote or in development, 10 for implemented solution
  • Groups, 3 * # garage project memberships
  • Bugzilla_reported: 6 * sqrt(# bugs reported)
  • Bugzilla_comments: sqrt(# bug comments)
  • Itt_thanks, thanks for TMO posts: 8 * sqrt(# thanks)
  • Itt_posts, posts on TMO: sqrt(# posts)
  • Mediawiki_edits: 6 * sqrt(# edits)

[edit] Proposed improvements

The following things should be measured, and be worth about the same karma:

  • Being a maintainer of a popular project
  • Being a member of 2 to 3 groups
  • Writing about 5 popular blog entries
  • Closing about 10 bugs
  • Opening about 10 bugs
  • Writing about 25 emails to mailing lists
  • Making about 50 wiki edits
  • Making about 50 comments in Bugzilla
  • Making about 50 comments on maemo.org
  • Favouriting/burying about 100 things
  • Perhaps saying about 200 things on IRC
  • Thanking posts of others on Talk

The Karma measure would be improved by the following simple changes to existing measures:

  • Blog posts: Score individual posts as follows:
score = 1 + (number of favourites for post) - (number of buries for post)
if (score < 1) then score = 1;
if (score > 10) then score = 10;
  • Groups: Increase the groups modifier to 4
  • Discussion: Modify discussion points to be scored as 2 * sqrt(# posts)
  • Comments and favourites: Modify favourites and buries to sqrt (# favourites), and comments to 2 * sqrt(# comments)

New modules will be needed for three or four new karma measurements:

  • Bugzilla: It makes sense to split out three activities: how many bugs someone has created done, how many comments they have made done, and how many bugs they have resolved.
  • IRC: Perhaps use a bot to record daily comments? We need to measure how many IRC comments someone has made.

One other major improvement to karma would be to calculate only the *new* karma which someone has received since the last run, and add it to the running total. This would allow us to devalue old karma over time, making recent contributions worth more than old contributions, while keeping important contributions around from old-timers who have moved on. Devaluation might be something like 2% per month - the easy way to do this it to multiply current karma totals for everyone by 0.98 at the end of each month, and keep adding new karma points as before.

Unfortunately, we don't right now have an easy way to calculate this delta.

[edit] Links