Skip to content

Commit

Permalink
Merge pull request #15 from shareloqs/doc-writing
Browse files Browse the repository at this point in the history
Add Contributing file
  • Loading branch information
tfmlaX authored Nov 26, 2024
2 parents c613d27 + d2ce8ad commit 0bf6591
Showing 1 changed file with 101 additions and 0 deletions.
101 changes: 101 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
# 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](https://github.com/shareloqs/MPSDynamics/blob/master/LICENSE).

## Code of Conduct

This project and everyone participating in it is governed by a [Code of Conduct](CODE_OF_CONDUCT.md). 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](https://github.com/shareloqs/MPSDynamics/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](https://docs.julialang.org/en/v1/manual/style-guide/).

Before to make a pull request make sure that you agree with the [Developer's Certificate of Origin](#Developer-Certificate-of-Origin).

## How to Make a Pull Request

[Learn about pull requests and draft pull requests on GitHub.](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)

## How to Report a Bug

When filing an [issue](https://github.com/shareloqs/MPSDynamics/issues) 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](https://github.com/shareloqs/MPSDynamics/issues) which describes:
1. the feature you would like to see,
2. why you need it,
3. how it should work.

## Developer Certificate of Origin

```text
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](https://opensource.guide/starting-a-project/#writing-your-contributing-guidelines), [Mozilla Science Lab](https://mozillascience.github.io/working-open-workshop/contributing/), [nayafia's template](https://github.com/nayafia/contributing-template/blob/HEAD/CONTRIBUTING-template.md), and [Atom](https://github.com/atom/atom/blob/master/CONTRIBUTING.md).

0 comments on commit 0bf6591

Please sign in to comment.