Proposed “First Patch” Program to Mentor New NetBeans Developers
By Geertjan-Oracle on Aug 03, 2011
I'm taking the liberty to repost here in its entirety an e-mail that Tom Wheeler has posted on the nbdiscuss alias. Tom Wheeler is one of the current three members of the NetBeans Governance Board. I reckon a lot of people who might be interested in reading this are not actually on that mailing list.
Ideally, if you have a comment to make on the e-mail below, you'll join the nbdiscuss mailing list and add your comments to the thread there, since that's where Tom is holding this discussion.
Peter Belbin, a fellow NetBeans community member, recently e-mailed the NetBeans Technical Community Manager Jiří Kovalský regarding a poll  on the NetBeans Web site. The poll asked “What best describes your experience with NetBeans Plugins?” and offered four choices to denote the degree to which missing or outdated plugins affected their use of NetBeans. Peter made several interesting points in his message, and Jiří cc'ed me on his response since it was relevant to discussions we've been having on the NetBeans Governance Board. Peter gave me permission to summarize our discussion here, since I think we'd all benefit from having more voices in the discussion. 34% of respondents said that missing or outdated plugins limit their use of NetBeans, while 22% said that some useful plugins are missing. When combined, this means that 56% of these people found the current state of available plugins somehow affected their use of NetBeans. Although this is not a scientific poll by any means, there were more than 3,000 responses so it is noteworthy. I found the subsequent poll interesting. It asks “What do you do when faced with a problem using NetBeans IDE?” Of the 1617 responses, just 21% said they file a bug report and only 5% fix the bug and contribute a patch. I'm pleased as a community that Oracle has continued to fund NetBeans development. I want to be clear that I am speaking *only* as a community member here, but it looks like Oracle will continue to do so, with focus on the areas that are important to their business (i.e. those which attract customers, increase market share, showcase key technologies or provide some other competitive advantage). This implies that there will be technologies which they choose not to add to NetBeans (e.g. support for niche programming languages or source control systems). In other cases, they may choose not to fund new development for certain features already in the IDE (e.g. support for Ruby or UML). In either case, it's important that Oracle hands these off to the community so they can take the lead on development. I feel they've done this in all cases, but it's also important that the community steps up to work on what matters to them and that they can do so succesfully. The question remains: if 56% of NetBeans users are affected to some degree by missing or outdated plugins, why is only a small percentage contributing back? The discussion between Peter, Jirka and I also touched on whether there were viable ways to make it easier to contribute code and whether there could be some way for people to contribute money rather than code in order to support the features they found important. In order to contribute code, I think you need three things: technical knowledge of Java/NetBeans APIs, familiarity with the patch contribution process and the motivation to do it. Although there is still a big learning curve with learning the NetBeans APIs, the tireless work by Geertjan Wielenga and others in documenting how to use them effectively is demonstrated in the hundreds of applications built on the NetBeans Platform  by independent developers. As part of my work on the NetBeans Goverance Board, I plan to attack the second problem by starting a “First Patch” program to mentor new NetBeans developers through submitting their first patches. This is in addition, of course, to the remarkable work that Jiří Kovalský has done managing the NetFIX and NetCAT programs for many years. We're working hard on lowering the barriers so that more people can contribute to NetBeans. The one aspect we need help with is motivation. I'd like your honest feedback in helping to understand what does (or does not) motivate someone to contribute to an open source project, and in particular, NetBeans. What could we reasonably do to turn more people from passive NetBeans users into people who actively try to make the IDE better? After all, any NetBeans user is by definition also a developer. If you have contributed to NetBeans, what motivated you to do so? If you haven't, what stopped you? If you're active in other open source projects, what specific things could we learn from them? And finally, do you think it's practical for community members to chip in money (in lieu of code) so that other community members will have an incentive to develop or maintain specific plugins or features? Having been involved in some community programs (such as NetBeans Innovators Grant ) that involved money crossing international boundaries, I know this can be a logistical nightmare. Any references to projects which handle community funding succesfully *and* in accordance with all relevant laws and regulations are welcome. Thank you for your thoughts, Tom Wheeler NetBeans Community Member http://netbeans.org/community/polls/  http://platform.netbeans.org/screenshots.html  http://netbeans.org/grant/