Skip to content
This repository has been archived by the owner on Jun 12, 2023. It is now read-only.

Contribute

Stavros Papadopoulos edited this page Mar 25, 2017 · 18 revisions

Development Strategy

We strongly encourage source code contributions. Observe that The TileDB consists of two main branches, master and dev. The master branch is always in sync with the latest release, i.e., we never push code to that branch, unless we are publishing a new release. All code contributions must be performed on the dev branch. These contributions may be either minor edits and bug fixes, or new entire feature additions.

It is recommended to perform small contributions at a time, e.g., one feature at a time, one bug fix at a time, etc, and include unit tests of your new features.

Also please always keep in sync with dev. When you pull from our remote branch, please use

git pull --rebase <remote_dev_branch> <local_branch>

so that you commit on top of the up-to-date dev branch (without creating a new branch). This will keep the commit history clean. Moreover, please purge your commit history before issuing a pull request, summarizing all your local commits into a single one with a single log message. You can use the git interactive rebase feature for this.

Note that TileDB is released under the MIT license. For existing files that receive minor edits, we will not change the license or copyright. For new files you add, you can own the copyright. However, we strongly recommend to keep the MIT license, otherwise accepting your pull request may take significantly longer.

How to Contribute Code

Please follow the simple procedure below:

Step 1 - Fork

Fork the TileDB dev branch.

Step 2 - Implement

Implement your feature. We strongly recommend you to follow our coding style, which complies to a great extent with the Google C++ Style Guide.

It is also always a good idea to contact us about the feature you are planning to implement, in case this is already under development by another team. You can contact us at [email protected] with email subject [TileDB-suggestion].

Step 3 - Issue a Pull Request

Issue a pull request through the TileDB GitHub repo on the dev branch.