Contributing Changes

Getting Sources
Formatting Changes
Before Submitting
Submitting Changes
Website
License

Getting Sources

GitHub is used to store source code. The repository can be cloned with the following command:

git clone https://github.com/nginx/nginx.git

Formatting Changes

Changes should be formatted according to the code style used by nginx. Sometimes, there is no clear rule; in such cases examine how existing nginx sources are formatted and mimic this style. Changes will more likely be accepted if style corresponds to the surrounding code.

Commit the changes in your nginx GitHub fork. Please ensure that the specified e-mail address and real name of the author are correct.

The commit message should have a single-line synopsis followed by verbose description after an empty line. It is desirable that the first line is no longer than 67 symbols, and the remaining lines are no longer than 76 symbols. The resulting commit can be obtained using the git show command:

commit 8597218f386351d6c6cdced24af6716e19a18fc3
Author: Filipe Da Silva <username@example.com>
Date:   Thu May 9 10:54:28 2013 +0200

    Mail: removed surplus ngx_close_connection() call.

    It is already called for a peer connection a few lines above.

diff --git a/src/mail/ngx_mail_auth_http_module.c b/src/mail/ngx_mail_auth_http_module.c
index 2e9b9f24d..8094bbc5c 100644
--- a/src/mail/ngx_mail_auth_http_module.c
+++ b/src/mail/ngx_mail_auth_http_module.c
@@ -699,7 +699,6 @@ ngx_mail_auth_http_process_headers(ngx_mail_session_t *s,

                     p = ngx_pnalloc(s->connection->pool, ctx->err.len);
                     if (p == NULL) {
-                        ngx_close_connection(ctx->peer.connection);
                         ngx_destroy_pool(ctx->pool);
                         ngx_mail_session_internal_server_error(s);
                         return;

Before Submitting

Several points are worth to consider before submitting changes:

Submitting Changes

The proposed changes should be submitted from your fork to nginx repository as a pull request.

Website

GitHub is used to store the sources for this website. The repository can be cloned with the following command:

git clone https://github.com/nginx/nginx.org.git

Documentation changes should be submitted from your fork as a pull request.

License

Submitting changes implies granting project a permission to use it under an appropriate license.