Add contributing.md

Bug: webrtc:13358
Change-Id: I56a7894ddaac40d67bd26e5ece7e3a6dbf5034ea
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237140
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Christoffer Jansson <jansson@google.com>
Cr-Commit-Position: refs/heads/main@{#35303}
diff --git a/docs/native-code/development/contributing.md b/docs/native-code/development/contributing.md
new file mode 100644
index 0000000..9aa7b0a
--- /dev/null
+++ b/docs/native-code/development/contributing.md
@@ -0,0 +1,99 @@
+# Contributing to the WebRTC project
+
+## License Agreement
+
+WebRTC welcomes patches for features and bug fixes!
+
+For contributors external to Google, follow the instructions given in the
+[Google Individual Contributor License Agreement][Google individual CLA].
+In all cases, contributors must sign a contributor license agreement before
+a contribution can be accepted. Please complete the agreement for an
+[individual][individual] or a [corporation][corporation] as appropriate.
+
+[Google Individual CLA]: https://cla.developers.google.com/about/google-individual.
+[individual]: https://developers.google.com/open-source/cla/individual
+[corporation]: https://developers.google.com/open-source/cla/corporate
+
+
+## Instructions
+
+### Contributing your First Patch
+You must do some preparation in order to upload your first CL:
+
+* [Check out and build the code][check out and build the code]
+* Fill in the Contributor agreement (see above)
+* If you’ve never submitted code before, you must add your
+  (or your organization’s in the case the contributor agreement is signed by
+  your organization) name and contact info to the
+ [AUTHORS][AUTHORS] file
+* Go to [https://webrtc.googlesource.com/new-password](new-password)
+  and login with your email account. This should be the same account as
+  returned by `git config user.email`
+* Then, run: `git cl creds-check`. If you get any errors, ask for help on
+ [discuss-webrtc][discuss-webrtc]
+
+You will not have to repeat the above. After all that, you’re ready to upload:
+
+[Check out and the build code]: https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/development/index.md
+[AUTHORS]: https://webrtc.googlesource.com/src/+/refs/heads/main/AUTHORS
+[new-password]: https://webrtc.googlesource.com/new-password
+[discuss-webrtc]: https://groups.google.com/forum/#!forum/discuss-webrtc
+
+### Uploading your First Patch
+Now that you have your account set up, you can do the actual upload:
+
+*  Do this:
+    * Assuming you're on the main branch:
+        * `git checkout -b my-work-branch`
+    * Make changes, build locally, run tests locally
+        * `git commit -am "Changed x, and it is working"`
+        * `git cl upload`
+
+      This will open a text editor showing all local commit messages, allowing you
+      to modify it before it becomes the CL description.
+
+      Fill out the bug entry properly. Please specify the issue tracker prefix and
+      the issue number, separated by a colon, e.g. `webrtc:123` or `chromium:12345`.
+      If you do not have an issue tracker prefix and an issue number just add `None`.
+
+      Save and close the file to proceed with the upload to the WebRTC
+      [code review server](https://webrtc-review.googlesource.com/q/status:open).
+
+      The command will print a link like
+      [https://webrtc-review.googlesource.com/c/src/+/53121][example CL link].
+      if everything goes well.
+
+*  Click this CL Link
+*  If you’re not signed in, click the Sign In button in the top right and sign
+   in with your email
+*  Click Start Review and add a reviewer. You can find reviewers in OWNERS files
+   around the repository (take the one closest to your changes)
+*  Address any reviewer feedback:
+    * Make changes, build locally, run tests locally
+        * `git commit -am "Fixed X and Y"`
+        * `git cl upload`
+*  Once the reviewer LGTMs (approves) the patch, ask them to put it into the
+   commit queue
+
+NOTICE: On Windows, you’ll need to run the above in a Git bash shell in order
+for gclient to find the `.gitcookies` file.
+
+[example CL link]: https://webrtc-review.googlesource.com/c/src/+/53121
+
+### Trybots
+
+If you're working a lot in WebRTC, you can apply for *try rights*. This means you
+can run the *trybots*, which run all the tests on all platforms. To do this,
+file a bug using this [template][template-access] and the WebRTC EngProd team
+will review your request.
+
+To run a tryjob, upload a CL as described above and click either CQ dry run or
+Choose Trybots in the Gerrit UI. You need to have try rights for this. Otherwise,
+ask your reviewer to kick off the bots for you.
+
+If you encounter any issues with the bots (flakiness, failing unrelated to your change etc),
+please file a bug using this [template][template-issue].
+
+[template-access]: https://bugs.chromium.org/p/webrtc/issues/entry?template=Get+tryjob+access
+[template-issue]: https://bugs.chromium.org/p/webrtc/issues/entry?template=trybot+issue
+
diff --git a/docs/native-code/development/index.md b/docs/native-code/development/index.md
index 3b3940d..f3cfd55 100644
--- a/docs/native-code/development/index.md
+++ b/docs/native-code/development/index.md
@@ -184,10 +184,13 @@
 
 ## Contributing Patches
 
-Please see [Contributing Fixes][webrtc-contributing] for information on how to run
+Please see [Contributing Fixes][contributing] for information on how to run
 `git cl upload`, getting your patch reviewed, and getting it submitted. You can also
 find info on how to run trybots and applying for try rights.
 
+[contributing]: https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/development/contributing.md
+
+
 ## Chromium Committers
 
 Many WebRTC committers are also Chromium committers. To make sure to use the
@@ -277,7 +280,6 @@
 [webrtc-ios-development]: https://webrtc.googlesource.com/src/+/main/docs/native-code/ios/index.md
 [chromium-work-branches]: https://www.chromium.org/developers/how-tos/get-the-code/working-with-branches
 [chromium-work-release-branches]: https://www.chromium.org/developers/how-tos/get-the-code/working-with-release-branches
-[webrtc-contributing]: https://webrtc.org/support/contributing/
 [depot-tools]: http://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up
 [rfc-5389]: https://tools.ietf.org/html/rfc5389
 [rfc-5766]: https://tools.ietf.org/html/rfc5766