Merge branch 'master' of https://github.com/apache/oodt into development
diff --git a/README.md b/README.md
index acca5cf..7fee76c 100644
--- a/README.md
+++ b/README.md
@@ -80,24 +80,56 @@
 
 # Contributing
 
-To contribute a patch, follow these instructions (note that installing
-[Hub](http://hub.github.com) is not strictly required, but is recommended).
+To contribute a patch, follow these instructions.
 
-```
-0. Download and install hub.github.com
-1. File JIRA issue for your fix at https://issues.apache.org/jira/browse/OODT
-- you will get issue id OODT-xxx where xxx is the issue ID.
-2. git clone http://github.com/apache/oodt.git
-3. cd oodt
-4. git checkout -b OODT-xxx
-5. edit files
-6. git status (make sure it shows what files you expected to edit)
-7. git add <files>
-8. git commit -m “fix for OODT-xxx contributed by <your username>”
-9. git fork
-10. git push -u <your git username> OODT-xxx
-11. git pull-request
-```
+1. File JIRA issue for your fix at https://issues.apache.org/jira/browse/OODT.
+you will get issue id OODT-xxx where xxx is the issue ID.
+
+2. [Fork the repo](http://help.github.com/fork-a-repo) on which you're working, clone your forked repo to your local computer, and set up the upstream remote:
+    ```
+    git clone https://github.com/<YourGitHubUserName>/oodt.git
+    git remote add upstream https://github.com/apache/oodt.git
+    ```
+3. Go into oodt directory
+    ```
+    cd oodt
+    ```
+4. Checkout out a new local branch based on your master and update it to the latest.The convention is to name the branch after the current JIRA issue, e.g. OODT-xxx where xxx is the issue ID.
+    ```
+    git checkout -b OODT-xxx
+    ```
+5. Do the changes to the relavant files and keep your code clean. If you find another bug, you want to fix while being in a new branch, please fix it in a separated branch instead.
+
+6. Add relevant files to the staging  area.
+    ```
+    git add <files>
+    ```
+7. For every commit please write a short (max 72 characters) summary of the change. Use markdown syntax for simple styling. Please include any JIRA issue numbers in your summary.
+    ```
+    git commit -m “[OODT-xxx] Put change summary here ”
+    ```
+    **NEVER leave the commit message blank!** Provide a detailed, clear, and complete description of your commit!
+
+8. Before submitting a pull request, update your branch to the latest code.
+    ```
+    git checkout master
+    git pull --rebase upstream master
+    git checkout OODT-xxx
+    git rebase -i master
+    ```
+9. Push the code to your forked repository
+    ```
+    git push origin OODT-xxx
+    ```
+10. In order to make a pull request,
+  * Navigate to the OODT repository you just pushed to (e.g. https://github.com/your-user-name/oodt)
+  * Click "Pull Request".
+  * Write your branch name in the branch field (this is filled with "master" by default)
+  * Click "Update Commit Range".
+  * Ensure the changesets you introduced are included in the "Commits" tab.
+  * Ensure that the "Files Changed" incorporate all of your changes.
+  * Fill in some details about your potential patch including a meaningful title.
+  * Click "Send pull request".
 ## Issue Tracker
 
 If you encounter errors in OODT or want to suggest an improvement or a new