The Apache Software Foundation is a meritocracy. By this we mean that you gain status based on the merit of your work and actions. In fact the status that you gain is a recognition of the merit of your work and actions.
Maven is an Apache project, that means that we have to follow the Apache rules and way. One of those rules is that we cannot hand out commit access to anyone who asks for it.
To gain commit access you must establish your merit by submitting patches that get picked up by existing committers.
After you have contributed enough patches to establish merit, the project management committee decides whether you can be trusted with commit access.
The reality is that "It is what it is"TL;DR To become a Maven committer write good patches and get them applied.
A good patch is a patch that applies cleanly and includes tests that cover both the positive and negative case and has documentation where relevant.
For example, if you were implementing a patch to fix MNG-4612 you would first need to write a test case that is failing when trying to encrypt
{DESede}y+qq...==
and a second test case that is passing when trying to encrypt
password
This is in order to be sure that you have written an effective test case that can pass for good data. Then you implement the fix and all the tests should pass. You then take a Subversion compatible† diff of the source code and attach that to the issue in question.
To understand how your patch gets evaluated, here is how I apply patches:
So there you have it, my guide to writing good patches... now the next step is getting your patches noticed...
The simplest way to get your patches noticed is to submit them to the JIRA issue that they fix.
Remember that the Maven project is run by volunteers in their spare time, so very often we may not notice your patch for a few days.
If you are certain that your patch is a good patch, and a week has passed with no comments on JIRA, then you should send one and only one email to the dev@maven.apache.org mailing list to see if your patch can get noticed.
Note: you need to be fairly confident that your patch is a good patch, because if you keep on pestering the Maven developers looking to have non-good patches applied, your merit will become negative and people will be less inclined to help you get your patches applied... also this is why you should send one and only one email about your patch on any specific JIRA issue.
To help people who are interested in becoming Maven committers fulfill their goals, myself, Arnaud Heritier and Barrie Treloar (along with any other current Maven committers who decide to help) will be running an assignment based class to help people become committers.
To register for the class you need to complete the following steps:
I am interested in the following areas: _______, _______ and ______ If anyone knows any issues that I could take a look at I would be very much appreciated Thanks
Once you have registered your class assignments are basically to find JIRA issues that you want to fix. The issues can be in any part of Maven, but it is best to start with the areas you have the most interest in. Once you have found a JIRA issue that you are interested in fixing, the process will work a little something like this:
I have had a look at MNG-4612 and I think this is a real issue because... I think I can fix it like so.... Is that the correct way to go about fixing it and is it a real issue at all Thanks
I have tested that this is a good patch and I would appreciate if a committer could review and apply Thanks
Keep in mind that the Committer School is just a way for us to identify people who are committed to developing patches with a view to eventually becoming committers.
When we have enough evidence that we think we can get you accepted as a committer we will nominate you and hopefully your nomination will be accepted.
Personally, if I see somebody averaging a good patch a week for 2-3 months and being active helping out on the users@maven.apache.org and dev@maven.apache.org mailing lists then I think I could make a strong case for such a person being given commit access.
So if you think you have the right stuff and want to become a Maven committer... class enrollment is open!