Contributing to Dataverse
Thank you for your interest in contributing to Dataverse! We are open to contributions from everyone. You don't need permission to participate. Just jump in. If you have questions, please reach out using one or more of the channels described below.
We aren't just looking for developers. There are many ways to contribute to Dataverse. We welcome contributions of ideas, bug reports, usability research/feedback, documentation, code, and more!
Ideas/Feature Requests
Your idea or feature request might already be captured in the Dataverse issue tracker on GitHub but if not, the best way to bring it to the community's attention is by posting on the dataverse-community Google Group or bringing it up on a Community Call. You're also welcome make some noise in the #dataverse IRC channel (which is logged) or cram your idea into 280 characters and mention @dataverseorg on Twitter. To discuss your idea privately, please email it to support@dataverse.org
There's a chance your idea is already on our roadmap, which is available at http://dataverse.org/goals-roadmap-and-releases
Usability testing
Please email us at support@dataverse.org if you are interested in participating in usability testing.
Bug Reports/Issues
An issue is a bug (a feature is no longer behaving the way it should) or a feature (something new to Dataverse that helps users complete tasks). You can browse the Dataverse issue tracker on GitHub by open or closed issues or by milestones.
Before submitting an issue, please search the existing issues by using the search bar at the top of the page. If there is an existing open issue that matches the issue you want to report, please add a comment to it.
If there is no pre-existing issue or it has been closed, please click on the "New Issue" button, log in, and write in what the issue is (unless it is a security issue which should be reported privately to security@dataverse.org).
If you do not receive a reply to your new issue or comment in a timely manner, please email support@dataverse.org with a link to the issue.
Writing an Issue
For the subject of an issue, please start it by writing the feature or functionality it relates to, i.e. "Create Account:..." or "Dataset Page:...". In the body of the issue, please outline the issue you are reporting with as much detail as possible. In order for the Dataverse development team to best respond to the issue, we need as much information about the issue as you can provide. Include steps to reproduce bugs. Indicate which version you're using, which is shown at the bottom of the page. We love screenshots!
Issue Attachments
You can attach certain files (images, screenshots, logs, etc.) by dragging and dropping, selecting them, or pasting from the clipboard. Files must be one of GitHub's supported attachment formats such as png, gif, jpg, txt, pdf, zip, etc. (Pro tip: A file ending in .log can be renamed to .txt so you can upload it.) If there's no easy way to attach your file, please include a URL that points to the file in question.
Documentation
The source for the documentation at http://guides.dataverse.org/en/latest/ is in the GitHub repo under the "doc" folder. If you find a typo or inaccuracy or something to clarify, please send us a pull request! For more on the tools used to write docs, please see the documentation section of the Developer Guide.
Code/Pull Requests
We love code contributions. Developers are not limited to the main Dataverse code in this git repo. You can help with API client libraries in your favorite language that are mentioned in the API Guide or create a new library. You can help work on configuration management code that's mentioned in the Installation Guide. The Installation Guide also covers a new concept called "external tools" that allows developers to create their own tools that are available from within an installation of Dataverse.
If you are interested in working on the main Dataverse code, great! Before you start coding, please reach out to us either on the dataverse-community Google Group, the dataverse-dev Google Group, IRC (#dataverse on freenode), or via support@dataverse.org to make sure the effort is well coordinated and we avoid merge conflicts. We maintain a list of community contributors and dev efforts the community is working on so please let us know if you'd like to be added or removed from either list.
Please read http://guides.dataverse.org/en/latest/developers/version-control.html to understand how we use the "git flow" model of development and how we will encourage you to create a GitHub issue (if it doesn't exist already) to associate with your pull request. That page also includes tips on making a pull request.
After making your pull request, your goal should be to help it advance through our kanban board at https://waffle.io/IQSS/dataverse . If no one has moved your pull request to the code review column in a timely manner, please reach out. Thanks!