Warning, /tutorial-reconstruction-algorithms/CONTRIBUTING.md is written in an unsupported language. File is not indexed.
0001 ## Contributing
0002
0003 [The Carpentries][cp-site] ([Software Carpentry][swc-site], [Data
0004 Carpentry][dc-site], and [Library Carpentry][lc-site]) are open source
0005 projects, and we welcome contributions of all kinds: new lessons, fixes to
0006 existing material, bug reports, and reviews of proposed changes are all
0007 welcome.
0008
0009 ### Contributor Agreement
0010
0011 By contributing, you agree that we may redistribute your work under [our
0012 license](LICENSE.md). In exchange, we will address your issues and/or assess
0013 your change proposal as promptly as we can, and help you become a member of our
0014 community. Everyone involved in [The Carpentries][cp-site] agrees to abide by
0015 our [code of conduct](CODE_OF_CONDUCT.md).
0016
0017 ### How to Contribute
0018
0019 The easiest way to get started is to file an issue to tell us about a spelling
0020 mistake, some awkward wording, or a factual error. This is a good way to
0021 introduce yourself and to meet some of our community members.
0022
0023 1. If you do not have a [GitHub][github] account, you can [send us comments by
0024 email][contact]. However, we will be able to respond more quickly if you use
0025 one of the other methods described below.
0026
0027 2. If you have a [GitHub][github] account, or are willing to [create
0028 one][github-join], but do not know how to use Git, you can report problems
0029 or suggest improvements by [creating an issue][repo-issues]. This allows us
0030 to assign the item to someone and to respond to it in a threaded discussion.
0031
0032 3. If you are comfortable with Git, and would like to add or change material,
0033 you can submit a pull request (PR). Instructions for doing this are
0034 [included below](#using-github). For inspiration about changes that need to
0035 be made, check out the [list of open issues][issues] across the Carpentries.
0036
0037 Note: if you want to build the website locally, please refer to [The Workbench
0038 documentation][template-doc].
0039
0040 ### Where to Contribute
0041
0042 1. If you wish to change this lesson, add issues and pull requests here.
0043 2. If you wish to change the template used for workshop websites, please refer
0044 to [The Workbench documentation][template-doc].
0045
0046
0047 ### What to Contribute
0048
0049 There are many ways to contribute, from writing new exercises and improving
0050 existing ones to updating or filling in the documentation and submitting [bug
0051 reports][issues] about things that do not work, are not clear, or are missing.
0052 If you are looking for ideas, please see [the list of issues for this
0053 repository][repo-issues], or the issues for [Data Carpentry][dc-issues],
0054 [Library Carpentry][lc-issues], and [Software Carpentry][swc-issues] projects.
0055
0056 Comments on issues and reviews of pull requests are just as welcome: we are
0057 smarter together than we are on our own. **Reviews from novices and newcomers
0058 are particularly valuable**: it's easy for people who have been using these
0059 lessons for a while to forget how impenetrable some of this material can be, so
0060 fresh eyes are always welcome.
0061
0062 ### What *Not* to Contribute
0063
0064 Our lessons already contain more material than we can cover in a typical
0065 workshop, so we are usually *not* looking for more concepts or tools to add to
0066 them. As a rule, if you want to introduce a new idea, you must (a) estimate how
0067 long it will take to teach and (b) explain what you would take out to make room
0068 for it. The first encourages contributors to be honest about requirements; the
0069 second, to think hard about priorities.
0070
0071 We are also not looking for exercises or other material that only run on one
0072 platform. Our workshops typically contain a mixture of Windows, macOS, and
0073 Linux users; in order to be usable, our lessons must run equally well on all
0074 three.
0075
0076 ### Using GitHub
0077
0078 If you choose to contribute via GitHub, you may want to look at [How to
0079 Contribute to an Open Source Project on GitHub][how-contribute]. In brief, we
0080 use [GitHub flow][github-flow] to manage changes:
0081
0082 1. Create a new branch in your desktop copy of this repository for each
0083 significant change.
0084 2. Commit the change in that branch.
0085 3. Push that branch to your fork of this repository on GitHub.
0086 4. Submit a pull request from that branch to the [upstream repository][repo].
0087 5. If you receive feedback, make changes on your desktop and push to your
0088 branch on GitHub: the pull request will update automatically.
0089
0090 NB: The published copy of the lesson is usually in the `main` branch.
0091
0092 Each lesson has a team of maintainers who review issues and pull requests or
0093 encourage others to do so. The maintainers are community volunteers, and have
0094 final say over what gets merged into the lesson.
0095
0096 ### Other Resources
0097
0098 The Carpentries is a global organisation with volunteers and learners all over
0099 the world. We share values of inclusivity and a passion for sharing knowledge,
0100 teaching and learning. There are several ways to connect with The Carpentries
0101 community listed at <https://carpentries.org/connect/> including via social
0102 media, slack, newsletters, and email lists. You can also [reach us by
0103 email][contact].
0104
0105 [repo]: https://example.com/FIXME
0106 [repo-issues]: https://example.com/FIXME/issues
0107 [contact]: mailto:team@carpentries.org
0108 [cp-site]: https://carpentries.org/
0109 [dc-issues]: https://github.com/issues?q=user%3Adatacarpentry
0110 [dc-lessons]: https://datacarpentry.org/lessons/
0111 [dc-site]: https://datacarpentry.org/
0112 [discuss-list]: https://carpentries.topicbox.com/groups/discuss
0113 [github]: https://github.com
0114 [github-flow]: https://guides.github.com/introduction/flow/
0115 [github-join]: https://github.com/join
0116 [how-contribute]: https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github
0117 [issues]: https://carpentries.org/help-wanted-issues/
0118 [lc-issues]: https://github.com/issues?q=user%3ALibraryCarpentry
0119 [swc-issues]: https://github.com/issues?q=user%3Aswcarpentry
0120 [swc-lessons]: https://software-carpentry.org/lessons/
0121 [swc-site]: https://software-carpentry.org/
0122 [lc-site]: https://librarycarpentry.org/
0123 [template-doc]: https://carpentries.github.io/workbench/