@@ -10,16 +10,16 @@ for a summary description of past meetings. To request edit access, join the
1010meeting or get in touch on
1111[ Slack] ( https://cloud-native.slack.com/archives/C01N3BC2W7Q ) .
1212
13- Even though, anybody can contribute, there are benefits of being a member of our
14- community. See to the [ community membership
13+ Anyone may contribute but there are benefits of being a member of our community.
14+ See the [ community membership
1515document] ( https://github.com/open-telemetry/community/blob/main/community-membership.md )
1616on how to become a
1717[ ** Member** ] ( https://github.com/open-telemetry/community/blob/main/community-membership.md#member ) ,
1818[ ** Approver** ] ( https://github.com/open-telemetry/community/blob/main/community-membership.md#approver )
1919and
2020[ ** Maintainer** ] ( https://github.com/open-telemetry/community/blob/main/community-membership.md#maintainer ) .
2121
22- ## Find a Buddy and Get Started Quickly
22+ ## Find a buddy and get started quickly
2323
2424If you are looking for someone to help you find a starting point and be a
2525resource for your first contribution, join our Slack channel and find a buddy!
@@ -34,17 +34,24 @@ resource for your first contribution, join our Slack channel and find a buddy!
3434
3535Your OpenTelemetry buddy is your resource to talk to directly on all aspects of
3636contributing to OpenTelemetry: providing context, reviewing PRs, and helping
37- those get merged. Buddies will not be available 24/7, but is committed to
38- responding during their normal contribution hours.
37+ those get merged. Buddies will not be available 24/7, but are committed to
38+ responding during their normal working hours.
3939
4040## Development Environment
4141
42- You can contribute to this project from a Windows, macOS or Linux machine.
42+ You can contribute to this project from a Windows, macOS, or Linux machine.
4343
4444On all platforms, the minimum requirements are:
4545
46- * Git client and command line tools.
47- * .NET 9.0
46+ * Git client and command line tools
47+
48+ * [ .NET SDK (latest stable version)] ( https://dotnet.microsoft.com/download )
49+
50+ > [ !NOTE]
51+ > At times a pre-release version of the .NET SDK may be required to build code
52+ in this repository. Check
53+ [ global.json] ( https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/global.json )
54+ to verify the current required version.
4855
4956### Linux or MacOS
5057
@@ -59,7 +66,7 @@ of Windows.
5966* Visual Studio 2022+ or Visual Studio Code
6067* .NET Framework 4.6.2+
6168
62- ### Public API Validation
69+ ## Public API validation
6370
6471It is critical to ** NOT** make breaking changes to public APIs which have been
6572released in stable builds. We also strive to keep a minimal public API surface.
@@ -91,9 +98,9 @@ to validate public APIs.
9198 [ Common.prod.props] ( https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/build/Common.prod.props )
9299 (please do not check in this change).
93100
94- #### Working with Microsoft.CodeAnalysis.PublicApiAnalyzers
101+ ### Working with Microsoft.CodeAnalysis.PublicApiAnalyzers
95102
96- ##### Update public API files when writing code
103+ #### Update public API files when writing code
97104
98105[ IntelliSense] ( https://docs.microsoft.com/visualstudio/ide/using-intellisense )
99106will [ suggest
@@ -116,7 +123,7 @@ do this by:
116123 while performing stable releases. If you need help reach out to an approver or
117124 maintainer on Slack or open a draft PR.
118125
119- ##### Enable public API validation in new projects
126+ #### Enable public API validation in new projects
120127
1211281 . If you are ** NOT** using experimental APIs:
122129 * If your API is the same across all target frameworks:
@@ -144,12 +151,12 @@ do this by:
144151
145152## Pull Requests
146153
147- ### How to Send Pull Requests
154+ ### How to create pull requests
148155
149156Everyone is welcome to contribute code to ` opentelemetry-dotnet ` via GitHub pull
150157requests (PRs).
151158
152- To create a new PR, fork the project in GitHub and clone the upstream repo:
159+ To create a new PR, fork the project on GitHub and clone the upstream repo:
153160
154161``` sh
155162git clone https://github.com/open-telemetry/opentelemetry-dotnet.git
@@ -180,7 +187,7 @@ If you made changes to the Markdown documents (`*.md` files), install the latest
180187markdownlint .
181188```
182189
183- Check out a new branch, make modifications and push the branch to your fork:
190+ Check out a new branch, make modifications, and push the branch to your fork:
184191
185192``` sh
186193$ git checkout -b feature
@@ -191,7 +198,7 @@ $ git push fork feature
191198
192199Open a pull request against the main ` opentelemetry-dotnet ` repo.
193200
194- ### How to Receive Comments
201+ #### Tips and best practices for pull requests
195202
196203* If the PR is not ready for review, please mark it as
197204 [ ` draft ` ] ( https://github.blog/2019-02-14-introducing-draft-pull-requests/ ) .
@@ -204,26 +211,29 @@ Open a pull request against the main `opentelemetry-dotnet` repo.
204211* Include benchmarks (before/after) in the summary, for contributions that are
205212 performance enhancements.
206213
207- ### How to Get PRs Merged
214+ ### How to get pull requests merged
208215
209216A PR is considered to be ** ready to merge** when:
210217
211218* It has received approval from
212219 [ Approvers] ( https://github.com/open-telemetry/community/blob/main/community-membership.md#approver ) .
213220 /
214221 [ Maintainers] ( https://github.com/open-telemetry/community/blob/main/community-membership.md#maintainer ) .
215- * Major feedbacks are resolved.
222+ * Major feedback/comments are resolved.
216223* It has been open for review for at least one working day. This gives people
217224 reasonable time to review.
218- * Trivial change (typo, cosmetic, doc, etc.) doesn't have to wait for one day.
219- * Urgent fix can take exception as long as it has been actively communicated.
225+ * Trivial change (typo, cosmetic, doc, etc.) doesn't have to wait for one day.
226+ * Urgent fix can take exception as long as it has been actively communicated.
220227
221- Any Maintainer can merge the PR once it is ** ready to merge** . Note, that some
222- PRs may not be merged immediately if the repo is in the process of a release and
223- the maintainers decided to defer the PR to the next release train.
228+ Any maintainer can merge PRs once they are ** ready to merge** however
229+ maintainers might decide to wait on merging changes until there are more
230+ approvals and/or dicussion, or based on other factors such as release timing and
231+ risk to users. For example if a stable release is planned and a new change is
232+ introduced adding public API(s) or behavioral changes it might be held until the
233+ next alpha/beta release.
224234
225- If a PR has been stuck (e.g. there are lots of debates and people couldn't agree
226- on each other ), the owner should try to get people aligned by:
235+ If a PR has become stuck (e.g. there is a lot of debate and people couldn't
236+ agree on the direction ), the owner should try to get people aligned by:
227237
228238* Consolidating the perspectives and putting a summary in the PR. It is
229239 recommended to add a link into the PR description, which points to a comment
@@ -238,15 +248,15 @@ on each other), the owner should try to get people aligned by:
238248 the owner should bring it to the OpenTelemetry .NET SIG
239249 [ meeting] ( README.md#contributing ) .
240250
241- ## Design Choices
251+ ## Design choices
242252
243253As with other OpenTelemetry clients, opentelemetry-dotnet follows the
244254[ opentelemetry-specification] ( https://github.com/open-telemetry/opentelemetry-specification ) .
245255
246256It's especially valuable to read through the [ library
247257guidelines] ( https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/library-guidelines.md ) .
248258
249- ### Focus on Capabilities, Not Structure Compliance
259+ ### Focus on capabilities not structural compliance
250260
251261OpenTelemetry is an evolving specification, one where the desires and use cases
252262are clear, but the method to satisfy those uses cases are not.
@@ -260,10 +270,10 @@ than conform to specific API names or argument patterns in the spec.
260270For a deeper discussion, see [ this spec
261271issue] ( https://github.com/open-telemetry/opentelemetry-specification/issues/165 ) .
262272
263- ## Style Guide
273+ ## Style guide
264274
265275This project includes a [ ` .editorconfig ` ] ( ./.editorconfig ) file which is
266- supported by all the IDEs/editor mentioned above. It works with the IDE/editor
276+ supported by all the IDEs/editors mentioned above. It works with the IDE/editor
267277only and does not affect the actual build of the project.
268278
269279This repository also includes StyleCop ruleset files under the ` ./build ` folder.
0 commit comments