Contributing Code

We love code contributions! There are lots of ways you can help.

Finding an Issue to Work On

New contributors often wonder what issues they should work on first.

Many Codebases, Many Languages

The primary codebase and issue tracker for Dataverse is https://github.com/IQSS/dataverse. It’s mostly backend code written in Java. However, there are many other codebases you can work on in a variety of languages. Here are a few that are especially active:

If nothing above sparks joy, you can find more projects to work on under Client Libraries, Building External Tools, Related Projects, and Apps.

Picking a Good First Issue

Once you’ve decided which codebase suits you, you should try to identify an issue to work on. Some codebases use a label like “good first issue” to suggest issues for newcomers.

For the main codebase, please see Finding GitHub Issues to Work On which includes information on labels like “good first issue”.

Other codebases may use different labels. Check the README or other documentation for that codebase.

If there is a linked pull request that is trying to close the issue, you should probably find another issue.

If you are having trouble finding an issue or have any questions at all, please do not hesitate to reach out. See Getting Help.

Making a Pull Request

For the main codebase, please see How to Make a Pull Request.

For other codebases, consult the README.

Reviewing Code

Reviewing code is a great way to learn about a codebase. For any codebase you can browse open pull requests, of course, but for the primary codebases, you can take a look at the “Ready for Review” and “In Review” columns at https://github.com/orgs/IQSS/projects/34.

You are welcome to review code informally or to leave an actual review. We’re interested in what you think.

Reproducing Bugs

At times, bugs are reported that we haven’t had time to confirm. You can help out by reproducing bugs and commenting on the issue the results you find.

Getting Help

If you have any questions at all, please do not hesitate to reach out. See Getting Help.