Skip to content

Latest commit

 

History

History
85 lines (65 loc) · 2.99 KB

CONTRIBUTING.md

File metadata and controls

85 lines (65 loc) · 2.99 KB

Contributing to DICOM-rs

The DICOM-rs project is open for external contributions in the form of issues, pull requests, and otherwise constructive discussion about design concerns and future perspectives of the project. Although this project combines two major domains of expertize, namely the DICOM standard and the Rust programming language, it is acceptable for a contributor of DICOM-rs to only possess basic knowledge in either one.

Please do not forget to follow the Code of Conduct in all interactions through the given project communication venues.

Contributing with code

Please check out the list of existing issues in the GitHub issue tracker. Should you be interested in helping but not know where to begin, please look for issues tagged help wanted and good first issue. Announcing your interest in pursuing an issue is recommended. This will prevent people from concurrently working on the same issue, and you may also receive some guidance along the way. No need to be shy!

Pull requests are likely to be subjected to constructive and careful reviewing, and it may take some time before they are accepted and merged. Please do not be discouraged to contribute when not facing the expected outcome, or feeling that your work or proposal goes unheard. The project is maintained by volunteers outside of work hours.

Building the project

As a pure Rust ecosystem, Cargo is the main tool for building all crates in DICOM-rs. Rustup is the recommended way to set up a development environment for working with Rust. DICOM-rs expects the latest stable toolchain.

Currently, all crates are gathered in the same workspace, which means that running the command below at the root of the repository will build all crates:

cargo build

This will also build the CLI and helper tools of the project, such as the dictionary builder and dcmdump. To build only the library crates, you can build the parent package named dicom:

cargo build -p dicom

Please ensure that all tests pass before sending your contribution. Writing tests for your own contributions is greatly appreciated as well.

cargo test

We also recommend formatting your code before submitting, to prevent discrepancies in code style.

cargo fmt

Discussion and roadmapping

If you have more long-termed ideas about what DICOM-rs should include next, please have a look at the roadmap and look into existing issues to provide feedback. You can also talk about the project at the official DICOM-rs Zulip organization.

If you have any further questions or concerns, or would like to be deeper involved in the project, please reach out to the project maintainers.

Project team and governance

DICOM-rs is currently led by Eduardo Pinho (@Enet4, enet4mikeenet@gmail.com).