Open-source at Snikket

We are a not-for-profit organization working on a easy-to-use privacy-first messaging solution. But we are not alone - all this is only possible because we are part of a community with openness and collaboration at its core.

Snikket is built from many open-source components, and we have a strong belief in working together with projects and contributing back to them wherever possible. And of course any Snikket-specific changes that don’t go back to the original project (e.g. because it doesn’t make sense) are also open-source.

Meet the projects

Conversations

The Snikket Android app is built using Conversations, an impressive modern XMPP client. Established in 2014, Conversations is today recognized as the leading app for XMPP on Android.

We work with the developer, Daniel Gultsch, and have sponsored features in Conversations such as the invitation-based registration process that is critical to the easy sign-up in Snikket and the broader XMPP ecosystem.

Siskin

Siskin IM by Tigase is the foundation of the Snikket iOS app. Developing an XMPP client for iOS is a challenge due to the constraints imposed by the platform. The Tigase team have overcome these with a series of protocol extensions that they have have published openly.

We have implemented and enabled support for these extensions in the Snikket server, to enable a seamless experience for iOS users. Our collective goal is to move this functionality to the XMPP standards process after working out some improvements.

The Tigase team have been very supportive throughout the development of Snikket iOS, as well as assisting with the setup of the infrastructure required for reliable push notifications. We sponsored end-to-end encryption for group chats in Siskin as part of our work.

Prosody

Where it all began… the Prosody IM XMPP server is a project started in 2008 to produce an easy lightweight XMPP server. As of 2021 it now powers roughly half of the servers on the public XMPP network.

As founder of both the Snikket and Prosody projects, Matthew shared some of the background thinking that led to Snikket in the initial announcement of the project on the Prosody blog.

Snikket’s server component uses Prosody plus a handful of custom modules for specific features. As much as possible feeds back into the Prosody project, improving XMPP for everyone.

Others

It’s impossible to list all the projects we depend upon. The world today is built on open-source software all the way down. Here are a few other notable projects that we use…

  • coturn for routing audio/video calls
  • certbot for automatic certificates

And open-source tools that we depend on:

  • buildbot for building and testing our software automatically