Karma server

From Technologia Incognita
Revision as of 17:05, 24 March 2013 by Maxigas (talk | contribs)
Jump to: navigation, search
Picture 50.png
Participants Becha
Skills Programming, community building, open source projects, presenting
Status Active
Niche Software
Purpose World domination


Increase involvement in the "consensus building processes" that are the basis of grass-roots Internet governance model, by making the "barrier to entry" even lower.


  • Karma server is intended for rating the mailing lists posts (and/or other "content"), with the goal to share the ratings with "friends", within one or more communities, and to enable search within posts.*


Mailing lists are a (social media) tool for participatory decision making processes, enabling archived discussions with the goal of reaching a concensus. They are used for a very long time in this way in many different setups, from technical standardisation bodies (IETF, W3C), Internet governace (Regional Internet Registries, ICANN), technical communities (NOGs, e.g. NANOG, UKNOF, DENOG...), to community projects such as hackerspaces.

Enabling "tagging" of mailing-lists posts would introduce an improvement in the direction of more modern "social media", such as web-forums (slashdot, reddit) or other platforms where users can "rate" the content (Amazon, FB discussion groups).

"Tagging" is useful feature for several large communities that have many mailing lists (RIPE, NANOG, IETF); but also fo any smaller community (for example, hackerspace) that communicates via mailing lists. Using the karma server would lower the barrier for participation (since it is easier to rate "=1" or "-1" then to emial "mee too", or even more constructive post..).

Possible Implementation


Possible implementation solution would need to:

  • enable mail clients (and/or mailing list servers) do the ratings;
  • interact with the karma server, to upload and download ratings;
  • also to choose people whose ratings I want to follow;


What needs to be done:

  • write SW for karma server
  • write patches that modify email clients
  • promote the usage of this in several communities (29c3! ripe meeting, nanog meeting / lists, ietf...)
  • write an RFC about it...
  • maintain the "github" / open source repository of the SW

Similar implementations

  • "slashdot" -- only on the web
  • dig -- only on the web
  • Facebook groups :(
  • RIPE NCC has the rating of posts, on the closed web app, only for wg-chairs
  • perlmonks.org (nice system that encourages voting)

People involved

  • Becha
  • Arnd
  • Emile Aben

Hackathon at UnlikeUs #3

  • Sunday, 24.3. at NOON; MediaLAB Amsterdam, Studio HvA, Wibaustraat 2-4



Results of the brainstorm discussion


  • Use STMP instead of IMAP -- because it is easier to "hack" within one afternoon
  • create a separate, custom-purpose mailing list that collects tags, and redistributes them to all subscribed (e.g. list-name-with-tags@mail-list-server.example.com)
list@server ----[message]---> client ---- [message + tag ] ---> +
         |--------------list-and-tags@server --------------------| 

Breaking up the huge project into smaller pieces:

  • write a server-side script that adds "a tag" to one single message (tags = stars, or number,s or + / -)
  • write an add-on for one client: to add a tag: in the extra header
  • write a "button" for one client that "adds a tags, and forwards to another special-purpose list"
  • write a client-side script that is showing tags/results and interprets results
  • write a server-side engine that collects tags


  • squirrelmail!
  • thuderbird?
  • alpine ;-)


  • qube?
  • mailman!

Relevant RFCs

* http://www.faqs.org/rfcs/rfc3501.html  Internet Message Access Protocol (IMAP) 
* http://datatracker.ietf.org/doc/rfc4551/ MAP Extension for Conditional STORE Operation or Quick Flag Changes Resynchronization 
* http://datatracker.ietf.org/doc/rfc5256/ Internet Message Access Protocol - SORT and THREAD Extensions 
* http://datatracker.ietf.org/doc/rfc5257/ Internet Message Access Protocol - ANNOTATE Extension
  Per message annotations (2008 experimental standard), very useful.
  Archiveopteryx: emails are stored in a PostgreSQL database and exposed as an IMAP server http://archiveopteryx.org/
* http://datatracker.ietf.org/doc/rfc5464/ The IMAP METADATA Extension
  Per mailbox metadata (2009 standard), NOT useful.
* http://datatracker.ietf.org/doc/rfc5466/ IMAP4 Extension for Named Searches (Filters)

... all of them!!! File:Preview of “Internet-Drafts and RFCs”.pdf

  • Relevant drafts:
draft-iceman-imap-specialuse-important-01	IMAP LIST Special-Use Attribute: \Important	2013-01-17			
draft-kundrat-imap-submit-01	IMAP SUBMIT Extension	2013-02-25				
draft-kundrat-incthread-01	IMAP Extension for Incremental Threading (INCTHREAD)	2013-02-25				
draft-melnikov-5162bis-01	IMAP4 Extensions for Quick Mailbox Resynchronization	2013-02-13	
draft-ordogh-spam-reporting-using-imap-04	Spam reporting using IMAP: SREP	2013-03-11 
draft-sparks-genarea-imaparch-03	IMAP Access to IETF Email List Archives
  • Which IETF wg is relevant to send this to? (will find out!)

Examples of other implementations:

* Wisestamp: not relevant, only fancy strings at the end of emails
* OpenCRM
* RSS: SelfOSS
* RSS: Fidefieter? (Douwe?) 

* IMAP already has a way of handling tags? prioritisation?

Whiteboard on Friday

Uu3-friday.JPG File:uu3-friday.JPG

Done on Sunday

  • Created GitHub repository: (empty;)



Next steps

  • Present project in the Hackerspaces in Skopje (kika) and Dublin (TOG), April & May
  • Promote this project at RIPE66 meting, in Dublin , May 2013
  • Connect with IETF and NANOG communities (June 2013)