Join and Contribute

Go Report Card Build Status Coverage Status

How to contribute

SODA is Apache 2.0 licensed and accepts contributions via GitHub pull requests. This document outlines some of the conventions on commit message formatting, contact points for developers and other resources to make getting your contribution into SODA Foundation easier.

Talk to us

You can reach out to the SODA Foundation team anytime on the following channels. Someone will get back to you and you can always raise issues on GitHub that will be accissible at all times.

Before you start, NOTICE that master branch is the relatively stable version provided for customers and users. So all code modifications SHOULD be submitted to development branch.

Getting started

  • Fork the repository on GitHub.
  • Read the and for project information and build instructions.

For those who just get in touch with this project recently, here is a proposed contributing tutorial.


The following is the list of the main repositories that comprise SODA Foundation project.

Contribution Workflow

Code style

The coding style suggested by the Golang community is used in SODA Foundation. See the doc for more details.

Please follow this style to make SODA Foundation Projects easy to review, maintain and develop.

Report issues

A great way to contribute to the project is to send a detailed report when you encounter an issue. We always appreciate a well-written, thorough bug report, and will thank you for it!

When reporting issues, refer to this format:

  • What version of env (SODA Foundation project, os, golang etc) are you using?
  • What happened?
  • What you expected to happen?
  • How to reproduce it?(as minimally and precisely as possible)

Propose PRs

  • Raise your idea as an issue
  • If it is a new feature that needs lots of design details, a design proposal should also be submitted here.
  • After reaching consensus in the issue discussions and design proposal reviews, complete the development on the forked repo and submit a PR. Here are the PRs that are already closed.
  • If a PR is submitted by one of the core members, it has to be merged by a different core member.
  • After PR is sufficiently discussed, it will get merged, abondoned or rejected depending on the outcome of the discussion.

Thank you for your contribution !