IzPack is an opensource project that values meritocracy.

Code speaks louder than endless discussions!

Do not attach patches to JIRA issues.

Attach a link to a pull request on our GitHub repository instead!

Git at Codehaus (for official developers)

Our canonical repository is hosted at The Codehaus. This repository makes reference and only approved developers may push to it, and subsequently perform releases.

Currently, we actually use Github as repository for the active development to better reaching contributors. Unfortunately, we haven't found any service that allows automatic pushes (commit forwarding) from Github to Codehaus to not synchronize manually to [git.codehaus.org](http://git.codehaus.org/gitweb.cgi?p=izpack.git). There has been raised an issue (wish) at Codehaus, whether they wouldn't provide a web service for Github's post-receive hooks, this would be an effective way to mirror izpack/izpack from Github to Codehaus without any further intervention elsewhere.

IzPack on GitHub (lowering the barrier to collaboration)

We have an izpack organization on GitHub where a Git repository is hosted:

How to collaborate on GitHub

This repository acts as a gatekeeper to the canonical repository at Codehaus, and contributions are expected to be performed using pull-requests.

To minimize bureaucracy overhead, we adopt the following soft rules.

If you are an external contributor:

  1. fork us on GitHub,
  2. craft your contribution, preferably in a development branch, making self-contained an many small commits,
  3. send us a pull request.

The barrier to entry is probably lower than you may expect, however keep in mind that :

  1. a good contribution has a test,
  2. a new feature needs to be documented in our wiki once an organization members validates your pull-request,
  3. you are intended to respect the source code format of existing files.

If you are a member of the GitHub organization:

  1. do not push directly to the master branch or to a version branch,
  2. you may push feature development branches at will, just give them an explicit name and/or a JIRA issue identifier,
  3. send a pull-request from either your own fork or a feature branch,
  4. a fellow organization member must approve the pull-request,
  5. if nobody reacts to your pull request within 3 days then you can merge yourself,
  6. when reviewing an external contribution, do not forget to ask the contributor to edit the wiki documentation if you approve it.

If you are an IzPack developer on Codehaus:

  1. please go through the GitHub repository instead of directly pushing to Codehaus,
  2. you are free to push the state of the GitHub repository branches to Codehaus,
  3. however, do not push feature development branches to Codehaus, only master and version branches,
  4. you may directly push trivial changes to master or a feature branch, but this should be the exception.

Fun facts by Ohloh