<h1>BPEL, AspectJ, Orbit, ECESIS, Buckminster, Higgins, Project Reviews, ECF</h1>
<h2>PMC Minutes September 11, 2006</h2>
<div align="center">
  <center>
  <table border="0" cellspacing="3">
    <tr>
      <td align="center" bgcolor="#CCCCCC"><b>Attending</b></td>
      <td align="center" >&nbsp;</td>
      <td align="center" bgcolor="#CCCCCC"><b>Late</b></td>
      <td align="center" >&nbsp;</td>
      <td align="center" bgcolor="#CCCCCC"><b>&nbsp;Regrets&nbsp;</b></td>
      <td align="center"></td>
      <td align="center" bgcolor="#CCCCCC"><b>&nbsp;Missing&nbsp;</b></td>
    </tr>
    <tr>
      <td>Wayne Beaton</td>
      <td></td>
      <td></td>
      <td></td>
      <td>Cliff Schmidt</td>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <td>Ward Cunningham</td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <td>John Duimovich</td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <td>Bjorn Freeman-Benson</td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>
  </table>
  </center>
</div>

<p>John reports that the BPEL project has changed its Project Lead and was a bit
disorganized for a while. John will talk to the new lead and see what's going to
happen. The AspectJ and AJDT projects will move over to Tools. Photran and
Nebula are TBD.</p>

<p>We talked about Orbit for a while - we all like the idea. It will be a Tools
project.</p>

<p>Wayne reviewed Phoenix (no issues) and ECESIS (no progress on this). Bjorn
suggested that perhaps ECESIS is really just a repository of articles and
slideware and perhaps should be part of the Resources page instead of a separate
project, especially as the project seems moribund.</p>

<p>Ward had not report.</p>

<p>Bjorn reported on a number of projects: Mylar, Buckminster, Corona, eRCP, EPF,
Higgins. Buckminster and Higgins are in the process of moving their extra-eclipse.org
wikis to the wiki.eclipse.org. We have to be careful with the IP content of
those pages, but other than that this is a good idea.</p>

<p>Things we should look for in a project being a good Eclipse citizen:</p>

<ul>
  <li>Is their project home landing page up-to-date? Does it have Phoenix style?
    Is the content current or obsolete?<br>
    <i>The correct answers are &quot;Phoenix&quot; and &quot;current&quot;.</i></li>
  <li>Does the project do its work on eclipse.org servers versus some offsite
    servers? Specifically, does it use eclipse.org mailing lists? newsgroups?
    wiki? downloads?<br>
    <i>The correct answers are &quot;on the eclipse.org servers&quot;.</i></li>
  <li>Does the project use the <a href="http://www.eclipse.org/projects/dev_process/project-status-infrastructure-page2.php">project-info.xml
    files</a> as described in the documentation? Does the project use the <a href="http://www.eclipse.org/projects/dev_process/project-status-infrastructure-page3.php">standard
    left menu</a> as described in the documentation?<br>
    <i>The correct answers are &quot;yes&quot; and &quot;yes&quot;.</i></li>
</ul>
<p>We discussed ECF for a while - how much is it in use? What can we do to help
small projects like this?</p>

<hr>

<p>Current project mentors:</p>

<ul>
  <li>Bjorn
    <ul>
      <li> <a href="http://www.eclipse.org/buckminster/">Buckminster</a></li>
      <li> <a href="http://www.eclipse.org/corona/">Corona</a></li>
      <li> <a href="http://www.eclipse.org/ercp/">eRCP</a></li>
      <li> <a href="http://www.eclipse.org/epf/">EPF</a></li>
      <li> <a href="/higgins/">Higgins</a></li>
      <li> <a href="http://www.eclipse.org/mylar/">Mylar</a></li>
    </ul>
  </li>
  <li>Cliff
    <ul>
      <li><a href="http://www.eclipse.org/alf/">ALF</a></li>
      <li><a href="/ptp/">Parallel Tools Project</a></li>
    </ul>
  </li>
  <li>Ward
    <ul>
      <li> <a href="http://www.eclipse.org/ecf/">ECF</a></li>
      <li> <a href="/vtp/">Voice Tools Project</a></li>
      <li><a href="/laszlo/">IDE for Laszlo</a> </li>
      <li><a href="http://www.eclipse.org/ohf">OHF</a> </li>
    </ul>
  </li>
  <li>Wayne
    <ul>
      <li> <a href="http://www.eclipse.org/ecesis">ECESIS</a></li>
      <li> <a href="http://www.eclipse.org/phoenix/">Phoenix</a></li>
    </ul>
  </li>
  <li>John
    <ul>
      <li><a href="http://www.eclipse.org/aspectj/">AspectJ</a> &amp; <a href="http://www.eclipse.org/ajdt/">AJDT</a></li>
      <li> <a href="http://www.eclipse.org/bpel/">BPEL</a></li>
      <li><a href="http://www.eclipse.org/dash/">Dash</a></li>
      <li><a href="http://www.eclipse.org/nebula/">Nebula</a></li>
      <li><a href="http://www.eclipse.org/photran/">Photran</a></li>
    </ul>
  </li>
</ul>
