First Patch

Revision as of 01:29, 7 September 2011 by Tomwheeler (Talk | contribs)


NetBeans First Patch Program

The NetBeans Team announced in July that the open source project has 1 million active users. The project is unique in that its users are also developers, and we want to encourage more of them to become actively involved in making it better for everyone who uses it.

Of course, there are many ways to contribute, including submitting issues that describe bugs or useful new features, helping with localization, evangelism, documentation or answering questions on our mailing lists. Although the process for submitting code is well-documented, it involves tools and procedures with which some developers may lack experience. Experienced contributors find that that process is pretty straightforward, but it can be intimidating for new developers who want to submit their first patch.

If you've ever considered contributing code to NetBeans but felt you needed some extra guidance, we'd like to explain the "First Patch" program to you. This program attempts to pair a NetBeans user who has never contributed code with a mentor who volunteers to lead that developer through the process of submitting his or her first patch. We expect that once you've contributed your first patch, you'll have the confidence you need to submit more. You may even want to volunteer as a mentor to help someone else submit their first patch.

Program Details

To be clear, this program is aimed at getting through the patch process, not on learning Java or the NetBeans APIs. You're welcome to find an existing issue to work on or to file a new one, but in any case, the change should be a relatively simple improvement to NetBeans -- any of these issues would be perfect candidates (but see the bottom of this page for a list of issues that other people have already signed up to work on). The mentor who is assigned to assist you will be able to provide guidance in any of the following areas:

As a volunteer, you'll gain experience while making NetBeans better for all who use it. Of course, your resume/CV will probably also benefit from being able to say that you've contributed to one of the most popular open source projects around. But most importantly, you'll be able to give something back to the NetBeans community.

How to Participate

To ensure participants get the attention they deserve, each mentor will work with just one developer, so space is limited.

As of August 14, 2011 we have about twice as many participants as mentors. If you're an experienced NetBeans contributor who wants to volunteer as a mentor, please contact Tom Wheeler ( directly. If you'd like to participate in the program to submit your first patch, e-mail Tom and he'll make sure you're included when the program is offered again.

Program Milestones

The following is a list of milestones for the First Patch program. It's here to show the sequence of events and to show who is responsible for each step. Although the list may seem long at first, many of the tasks take just a few minutes to complete.

  1. Developer submits the Contributor Agreement (CA)
  2. Developer creates an account on (to allow updates to IssueZilla and the Wiki)
  3. Contributor Agreement is approved by Oracle
  4. Developer identifies the issue he/she wants to work on to the program administrator (Tom Wheeler).
  5. Mentor assigned/introduced to developer
  6. Developer assigns issue to himself/herself and adds mentor as cc
  7. Developer checks out code from Mercurial
  8. Developer builds the appropriate configuration of NetBeans from source
  9. Developer identifies the files which needs to be changed, then updates the issue to describe how he/she will implement the issue and how he/she will test those changes. This will be called the "implementation plan."
  10. Mentor reviews the developer's implementation plan and makes helpful suggestions about possible improvements.
  11. Developer updates the issue to describe any changes to the implementation plan.
  12. Developer implements the changes described in the implementation plan.
  13. Developer tests to verify that the changes resolve the issue
  14. Developer creates a patch and provides it to the mentor so he/she can verify and test the change. The mentor will either let the developer know that the patch is OK, or if not, what needs to be changed.
  15. Developer submits the patch to NetBeans via IssueZilla. The mentor will integrate the change if he/she has commit access, or will work with another NetBeans developer who does have commit access to integrate the change.
  16. Developer and mentor both verify that the issue is fixed in the nightly build, then mark the issue VERIFIED in IssueZilla.
  17. Mentor contacts the program administrator (Tom Wheeler) to inform him that the issue is now resolved.


As a participant, you'll need to communicate with two people. Your first few contacts will be with Tom Wheeler (, who set up the First Patch program. After you've signed the contributor agreement and told Tom what issue you plan to work on, Tom will introduce you to the mentor who will be helping you.

Your mentor will be responsible for reviewing your implementation plan and patch, testing your patch and verifying that the issue is resolved. Additionally, he or she will answer any questions you have along the way, particularly on how to use Mercurial, IssueZilla or about NetBeans coding standards. Although e-mail is probably the best way to stay in contact with your mentor, you may also communicate in other ways (e.g. Skype, telephone, etc.) if you both find it convenient to do so. Your mentor will strive to answer your questions within a day or two, but should also inform you (and Tom Wheeler) if he or she plans to be unavailable for more than two days during the program. Both developers and mentors should feel free to contact Tom Wheeler ( if they're having trouble or need clarification.

Finally, it will be very helpful if developers can take notes as they work through submitting their first patch, then summarize those notes for Tom Wheeler at the end. This will give use the feedback we need to improve any documentation that is unclear and to try and make the process for submitting patches even easier for new contributors.


Since there are twice as many developers as mentors, we will run two sessions of the First Patch program so that everyone who wanted to participate will be able to do so. Here's the schedule for the first session (the second one will be announced later, but will probably start in early October):

10 August, 2011
First Patch Program announced. Developers and mentors are asked to participate.

14 August, 2011
All developers are contacted to provide more details about the program, including the schedule, available sessions and milestones. The developers are asked to specify which session they prefer, what issue they'd like to work on and to ask them to submit the contributor agreement form.

22 August, 2011
All developers participating in the first session will be introduced to their mentor. The mentor will guide the developer through the rest of the patch submission process.

4 September, 2011
Developers and mentors should refer to the milestone list above and make sure they're on track to finish on time.

19 September, 2011
Issues should be complete and verified.

Issues Already Claimed

The following issues have already been claimed by other participants, so you will not be able to choose them:

  • 59240
  • 82745
  • 119629
  • 134643
  • 148359
  • 177344
  • 180655
  • 187579
  • 198325
  • 201303

Other Notes

Patches should be developed against the main repository. However, if the main repository does not build or pass validation, then you should can develop your patches against main-golden repository instead.

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo