Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
194 lines (191 sloc) 9.53 KB
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
<title>Windows Azure Projects Contribution Guidelines</title>
</head>
<body>
<h1>Contribution Guidelines Overview</h1>
<p>If you would like to become involved in the development of
Windows Azure SDKs and Tools there are many different ways in
which you can contribute. We strongly value user feedback and will
appreciate your questions, bug reports and feature requests. For
more details how you can submit those see section <a
href="#feedback">Using the product and providing feedback</a>
below. In addition you can also contribute changes to the code,
which include bug fixes and improvements as well as new features.
For more details how to do this please see section <a
href="#contributing">Contributing changes</a> below.<br>
</p>
<h1 id="feedback">Using the product and providing feedback</h1>
<p>Using the Windows Azure SDKs and Tools, asking and answering
question, reporting bugs and making feature requests are critical
parts of the project community. User feedback is crucial for
improving the quality of the products and drive further
development. <br>
In order to become familiar with the functionality you can
donwnload the pre-compiled binaries (see <a href="#binaries">Obtaining
the binaries</a> below) or synch the source code from Github and
compile locally (see <a href="#sourcecode">Obtaining the source
code</a> below). Once you become familiar with the functionality
you can report bugs or request new features (see <a
href="#bugsandfeatures">Report bugs and request features</a>
below). <br>
</p>
<h2 id="askingquestions">Asking and answering questions</h2>
<p>The easiest way to ask questions is to use the <a
href="http://www.windowsazure.com/en-us/support/forums/">Windows
Azure SDK and Tools forums</a> on StackOverflow and MSDN. If
your target language is .NET the most appropriate forums for
discussion are on MSDN. For all other languages please use
StackOverflow.<br>
</p>
<h2 id="binaries">Obtaining the binaries<br>
</h2>
<p>Pre-compiled binaries of Windows Azure SDK and Tools are
available on the Windows Azure web site at <a
href="http://www.windowsazure.com/en-us/develop/downloads/">http://www.windowsazure.com/en-us/develop/downloads/</a>.
Select the lnaguage you are interested in (.NET, Node, Java or
PHP) and click on the Install button.<br>
</p>
<h2 id="sourcecode">Obtaining the source code</h2>
<p>In order to obtain the source code you need to become familiar
with Git (see <a href="http://progit.org/book/">http://progit.org/book/</a>)
and Github (see <a href="http://help.github.com/">http://help.github.com/</a>)
and you need to have Git installed on your local machine. You can
obtain the source code from Github by following the following
steps on your local machine:<br>
</p>
<ol>
<li>Go to https://github.com/WindowsAzure/[PROJECT]</li>
<li>Select <img src="images/button-fork.jpg" alt=""> and choose your own Github account as target</li>
<li>Clone the repository on your local machine with the following
Git command<br>
<code>git clone git@github.com:[USERNAME]/[PROJECT]</code><br>
</li>
</ol>
<h2 id="reportbugs">Report bugs and request features</h2>
<p>Issues and feature requests are submitted through the project's
Issues section on GitHub. Please use the following guidelines when
you submit issues and feature requests:<br>
</p>
<ul>
<li>Make sure the issue is not already reported by searching
through the list of issues</li>
<li>Provide detailed description of the issue including the
following information:</li>
<ul>
<li>Which feature the issue appears in</li>
<li>Under what circumstances the issue appears</li>
<li>What is desired behavior</li>
<li>What is breaking</li>
<li>What is the impact (things like loss or corruption of data,
compromizing security, disruption of service etc.)<br>
</li>
<li>Any code that will be helpful to reproduce the issue</li>
</ul>
</ul>
<p>Issues are regularly reviewed and updated with additional
information by the core team. Sometimes the core team may have
questions about particular issue that might need clarifications
so, please be ready to provide additional information.<br>
</p>
<h1 id="contributing">Contributing changes<br>
</h1>
<h2>How to become a contributor?</h2>
<p>In order to become a contributor to the project we need you to
sign the Contributor License Agreement (CLA). Signing the
Contributor License Agreement (CLA) does not grant you rights to
commit to the main repository but it does mean that we will
consider your contributions and you will get credit if we do.
Active contributors might be asked to join the core team, and
given the ability to merge pull requests. <br>
You can download the Contributor License Agreement (CLA) by
clicking at the following link: <a href="./docs/Contribution License Agreement.pdf"
title="Contribution License Agreement">http://windowsazure.github.com/docs/Contribution License Agreement.pdf</a>.
Please fill in,
sign, scan and email it to <a href="mailto:cla@microsoft.com?subject=New CLA from Community Member"
title="Email signed Contribution License Agreement to Microsoft">cla@microsoft.com</a>.<br>
</p>
<h2>Checkout the latest code</h2>
<p>In order to obtain the source code you need to become familiar
with Git (see <a href="http://progit.org/book/">http://progit.org/book/</a>)
and Github (see <a href="http://help.github.com/">http://help.github.com/</a>)
and you need to have Git installed on your local machine. You can
obtain the source code from Github by following the following
steps on your local machine:<br>
</p>
<ol>
<li>Go to https://github.com/WindowsAzure/[PROJECT]</li>
<li>Select <img src="images/button-fork.jpg" alt=""> and choose your own Github account as target</li>
<li>Clone the repository on your local machine with the following
Git command<br>
<code>git clone git@github.com:[USERNAME]/[PROJECT]</code><br>
</li>
<li>Add remote to your local repository using the following Git
commands<br>
<code>cd [PROJECT]<br>
</code><code>git remote add upstream
git@github.com:WindowsAzure/[PROJECT]</code><br>
</li>
<li>Update your local repository with the changes from the remote
repository by using the following Git commands<br>
<code>git fetch upstream/dev<br>
git merge upstream/dev
</code></li>
</ol>
<h2>Create bug fixes and features<br>
</h2>
<p>You make modifications of the code in your local Git repository.
Once you are done with your implementation follow the steps below:<br>
</p>
<ol>
<li>Change the working branch to <code>dev</code> with the following command<br/>
<code>git checkout dev</code></li>
<li>Submit the changes to your own fork in GitHub by using the
following command<br>
<code>git submit<br>
</code></li>
<li>In GitHub create new pull request by clicking on the Pull
Request button <img src="images/button-pull-request.jpg" alt=""></li>
<li>In the pull request select your fork as source and
WindowsAzure/[PROJECT] as destination for the request</li>
<li>Write detailed message describing the changes in the pull
request</li>
<li>Submit the pull requst for consideration by the Core Team</li>
</ol>
<p><strong>Note:</strong> All changes and pull request should be done
in the <code>dev</code> branch. Changes will be integrated in the
<code>master</code> branch by the Core Team.</p>
<p>Please keep in mind that not all requests will be approved.
Requests are reviewed by the Core Team on a regular basis and will
be updated with the status at each review. If your request is
accepted you will receive information about the next steps and
when the request will be integrated in the main branch. If your
request is rejected you will receive information about the reasons
why it was rejected.<br>
</p>
<h2>Contribution guidelines</h2>
<p>Before you start working on bug fixes and features it is good
idea to discuss those broadly with the community. You can use the
forums as described in <a href="#askingquestions">Asking and
answering questions</a> for this purpose.<br>
Before submitting your changes make sure you followed the
guidelines below:<br>
</p>
<ul>
<li>You have properly documented any new functionality using the
documentation standards for the language (this includes clasees,
methods and functions, properties etc.)</li>
<li>For any change you make proper inline documentation is
included<br>
</li>
<li>For any new functionality you have written complete unit tests</li>
<li>You have ran all unit tests and they pass</li>
</ul>
In order to speed up the process of accepting your contributions, you
should try to make your checkins as small as possible, avoid any unnecessary
deltas and the need to rebase.
</body>
</html>
Something went wrong with that request. Please try again.