diff --git a/developers/source-code.md b/developers/source-code.md
index 42082921..6c4a9070 100644
--- a/developers/source-code.md
+++ b/developers/source-code.md
@@ -11,16 +11,17 @@ redirect_from:
 Qubes Source Code Repositories
 ==============================
 
-All the Qubes code is kept in GIT repositories. We divided the project into several components, each of which has its own separate repository, some of them:
+All the Qubes code is kept in Git repositories. We have divided the project into
+several components, each of which has its own separate repository, for example:
 
--   `core-admin.git` -- the core Qubes infrastructure responsible for VM management, VM templates, fs sharing, etc.
--   `gui-daemon.git` -- GUI virtualization, Dom0 side.
--   `gui-agent-linux.git` -- GUI virtualization, Linux VM side.
--   `linux-template-builder.git` - scripts and other files used to create Qubes templates images.
+ * `core-admin.git` -- The core Qubes infrastructure, responsible for VM
+   management, VM templates, fs sharing, etc.
+ * `gui-daemon.git` -- GUI virtualization, Dom0 side.
+ * `gui-agent-linux.git` -- GUI virtualization, Linux VM side.
+ * `linux-template-builder.git` -- Scripts and other files used to create Qubes
+   template images.
 
-You can browse the repositories [online on
-GitHub](https://github.com/QubesOS/). The Qubes official repositories are on
-this `QubesOS` github account.
+All of our repositories are available under the [QubesOS GitHub account].
 
 To clone a repository:
 
@@ -34,15 +35,47 @@ e.g.:
 git clone git://github.com/QubesOS/qubes-core-admin.git core-admin
 ~~~
 
-## Sending a patch
+To clone **all** of our repositories in a single command:
 
-If you want to contribute to the project, there are two ways:
+~~~
+curl "https://api.github.com/orgs/QubesOS/repos?page=1&per_page=100" | grep -e 'git_url*' | cut -d \" -f 4 | xargs -L1 git clone
+~~~
 
-*  **Preferred**: Use github [fork & pull requests](https://guides.github.com/activities/forking/)
-*  Sending a patch via the project's mailing list (`git format-patch`).
+To update (git fetch) **all** of these repositories in a single command:
+
+~~~
+find . -mindepth 1 -maxdepth 1 -type d -exec git -C {} fetch --tags --recurse-submodules=on-demand --all \;
+~~~
+
+(Alternatively, you can pull instead of just fetching.)
+
+
+How to Send Patches
+-------------------
+
+If you want to contribute code to the project, there are two ways. Whichever
+method you choose, you must [sign your code] before it can be accepted.
+
+*  **Preferred**: Use GitHub's [fork & pull requests].
+*  Send a patch to our developer [mailing list] (`git format-patch`).
+
+   1. Make all the changes in your working directory, i.e. edit files, move them
+      around (you can use 'git mv' for this), etc.
+   2. Add the changes and commit them (`git add`, `git commit`). Never mix
+      different changes into one commit! Write a good description of the commit.
+      The first line should contain a short summary, and then, if you feel like
+      more explanations are needed, enter an empty new line, and then start the
+      long, detailed description (optional).
+   3. Test your changes NOW: check if RPMs build fine, etc.
+   4. Create the patch using `git format-patch`. This has an advantage over
+      `git diff`, because the former will also include your commit message, your
+      name and email, so that *your* name will be used as a commit's author.
+   5. Send your patch to `qubes-devel`. Start the message subject with
+      `[PATCH]`.
+
+
+[QubesOS GitHub account]: https://github.com/QubesOS/
+[sign your code]: /doc/code-signing/
+[fork & pull requests]: https://guides.github.com/activities/forking/
+[mailing list]: /doc/mailing-lists/
 
-    1.  Make all the changes in your working directory, i.e. edit files, move them around (you can use 'git mv' for this), etc.
-    2.  Add the changes and commit them (git add, git commit). Never mix different changes into one commit! Write a good description of the commit. The first line should contain a short summary, and then, if you feel like more explanations are needed, enter an empty new line, and then start the long, detailed description (optional).
-    3.  Test your changes NOW: check if RPMs build fine, etc.
-    4.  Create the patch using 'git format-patch'. This has an advantage over 'git diff', because the former will also include your commit message, your name and email, so that \*your\* name will be used as a commit's author.
-    5.  Send your patch to qubes-devel. Start the message subject with the '[PATCH]' string.