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!".
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?
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
- 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:
- An image (with certain properties, TBD).
- A name
- A description
- An http link to any old page describing criteria for the badge.
- 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 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.