Skip to main content

Zulip

In 2012, Jeff Arnold, Waseem Daher, Jessica McKellar, and Tim Abbott founded Zulip, an open source chat and collaboration programme. With over 40,000 commits from 660 people, it is now one of the free and open source alternatives to Slack.

Zulip's communication takes place in streams (which are like channels in IRC). Each stream can have several topics โ€” Zulip uses a threading architecture in which each message, in addition to the content, has a subject. This, according to Zulip, boosts productivity by "making it simple to catch up after a day of meetings." Zulip also has basic collaboration tools like message reactions, message search history, polls, private messaging, group messaging, and so on. Zulip streams can be private or public, with only those invited to a private stream being able to access messages, whilst a public stream can be joined by anybody inside an organisation. Zulip messages can include plain-text or markdown formatting, as well as photos, links, and file attachments. Zulip also supports native connectors with hundreds of services, allowing it to expand its capabilities.

Official client apps

Zulip officially supports other clients, all of which are open source, in addition to the web interface:

  • Apps for iOS and Android are available.
  • For Windows, Mac OS X, and Linux, a desktop client is available.
  • A Linux, Mac OS X, and Windows terminal client (WSL).

Contributing code

To get started, see the instructions for new contributors. Zulip takes pride in having a clean and well-tested codebase, as well as a large backlog of beginner-friendly bugs.

Community

The Zulip community server is the Zulip community's primary means of communication. If you have a query, are a new contributor, are a new user, or anything else, this is a nice place to start. Before you post, make sure you've read the community guidelines. A code of conduct governs the Zulip community as well.

For a low-traffic (one email per month) way to learn about things like mentorship opportunities through Google Summer of Code, in-person sprints at conferences, and other opportunities to contribute, subscribe to zulip-devel-announce@googlegroups.com or the Twitter account.

Ways to contribute

Read our step-by-step guide to getting started with the Zulip codebase if you want to contribute code or documentation. Here's an example of the kind of work that has to be done:

  • On our Python/Django backend, web frontend, React Native mobile app, or Electron desktop app, we fix bugs and add new features.
  • We're putting the finishing touches on our Python API and bots framework.
  • Putting together an integration.
  • Increasing the quality of our user or developer documentation.
  • Manually testing pull requests and reviewing code.

Contributions that are not code: Some of the most useful ways to contribute don't even necessitate modifying the codebase. Here are a few examples:

  • Issues can be reported in the form of feature requests or bug reports.
  • If you're evaluating or using Zulip, give feedback.
  • Through the GitHub sponsors programme, you can support Zulip.
  • Zulip is being translated.
  • Write for the Zulip blog, star us on GitHub, or upvote us on product comparison sites.

Zulip architectural

Multiple Zulip realms (organisations) can be hosted on a single server, each with its own (sub)domain. While the majority of installations only host one organisation, some, like zulip.com, host thousands. Each company is a separate entity with its own set of users, streams, modifications, and so on. This means that a single person could be a Zulip user in numerous realms. An organization's administrators have a lot of control over who can register for an account, what permissions new users have, and so on. See the security model section and the Zulip Help Center for further information on security considerations and alternatives.