How to contribute

If you would like to contribute code to this project, fork the repository and send a pull request.


If you have not installed Go, install it according to the installation instruction.

Since the go mod package management tool is used in this project, Go 1.11 or higher version is required.

Install Go on Mac OS and Linux

$ mkdir -p $HOME/
$ cd $HOME/
$ git clone[your-github-id]/pulsar-client-go.git
$ cd pulsar-client-go
$ go mod download

If some libs cannot be downloaded when you enter the go mod download command, download them by referring to the proxy provided by


Before contributing, you need to fork pulsar-client-go to your github repository.

Contribution flow

$ git remote add apache
// sync with remote master
$ git checkout master
$ git fetch apache
$ git rebase apache/master
$ git push origin master
// create PR branch
$ git checkout -b your_branch   
# do your work, and then
$ git add [your change files]
$ git commit -sm "xxx"
$ git push origin your_branch

Code style

The coding style suggested by the Golang community is used in Apache pulsar-client-go. For details, refer to style doc. Follow the style, make your pull request easy to review, maintain and develop.

Create new files

The project uses the open source protocol of Apache License 2.0. If you need to create a new file when developing new features, add the license at the beginning of each file. The location of the header file: header file.

Update dependencies

Apache pulsar-client-go uses Go 1.11 module to manage dependencies. To add or update a dependency, use the go mod edit command to change the dependency.