<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
  <head>
    <meta http-equiv="CONTENT-TYPE" content="text/html; charset=UTF-8">
    <title>The Voice Of the NetBeans Community</title>
    <meta name="AUTHOR" content="Tinuola Awopetu">
    <meta name="description" content="The Voice of the Community is a program to organize, specify and prioritize the
          various needs of the community">
    <link rel="stylesheet" type="text/css" href="../../netbeans.css">
  </head>
  <body>
    <h1>NetBeans Voice of the Community (VOC) Program<br>
    </h1>
    <p><em>By Tushar V. Joshi<br>
        <br>
      </em></p>
    <h2>What is VOC?<br>
    </h2>
    <div style="padding: 0pt 0pt 7px 7px; width: 200px; float: right; font-size: 120%; font-weight: bold;">VOC monitors the pulse of the NetBeans community.<br>
    </div>
    <p>
      As the NetBeans
      community grows, identifying, prioritizing and managing the needs of the community becomes more and more crucial. The
      <a href="http://wiki.netbeans.org/VoiceOfCommunity">Voice of the Community (VOC)</a>
      program was started to address these tasks. Initiated by NetBeans
      Community Manager Jiri Kovalsky and comprised of three captains, VOC's
      main activities are to monitor the various NetBeans
      channels such as the mailing lists, forums, and blogs, to take the pulse of
      the NetBeans community, and to evaluate how concerns should be handled. VOC
      functions as a link between
      the NetBeans community and NetBeans-Sun Microsystems management--a
      conduit for voices and ideas to be heard and a driver for transparency.<br>
    </p>
    <p>To launch VOC, Jiri solicited applications from members of the
      NetBeans mailing lists. Many responded, and three candidates were
      chosen: Michel Graciano
      (Brazil), Annabel Melongo (USA) and
      Tushar Joshi (India). The
      diversity of the team reflects the international range of the NetBeans
      community. With team members on four continents, VOC not only provides
      continuous monitoring of the NetBeans channels, but also brings varied cultural and geographical perspectives to the table.<br>
    </p>
    <br>
    <h2>How does VOC work?<br>
    </h2>
    <div style="padding: 0pt 0pt 7px 7px; width: 200px; float: right; font-size: 120%; font-weight: bold;">Three hot-topic issues are discussed at VOC meetings.<br>
    </div>
    <p>The VOC team meets every three weeks. Each captain selects an issue
      from the channels they monitor. A chosen issue also needs to
      have been filed in Issuezilla
      with a valid reporter and clear description of how to reproduce it. At
      VOC meetings, captains have to explain why an issue is relevant, be able
      to reproduce it, and provide the issue's record (typically a Nabble
      forum thread link). If an issue is aligned with NetBeans's and Sun's
      technical priorities,
      the VOC captains and Jiri take a vote to decide on implementation.<br>
    </p>
    <p>VOC meetings are usually held via
      online chats; the current platform is the <a href="http://kenai.com/projects/nbvoc">Kenai project for
        VOC</a>.
      At the close of each meeting, actions items are assigned to each
      captain, and meeting transcripts are posted to the<span style="text-decoration: underline;"> </span><a href="http://wiki.NetBeans.org/VoiceOfCommunity">VOC wiki page</a> days later. Besides posted issues, there are also high-priority
      issues or sudden defects in the NetBeans IDE that are discussed on the <a href="mailto:voc@netbeans.org">VOC mailing list</a>,
      and fixes are automatically made available in release updates.<br>
      <br>
    </p>
    <h2>VOC Captains on why the program matters.<br>
    </h2>
    <div style="padding: 0pt 0pt 7px 7px; width: 200px; float: right; font-size: 120%; font-weight: bold;">“VOC has given me a sense of responsibility...”</div>
    <p>The program has benefits not only for the community, but also for
      its captains. The community gets a channel to provide feedback and
      introduce new ideas and requests to NetBeans engineers, and the VOC
      captains are given the opportunity to see first-hand how the NetBeans
      project is shaped technically and conceptually. The captains though think that VOC has given them much more.<br>
    </p>
    <h4>For Annabel Melongo, purpose.<br>
    </h4>
    <p>"<i>The VOC program has given me a sense of
        responsibility and organization. Responsibility because I know that
        what
        I'm doing impacts the needs of a
        lot of developers. Organization because I have to monitor lists,
        forums, blogs, make notes, organize
        my time and my email folders and ask people to file issues. Sometimes
        if I don't check the lists on the weekend I feel as if I'm letting
        people down. Now I monitor the lists at least ONCE
        during the weekend</i>".<span style="font-weight: bold;"></span><br>
    </p>
    <h4>For Tushar Joshi, helping others stay informed. <br>
    </h4>
    <p>"<i>I have started spending
        more time on the NetBeans FAQ and
        tutorial pages. One habit I have formed is to assume all the
        information is available in the FAQ
        and tutorial sites and whenever community members are not able to get the information, send
        them to the correct page as it is usually available in the site
        somewhere. If it is not available
        then I try to find out whether there is any issue already filed and
        ask them to vote for it.</i>"<br>
    </p>
    <h4>For Michel Graciano, an enriched experience.<br>
    </h4>
    <p>"<i>Helping the
        community by ensuring that the NetBeans team knows the users' needs, from the
        community's point of view, is the best feeling I get from this work.</i>"<span style="font-weight: bold;"><br>
      </span></p>
    <p>
    </p>
    <h4><span style="font-weight: bold;"></span>For Jiri Kovalsky, an engaged community.</h4>
    <p>"<i>I perceive VOC as a true dialogue with the
        NetBeans community.
        The VOC Captains get regular updates on development progress, plans,
        important issues, and we receive feedback about what is bothering
        NetBeans users during
        release cycles. Of course NetBeans engineers can't fix everything,
        but we can also turn to <a href="http://wiki.netbeans.org/NetFIX">NetFIX
          developers</a>! And VOC meeting transcripts are public which clearly supports
        our goal to have a true open source
        project..</i>"</p>
    <p>
    </p>
    <p>
      As these four voices attest, VOC can be an interactive and satisfying
      experience, leading to stronger relationships within the NetBeans
      community and ties to the NetBeans team. <br>
    </p>
    <p>Do you want to be focused, informed, involved and engaged? Consider trying out for the next NetBeans VOC season!
      VOC
      stewardship is a year-long term, and the next team will be selected in
      January 2010. </p>
    <h2>Recent VOC Achievements</h2>
    <h3>Fixed Issues:</h3>
    <ol>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=47233">Votes should not be removed</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=156183">Make projects usable during "project initializing"</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=149798">NullPointerException at SimpleTargetChooserPanelGUI.updateCreatedFolder</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=133943">Make the IDE usable during scanning</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=159464">GSP coloring not preserved when configured</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=150510">NullPointerException at python...invokeAction</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=152894">Edit/Highlight loop causes 5s-10s EDT pauses</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=13857">Cutting/Copying vertical blocks of text</a>
	(workaround with plugin )</li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=161367">Scanning projects task never terminates</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=157692">Latest patches modify build-impl.xml, setting path to "/does/not/exist"</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=123169">Groovy debugging support</a> (workaround available)</li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=167262">Output window hyperlinks don't work like they used to</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=168061">[67cat] Getter generation working wrong for Boolean fields</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=158812">Inconvenient debugging JUnit test since the fix of issue 158068 and 119922</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=168380">Not able to submit breakpoint : No executable location available</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=46813">NetBeans does not support UNC paths</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=13063">Option to remove whitespace at end of line</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=26513">[60cat] Accumulate votes over dependencies</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=153753">Publish JavaFX Support plugin on Stable 6.5 UC</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=161033">[67cat] ClassCastException: ... HtmlParserResult</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=165170">[67cat] Opened files full of errors after restart</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=144112">[65cat] Support a alias for database connection</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=160747">[67cat] Continue button is disabled when on breakpoint</a>
      </li>
    </ol>
    <h3>Candidates For Implementations:</h3>
    <ol>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=134990">Source path modification initiated from build script starts scanning</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=119818">search results sort buttons gone</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=63953">Show TODO statements at error stripe</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=105075">Provide an Entity/Relationship Diagram tool</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=121950">Wrong error badges umbrella</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=159293">Adding a Jar with right-click in Files View</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=143771">"Add JAR/Folder" must start relative to project</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=51733">Split add JAR/folder into two separate buttons</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=144112">Support a alias for database connection</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=124169">Formatter Defaults for "Code Conventions for the Java Programming Language"</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=100758">Implement beans refactoring</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=165245">Class index is not available until its root is first touched by java indexer</a>
      </li>
    </ol>
    <h3>WONTFIX Issues:</h3>
    <ol>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=164441">Project scanning continues even if the folder is removed from Libraries</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=154974">java debugger crashing</a></li>
      <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=160531">Generating getters for a Boolean makes a getXxxx method instead of a isXxxx method</a>
      </li>
    </ol>
  </body>
</html>
