GSoC/GCI Archive
Google Summer of Code 2012

XMPP Standards Foundation

Web Page:

Mailing List:

The XMPP Standards Foundation (formerly the Jabber Software Foundation) is an independent, nonprofit standards development organization whose primary mission is to define open protocols for presence, instant messaging, and real-time communication and collaboration on top of the IETF's Extensible Messaging and Presence Protocol (XMPP). The XSF also provides information and infrastructure to the worldwide community of Jabber/XMPP developers, service providers, and end users. As a GSoC org, we're happy to mentor projects on most of the mainstream XMPP chat clients, servers, libraries, bots and other parts of the XMPP infrastructure. Our main chat room is on XMPP.


  • An XMPP Media Server Media sharing is a feature of prominence in various of the most used web and smartphone applications, people love to share all kind of media with other people, like at buddycloud’s “channels”, they also like to have an easy and functional way to share private work documents with colleagues, etc. The main goal of this project is build an XMPP Media Server, using standards like Jingle and Publish-Subscribe to give the XMPP and web community the opportunity to build apps that would have such feature over an XMPP infrastructure.
  • Conversation history support for Swift Swift has currently no means for storing conversation logs. This project aims at adding support for conversation history through both local and remote message archiving, as well as providing the necessary user interface for browsing chat conversations.
  • PubSub HTTP Interface for buddycloud The XMPP PubSub architecture is an excellent choice for microblogging-like functionality such as buddycloud's “channels”, but unfortunately it is currently difficult to integrate into the HTTP-centered social web. This project aims to achieve the design and implementation of a bridging server that can expose XMPP PubSub nodes as HTTP resources, using standards such as Atom and PubSubHubbub, to provide interoperability between PubSub and the web.
  • Swift - Screen sharing Create and implements a protocol for screen sharing in Swift, using Jingle for negotiation and reliable transport.
  • Swift Conversation History Swift currently doesn't have any chat logging system which is really useful feature. My task will be to implement all aspects of it while keeping with main project goals.
  • Twitter Backend for Spectrum Spectrum is an XMPP gateway that allows XMPP users to communicate with friends who belong to one of the supported networks such as Jabber, MSN, Yahoo, ICQ etc. Currently, Spectrum provides Twitter support by using microblog-purple plugin. However, this plugin is difficult to use because of the new Spectrum 2 design. The goal of this project is to implement a new standalone Twitter backend for Spectrum 2.
  • XMPP-Jitsi: PseudoTCP The project that I'm appling for is "pseudo TCP" that is TCP like protocol implemented on UDP layer. The main concept is to achive TCP's protocol reliability while keeping all advantages of UDP. Main tasks/features of pseudo tcp protocol: - keep packet delivery order - track packets retransmission - control window size, congestion avoidance