Project: Karma

Idea

There's many people making up a hackerspace and some put in a lot of effort to make the space useful, livable, and nice for everyone. This brings good karma for you and everyone. This project's aim is to generate a karma platform to make these efforts more visible to the general public at the space to make it easier to appreciate each others work!

Team

Wait, what?

Think karma-tracking, think stackoverflow. Admittedly, a hackerspace is not stackoverflow, but their karma system is exceptional and should be a good base to develop something that goes well with a hackerspace. The basic idea is that if you're doing stuff for the good of the whole hackerspace, you increase your karma, the more you do, the better your karma becomes.

Okay, I'm listening.

There's two key elements of the karma system proposed. Sources and sinks.

Karma sources

Cleaning the space earns you karma. So does fixing things that everyone uses, setting up new stuff for everyone, you name it. As long as it's something that's good for the general public at the space, you can improve your karma.

Karma sinks

Karma is lost over time. If you're not doing anything for a long period of time, your karma slowly diminishes.

If you have a lot of karma the community should give you something back, like a club-mate or a candy bar. Nothing big, just a small token of appreciation.

Code!

There's some work in progress: https://github.com/hdznrrd/karma

How it works

  • Note that the main goal is not paying people that clean the toilets with free club-mate. This is just a very tiny bonus. The actual gain in social value should be based on a karma highscore of top-contributers so everyone can actually see what's been done and what's required to make the space the way it is. Or to put it different: make essential behind-the-scenes work more visible.
  • Karma system tracks tasks which offer a certain amount of karma to be earned by completing them.
  • If you fulfill a task and a certain number of your peers acknowledge this, you earn the karma.
  • Over time, your karma balance is slowly decreased to represent a loss of karma for not being active over a prolonged period of time.
    • Idea: Decrease by 1% per day without gaining karma. That way there can never be negative Karma. –h0uz3
  • Karma is clipped at '0', negative karma would be quite demotivational.

What has to be figured out

  • Fairness
    • Encourage people to work towards making the space more awesome
    • Do not discourage people that cannot put the same amount of work in (passive members, not living nearby, not visiting often, …)
  • How to determine the karma value of a certain task?
    • Peer-driven voting
    • Someone has the ability to determine the value in all conscience
    • For repeating tasks an iterative model could be designed to arrive at a good value representation
    • could be related to the time it takes to accomplish the task
      • and the 'popularity' of the task (the more popular, the less it's worth)
  • How quickly should karma be lost over time?
  • What's the karma<>club-mate exchange rate?
    • We don't have the money to hire someone to clean the space but it's still fair to give something back to people to go the extra mile repeatedly
    • The exchange rate could be determined based on total karma in circulation and/or a monthly maximum real-money limit
  • How to represent karma-stats in a nice and simple way
    • What should be tracked?
      • simply keep the history of all the karma transactions
        • i.e. karma-transaction = (date, (karma-source1, negative-amount1), …, (karma-receiver1, positive-amount1) …)
          • this could also enable re-computation of karma, if the karma-value of a karma-reason changes for some reason
            • i.e. if a karma-source gets declared as unworthy or suspicious, or abused too hard, etc.
        • subjects could trade karma
          • this would turn subjects into karma-sources and -sinks
        • you can compute all the statistics later on
          • the system could be deployed faster
          • you don't have to think of all the fancy stuff that'll become available later
        • if you fear overflow then simply add some more TiB
        • keep in mind that faded karma is worth nothing (i.e. it has only statistical value)
          • but draws nice graphs like the total amount of karma the space's has distributed
    • What should be shown?
    • What statistics would be cool?
  • Should you be able to 'buy' karma?
    • Might kill the whole idea
    • Could still be done if it's a donation towards some equipment or similar that's public for everyone
  • Should there be other ways to (forcefully) loose karma?
  • Fractional karma?
    • Do we need 0.01 karma points?
      • I think having 64 Bit floating point precision would be just fine! :) –h0uz3
    • nobody needs fractional karma
      • many programming languages cannot handle floating point anyways
      • it's easier to add fractional karma later on, if really needed, than taking away that precious <1 karma you've worked for so hard
      • you could give 100 karma instead of 0.01
        • use Bignums if you fear overflows
  • multiple karma receivers at the same time
    • example: if doing the toilet-thing gives you N karma, then doing it together with M other subjects would give each subject N/(M + 1) karma
      • this could be used as rationale for fractional karma
        • no, you could simply say the toilet-thing gives 2 karma, then max. 2 people could do the toilet-thing together or some would do it for free
          • karma that cannot be evenly distributed to the receiving subjects could be transferred to the wasted-karma account
            • subjects could also agree on some distribution beforehand (or afterwards) instead or everything could get wasted
  • when to distribute karma?
    • the cleaning rage could be a controlled environment to distribute karma
      • we will possibly need more distribution events
      • everyone can choose to how much karma one wants to earn today
    • each karma-source has a specific amount of karma that refreshes every source-specific interval
      • the karma the space has to offer is the sum of all the space's karma-sources
      • this could naturally prevent that a source distributes karma in too short intervals
        • e.g. doing the toilet-thing twice a day yields karma only once–the second time is for pleasure only
    • Warning, this is possibly an implementation detail use a karma discussion and distribution mailing list
      • to vote, grant, deny, and everything about karma
      • one could use the mailing list to do all the karma distribution
        • this would need some defined/analyzable karma discussion format
          • all other mails get rejected
        • this would also automatically enable decentralized backups of all the transactions
project/karma.txt · Zuletzt geändert: 2012/07/13 10:42 von 91.203.212.124