If you are a student hoping to get funding to work on ejabberd, XMPP, Erlang, Elixir, here is how to get started.
ejabberd and ejabberd-contribs
ejabberd main project is available on Github:
However, please note that ejabberd rely on many other repositories, as described on ejabberd and related repositories.
For learning ejabberd, you may also have a look at contributed code and extensions in our ejabberd-contrib repository.
Navigate the repositories and get familiar at high level with modules: Backends, extensions, routing, etc.
You can refer to ejabberd documentation site to get started.
Talk to us!
We'd really like to talk with you a bit, so please come by the ejabberd main chat room
You can also use ejabberd forum to get in touch and ask questions.
Having a play
Play with XMPP and understand the XMPP packets flow
If you are new to XMPP, you should learn and understand how the protocol works. Install a client (Like Psi or Swift). Create an account on a public server (for example on
The XMPP specifications on the XSF web site will be helpful as well. Get familiar with the
Build ejabberd from source
The next step is to make sure you can compile ejabberd. Read ejabberd README. It contains a section on how to build from source.
Note: Basically, you will need a *nix system, like Linux, FreeBSD, OSX. Building ejabberd on Windows is a pain. Do not take that path.
Once you have compile and set up a local version of ejabberd, try building, installing and configuring
Get running by working on simple tasks
Your friend here is ejabberd documentation site: docs.ejabberd.im
Both ejabberd and ejabberd-contrib issues on Github have tasks labelled as GSoC:Teaser. These are good tasks to get started doing useful work for the ejabberd community:
Do not hesitate to ask questions on the tickets. Fork ejabberd on your Github account and create a branch to work on a task. When you have made progress, submit a pull request to ejabberd or ejabberd-contrib to ask for comment and feedback.
Finally submit a project for Google Summer of Code
If you have made it until this point, you are in good shape to produce great work for ejabberd during the summer. However, do not forget the most important part to get accepted: You need to submit a project. Start from the existing proposed ideas or from scratch, but do not wait for the last minute. We will help you to make a great proposal, but we need time to have several iterations on your GSoC ejabberd proposal.