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.
To engage the Pulsar developers community, you can join the following channels.
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
Slack channels are great for quick questions or discussions on specialized topics. Remember that it's strongly encouraged to communicate via the mailing lists, and you should prefer to discuss more complex subjects by email.
Developers should be careful to move or duplicate all the official or useful discussions on GitHub or the dev mailing list.