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 oracle-ca_us@oracle.com.
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 https://svn.java.net/svn/wsit~svn/trunk/wsit <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 dev@metro.java.net
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:- One of the developers (the mentor) proposes granting the Developer role to that contributor by sending an e-mail to dev@metro.java.net summarizing the contributions of the person.
- Over a 1 week period people may raise concerns, ask questions or vote "yes" to support the proposal.
- 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.
