Today, we’re delighted to announce the general availability of Zulip’s public access option. Open-source projects and other open communities can now offer one-click access (no login required!) to part or all of their Zulip chat.
For those who are not familiar with it, Zulip is a modern team collaboration tool with unique topic-based threading that is ideal for both live and asynchronous conversations. It is also a vibrant open-source project, developed by a values-focused organization.
Zulip’s 100% open-source software is available as a managed cloud service or a self-hosted solution. As part of our commitment to supporting the open-source community, we sponsor free Zulip Cloud Standard hosting for open-source projects and other worthy causes. Fortune 500 companies, leading open-source projects, and thousands of other organizations use Zulip every day.
In the second half of this post, we dive into the details of how Zulip’s public access option works, and the workflows it enables for open communities. But before we get there, it’s important to talk holistically about the challenges of open-source collaboration.
Building an open-source community is made easier if you have communication tools that support transparency in decision making, asynchronous collaboration, and using contributors’ time efficiently. Because Zulip is uniquely designed to enable distributed (and part-time) work, it has long been an excellent fit for open communities. The public access option we introduce today takes it to the next level.
Collaboration tools for open source — too many, and not enough
Major open-source projects are the ultimate case study in distributed work — hundreds of people with diverse backgrounds from all over the world coming together to build highly complex software systems.
Developing an effective collaboration workflow for any active open-source project is incredibly challenging. Community leaders need to make decisions together, support users, and engage with community members, while still finding time to do focused work, or step away from the computer. Casual contributors need ways to connect and unblock their work with the limited time they have, on their own schedule — and to be able to find the important conversations amid a large backlog of messages that may accrue between their visits. Users of the product need reliable support, and a way to have their feedback be heard.
Most modern team chat applications are a poor fit for open source development
While team chat products like Discord and Slack are popular among open-source communities, their design fundamentally assumes that people are, for the most part, chatting in real time. This is problematic, because in an open-source community, where participants drop in at different times of the day, open and inclusive decision-making cannot happen within a synchronous chat tool.
Moreover, because these products have no good way to get back to an earlier conversation, moderating and supporting the community requires leaders being constantly on-call — an overwhelming experience. Frustratingly, it’s impossible to avoid inconclusive conversations that get buried by unrelated newer messages. Valuable information in prior discussions gets lost.
“Discord is an information black hole.”
— Scala's Gitter to Discord migration mistake
Obtaining access to a fully-featured team chat product can also be expensive. Slack’s paid plan (required to preserve access to message history) is dramatically unaffordable for an open organization with minimal budget and hundreds of volunteers. Mattermost, an open-core Slack clone, charges open-source communities for self-hosting the product, and offers no discount at all on the hosted offering.
Finally, using a proprietary walled garden product like Discord or Slack clashes with the open-source ethos, which has been a topic of consternation in blogs and on social media for years.
Making do with legacy open-source chat tools?
Some open-source projects use Gitter, which has long been notable for its native public access option. Sadly, Gitter has been on life support since the startup behind it ran out of VC funding in 2017; only five pull requests have been merged in the last three months.
Other communities still rely on IRC, which had been the default team chat option for open-source projects for decades. Many of us have fond memories of that era, but the reality is that many potential open-source contributors find it hard to get past IRC’s lack of modern conveniences. This often leads to the community being split between the “official” IRC channel(s), an “unofficial” Discord, and more.
Zulip’s threading model is the perfect fit for open-source communities
Zulip is designed to help thoughtful people work on difficult problems together, whether they are building a complex software system, doing cutting-edge research, or making the world better in other ways.
Zulip’s core design feature is its unique threading model, which allows conversations to fluidly shift between asynchronous and synchronous interaction.
Zulip takes a fundamentally different approach from the threading features in other chat apps. In Zulip, every message sent to a stream (channel in other apps) is labeled with a lightweight topic. Topics make it easy to find discussions of interest, catch up on conversations one at a time, and reply or follow up in context even if the previous messages were sent hours or days ago.
Moderators of Zulip communities have convenient ways to keep conversations organized. Zulip’s topics can be referenced, renamed, merged, split into multiple topics, or even moved to another stream. For example, a moderator might move a digression to its own topic, or relocate messages posted to the wrong place.
“Literally the day we moved [from Discord] to Zulip, all the anxiety and stress of keeping up with the discourse was gone… Moving to Zulip transformed our dialogue, making it organized, inclusive, and thoughtful in a way it never was before.”
— Asciidoctor project lead Dan Allen [customer story]
The result is the best of both worlds. On one hand, Zulip is a modern team chat application, with emoji reactions, fine-grained notification settings, and all the other features you might expect, plus some innovations like global times and silent mentions. It works great for getting quick feedback, talking through a complex problem, or helping new community members get started.
On the other hand, Zulip is organized so that each conversation has its own space. Community members can look over the discussions that happened while they were away, and jump into any topic that’s relevant for them. More shy participants can post a question without feeling like they are interrupting. Questions might be answered immediately by someone who happens to be online, or they might get a response a few hours later, but they won’t get lost. Decisions can be made transparently and inclusively, with the discussion spanning time zones as key stakeholders join the conversation when it’s convenient for them.
Part of Zulip’s mission is to help grow the open-source community by providing a better way for distributed teams to work. To support worthy organizations, we sponsor free Zulip Cloud Standard hosting for hundreds of open-source projects, academic research groups, and other communities.
Introducing the public access option
With today’s launch of a public access option, Zulip has become a communication tool that is truly in accordance with the open source community’s values of openness, transparency and inclusion.
One-click viewing access to conversations in the Zulip app
Zulip has always offered both private (invitation-only) streams, and public streams, which any member of the organization can join. The public access feature we launch today additionally lets organizations configure any of their public streams to be web-public, i.e. visible to anyone on the Internet without creating an account. Visitors can view web-public streams, and sign up or log in if they’d like to participate. As before, other streams can be public just for logged in users, or private (with or without shared history).
Visitors can use the same ways of finding and consuming information in Zulip as logged in users, including:
- Reading conversations one at a time, or skimming recent discussions via All messages.
- Following the exact same permanent links as logged in users to see to a message in context, a discussion thread, or an entire stream.
- Browsing recent conversations in all the web-public streams to find topics of interest.
- Finding information in prior discussions with Zulip’s powerful full-text search.
“Zulip’s public access feature makes past user questions and feedback accessible to the whole web, which is perfect for linking to them from other platforms such as JIRA. It’s much more convenient than having those threads locked behind a login page.”
— Yoann Rodière, senior engineer at Hibernate (public access beta community)
Connecting Zulip conversations with an issue tracker
Zulip’s threaded chat works great for collaboratively debugging problems, designing features, and brainstorming ideas for the future. Once a decision is reached, it can be documented in an issue tracker, with a link to the Zulip thread to provide additional context. A developer taking up the issue can refer back to the motivation and alternatives that were discussed, and continue the conversation in the same thread when further questions arise.
The Rust language Zulip community is among the organizations that have been beta-testing the public archive feature. “We've long tried to make our spaces open to just observing,” Rust infrastructure team member and release team lead Mark Rousskov explains. This was previously possible but awkward with Zulip’s external archive tool, but “linking directly into a conversation on Zulip from a GitHub comment is now essentially seamless, which improves the lives of our users and contributors,” Mark says.
Open access to question answers
Zulip offers a convenient platform for open-source communities to respond to questions from users and contributors. “Asking questions in a real-time #helpdesk chat on Zulip has many benefits. It’s quick and easy — there’s less pressure than posting a question on Discourse or GitHub,” explains long-time Julia community member Sascha Mann. “It also comes with low overhead for the people responding, as many of them already have Zulip open anyway.”
The public access option helps unlock the accumulated archive of questions and answers. “In the past, all the amazing knowledge in these channels would only be available to people who already knew about the community on Zulip, and were motivated enough to create an account. The public access feature opens up the information,” Sascha says. “It also lowers the barrier for jumping from being a reader to being an active participant, which will hopefully help our community grow.”
“The public access feature combines many of the advantages of real-time and more formal settings for answering questions.”
— Julia community member Sascha Mann
Research communities, standards organizations, and others
Beyond open source, other organizations operating in the open also benefit from Zulip’s public access option.
Researchers can now permanently link to a Zulip conversation or a message in context from emails, notes, talk slides, or anywhere else, with no sign-up required to view the content. For example, the Lean theorem prover community [case study] has opened up half a dozen popular streams to the world.
The community that develops the HL7 FHIR standard for health data interoperability sends over ten thousand Zulip messages every month. “The public access option expands access to knowledge that has accumulated in the FHIR community over 6+ years of Zulip usage,” explains Dr. Josh Mandel, Chief Architect for Microsoft Healthcare and a leader in the FHIR community.
“Public access lowers the friction for linking to Zulip discussions from external resources such as HL7's issue tracker or Stack Overflow answers, and promotes knowledge sharing across the health standards community.”
— Josh Mandel, MD, Chief Architect for Microsoft Healthcare
I am incredibly grateful to the amazing global Zulip community for helping make Zulip’s public access option a reality!
Zulip users’ ideas have helped shape the public access feature from conception to finishing touches. If you are a Zulip user, we would really appreciate five minutes of your time to fill out this survey to let us know how you use Zulip, and what changes you would like to see! Your feedback helps us prioritize features and bug fixes, and is a major input as we define the vision for our product.
If you’d like to help build the Zulip product, we’re always welcoming new contributors in the Zulip development community! We’re also hiring for full-time and part-time roles in engineering, marketing, and technical writing. See our jobs page for details and how to get in touch.
—Tim Abbott, Zulip founder and lead developer