A quick introduction to ejabberd for GSoC hopefuls

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: processone/ejabberd.

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 ejabberd@conference.jabber.ru and have a chat - we like to know the people we're thinking about working with for the summer. This will make you aware of XMPP, let you select a client and learn how to join a groupchat over XMPP.

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 Talkr.im). Use the debug console to see what are the XMPP packet flowing in the server.

The XMPP specifications on the XSF web site will be helpful as well. Get familiar with the XMPP.org website, the XMPP RFCs and some of the many available extensions.

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 contributed modules for ejabberd.

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.

Syndicate content