Contributing to Metro

As every open source project, Metro depends on an active community for its success. Everyone is welcome to make a positive contribution. You can contribute in several ways by:
  • Participating on the mailing lists - answering people's questions, sharing your experience
  • Filing bugs and enhancement requests in issue tracker
  • Blogging about your experience with Metro
  • Contributing code / patches
  • Adding tests
  • Updating the documentation

Contributing Code / Tests

Step1: Signing OCA
We can accept your contributions only if you signed and submitted Oracle Contributor Agreement. Send a scanned, completed and signed copy to After you submit, it takes a few days for your name to appear on the signatories list. Once your name is there, we can accept your contributions. More information can be found in the FAQ.

Step2: Creating a patch
Make the proposed change in the source code locally. To check out Metro/WSIT main trunk sources run the following command:

svn co <local-directory-name>
After you have made the change, built the project and tested that it works, you need to create a patch file which you can then submit. To do that, run the following command in the project source root directory:
svn diff <source-file-1> [<source-file-2> ...] > <patch-file-name>
In the command above, substitute <source-file-NNN> by the real name(s) of the source file(s) you made changes to and <patch-file-name> by the name of the patch file (e.g. bugfix.diff). If you made changes to several source files, you will need to create a patch file like this:
svn diff <source-directory> > <patch-file-name>
In the command above, <source-directory> represents the directory containing changed source files (it will be searched including all it's subdirectories by the svn diff command).

Step3: Submitting the patch
Now that you have the patch file, you should submit it to us. If the patch fixes an issue that has already been filed, provide the patch as an attachment to the issue. If it contains a change that is unrelated to any existing issue tracker issue, file a new issue, choose a proper type (defect, feature, enhancement, or simply a patch) and attach the patch file to that. In any case please specify what the patch does and what tests were run to verify the patch works and does not introduce regressions. Just in case you don't receive a timely response to the patch, please send a message to the mailing list to notify the developers about your contribution and ask them for a review.

Developer Role

Contributors may earn Developer role in the project. That grants people commit rights to the source code repository, so instead of attaching the patches to the issues, you can commit your changes into the repository directly. Developer role is typically granted to people who submitted several good quality patches. By submitting the patches they interact with other developers and usually the owner of the component that they contribute to becomes a mentor for them. The mentor advises the contributor on what the potential areas of contribution are, code conventions, running the tests, etc. Once the mentor gains confidence in the contributor, the following leads to granting the developer role:
  1. One of the developers (the mentor) proposes granting the Developer role to that contributor by sending an e-mail to summarizing the contributions of the person.
  2. Over a 1 week period people may raise concerns, ask questions or vote "yes" to support the proposal.
  3. If there are no "no" votes, at least one of the project owners voted "yes" and there are no unanswered questions/concerns, after a week the Developer role is granted.
Please note: Since the Developer role needs to be earned, external requests for the Developer role are typically refused, referring people to these guidelines.
Terms of Use; Privacy Policy; Copyright ©2013-2017 (revision 20160708.bf2ac18)
Please Confirm