From Fedora Project Wiki

Revision as of 13:15, 3 December 2012 by Ralph (talk | contribs)

Fedora Open Badges

The idea is that as you do things as a Fedora Contributor and (eventually) as a Fedora User, we'll automatically issue you badges saying "So and so filed their first bug in Bugzilla" or "So and so closed 10 bugs in one week!".

Interested Persons

If you think you want to know more about what we're trying to do here, you should probably jump on the mailing list and add yourself to the above list.

Some unanswered questions

  • What does the badge submission process look like? We have a brainstorm-y list started below... maybe a trac instance where people can submit tickets with their ideas and then community members with different skillsets can glom on and contribute the different necessary pieces (code.. image.. etc.)
  • Who ultimately decides what badges we do and do not start handing out? threebean?

Badge Ideas

Please add to the section below as you see fit; we're still in brainstorming mode.

+ First                 Submit your first package review
+ Reviewer              Complete your first package review of another individual
+ Push'd                Push your first update using bodhi
+ If you build it...    Complete your first successfull build with koji
+ SCM                   Push to the Fedora Package Repository
+ Proven                Provenpackager group
+ Sponsor               Packager sponsor group
+ Top packager          If you have more than X (20? 30?) packages approved
+ Reviewer              If you did more than X (10?) reviews

+ Bottom-poster         (doesn't top-post on email lists).
+ Not a jerk            (awarded by steering committee for handling situations well)
+ Secretary General     (awarded when zodbot notes you as a chair in an IRC meeting)

+ Bug tracker           if you reported more than X (20? 30?) bugs
+ Alpha tester          if you reported X (1? 5? 10?) bugs against an alpha release
+ Beta tester           if you reported X (1? 5? 10?) bugs against a beta release

Crazy Ideas

  • Add a "Met User X" badge system. Use case: You're at a conference running a booth, everyone who comes up can scan your QR code and be awarded the "I met So and So in person" badge. This should be automatically available to anyone with a FAS account.
  • Add an event badge system so that users can create badges for a particular event. "I went to FUDCon 2013"
  • "I verified and signed $foos gpg key" ?

Really Making Badges

Making a (phase one) badge requires the following:

  • Metadata
    • An image (with certain properties, TBD).
    • A name
    • A description
    • An http link to any old page describing criteria for the badge.
  • Code
    • A plugin for our infrastructure daemon that know when and when not to award badges. (we need some examples of how to write this)

Infrastructure (the plan)

These will get exported to Mozilla's Open Badges Infrastructure (OBI). See their frontpage for a general introduction and the README for a more technical introduction. This is good -- it means we don't lock in users' badges just to Fedora where their friends' friends will never see them.

Phase One badge awarding will be driven by the fedmsg bus. For instance, when a user comments on a bodhi update, bodhi emits a fedmsg message. A daemon sitting in our infrastructure catches that message, checks a database[1] to see if that user has ever comment on an update before. If not, then a badge awarded to them for commenting on their first update. Badge awarding means creating an entry in a second database that User X has Badge Y.

Mozilla's OBI requires that the user authenticate with them over Persona. We do not yet have a way to push badges automatically from our DB to the OBI. A stand-in workaround is to host a webapp that request Persona authn from the Fedora user and then exports our badges to OBI over their json API. This (while not deployed in our infrastructure) actually works.. even if its a clumsy extra step.

Phase Two badge awarding will be driven by user activity on their Fedora machine. When they run yum update for the first time, or open the gnome-tweak-tool for the first time, a daemon on their machine will make submissions to our infrastructure.. awarding them badges. Phase Two is not yet well thought out.


  • Spruce up the Tahrir app.
  • Deploy the Tahrir app.
  • Begin awarding badges via the fedmsg bus.
  • Create a process for contributors to submit and vet new badge ideas and details.
  • Write and make available a system for awarding badges from the desktop