XMPP summits for dummies
It has been over a decade ago since I first visited a XMPP summit and I still remember it as a bit intimidating experience. Here I was siting between all these people writing the XMPP protocol and doing extremely cool stuff with it, having discussions I could hardly follow. A nice and friendly group of people but but also a group that knows each other very well and works together often. Back then, when I was the new kid on the block, I found it hard to find my way. So I decided to write this to help other people to make their first visit to a XMPP summit a bit easier then mine.
XMPP summits are a great place to get involved with XMPP on a protocol level. I kept visiting XMPP summits ever since that first time: it helped me a lot in my work of maintaining my mission critical XMPP deployment, it provided a podium to test new ideas and by raising my voice I could make sure the XMPP protocol stayed suited for my work. And because I earn money with the XMPP protocol, I love to return a favour and help with maintaining and extending it. During the summits I also met the people that were behind the software I was using, I provided them with feedback, discussed issues and even hired some of them. For me the XMPP summits provided a very fertile place to improve both my work and the protocol.
So what is a XMPP summit? Shortly: just a bunch of the people behind the XMPP protocol discussing. The summit has no formal power, all important decisions are made online and according to strict rules. Protocol decisions are made by the XMPP council, administrative decisions by the board of the ‘XMPP Standards Foundation’ (XSF). Usually most members of the council and the board are present during a summit. Despite of the lack of formal power, during a typical XMPP summit there are lots of important discussions on protocol issues. Many of those result in somebody volunteering to write a formal extension or a change request and submitting it to the formal standard process. Summits are the place where consensus is formed and where new ideas are introduced.
Summits are mainly visited by developers who have implemented a part of the specifications: authors of libraries, clients and servers. Roughly you can say: if you need to read the XMPP specifications for your work, then the summit is the right place for you. And when you feel the need to improve the specifications or the need to publish your own XEP, then a summit certainly is the place to be. Discussing your proposal during a summit can vastly improve the quality of it. When you are ‘only’ running a XMPP server or when you are using a XMPP library without diving into the underlying protocol, a XMPP summit may be less suitable for you.
The focus on the protocol doesn’t mean there isn’t room for any other topics: the attendees of a summit love to hear about use cases, interesting new projects or stories from the battlefield. But on a summit the focus is on the protocol. I have presented several times about the projects I am involved in, but I always tried to link it to discussions about the protocol. In recent summits there are ‘show and tell’ lightning talks of 5 minutes where you can show what you are doing. These are often planned just before lunch or dinner so you can talk more about it in an informal setting afterwards.
To understand many of the discussions you need to know that XMPP consists of IETF approved standards (RFC’s) and XMPP specific extensions (XEPs). The first extension, XEP-0001, is about the standard process itself. Because there is often discussion about changing the status of a XEP, it helps if you understand XEP-0001 well. During the discussions XEPs are often referenced by their number. The first few years I didn’t know any of them by heart, so I always made sure I had the list of XEPs open on my laptop. Being able to read the specification during the discussion helps a great deal. After some time I learned everybody at the summit is doing so, just to make sure they got all the details right.
The organisation of a summit is a bit anarchistic and is concentrated around 3 places: the mailto:firstname.lastname@example.org mailinglist, the xmpp:email@example.com chatroom and a wiki page on https://wiki.xmpp.org. The wiki is the most central place for information. Anybody can join a summit, just add your name to the list of participants on the wiki, that is all and attendance is free! If there are any topics you wish to discuss, then add them to the list of topics in the wiki, preferably with some explanation and links when relevant. Most of the attendees like to know on forehand where a discussion is roughly about. This information is used at the beginning of the summit when the agenda is set and the priorities are determined. If you have brought up a topic, it helps if you can explain shortly the issue and what kind of outcome you want to have from the discussion. You may use a (very) short presentation for that.
During the summit discussions there is also some activity in the xmpp:firstname.lastname@example.org chatroom: links are shared there and remarks that don’t need to be shared plenary are made there. It helps to join that chatroom during the summit (and it is advisable to keep it open 24/7 during summits, because it is the place where last moment announcements are made). Every summit also has a possibility for remote participation. I have done so on several occasions, but I would not advice first time attendees to do so: I found it hard to follow the discussions online. You have to know the way of discussing, the attendees and the topics quite well to give good input while being remote.
The wiki is the place where practicalities are announced, once they become known. There will be information about the venue and times. But often also about things like travel and visa. Sometimes there is a hotel deal for the participants of the summit: it is nice to have breakfast or a drink in the hotel bar together. But feel free to make your own arrangements if that suits you better. On some summits (mainly the Brussels ones), there is also an official XSF dinner (usually free for XSF members). Details and the procedure to join the dinner will be announced on the mailing list and on the wiki page of that summit. And of course, if something is unclear or if you need to know something (“will there be a hotel arrangement this year?”), feel free to ask in the summit chatroom or on the summit mailing list. The people there are always willing to help out.
For me summits are not only about discussing interesting topics, but also about being part of a great community. I discovered that the XMPP-hotshots at the summit are really nice and open people. Feel free to ask them anything, feel free to ask if you can join them for dinner, feel free to discuss topics about your project over lunch, they love to do so. On more then one occasion they have really helped me forward. And don’t forget to have a beer after dinner, though their sense of humour is not something I will elaborate upon...