Skip to main content

Apache Pulsar Contribution Guide

The Apache Pulsar community welcomes contributions from anyone with a passion for distributed systems! Pulsar has many opportunities for contributions: write new examples/tutorials, add new user-facing libraries, write new Pulsar IO connectors, or participate on the documentation effort.

note

The content of the contribution guide can be found in the left sidebar menu.

Channels

To engage the Pulsar developers community, you can join the following channels.

Mailing lists

Pulsar developers discuss design and implementation issues on the dev@pulsar.apache.org mailing list, which is archived here. Please follow the instructions to join the mailing list before posting. Your email to the mailing list might be placed in a moderation queue if you haven't joined the mailing list before posting.

GitHub issues

Pulsar developers use GitHub issues for issue tracking and project management, as well as a way to communicate among a very diverse and distributed set of contributors. To be able to gather feedback, avoid frustration, and avoid duplicated efforts all Pulsar related work are being tracked there.

If you do not already have a GitHub account, sign up here.

If a quick search doesn't turn up an existing GitHub issue for the work you want to contribute, create it. Please discuss your idea with a committer on GitHub or, alternatively, on the developer mailing list.

If there’s an existing GitHub issue for your intended contribution, please comment about your intended work. Once the work is understood, a committer will assign the issue to you. If an issue is currently assigned, please check with the current assignee before reassigning.

For moderate or large contributions, you should not start coding or writing a design document, a.k.a PIP (see below) unless there is a corresponding GitHub issue assigned to you for that work. Simple changes, like fixing typos, do not require an associated issue.

Pulsar Improvement Proposal (PIP)

On any change which is either significant (e.g., new features), or changes any public-facing component of Pulsar (API, configuration, metric ...), you need to write a design document known as a Pulsar Improvement Proposal (PIP). Before starting to write a PIP, make sure you follow the process here

Online discussions

Pulsar users and developers use the Apache Pulsar Slack channel for online discussions. You can invite yourself by accessing this link. Please join the #dev channel to interact with other Pulsar committers and contributors.

Slack channels are great for quick questions or discussions on specialized topics. Remember that it is strongly encouraged to communicate via the mailing lists, and you should prefer to discuss more complex subjects by email.