Submitting a Patch

Introduction

This section covers how you submit a patch for Ikasan EIP. As is standard with a majority of professional Open Source projects, we will not give commit access to the SVN repository. Instead we will accept code patches from Contributors starters on the project team. After a time an existing Committer can nominate to give a Contributor Committer status, which will duly be voted on.

Working on an Issue

  1. A Contributor expresses their interest to work on a JIRA issue on the Developer Mailing List. At that point, the JIRA issue might be Unassigned or might be already assigned to a team member. If the JIRA is Unassigned, the Contributor assigns the JIRA issue to themselves. If the JIRA is assigned then the Contributor can join the existing assignee in working on the issue.
  2. The Contributor will create a patch (see [http://git-scm.com/docs/git-format-patch]) and attach with any appropriate test cases to the JIRA issue and post to the Developer Mailing List asking for it to be reviewed.
    1. The Contributor must then sign a Submitting a Patch Contributor License Agreement in order for the patch to be accepted.
  3. Everyone in the community can then review this patch and comment on it, in fact we encourage this! However, you can only vote to reject a patch if you are a Committer.
    1. The vote goes in the comment field of the JIRA issue (we may have a specific field for this later).
    2. A '-1' means 'No' (with a reason as to why!). A 'No' is considered a blocking veto (e.g. The patch cannot be merged until the '-1' issue is resolved).
    3. The closing period for voting is 24 hours but can be extended if required (e.g. 48 hours for a larger patch).
    4. If there are _no_ '-1' votes within that 24 hour period then the patch is accepted and merged into the repository by a Committer.

Contributor License Agreement

To allow contributors to contribute to the Ikasan project we, like many other Open Source projects, need to have a contributor agreement in place.

The contributor agreement is there to –

  1. Ensure copyrights on contributions are given over to the project;
  2. Allow the contributor to assert that contributions are original works;
  3. Allow the contributor to assert that they are legally entitled to grant the project these rights;
  4. Allow the contributor to assert that their contribution do not violate anyone else’s rights

This agreement protects the integrity of the project code base and in turn projects the community around that code base.

Some projects require contributors sign and email/fax back the contributor agreement. We do not want to burden contributors with unnecessary tasks, therefore potential Contributors can sign the license agreement here.

The contributor agreement must be accepted by everyone wishing to contribute to the project – whether you are a Contributor or a Committer.

Any patch file can now be attached to the appropriate Jira.