<html>
<head>
<title>WTP PMC Minutes for May 2, 2006 Conference Call</title>
</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 - May 2, 2006</font></b></td>

  </tr>
  </tbody></table>
<table border="0" cellpadding="2" cellspacing="5" width="100%">
  <tbody><tr> 
    <td> 
		PMC Members Attending:
		Tim Wagner [TW],
		David Williams [DW],
		Arthur Ryman [AR]
		Raghunathan Srinivasan [RS],
        Jochen Krause [JK]
        
		<P>PMC Member Regrets: Naci Dai [ND]
		
		<P>Invited Guests: Neil Hauge [NH]

        <P>Others:
        Lawrence Mandel [LM]

<!--NOT PRESENT ON THIS CALL:
		Craig Becker [CB]
-->

<h1>WTP PMC Minutes for May 2, 2006 Conference Call</h1>

<h2>Community Update [LM] </h2>
<ul>
  <li>Link to project Antoine will go live on website shortly.
  <li>WTP logo approved by Eclipse legal.
  <li>Another WTP contributor (Joan Haggarty) won the great bug contest for this cycle!
<!--  <li>RSS feed being tested; planned to go live along with Phoenix conversion. -->
</ul>

<h2>Procedural [TW] </h2>
<ul>
  <li>Logo and trademark use policy: only the owner of a logo or trademark can approve its use within WTP for
      identifying a plugin, adapter, or any other artifact or process.
  <li>WTP will include use of logos, trademarks, and other non-code IP in the "about" files and its IP log.
  <li>Remotely downloaded artifacts will be identified by the providing entity; this will eliminate the possibility
      of ambiguity or confusion over who is delivering the software.
  <li>For server adapters or other "runtime" entities that are redistributed with WTP, the stated policy is
      that only a single implementation is permitted for each target system. Alternate providers must work
      with the existing codebase or use a remote download approach.
</ul>

<h2>Requirements [JK] </h2>
<ul>
  <li>Open call last week for gathering requirements; minutes will be forthcoming (wiki was down during
      working hours in Germany).
  <li>Jochen will summarize highly requested features in Bugzilla and circulate with WTP.
  <li>Discussion of "pluggable" web service code generation (Glassfish in addition to Axis) - came out of
      last week's requirements call.
  <li>See <a href="http://wiki.eclipse.org/index.php/Web_Tools_Requirements_2.0">WTP 2.0 Requirements wiki</a>
      for emerging 2.0 requirements and release planning.
</ul>

<h2>1.0.2A </h2>
<ul>
  <li>WTP will release a 1.0.2A which includes a fix for
      defect <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=138825">138825</a>
      where the feature id qualifiers are altered to not include underscores.
      (Note that there are no code changes).
</ul>

<h2>1.0.3 </h2>
<ul>
  <li>WTP will maintain a maintenance stream denoted 1.0.3.
  <li>Fix policy on this line will be: each fix requires PMC approval, approval is in the
      form of at least 3 "yes" and no "no" votes in the bug itself from PMC members. There is
      no "timeout" clause. Disputed votes will be discussed at the next PMC call. Defects should
      not be raised to the PMC for approval unless the fix is in hand and has been fully tested
      and code reviewed at the component lead level.
  <li>1.0.3 will be released incrementally via feature revision on the WTP update site. Feature
      "release" in this form (as well as a conventional release of 1.0.3 bits) requires PMC approval
      and will be discussed on the PMC calls as needed.
  <li>The "underscore" problem in the 3.1.x platform is currently requiring us to manually
      assign/fix the feature id qualifiers; automating this would help eliminate the possibility
      of human errors in 1.0.3 feature releases.
</ul>

<h2>Callisto / 1.5 Status </h2>
<ul>
  <li>RC2 status: Moved up to RC2 of the platform; still waiting for EMF/GEF to update. On track for end of
      the week.
</ul>

<h2>JSF Status [RS] </h2>
<ul>
  <li>Naci checking integrated build.
  <li>Repackaging is nearly complete.
  <li>Faces config editor and IBM EMF contribution have been integrated, and should be in a build by
      the end of this week.
</ul>

<h2>Dali Status [NH/SS] </h2>
<ul>
  <li>M3 progress.
  <li>Bjorn and Neil scheduling the "move" review.
  <li>Need some help from Naci on builds, which may be teed up behind other build activitie (JSF integration,
      etc.)
</ul>

<h2>Action Items </h2>
<ul>
  <li>[TW] IP log: include TMs and logos and "about" file updates; verify with Janet where we are on
           the approval process for 1.5.
  <li>[TW] (held over / no response yet) Research whether WTP can reprint the text of the Sun DTD/Schema license.
      (Question from Lawrence for Janet as part of 1.5 IP.) Still reply.
  <li>[TW] Reuse/reship of the 3rd party Equinox plugin from the platform verified with EMO. No
      additional review is required, but we do need to log the use in the WTP IP log.
</ul>

<small>Minutes taken by Tim Wagner, May 2, 2006. Please notify me of any corrections needed.
</small>
</tr>
</tbody></table>
</html>
