<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Eclipse Web Tools Platform Project Development</title>

<link rel="stylesheet" href="../../../default_style.css" type="text/css">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"></head>

<body alink="#ff0000" bgcolor="#ffffff" link="#0000ee" text="#000000" vlink="#551a8b">
<table border="0" cellpadding="2" cellspacing="5" width="100%">
  <tbody><tr> 
    <td colspan="2" align="left" bgcolor="#0080c0" valign="top"><b>
    <font color="#ffffff" face="Arial,Helvetica">PMC Conference Call - November
    30, 
    2004</font></b></td>

  </tr>
  </tbody></table>
<table border="0" cellpadding="2" cellspacing="5" width="100%">
  <tbody><tr> 
    <td> 
      <p>Attending:  Jochen Krause, David Williams, 
      Dominique De Vito, Arthur Ryman, Bjorn Freeman-Benson, Christophe Ney</p>
      
      
      
      <p><b>Committer Inventory</b> by Bjorn</p>
      
      
      
      <ul>
        <li>Dominique and Bjorn are puzzled about what we are supposed to be 
        doing. Action item: Bjorn will ask Mike exactly what we need to do for 
        this.</li>
      </ul>
      
      
      
      <p><b>Code Contribution Inventory</b> by Bjorn</p>
      
      
      
      <ul>
        <li>The work is distributed between Arthur and Naci; IBM has done 
        theirs; Dec 2 for the redistribution inventory from IBM</li>
      </ul>
      
      
      
      <p><b>Marshall Culpepper Committer Vote</b> by Dominique</p>
      
      
      
      <ul>
        <li>Positive vote = welcome to Marshall as a committer</li>
      </ul>
      
      
      
      <p><b>CVS and Website</b> by Arthur and Bjorn</p>
      
      
      
      <ul>
        <li>Denis has prototyped the &quot;website in CVS but served via Apache&quot; 
        scheme</li>
        <li>Arthur will do the work of moving the website to CVS and then send 
        Denis an email to ask him to make the process change</li>
        <li>The people with WebDAV write access will become committers</li>
      </ul>
      
      
      
      <p><b>M2 Shutdown</b> by David </p>
      
      
      
      <ul>
        <li>David will post plan to website</li>
        <li>component leads will write new &amp; noteworthy</li>
        <li>new &amp; noteworthy consolidation will be done by Jochen</li>
        <li>discussion of how to build and what plugins to load and why it won't 
        build</li>
        <li>we need more documentation about how to build the system and how to 
        develop the system</li>
        <li>who is creating the tutorial? what's the plan? who is creating the 
        development test plan? who is creating the build tutorial? what are the 
        features?</li>
        <li>We should not end M2 until we meet the exit criteria = &quot;builds 
        correctly; has tutorial?&quot;</li>
        <li>simulate what a contributor would be doing.</li>
      </ul>
      
      
      
      <p><b>M2 Status</b> by David&nbsp;</p>
      
      
      
      <ul>
        <li>
          The test plans should be published by 12/10; component leads should
          write them
          <ul>
            <li>12/10 (Friday) - candidate build for M2 (on Eclipse M3),
              component test plans complete, component teams (and community)
              begins &quot;milestone testing&quot;.&nbsp;</li>
            <li>12/20 (Friday) - upgrade build for final candidate build
              (include Eclipse M4, and &quot;most recent&quot; versions of pre-req
              projects).&nbsp;</li>
            <li>12/20 to 12/22, &quot;regression tests&quot; with new base/pre-reqs.&nbsp;</li>
            <li>12/22 (Wednesday) milestone M2 declared and promoted.</li>
          </ul>
        </li>
        <li>
          Naci will remove the unspec'ed items from the features (e.g., web services), but they can stay in CVS&nbsp;
        </li>
        <li>
          We seem
          to be on track for <a href="../planning/milestone_plan_1_0.html"> our high priority M2 items and some medium M2 items</a>
        </li>
      </ul>
      
      
      
      <p><b>Help Wanted List</b></p>
      <ul>
        <li>Bugzilla filtering is Bjorn's top desire</li>
        <li>The idea is to have a list of things that the project needs help 
        with, tasks ranging from a couple hours here and there up through major 
        efforts</li>
        <li>Dominique will write it up and circulate a proposal to PMC</li>
        <li>Then we'll put in on the newsgroup and the website</li>
      </ul>
      <p><b>Project Granularity</b> by Arthur</p>
      <ul>
        <li>Which Eclipse features should we distribute</li>
        <li>We should host an update site as well as the straight binary 
        download (in fact, one might argue that we should only have the update 
        site)</li>
      </ul>
      
      
      <p><b>On the Queue for Next Week</b></p>

      <ul>
        <li>Discussion of how the Requirements, Planning, and Architecture
          groups are functioning</li>
        <li>Requirements</li>
        <li>M2 Shutdown Plan</li>
        <li>Report from the Planning Council</li>
      </ul>
      
      
      
      
      
      
      <p><font size="-1"><i>Minutes taken and posted by Bjorn Freeman-Benson,, 
      December 4, 2004</i></font></p>
    </td>

  </tr>

  </tbody></table>
      
</body></html>