mirror of https://github.com/zulip/zulip.git
224 lines
10 KiB
Markdown
224 lines
10 KiB
Markdown
The Zulip core developers have decades of combined experience leading
|
||
and growing open source communities. We use Zulip to fashion the
|
||
day-to-day experience of being a part of our project. No other chat
|
||
product comes close to Zulip in facilitating contributor engagement,
|
||
facilitating inclusion, and making efficient use of everyone’s time.
|
||
|
||
If you haven’t read [why Zulip](/why-zulip), read that first. The
|
||
challenges with the Slack/Discord/IRC model discussed there are even
|
||
more important for open source projects:
|
||
|
||
* Open source contributors are scattered all over the world and in
|
||
every time zone. Traditional open source communication tools like
|
||
email, forums, and issue trackers work well in this context, because
|
||
you can communicate effectively asynchronously. A Slack community
|
||
is a bad experience if you’re rarely online at the same time as most
|
||
other members, and a result, Slack represents a huge regression in
|
||
the global inclusivity of open source projects.
|
||
* Most contributors and potential contributors have other fulltime
|
||
obligations and can only spend a few hours a week on an open source
|
||
project. Because catching up on history in an active Slack
|
||
organization is a huge waste of time, these part-time community
|
||
members cannot efficiently use their time participating in an active
|
||
Slack. So either they don’t participate in the Slack, or they do,
|
||
and their other contributions to the project suffer.
|
||
* Maintainers are busy people and almost uniformly report that they
|
||
wish they had more time to do focus work on their project. Because
|
||
active participation in Slack fundamentally requires constant
|
||
interruptions, maintainers end up making unpleasant choices between
|
||
participating in the Slack community (limiting their ability to do
|
||
focus work) or ignoring the Slack community (leaving it effectively
|
||
without their input and potentially unmoderated).
|
||
* Writing to a busy Slack channel often means interrupting another existing
|
||
conversation. This makes it harder for newer and shyer members to jump into
|
||
the community. Often this disproportionately affects groups already
|
||
underrepresented in open source communities.
|
||
* The lack of organization in Slack message history (and its 10K
|
||
message history limit) mean that users asking for help cannot
|
||
effectively do self-service support. This results in the community
|
||
answering a lot of duplicate questions.
|
||
|
||
The overall effect is that Slack is a poor communication tool for
|
||
projects that want to have an inclusive, global, open source community
|
||
and effectively retain volunteer contributors.
|
||
|
||
------------------------------------------
|
||
|
||
Zulip’s topic-based threading model solves these problems:
|
||
|
||
* Contributors in any time zone can send messages and expect to get a
|
||
reply and have an effective (potentially asynchronous) conversation
|
||
with the rest of the community.
|
||
* Zulip’s topic-based theading helps include part-time contributors in
|
||
two major ways. First, they can easily browse what conversations
|
||
happened while they were away from the community, and prioritize
|
||
which conversations to read now, skip, or read later (e.g. on the
|
||
weekend). Second, Zulip makes it easy for them to have public
|
||
conversations with participation from maintainers and other
|
||
contributors (potentially split over hours, days, or weeks as
|
||
needed), allowing them to fully participate in the work of the
|
||
community.
|
||
* Maintainers can effectively participate in a Zulip community without
|
||
being continuously online. Using Zulip’s [keyboard
|
||
shortcuts](/help/keyboard-shortcuts), it’s extremely efficient to
|
||
inspect every potentially relevant thread and reply wherever one’s
|
||
feedback is useful, and replying hours after a question was asked is
|
||
still a good contributor experience. As a result, maintainers can
|
||
do multi-hour sessions of focus work while still being available to
|
||
their community.
|
||
* Every contributor has their own space to start a conversation (we
|
||
recommend new contributors start a topic with their name as the
|
||
topic). Asking a question never has to be an interruption of another
|
||
conversation.
|
||
|
||
You can see this in action in our own
|
||
[chat.zulip.org](https://chat.zulip.org) community, which sends
|
||
thousands of messages a week. We often get feedback from contributors
|
||
around the world that they love how responsive Zulip’s project leaders
|
||
are in public Zulip conversations. We are able to achieve this
|
||
despite the project leaders collectively spending only a few hours a
|
||
day managing the community and spending most of their time integrating
|
||
improvements into Zulip.
|
||
|
||
Many communities that migrated from Slack, IRC, or Gitter to Zulip
|
||
tell us that Zulip helped them manage and grow an inclusive, healthy
|
||
open source community in a similar way. We hope Zulip can help your
|
||
community succeed too!
|
||
|
||
------------------------------------------
|
||
|
||
Below, we’ve collected a list of [Zulip features](/features) that are
|
||
particularly useful to open source communities.
|
||
|
||
### Free hosting at zulip.com.
|
||
|
||
Zulip sponsors free hosting for hundreds of open source projects,
|
||
supported by (and is identical to) zulip.com’s commercial
|
||
offerings. This offer extends to any community involved in supporting
|
||
free and open source software: development projects, foundations,
|
||
meetups, hackathons, conference committees, and more. If you’re not
|
||
sure whether your organization qualifies, send us an email at
|
||
support@zulip.com.
|
||
|
||
### Moderation suite.
|
||
|
||
Moderation is a big part of making an open community work. Zulip was built
|
||
for open communities from the beginning and comes with
|
||
[moderation tools](/help/moderating-open-organizations) out of the box.
|
||
|
||
### Open invitations.
|
||
|
||
Allow anyone to
|
||
[join without an invitation](/help/allow-anyone-to-join-without-an-invitation).
|
||
You can also link to your Zulip with a [badge](/help/linking-to-zulip)
|
||
in your readme document.
|
||
|
||
### Authenticate with GitHub or GitLab.
|
||
|
||
Allow (or require) users to authenticate with their [GitHub or GitLab
|
||
account](/help/configure-authentication-methods), instead of with a
|
||
username and password.
|
||
[github-auth]: https://github.com/zulip/zulip/blob/7e9926233/zproject/prod_settings_template.py#L112
|
||
|
||
### Import from Slack, Mattermost, or Gitter.
|
||
|
||
Import your existing organization from [Slack](/help/import-from-slack),
|
||
[Mattermost](/help/import-from-mattermost), or
|
||
[Gitter](/help/import-from-gitter).
|
||
|
||
### Collaborate on code and formulas
|
||
|
||
[Markdown code blocks](/help/code-blocks)
|
||
with syntax highlighting make it easy to discuss code, paste an error
|
||
message, or explain a complicated point. Native LaTeX support provides
|
||
the same benefits when talking about math.
|
||
|
||
You can also instantly copy a code block to your clipboard or transfer
|
||
it to an [external code playground](/help/code-blocks#code-playgrounds) to
|
||
interactively run and debug the code.
|
||
|
||
If your community primarily uses a single programming language,
|
||
consider setting a [default code block language](/help/code-blocks#default-code-block-language).
|
||
|
||
### Permalink to conversations.
|
||
|
||
Zulip makes it easy to get a [permanent link to a
|
||
conversation](/help/link-to-a-message-or-conversation), which you can
|
||
use in your issue tracker, forum, or anywhere else. Zulip’s
|
||
topic-based threading helps keep conversations coherent and organized
|
||
so they are useful for posterity.
|
||
|
||
### Link from chat to issues.
|
||
|
||
Efficiently refer to issues or code reviews with notation like `#1234` or
|
||
`T1234`. You can set up any regex as a
|
||
[custom linkification filter](/help/add-a-custom-linkifier) for
|
||
your organization.
|
||
|
||
### Hundreds of integrations.
|
||
|
||
Get events from GitHub, Travis CI, Jira, and
|
||
[hundreds of other tools](/integrations) right in Zulip. Topics give each
|
||
issue its own place for discussion.
|
||
|
||
### Mirror IRC, Matrix, or Slack.
|
||
|
||
Two-way integrations with IRC, Matrix, and/or Slack using
|
||
[Matterbridge](https://github.com/42wim/matterbridge).
|
||
|
||
### Scales to 10,000s of members.
|
||
|
||
Zulip is designed to perform well in common use cases for open source
|
||
projects, with features like [soft
|
||
deactivation](https://zulip.readthedocs.io/en/latest/subsystems/sending-messages.html#soft-deactivation)
|
||
to make message delivery efficient even when sending to a stream with
|
||
10,000s of inactive subscribers.
|
||
|
||
### Full-text search of all public history.
|
||
|
||
Zulip’s [full-text search](/help/search-for-messages) supports
|
||
searching the organization’s entire public history via the
|
||
`streams:public` search operator, allowing Zulip to provide all the
|
||
benefits of a searchable project forum.
|
||
|
||
### Public archive.
|
||
|
||
Allow search engines to index your chat, with a read-only view of your
|
||
public streams. Zulip’s topic-based threading keeps conversations coherent
|
||
and organized, enabling a meaningful archive indexed by search engines.
|
||
|
||
Currently implemented as an [out-of-tree
|
||
tool](https://github.com/zulip/zulip-archive), though a native feature
|
||
built into the Zulip server is coming soon.
|
||
|
||
### Logged-out public access (coming soon).
|
||
|
||
[Coming soon](https://github.com/zulip/zulip/issues/13172): Allow
|
||
users to read and search public stream history in Zulip’s UI without
|
||
first creating an account.
|
||
|
||
### Quality data export.
|
||
|
||
Our high quality [export](/help/export-your-organization) and
|
||
[import](https://zulip.readthedocs.io/en/latest/production/export-and-import.html)
|
||
tools ensure you can always move from [Zulip Cloud](https://zulip.com)
|
||
hosting to your own servers.
|
||
|
||
### Free and open source.
|
||
|
||
Unlike many modern "open source" applications that are actually Open
|
||
Core, Zulip is 100% Free and Open Source software. All code,
|
||
including for the [server](https://github.com/zulip/zulip),
|
||
[desktop](https://github.com/zulip/zulip-desktop),
|
||
[mobile](https://github.com/zulip/zulip-mobile), and beta
|
||
[terminal](https://github.com/zulip/zulip-terminal) apps is available
|
||
under the Apache 2 license.
|
||
|
||
We love helping other open source communities and prioritize feature
|
||
requests from open source communities the same way we prioritize
|
||
feature requests from paying customers.
|
||
|
||
So if there’s something we could improve to make Zulip the obvious
|
||
choice either for you or your community, [contact
|
||
us](/help/contact-support) and we'll do what we can to help!
|