Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time

Contributing to Ballerina

Ballerina is an open source programming language and platform for cloud-era application programmers to easily write software. It is licensed under the Apache License and is nurtured by all the contributors of the Ballerina community.

We appreciate your help!

Get started

  • Download Ballerina and go through the learning resources.

  • Read the Ballerina Code of Conduct.

  • Join the Ballerina community.

  • Submitting a bug is just as important as contributing to code. Report an issue in the relevant repo.

  • Start with GitHub issues that can be fixed easily:

    • Browse issues labeled good first issue in the source code repo.
    • Use comments on the issue itself to indicate that you will be working on it and get guidance and help.

Build the source code

For instructions, see Building from source.

Set up the development environment

Set up the Ballerina plugin for VS Code

Submit your contribution

  1. Do your changes in the source code.

  2. Add unit tests accordingly. (The build process will automatically execute all the tests.)

  3. Commit the changes to your fork and push them to the corresponding original repo by sending a Pull Request (PR).

    Tip: Follow these commit message requirements:

    • Separate subject from the body with a blank line

    • Limit the subject line to 50 characters

    • Capitalize the subject line

    • Do not end the subject line with a period

    • Use the imperative mood in the subject line. A properly formed Git commit subject line should always be able to complete the following sentence:

      If applied, this commit will <your subject line here>

    • Wrap the body at 72 characters

    • Use the body to explain what and why vs. how

    For more information, go to How to Write a Git Commit Message.

  4. Accept the Contributor License Agreement (CLA)

    You need to Accept the Ballerina Contributor License Agreement (CLA) when prompted by a GitHub email notification after sending your first Pull Request (PR). Subsequent PRs will not require CLA acceptance.

    If the CLA gets changed for some (unlikely) reason, you will be presented with the new CLA text after sending your first PR after the change.

Propose changes to Ballerina

Start the discussion on the changes you propose in the Ballerina Slack channel. Once there is enough consensus around the proposal, you will likely be asked to file an issue on GitHub and label it as Type/Proposal to continue a detailed discussion there.