Guidelines for new Apache Harmony committers

So you got voted in as a committer, congratulations! Here are a few guidelines to help smooth your way into the project.

Your Apache user account

Once you are voted in as a committer, and we have the necessary paperwork in place, a member of the Apache Harmony PMC will request a login account for you on the Apache machines. This may take a few days, but when completed you will be sent your login name and initial user account password directly.

The next steps are:

  1. login to the server "people.apache.org" using a secure shell (ssh)
  2. change your initial password to a secure password that you can remember, using 'passwd'
  3. add a public key to .ssh so you can stop using the password
  4. create a ~/.forward file to forward any mail sent to your Apache user account to your mail account
  5. set your SVN password : just visit https://svn.apache.org/change-password

Subversion access

Getting rights to writes

Having write access to the Apache Harmony subversion repository first requires that your Apache user account is established. Once we get confirmation of your user account id, the Apache Harmony PMC Chair can grant you rights to modify the code repository. Your SVN password is distinct from your user account password, so you should have set that as described above.

Be sure that anything you have checked out of SVN has been checked out via 'https' and not 'http' or you can't check it in. You can switch using "svn switch". (See the manual)

Configuring your SVN client

Ensure your SVN client is configured to set the EOL property automatically. To do that add these directives to the SVN config file, which by default is found or created here:

  • Windows: C:\Documents and Settings\<login name>\Application Data\Subversion\config
  • Linux: ~/.subversion/config

If a [miscellany] or [auto-props] section already exists in the config file it is important that you append these settings rather than duplicate the section.

Testing your commit

Please ensure the new code passes acceptance tests for your module at least on one platform. Acceptance tests are invoked by means of ant test.

Commit messages

Please remember to write a descriptive commit message every time. Many people are reading the commit mailing list, and can see that you changed "foo" to "foo + 1", so say why you did something rather than what you did.

If you took code from a JIRA issue, or you are fixing it, say so. Include the title of the JIRA and the full name of the issue (e.g. HARMONY-1234 "Bar test fails with GPF") don't abbreviate it or invent your own format. The JIRA system will link your commit to the issue automatically and we can see what code changed and why. It is also important to show where each line of code came from so that if we have to trace all code written by "Joe Smith" we can find where his patches were committed.

Here's a good example of a commit message from fixing a JIRA issue, and here's another from a problem fixed directly by the committer.

The SVN commit list for Apache Harmony is moderated, so your initial commit may not be reported on the commits@harmony.apache.org mailing list until the moderator allows posting from your new account.

Adding your name to the committer list

At this point, you should be able checkout the website and update the "who we are" page. See if you can figure out how! hint

Setting up your editor

Please set up your editor to use four spaces in place of tabs. While we have a number of source files in the repository that still contain tabs, we are reformatting them as we go (without causing too much disruption) – you can help do this now too.

JIRA access

Any existing committer should be able to give you the extra committer rights in JIRA.

When taking contributions through JIRA, specifically code or resource patches attached to a JIRA issue, there are a number of things to bear in mind:

  • Check that the contributor has granted an Apache license to use the code. You can tell by looking that the "manage attachments" link, or looking for the ASF feather icon https://issues.apache.org/jira/images/icons/apachefeather.png next to the attachment name.
  • Check that the contributor is an Apache Harmony authorized contributor. This simply means that they have signed a declaration that they are eligible to contribute to this area of the code as defined by the ACQ. If in doubt ask them or the Apache Harmony PMC for guidance.
  • For regular contributors, you should encourage them to send an ASF ICLA to the Apache secretary.

In all cases, if you feel uncomfortable with something you see, raise it on the Apache Harmony developers' list (or on the PMC private list if it is likely to be a private or particularly sensitive question).

and finally...

Although you now have the ability to commit, please remember :

  1. Continue being as transparent and communicative as possible. You earned committer status in part because of your engagement with others. While it was a "have to" situation because you had to submit patches and defend them, but we believe it is a "want to". Community is the key to any Apache project.
  2. We don't want anyone going off and doing lots of work locally, and then committing. Committing is like voting in Chicago - do it early and often. Of course, you don't want to break the build, but keep the "commit bombs" to an absolute minimum, and warn the community if you are going to do it - we may suggest it goes into a branch at first. Use branches if you need to.
  3. Always remember that you can never commit code that comes from someone else, even a co-worker. All code from someone else must be submitted by the copyright holder (either the author or author's employer, depending) as a JIRA, and then follow up with the required ACQs and BCC.
  4. If in doubt – ask!

Again, thanks for your hard work so far, and welcome!

Further Reading

General information for Apache committers http://www.apache.org/dev/#committers

  • No labels