---
title: Information about sending patches for review
x-toc-enable: true
...

Download Transit from the Git repository like so:

    git clone https://notabug.org/transit/transit-website.git

Git is a version control system, used to host the site, to coordinate
development. You can download and work on the entire website, using Git.

The Git software is available on Windows, MacOS, GNU+Linux, BSD and others. We
strongly recommend GNU+Linux or BSD, but Windows and Mac OS also work with
Git. Search on Google for basic information about how to use Git.

Some of the instructions here assume that you use GNU+Linux or BSD, so you will
have to adapt accordingly if you use something else. The core administrators
maintaining the website all use GNU+Linux.

You can submit your patches via
[Notabug pull requests](#how-to-submit-your-patches-via-pull-requests) or

Editing the website and documentation, wiki-style
-------------------------------------------------

The website and documentation is inside the `www` directory in the
[Git repository](#how-to-download-transit-from-the-git-repository), in
Pandoc flavoured Markdown. The website is generated into static HTML via Pandoc
with the following scripts in that directory:

- index.sh: generates the news feed (on the News section of the website)
- publish.sh: converts an .md file to an .html file
- Makefile: with calls to index.sh and publish.sh, compiles the entire
  Transit website

Use any standard text editor (e.g. Vim, Emacs, Nano, Gedit) to edit the files,
commit the changes and
[send patches](#how-to-submit-your-patches-via-pull-requests).

Optionally, you can install a web server (e.g. lighttpd, nginx) locally and
set the document root to the *www* directory in your local Git repository.
With this configuration, you can then generate your local version of the
website and view it by typing `localhost` in your browser's URL bar.

Privacy of contributors (you do not have to reveal your name or identity!)
-------------------------------------------------------------------------

Contributions that you make are publicly recorded, in a Git repository which
everyone can access. This includes the name and email address of the
contributor.

In Git, for author name and email address, you do not have to use identifying
data. You can use Transit Contributor and your email address could be
specified as contributor@transit.org.uk. You are permitted to do this, if
you wish to maintain privacy.

Of course, you can use whichever name you like.

Legally speaking, all copyright is automatic under the Berne Convention of
international copyright law. It does not matter which name, or indeed whether
you even declare a copyright (but we do require that certain copyright
licenses are used - read more about that on this same page).

If you use a different name and email address on your commits/patches, then
you should be fairly anonymous.

General guidelines for submitting patches
-----------------------------------------

We require all patches to be submitted under a free license:
<https://www.gnu.org/licenses/license-list.html>.

- For documentation, we require GNU Free Documentation License v1.3 or higher. Basically, this is required on any Web pages that you contribute, or make changes to.
- GNU General Public License v3 is highly recommended, if you're contributing code (e.g. working on the static site generator that the site uses)

If you do not agree to use one of these licenses accordingly, your contribution will be rejected.

*Always* declare a license on your work! Not declaring a license means that
the default, restrictive copyright laws apply, which would make your work
non-free.

GNU+Linux is generally recommended as the OS of choice, for Transit
development.

General code review guidelines
------------------------------

Any member of the public can
[submit a patch](#how-to-submit-your-patches-via-pull-requests).

Your patch will be reviewed for quality assurance, and merged if accepted.

How to download Transit from the Git repository
-------------------------------------------------

In your terminal:

    git clone https://notabug.org/transit/transit-website.git

A new directory named `transit` will have been created, containing
transit.

How to submit your patches (via pull requests)
----------------------------------------------

Make an account on <https://notabug.org/> and navigate (while logged in) to
<https://notabug.org/transit/transit-website>. Click *Fork* and in your account,
you will have your own repository of Transit. Clone your repository, make
whatever changes you like to it and then push to your repository, in your
account on NotABug.

Now, navigate to <https://notabug.org/transit/transit-website/pulls> and click
*New Pull Request*. 

You can submit your patches there. Alternative, you can log onto the Transit
IRC channel and notify the channel of which patches you want reviewed, if you
have your own Git repository with the patches.

Once you have issued a Pull Request, the Transit maintainers will be notified
via email. If you do not receive a fast enough response from the project, then
you could also notify the project via the ##transit channel on Freenode.
