Contributors

Contributing to the Research Software Directory (as a Service)

๐Ÿ‘๐ŸŽ‰ First off, thanks for taking the time to contribute! ๐ŸŽ‰๐Ÿ‘

The following is a set of guidelines for contributing to the Research Software Directory (as a Service), which is hosted on GitHubopen in new window.
These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document.
We welcome any kind of contribution to our software, from simple comments or questions to a full-fledged pull requestopen in new window.

Code of conduct

Help us keep the Research Software Directory open and inclusive. Please read and follow our Code of Conduct.

How to contribute

A contribution can be one of the following cases:

  1. you have a question, suggestion, comment, etc.;
  2. you have found a bug (including unexpected behavior, errors in documentation, etc.)
  3. you want to request a feature;
  4. you want to make some kind of change to the code base yourself (e.g. to fix a bug, to add a new feature, to update documentation).
  5. you wish to contribute in some other way.

The sections below outline the steps in each case.

You have a question, suggestion, comment, etc.

For general questions (not directly related to the development of the software) you can send an email to rsd@esciencecenter.nl. Alternatively, you can also submit an issue:

  1. use the search functionality hereopen in new window to see if someone already filed the same issue;
  2. if you find a similar issue, you can add your own comments to this issue;
  3. if your issue search did not yield any relevant results, make a new issue;
  4. apply the "question" label; apply other labels when relevant.

You have found a bug

If you find a bug or experience unexpected behavior, you can submit an issue:

  1. use the search functionality hereopen in new window to see if someone already filed the same issue;
  2. if you find a similar issue, you can add your own comments to this issue;
  3. if your issue search did not yield any relevant results, make a new issue, making sure to provide enough information to the rest of the community to understand the cause and context of the problem. Depending on the issue and your technical expertise, you may want to include:
    • the SHA hashcodeopen in new window of the commit that is causing your problem;
    • some identifying information (name and version number) for the version you're using;
    • information about the operating system and browser you are using;
  4. apply the "bug" label; apply other labels when relevant.

You want to request a feature

To request a feature you can submit an issue on GitHub. Please keep in mind that our development resources are limited, so we may not be able to honor your request.

  1. use the search functionality hereopen in new window to see if someone already filed the same issue;
  2. if you find a similar issue, you can add your own comments and suggestions to this issue (having more people request the same feature may increase its priority);
  3. if your issue search did not yield any relevant results, make a new issue, making sure to provide enough information to the rest of the community to understand the feature you are requesting. We may get back to you with further questions.
  4. apply the "feature" label; apply other labels when relevant.

You want to make some kind of change to the code base yourself

Contributions to the code base are very welcome. Keep in mind, however, that this also requires a good interaction with the community to ensure that your contribution is adopted.

  1. (important) announce your plan to the rest of the community before you start working. This announcement should be in the form of a (new) issue;
  2. (important) wait until some kind of consensus is reached about your idea is a good idea;
  3. if needed, fork the repository to your own Github profile and create your own feature branch off of the latest master commit. While working on your feature branch, make sure to stay up to date with the master branch by pulling in changes, possibly from the 'upstream' repository (follow the instructions hereopen in new window and hereopen in new window);
  4. make sure the existing unit tests still work;
  5. make sure that the existing integration tests still work;
  6. add your own unit tests and integration tests (if necessary);
  7. update or expand the documentation;
  8. pushopen in new window your feature branch to (your fork of) the repository on GitHub;
  9. create a pull request, e.g. following the instructions hereopen in new window.

In case you feel like you've made a valuable contribution, but you don't know how to write or run tests for it, or how to generate the documentation: don't let this discourage you from making the pull request; we can help you! Just go ahead and submit the pull request, but keep in mind that you might be asked to append additional commits to your pull request (have a look at some of our old pull requests to see how this works.

You want to contribute in some other way

Contributions to the code are by no means the only way to contribute to the Research Software Directory. If you wish to contribute in some other way, please contact us at rsd@esciencecenter.nl.