Warning, /tutorial-simulations-using-ddsim-and-geant4/CONTRIBUTING.md is written in an unsupported language. File is not indexed.
0001 # Contributing
0002
0003 [The Carpentries][c-site] ([Software Carpentry][swc-site], [Data Carpentry][dc-site], and [Library Carpentry][lc-site]) are open source projects,
0004 and we welcome contributions of all kinds:
0005 new lessons,
0006 fixes to existing material,
0007 bug reports,
0008 and reviews of proposed changes are all welcome.
0009
0010 ## Contributor Agreement
0011
0012 By contributing,
0013 you agree that we may redistribute your work under [our license](LICENSE.md).
0014 In exchange,
0015 we will address your issues and/or assess your change proposal as promptly as we can,
0016 and help you become a member of our community.
0017 Everyone involved in [The Carpentries][c-site]
0018 agrees to abide by our [code of conduct](CODE_OF_CONDUCT.md).
0019
0020 ## How to Contribute
0021
0022 The easiest way to get started is to file an issue
0023 to tell us about a spelling mistake,
0024 some awkward wording,
0025 or a factual error.
0026 This is a good way to introduce yourself
0027 and to meet some of our community members.
0028
0029 1. If you do not have a [GitHub][github] account,
0030 you can [send us comments by email][email].
0031 However,
0032 we will be able to respond more quickly if you use one of the other methods described below.
0033
0034 2. If you have a [GitHub][github] account,
0035 or are willing to [create one][github-join],
0036 but do not know how to use Git,
0037 you can report problems or suggest improvements by [creating an issue][issues].
0038 This allows us to assign the item to someone
0039 and to respond to it in a threaded discussion.
0040
0041 3. If you are comfortable with Git,
0042 and would like to add or change material,
0043 you can submit a pull request (PR).
0044 Instructions for doing this are [included below](#using-github).
0045
0046 ## Where to Contribute
0047
0048 1. If you wish to change this lesson,
0049 please work in <https://github.com/swcarpentry/FIXME>,
0050 which can be viewed at <https://swcarpentry.github.io/FIXME>.
0051
0052 2. If you wish to change the example lesson,
0053 please work in <https://github.com/carpentries/lesson-example>,
0054 which documents the format of our lessons
0055 and can be viewed at <https://carpentries.github.io/lesson-example>.
0056
0057 3. If you wish to change the template used for workshop websites,
0058 please work in <https://github.com/carpentries/workshop-template>.
0059 The home page of that repository explains how to set up workshop websites,
0060 while the extra pages in <https://carpentries.github.io/workshop-template>
0061 provide more background on our design choices.
0062
0063 4. If you wish to change CSS style files, tools,
0064 or HTML boilerplate for lessons or workshops stored in `_includes` or `_layouts`,
0065 please work in <https://github.com/carpentries/styles>.
0066
0067 ## What to Contribute
0068
0069 There are many ways to contribute,
0070 from writing new exercises and improving existing ones
0071 to updating or filling in the documentation
0072 and submitting [bug reports][issues]
0073 about things that do not work, are not clear, or are missing.
0074 If you are looking for ideas, please see the 'Issues' tab for
0075 a list of issues associated with this repository,
0076 or you may also look at the issues for [Data Carpentry][dc-issues],
0077 [Software Carpentry][swc-issues], and [Library Carpentry][lc-issues] projects.
0078
0079 Comments on issues and reviews of pull requests are just as welcome:
0080 we are smarter together than we are on our own.
0081 Reviews from novices and newcomers are particularly valuable:
0082 it is easy for people who have been using these lessons for a while
0083 to forget how impenetrable some of this material can be,
0084 so fresh eyes are always welcome.
0085
0086 ## What *Not* to Contribute
0087
0088 Our lessons already contain more material than we can cover in a typical workshop,
0089 so we are usually *not* looking for more concepts or tools to add to them.
0090 As a rule,
0091 if you want to introduce a new idea,
0092 you must (a) estimate how long it will take to teach
0093 and (b) explain what you would take out to make room for it.
0094 The first encourages contributors to be honest about requirements;
0095 the second, to think hard about priorities.
0096
0097 We are also not looking for exercises or other material that will only run on one platform.
0098 Our workshops typically contain a mixture of Windows, macOS, and Linux users;
0099 in order to be usable,
0100 our lessons must run equally well on all three.
0101
0102 ## Using GitHub
0103
0104 If you choose to contribute via GitHub, you may want to look at
0105 [How to Contribute to an Open Source Project on GitHub][how-contribute].
0106 To manage changes, we follow [GitHub flow][github-flow].
0107 Each lesson has at least two maintainers who review issues and pull requests or encourage others to do so.
0108 The maintainers are community volunteers and have final say over what gets merged into the lesson.
0109 To use the web interface for contributing to a lesson:
0110
0111 1. Fork the originating repository to your GitHub profile.
0112 2. Within your version of the forked repository, move to the `gh-pages` branch and
0113 create a new branch for each significant change being made.
0114 3. Navigate to the file(s) you wish to change within the new branches and make revisions as required.
0115 4. Commit all changed files within the appropriate branches.
0116 5. Create individual pull requests from each of your changed branches
0117 to the `gh-pages` branch within the originating repository.
0118 6. If you receive feedback, make changes using your issue-specific branches of the forked
0119 repository and the pull requests will update automatically.
0120 7. Repeat as needed until all feedback has been addressed.
0121
0122 When starting work, please make sure your clone of the originating `gh-pages` branch is up-to-date
0123 before creating your own revision-specific branch(es) from there.
0124 Additionally, please only work from your newly-created branch(es) and *not*
0125 your clone of the originating `gh-pages` branch.
0126 Lastly, published copies of all the lessons are available in the `gh-pages` branch of the originating
0127 repository for reference while revising.
0128
0129 ## Other Resources
0130
0131 General discussion of [Software Carpentry][swc-site], [Data Carpentry][dc-site], and [Library Carpentry][lc-site]
0132 happens on the [discussion mailing list][discuss-list],
0133 which everyone is welcome to join.
0134 You can also [reach us by email][email].
0135
0136 [email]: mailto:team@carpentries.org
0137 [dc-issues]: https://github.com/issues?q=user%3Adatacarpentry
0138 [dc-lessons]: http://datacarpentry.org/lessons/
0139 [dc-site]: http://datacarpentry.org/
0140 [discuss-list]: https://carpentries.topicbox.com/groups/discuss
0141 [github]: https://github.com
0142 [github-flow]: https://guides.github.com/introduction/flow/
0143 [github-join]: https://github.com/join
0144 [how-contribute]: https://app.egghead.io/playlists/how-to-contribute-to-an-open-source-project-on-github
0145 [issues]: https://guides.github.com/features/issues/
0146 [swc-issues]: https://github.com/issues?q=user%3Aswcarpentry
0147 [swc-lessons]: https://software-carpentry.org/lessons/
0148 [swc-site]: https://software-carpentry.org/
0149 [c-site]: https://carpentries.org/
0150 [lc-site]: https://librarycarpentry.org/
0151 [lc-issues]: https://github.com/issues?q=user%3Alibrarycarpentry