Files
zulip/templates/corporate/development-community.md
2025-08-08 13:06:31 -07:00

319 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
The primary communication forum for the Zulip community is the Zulip
server hosted at [chat.zulip.org](https://chat.zulip.org/):
- **Users** and **administrators** of Zulip organizations stop by to
ask questions, offer feedback, and participate in product design
discussions.
- **Contributors to the project**, including the **core Zulip
development team**, discuss ongoing and future projects, brainstorm
ideas, and generally help each other out.
Everyone is welcome to [sign up](https://chat.zulip.org/) and
participate — we love hearing from our users! Public channels in the
community receive thousands of messages a week. We recommend signing
up using the special invite links for
[users](https://chat.zulip.org/join/t5crtoe62bpcxyisiyglmtvb/),
[self-hosters](https://chat.zulip.org/join/wnhv3jzm6afa4raenedanfno/)
and
[contributors](https://chat.zulip.org/join/npzwak7vpmaknrhxthna3c7p/)
to get a curated list of initial channel subscriptions.
To get help in real time, you will have the best luck finding core
developers during daylight hours in North America (roughly between
15:00 UTC and 1:00 UTC), but the sun never sets on the Zulip
community. Most questions get a reply within minutes to a few hours.
Before posting your first message, please read the [community
norms](#community-norms) section below in its entirety. It explains how to
engage with the Zulip community.
You can also [read conversations](https://chat.zulip.org/) in the community
without creating an account. If you are evaluating using Zulip for your
organization, check out these [tips](https://chat.zulip.org/?show_try_zulip_modal)
for exploring the product in action in the development community.
<br/>
# Community norms
## How we communicate
- Use **informal language**; theres no need for titles like “Sir” or “Madam”.
- Use **[gender-neutral
language](https://en.wikipedia.org/wiki/Gender-neutral_language)**. For
example:
- **Good**: Does anyone need a review on **their** PR?
- **Not good**: Does anyone need a review on **his** PR?
- Aim to **communicate professionally**, using full sentences with correct spelling
and grammar.
- Follow the community **[code of
conduct](https://zulip.readthedocs.io/en/latest/code-of-conduct.html)**.
Read the [guide on how we
communicate](https://zulip.readthedocs.io/en/latest/contributing/how-we-communicate.html)
to learn more.
## How to ask for help
- Formulate a **clear question**, which includes an appropriate amount of context
and a specific request for help. Link to **relevant references** (e.g., GitHub
issues, Zulip's documentation, etc.).
- When relevant, include the **full traceback** in a [code
block](/help/code-blocks) (not a screenshot).
- If working on a code contribution, **try to solve your own problem first**,
including reading through relevant documentation and code. Identify and
describe the precise point on which you feel stuck.
Moderators read every public channel, and make sure that questions are
addressed. To avoid disrupting work in the community:
- **Never ask the same question in multiple places**.
- If you are new to the community, **default to never using @-mentions**.
Unnecessary mentions make it harder for Zulip's maintainers to see and respond
to urgent messages. You can use Zulip's [silent
mentions](https://zulip.com/help/mention-a-user-or-group#silently-mention-a-user)
to refer to a user without notifying them.
## How to give feedback
If you have ideas for how to make Zulip better, wed love to hear from you!
Learn how to [report
bugs](https://zulip.readthedocs.io/en/latest/contributing/reporting-bugs.html),
[suggest features and
improvements](https://zulip.readthedocs.io/en/latest/contributing/suggesting-features.html),
and [share your
experience](https://zulip.readthedocs.io/en/latest/contributing/suggesting-features.html#evaluation-and-onboarding-feedback)
with Zulip.
## Where to post
- **Ask questions in channels**, rather than DMing core contributors. Youll get
answers faster since more people can help, and others will be able to benefit
from the discussion.
- **Start a [new topic](/help/introduction-to-topics)** unless youre replying
to an existing conversation.
- If you like, **introduce yourself** in the [#new members
channel](https://chat.zulip.org/#narrow/channel/95-new-members), using your
name as the topic. Tells us what brings you to the community!
- **Test messages** should only be sent to the [#test
here](https://chat.zulip.org/#narrow/channel/7-test-here) channel, or as DMs
to yourself.
The section below gives a detailed overview of the channels in the Zulip
community — take a look there to learn more.
<br/>
# Where do I send my message?
This section describes popular public channels on chat.zulip.org. Kick
off the discussion by starting a [new topic](/help/introduction-to-topics)
in the appropriate channel! Dont stress too much about picking the
right place if youre not sure; anyone in the community can edit a
topic name, and [moderators](/help/user-roles) can [move a
topic to a different channel](/help/move-content-to-another-channel).
## Channels for everyone
- [#feedback](https://chat.zulip.org/#narrow/channel/137-feedback) is
for posting feedback on Zulip, including feature requests, suggestions for
improvements to the UI or existing features, or anything else! We also
appreciate hearing about how Zulip is used in your organization.
- [#integrations](https://chat.zulip.org/#narrow/channel/127-integrations)
is for bug reports or questions about integrations.
- [#issues](https://chat.zulip.org/#narrow/channel/9-issues) is for reporting
bugs (or possible bugs) in the Zulip web app or server implementation.
- [#mobile](https://chat.zulip.org/#narrow/channel/48-mobile),
[#desktop](https://chat.zulip.org/#narrow/channel/16-desktop), and
[#zulip-terminal](https://chat.zulip.org/#narrow/channel/206-zulip-terminal)
are the best places to post bug reports or questions about Zulip's apps. Note
that [#desktop](https://chat.zulip.org/#narrow/channel/16-desktop) should only
be used for issues specific to the desktop app, which shares most of its UI
and implementation with the web app.
- Everyone is welcome to introduce themselves in [#new
members](https://chat.zulip.org/#narrow/channel/95-new-members). Posting
here with your name as the topic is a great option if youre
uncertain where to start a conversation.
- [#test here](https://chat.zulip.org/#narrow/channel/7-test-here) is
for sending test messages without inconveniencing other users :). We
recommend muting this channel when not using it.
## Channels for Zulip users and administrators
- [#user questions](https://chat.zulip.org/#narrow/channel/138-user-questions) is
for questions about how to configure your Zulip organization, and accomplish
your goals with Zulip. You can also refer to the [Zulip help center](/help)
for detailed documentation.
- [#production help](https://chat.zulip.org/#narrow/channel/31-production-help) is
for all questions related to [self-hosting
Zulip](/self-hosting/).
- [#zulip
cloud](https://chat.zulip.org/#narrow/channel/387-zulip-cloud) is for
all conversations about the [Zulip Cloud](https://zulip.com/plans/)
service.
## Channels for code contributors
### All codebases
- [#git help](https://chat.zulip.org/#narrow/channel/44-git-help) is
for help with using Git.
- [#code review](https://chat.zulip.org/#narrow/channel/91-code-review)
is for getting feedback on your work. We encourage all developers to
comment on work posted here, even if youre new to the Zulip
project; reviewing other PRs is a great way to develop experience,
and even just manually testing a proposed new feature and posting
feedback is super helpful. Note that GitHub is our primary system
for managing code reviews.
- [#api design](https://chat.zulip.org/#narrow/channel/378-api-design)
is a low-traffic channel for discussing and coordinating changes to
the [Zulip API](https://zulip.com/api/rest), with all stakeholders
present.
- [#documentation](https://chat.zulip.org/#narrow/channel/19-documentation)
is the right place for general conversations about work on
documentation (including design discussions, questions, updates on a
project, or anything else).
### Server and web app
- [#development help](https://chat.zulip.org/#narrow/channel/49-development-help)
is for asking for help with any Zulip server/web app development work.
- [#provision help](https://chat.zulip.org/#narrow/channel/21-provision-help)
is for help specifically on setting up the server/web app development
environment. [#tools](https://chat.zulip.org/#narrow/channel/18-tools)
is other conversations about the server/web app developer tooling.
- [#backend](https://chat.zulip.org/#narrow/channel/3-backend) and
[#frontend](https://chat.zulip.org/#narrow/channel/6-frontend) are
the right place for general conversations about work on the Zulip
server and web app respectively (including design discussions,
questions, updates on a project, or anything else).
- [#design](https://chat.zulip.org/#narrow/channel/101-design) is the
place to discuss the detailed UI and UX design of a change you're
working on, meaning how it looks and how it behaves as seen by the
user. (Technical discussions, including how the code itself is
designed, go in one of the other channels above.)
- [#automated
testing](https://chat.zulip.org/#narrow/channel/43-automated-testing)
is primarily used for automated notifications about [CI
failures](https://zulip.readthedocs.io/en/latest/testing/continuous-integration.html),
but is also a good place to discuss projects to improve Zulips
automated testing infrastructure.
### Mobile app
- [#mobile-dev-help](https://chat.zulip.org/#narrow/channel/516-mobile-dev-help)
is for asking for help with any development work on the Zulip mobile app.
- [#mobile-team](https://chat.zulip.org/#narrow/channel/243-mobile-team)
is the right place for general conversations about work on the
mobile app (including technical design discussions, questions,
updates on a project, or anything else).
- [#mobile-design](https://chat.zulip.org/#narrow/channel/530-mobile-design)
is the place to discuss the detailed UI and UX design of a change
you're working on, meaning how it looks and how it behaves as seen
by the user. (Technical discussions, including how the code itself
is designed, go in one of the other channels above.)
- [#mobile](https://chat.zulip.org/#narrow/channel/48-mobile) is
primarily for user feedback and issue reports, not work on the code.
### Desktop and terminal apps
- [#desktop](https://chat.zulip.org/#narrow/channel/16-desktop) and
[#zulip-terminal](https://chat.zulip.org/#narrow/channel/206-zulip-terminal)
are for discussing work on the Zulip desktop and terminal apps
respectively.
## Channels for translators
- [#translation](https://chat.zulip.org/#narrow/channel/58-translation)
is for discussing [Zulips
translations](https://zulip.readthedocs.io/en/latest/translating/translating.html).
- Some languages have channels named like
[#translation/fr](https://chat.zulip.org/#narrow/channel/371-translation.2Ffr)
and
[#translation/zh_tw](https://chat.zulip.org/#narrow/channel/377-translation.2Fzh_tw)
to coordinate translation work for that language.
## Channels for anyone spending time in the community
- [#announce](https://chat.zulip.org/#narrow/channel/1-announce) is our
low-traffic channel for project announcements (releases, etc.).
- [#checkins](https://chat.zulip.org/#narrow/channel/65-checkins) is
for progress updates on what youre working on and its status;
usually folks post with their name as the topic. Everyone is welcome
to participate!
- [#design](https://chat.zulip.org/#narrow/channel/101-design) and
[#mobile-design](https://chat.zulip.org/#narrow/channel/530-mobile-design)
are where we discuss UI and feature design and collect feedback on
potential design changes. We love feedback, so take a look at the
active discussions and dont hesitate to speak up!
<br><p>These "design" channels are primarily intended for discussing
changes the community is actively working on. For starting a topic
to propose a new design change, the best place is
[#feedback](https://chat.zulip.org/#narrow/channel/137-feedback) or
[#mobile](https://chat.zulip.org/#narrow/channel/48-mobile).</p>
- [#discussions](https://chat.zulip.org/#narrow/channel/277-discussions)
is where we do fun community conversations like “Ask Me Anything”
Q&A sessions with project members.
- [#documentation](https://chat.zulip.org/#narrow/channel/19-documentation)
and
[#api documentation](https://chat.zulip.org/#narrow/channel/412-api-documentation)
are where we discuss improving Zulips user, sysadmin, API, and
developer documentation.
- [#general](https://chat.zulip.org/#narrow/channel/2-general) is for
all topics of general interest.
- [#learning](https://chat.zulip.org/#narrow/channel/92-learning) is
for posting great learning resources one comes across.
- [#off topic](https://chat.zulip.org/#narrow/channel/97-off-topic) is
is for occasional conversations not related to Zulip, usually things
of general interest to open-source communities.
You can always find the description for the channel youre reading at
the top of the Zulip app.
<br/>
# Anything else to keep in mind?
## Dont try to read *everything*
Keeping up with **everything** happening in the Zulip project is both
difficult and rarely a useful goal. To make the best use of your time,
we highly recommend that you unsubscribe from channels that you arent
interested in, mute channels that are only of occasional interest, and
make use of [Zulips skimming features](/help/reading-strategies),
like Recent conversations, to spend your time on topics that interest
you.
## Searching for past conversations
To look for previous threads about something, we recommend using the
following [search filters](/help/search-for-messages#search-filters):
`streams:public <your keyword(s)>`.
This will search the full history of all public channels for `<your
keyword(s)>`, including messages sent before you joined and messages
on public channels youre not subscribed to.
## Linking to GitHub issues and pull requests
We've set up [custom linkifiers](/help/add-a-custom-linkifier)
so that it's easy to link to issues and pull requests in Zulip
project repositories when composing a message or starting a
[new topic](/help/introduction-to-topics). Here are examples for linking
to issue 1234 in the main Zulip project repositories:
- [Server and web app][server-web-repository]: `#1234`
- [Flutter mobile client][flutter-repository]: `#F1234`
- [Terminal client][terminal-repository]: `#T1234`
- [Desktop client][desktop-repository]: `#D1234`
## New features are tested here
We [continuously test out new features or ideas][release-lifecycle] on
chat.zulip.org before rolling them out to Zulip Cloud or including
them in a Zulip Server release (or deciding not to!). Please report in
[#issues](https://chat.zulip.org/#narrow/channel/9-issues) anything you
notice that seems broken! Its likely youve found a bug in an upcoming
feature.
[release-lifecycle]: https://zulip.readthedocs.io/en/latest/overview/release-lifecycle.html
[server-web-repository]: https://github.com/zulip/zulip
[flutter-repository]: https://github.com/zulip/zulip-flutter
[terminal-repository]: https://github.com/zulip/zulip-terminal
[desktop-repository]: https://github.com/zulip/zulip-desktop