What We Do

Zulip is a powerful, open source group chat application. It competes with Slack, IRC, Jabber, and dozens of other group chat tools designed to help teams (whether open source projects or companies) collaborate effectively. Zulip supports fast search, drag-and-drop file uploads, image previews, group private messages, configurable notifications, missed-message emails, markdown message rendering, and much more -- essentially everything you might want.

Unlike Slack, it’s open source and has a welcoming community of over 400 volunteer contributors. Unlike IRC/Jabber/etc., Zulip is a complete, modern application, with a nice web interface, mobile apps for iOS and Android, and desktop apps for Mac/Linux/Windows. And unlike all other popular group chat tools, Zulip is designed to make conversations more efficient through its unique threading system that helps teams manage large numbers of messages. In particular, Zulip makes it easy to have multiple conversations at the same time with the same groups of people, and easy to catch up on hundreds or thousands of messages quickly without missing anything important.

Zulip is known for its extensive developer documentation (100,000 words and growing!), code quality, and tooling, and thus is the ideal project to work on to learn how to build a high-quality web application. Our goal in the GSoC program is for each successful student to grow into becoming the maintainer of a significant component of Zulip by the end of the program.

As an organization, we value high-quality mentorship and high quality product -- you can expect to learn a lot how to make a large software project successful from disciplined code reviews by highly experienced engineers. Your GSoC experience with the Zulip project will be highly interactive (with daily chat checkins with mentors, experts, and other students), with a focus on teaching you the concepts and reasoning behind how Zulip is engineered and how to make it better.


Projects

API docs + enhanced i18n + extras

Most of Zulip's REST API is currently undocumented, which is a pity considering how powerful it is. The first project in my proposal is to solve this by working on our Swagger/OpenAPI docs until we have a 100% documented REST API. The relevant code examples will also be updated so we can provide fully functional scripts that show how to use it.

Technologies:

C++ php Python JavaScript


Public Stream Archives

Public access to communications is an important aspect to multiple communities. These communities may or may not be open source, but still might desire that people on web should be able to access their communications without having to sign up for an account. With this project, we want Zulip to become capable of exhibiting conversations that took place in public streams to anyone on the web.

Technologies:

C++ php Python JavaScript


Zulip Terminal

Make a terminal interface for Zulip using its API.

Technologies:

C++ php Python JavaScript


Suggest A Project

Haven't found the perfect project for you? Propose your own idea for a project, to the organization you want to work with. The organization will review your suggestion and contact you if they find it promising.