## 1 OpenOCD Developer Resources

If you are interested in improving the state of OpenOCD’s debugging and testing support, new contributions will be welcome. Motivated developers can produce new target, flash or interface drivers, improve the documentation, as well as more conventional bug fixes and enhancements.

The resources in this chapter are available for developers wishing to explore or expand the OpenOCD source code.

### 1.1 OpenOCD Git Repository

During the 0.3.x release cycle, OpenOCD switched from Subversion to a Git repository hosted at SourceForge. The repository URL is:

git://git.code.sf.net/p/openocd/code

or via http

http://git.code.sf.net/p/openocd/code

You may prefer to use a mirror and the HTTP protocol:

http://repo.or.cz/r/openocd.git

With standard Git tools, use `git clone` to initialize a local repository, and `git pull` to update it. There are also gitweb pages letting you browse the repository with a web browser, or download arbitrary snapshots without needing a Git client:

http://repo.or.cz/w/openocd.git

The `README` file contains the instructions for building the project from the repository or a snapshot.

Developers that want to contribute patches to the OpenOCD system are strongly encouraged to work against mainline. Patches created against older versions may require additional work from their submitter in order to be updated for newer releases.

### 1.2 Doxygen Developer Manual

During the 0.2.x release cycle, the OpenOCD project began providing a Doxygen reference manual. This document contains more technical information about the software internals, development processes, and similar documentation:

http://openocd.sourceforge.net/doc/doxygen/html/index.html

This document is a work-in-progress, but contributions would be welcome to fill in the gaps. All of the source files are provided in-tree, listed in the Doxyfile configuration at the top of the source tree.

### 1.3 Gerrit Review System

All changes in the OpenOCD Git repository go through the web-based Gerrit Code Review System:

http://openocd.zylin.com/

After a one-time registration and repository setup, anyone can push commits from their local Git repository directly into Gerrit. All users and developers are encouraged to review, test, discuss and vote for changes in Gerrit. The feedback provides the basis for a maintainer to eventually submit the change to the main Git repository.

The `HACKING` file, also available as the Patch Guide in the Doxygen Developer Manual, contains basic information about how to connect a repository to Gerrit, prepare and push patches. Patch authors are expected to maintain their changes while they’re in Gerrit, respond to feedback and if necessary rework and push improved versions of the change.

### 1.4 OpenOCD Developer Mailing List

The OpenOCD Developer Mailing List provides the primary means of communication between developers:

https://lists.sourceforge.net/mailman/listinfo/openocd-devel

### 1.5 OpenOCD Bug Database

During the 0.4.x release cycle the OpenOCD project team began using Trac for its bug database:

https://sourceforge.net/apps/trac/openocd