From 200b3d0a5ae4abbfbb5e0944280564f53758b6f2 Mon Sep 17 00:00:00 2001 From: Stuart Mumford Date: Mon, 7 Aug 2023 13:42:27 +0100 Subject: [PATCH] Add a contributing guide --- CONTRIBUTING.md | 58 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..d5560dda --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,58 @@ +# Contribute + +We love contributions! `dkist` is open source, built on open source, and we'd love to have you hang out in our community. + +**Imposter syndrome disclaimer**: We want your help. No, really. + +There may be a little voice inside your head that is telling you that you're not ready to be an open source contributor; that your skills aren't nearly good enough to contribute. +What could you possibly offer a project like this one? + +We assure you - the little voice in your head is wrong. +If you can write code at all, you can contribute code to open source. +Contributing to open source projects is a fantastic way to advance one's coding skills. +Writing perfect code isn't the measure of a good developer (that would disqualify all of us!); it's trying to create something, making mistakes, and learning from those mistakes. +That's how we all improve, and we are happy to help others learn. + +Being an open source contributor doesn't just mean writing code, either. +You can help out by writing documentation, tests, or even giving feedback about the project (and yes - that includes giving feedback about the contribution process). +Some of these contributions may be the most valuable to the project as a whole, because you're coming to the project with fresh eyes, so you can see the errors and assumptions that seasoned contributors have glossed over. + +Note: This disclaimer was originally written by [Adrienne Lowe](https://github.com/adriennefriend) for a [PyCon talk](https://www.youtube.com/watch?v=6Uj746j9Heo), and was adapted by dkist based on its use in the README file for the [MetPy project](https://github.com/Unidata/MetPy). + + +## Provide Feedback + +We could always use more voices and opinions in the discussions about dkist and its development from both users and developers. +You may want to suggest a new feature or tell us about how something is not working in the manner you would expect it to. +There are a number of ways to make your voice heard and we would love to hear from you. + +We strongly recommend that your first port of call would be to our lovely [matrix channel]. +Here you can get in easily get in touch with developers or users for questions or support. + +## Report Bugs + +If you run into unexpected behavior or run into a bug we urge you to please report it. +All bugs are kept track of on our [issue tracker]. +You can add a bug report there or you can report it on [matrix channel]. +Ideally, we would like a short code example so we can reproduce the bug on our own machines. + +## Provide Code + +If you are interested in contributing fixes, code or documentation to dkist please have a read of the SunPy's [newcomers guide] as it's an excellent introduction to contributing. + +dkist uses a distributed version control system called [git] and the code is hosted on [GitHub]. +To get started, create an account [on github] and fork dkist then submit your changes via a pull request. +If you are unfamiliar with this style of development, Astropy provide a sample [workflow] but you can also find lots of [tutorials] online. +You can browse our [issue list] to find something that you can tackle. +Please leave a comment on the issue on [GitHub] and stop by the [matrix channel] to let people know what you are planning to work on. + +[matrix channel]: https://app.element.io/#/room/#dki-solar-telescope:openastronomy.org +[issue tracker]: https://github.com/DKISTDC/dkist/issues +[issue list]: https://github.com/dkist/dkist/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22Good+First+Issue%22 +[newcomers guide]: https://docs.dkist.org/en/latest/dev_guide/contents/newcomers.html +[developer guide]: https://docs.dkist.org/en/latest/dev_guide/ +[git]: https://git-scm.com +[github]: https://github.com/DKISTDC/dkist/ +[on github]: https://help.github.com/en/articles/signing-up-for-a-new-github-account +[workflow]: https://docs.astropy.org/en/stable/development/workflow/development_workflow.html#development-workflow +[tutorials]: https://readwrite.com/2013/09/30/understanding-github-a-journey-for-beginners-part-1#awesm