Skip to content

Latest commit

 

History

History
101 lines (65 loc) · 5.25 KB

CONTRIBUTING.md

File metadata and controls

101 lines (65 loc) · 5.25 KB

Contributing to MPSDynamics

First off, thank you for considering contributing to MPSDynamics.jl

The following is a set of guidelines for contributing to MPSDynamics.jl, which is hosted in the ShareLOQS Organization on GitHub. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document.

Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue, assessing changes, and helping you finalize your pull requests.

What is MPSDynamics about?

MPSDynamics.jl is an open source Julia package to perform tensor network simulations for finite temperature, open quantum system dynamics. It is distributed under the GPL 3.0 license.

Code of Conduct

This project and everyone participating in it is governed by a Code of Conduct. By participating, you are expected to uphold this code.

How to Contribute

There are many ways to contribute, from writing tutorials, improving the documentation, submitting bug reports and feature requests or writing code which can be incorporated into the package itself. No contribution is too small and all contributions are welcomed.

For all contributions, please respect the following guidelines:

  • Create issues for any major changes and enhancements that you wish to make. Discuss things transparently and get community feedback.
  • Each pull request should implement one feature or bugfix. If you want to add or fix more than one thing, submit more than one pull request.
  • Do not commit changes to files that are irrelevant to your feature or bugfix (eg: .gitignore).
  • Be willing to accept criticism and work on improving your code.
  • Be aware that the pull request review process is not immediate, and generally scales with the size of the pull request.

For something that is bigger than a one or two line fix:

  1. Create your own fork of the code
  2. Do the changes in your fork
  3. If you like the change and think the project could use it: send a pull request

For code contribution aim at following Julia's style guide.

Before to make a pull request make sure that you agree with the Developer's Certificate of Origin.

How to Make a Pull Request

Learn about pull requests and draft pull requests on GitHub.

How to Report a Bug

When filing an issue use a clear and descriptive title for the issue to identify the problem and make sure to answer these questions:

  1. What did you do?
  2. What did you expect to see?
  3. What did you see instead?

Make sure to provide a minimal reproducible example to demonstrate the bug.

How to Suggest an Enhancement

If you find yourself wishing for a feature that doesn't exist in MPSDynamics.jl, you are probably not alone. There might be others out there with similar needs.

Open an issue which describes:

  1. the feature you would like to see,
  2. why you need it,
  3. how it should work.

Developer Certificate of Origin

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

By making a contribution to this project, I certify that:

 (a) The contribution was created in whole or in part by me and I
     have the right to submit it under the open source license
     indicated in the file; or

 (b) The contribution is based upon previous work that, to the best
     of my knowledge, is covered under an appropriate open source
     license and I have the right under that license to submit that
     work with modifications, whether created in whole or in part
     by me, under the same open source license (unless I am
     permitted to submit under a different license), as indicated
     in the file; or

 (c) The contribution was provided directly to me by some other
     person who certified (a), (b) or (c) and I have not modified
     it.

 (d) I understand and agree that this project and the contribution
     are public and that a record of the contribution (including all
     personal information I submit with it, including my sign-off) is
     maintained indefinitely and may be redistributed consistent with
     this project or the open source license(s) involved.

Contact

You can directly write to the maintainers team at shareloqs_@_framagroupes.org

Credits & Attribution

We took inspiration and followed advice from Open Source Guides, Mozilla Science Lab, nayafia's template, and Atom.