blob: 37c5871c2ca9f8dbee954b9c7d2efadf46e81032 [file] [log] [blame]
<html>
<head>
<title>It Takes a Community to Write Good Software</title>
<meta name="DESCRIPTION" content="How do community members and the NetBeans team work together?">
<meta content="Ruth Kusterer" name="AUTHOR">
<link rel="stylesheet" type="text/css" HREF="../../netbeans.css">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>It Takes a Community to Write Good Software</h1>
<div class="trail-box half-width" style="float:right">
<div class="trail-box-header">
<img src="../../images_www/v6/trails/trails-box-tr.png" width="7" height="21" class="right">
<img src="../../images_www/v6/trails/trails-box-tl.png" width="7" height="21" class="left">
<h1>What's in it for me?</h1>
</div>
<div class="trail-box-content">
Our contributors have earned various rewards: Peer recognition, special edition t-shirts,
USB memories, gift vouchers, LinkedIn recommendations and even job offers.
</div>
<div class="trail-box-bottom">
<img src="../../images_www/v6/trails/trails-box-br.png" width="7" height="6" class="right">
<img src="../../images_www/v6/trails/trails-box-bl.png" width="7" height="6" class="left">
</div>
</div>
<p>
Looking back to 2005, the NetBeans community has grown significantly:
The number of active users doubled each year for the past 3 years,
the IDE has been downloaded over 20.5 million times,
we have shipped more than 225,000 NetBeans Starter Kits on CDs & DVDs,
and over 550,000 users from over 130 countries communicate on the NetBeans mailing list.
</p>
<p><img src="../../images_www/articles/jirka-kovalsky.png" style="float:left;margin-right:10px" alt="Jiri &quot;Jirka&quot; Kovalsky"
width="110" height="159"/></p>
<p>
How do community members and the <a href="https://netbeans.org/community/teams/">NetBeans
teams</a> work together?
The Dream Team is an international group of highly skilled
NetBeans users and contributors acting as
a liaison between users, partners, contributors, and engineers.
The team members work on several self-assigned
<a href="http://wiki.netbeans.org/NetbeansDreamTeamIdeasAndProjects">hobby projects</a>
that range from writing magazine and blog articles about the NetBeans IDE,
to providing user support in forums, or implementing new features as modules.
</p>
<div style="float:right;width:200;padding:0 0 0 10px;font-size:110%;color:gray"><p>A liaison between users, partners, contributors, and engineers.
</p></div>
<p>
Jiri Kovalsky is Sun Microsystem's technical manager for the NetBeans community.
He is not only the contact person for the NetBeans
<a href="http://wiki.netbeans.org/NetBeansDreamTeam">Dream Team</a> but also for many activities like
the NetBeans <a href="https://netbeans.org/grant/">Innovators Grant</a> contest.
To the community, Jiri is probably best known for coordinating the
<a href="http://qa.netbeans.org/processes/cat/65/index.html">NetCAT</a> quality program.
</p>
<p>
Being a member of the Dream Team is only one example how you can be part of your favorite Open Source project.
We asked Jiri to look back on the last few months and tell us more about
the developers and partners that offered their skills and volunteered
to do quality testing of the IDE and plugins, or to moderate mailing lists and forums.
</p>
<h2>Public Quality Testing: The NetCAT Program</h2>
<div style="float:right;width:200;padding:0 0 0 10px;font-size:110%;color:gray"><p>Real users working with real projects.</p></div>
<p>
Many community members regularly volunteer for the
NetBeans Community Acceptance Testing program, better known as NetCAT.
NetCAT participants use daily builds and provide early feedback.
Their reports are very valuable because they are real users working
with real projects.
</p>
<p>
For example during NetCAT 6.0, 1362 users filed a total of 6350 bug reports.
60 of them were NetCAT participants, 273 were Sun employees, and 1029 were other community members.
As you can see, although only 4% of reporters were NetCAT participants,
they detected 10% of all issues.
</p>
<div style="float:right;width:200;padding:0 0 0 10px;font-size:110%;color:gray"><p>The quality acceptance survey determines the "go" or "no go".
</p></div>
<p>
Additionally, NetCAT participants get the opportunity
to be the first to try out new documentation and to test freshly released plugins.
This year the team already tested the new Eclipse Projects Importer plugin,
validated tutorials for NetBeans 6.1,
or they reviewed questions that will be used in the Sun Certified NetBeans IDE Specialist exam.
</p>
<p>
After the testing period is over, NetCAT participants fill in the
quality acceptance survey.
The outcome of the survey determines whether the release build
is given a "go" or "no go". Interested in joining? Learn more from the
<a href="http://qa.netbeans.org/processes/cat/65/faqs.html">NetCAT program FAQ</a>.
</p>
<h2>Community Partners: Compatibility Testing</h2>
<p>
NetBeans Community Partners are companies or open-source communities
who endorse NetBeans as a development environment and/or application platform.
Community Partners may contribute code to the NetBeans code base,
or they promote NetBeans by giving presentations,
including it in training, or writing articles or books.
</p>
<div style="float:right;width:200;padding:0 0 0px 10px;font-size:110%;color:gray"><p>Two issues identified and fixed, no show-stoppers detected.
</p></div>
<p>
In March 2008, the NetBeans engineers invited all community partners to a series of
<a href="http://wiki.netbeans.org/BackwardCompatibilityTesting">backward compatibility tests</a>.
These tests are designed for developers to verify
that their product is still compatible with the next version of the NetBeans API.
Four partners published their <a href="http://wiki.netbeans.org/NB61BackwardCompatibilityTestingReport">test
results</a> for NetBeans IDE 6.1.
All in all, two issues could be identified and fixed due to the test,
no show-stopper incompatibilities were detected.
</p>
<p>
Interested in taking part in the next compatibility test session?
You too can <a href="https://netbeans.org/community/partners/howto.html">become
a NetBeans Community Partner</a> and tap into one of the largest development communities.
If you have questions or feedback about being a NetBeans partner,
contact the <a href="http://tinyurl.com/3t892t">nb-partner program team</a>.
</p>
<h2>Plugin Verification</h2>
<p>
Over the last year, NetBeans developers contributed over 350 plugins to
the NetBeans <a href="http://plugins.netbeans.org/">plugins portal</a>.
The owner can request that his plugin be added to the
<a href="http://wiki.netbeans.org/FaqPluginUpdateCenter">Portal Update Center</a>,
so it can be installed via the IDE's Plugin Manager.
But often contributors have no means of testing plugins under realistic conditions,
such as different operating systems or IDE versions.
To avoid publishing untested plugins on the Update Center,
Jiri found eight users volunteering to verify new plugins.
</p>
<div style="float:right;width:200;padding:0 0 0 10px;font-size:110%;color:gray"><p>Community members evaluate which portal plugins become available via the Plugin Manager.</p></div>
<p>
The plugin verifiers install plugins of unknown quality on different operating systems and JDKs,
and rate them. As part of the verification process,
they check for bugs, exceptions and broken dependencies
as well as performance degradation, freezes or crashes.
They also make certain that the license text is complete,
that features correspond to the description,
and that the user experience is smooth.
</p><p>
Only if a majority of verifiers gives their OK, and no verifier disagrees,
the plugin passes the test and becomes available via the Plugin Manager.
If one verifier reports a serious problem (such as the plugin crashing the IDE),
the plugin is rejected.
The plugin owner is informed of the status and
asked to fix the bug before he can request verification again.
</p>
<h2>Mailing List Moderation</h2>
<div style="float:right;width:200;padding:0 0 5px 10px;font-size:110%;color:gray"><p>High-traffic support lists are open to questions from anyone, but at the same time remain spam-free.
</p></div>
<p>
Jiri can also report a fourth successful project:
The main netbeans.org mailing lists are now fully moderated.
This means that incoming messages from unsubscribed users
are approved manually to allow them to post, and at the same time,
spam messages are sorted out.
That's a lot of work for the list owners!
</p>
<p>
Jiri wanted to improve this process and approached some community members for help:
He found five volunteers who agreed to moderate incoming messages.
They live in different timezones, and each of them checks only
a small set of incoming messages every day, but
the work load is distributed to a tolerable amount.
Thanks to this successful team effort, high-traffic
<a href="https://netbeans.org/community/lists/">support lists</a>
are open to questions from anyone, but at the same time remain spam-free.
</p>
</ul>
<P>Thanks to all community members who contribute to the NetBeans project! You rock!!</P>
<h2>Related Links</h2>
<ul>
<li><a href="http://qa.netbeans.org/processes/cat/65/">NetBeans IDE 6.5 NetCAT program overview</a></li>
<li><a href="https://netbeans.org/community/articles/backward-compatibility-testing.html">NetBeans API backward compatibility testing</a></li>
<li><a href="http://wiki.netbeans.org/FaqCanIHelpModerate">Support Mailing list moderation</a></li>
<li><a href="http://wiki.netbeans.org/FaqPluginUpdateCenter">All about the plugin verfication process</a></li>
<li><a href="http://wiki.netbeans.org/NetBeansDreamTeam">The NetBeans Dream Team</a></li>
</ul>
</body>
</html>