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. The Ballerina library are a set of Ballerina packages that are developed by the Ballerina team and the Ballerina community. The Ballerina Library repo is used to track all the issues related to Ballerina packages maintained by the Ballerina team. Each package has its own repository and the issues related to each package are tracked by the label module/<module-name>
.
We appreciate your help!
- Get started
- Build the source code
- Set up the development environment
- Submit your contribution
- Propose changes to Ballerina
- 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.
- 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.
- Check out the relevant module repository for the issue you are fixing.
- Browse issues labeled
Refer to the README
of the relevant module repository for prerequisites and the build instructions.
- Set up the Ballerina plugin for VS Code
- Set up the relevant JDK version to build the module you are working on.
-
Do your changes in the source code.
-
Add unit tests accordingly.
- The build process will automatically execute all the tests.
- A Pull Request must have at least 80% code coverage.
-
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.
-
-
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.
Start the discussion on the changes you propose in the Ballerina Discord. 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.