<html>
<head>
<title>WTP PMC Minutes for May 23, 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 23, 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],
		Raghunathan Srinivasan [RS],
		Arthur Ryman [AR],
        Naci Dai [ND]
		
		<P>PMC Member Regrets: none

		<P>Invited Guests: Neil Hauge

        <P>Others:
        Lawrence Mandel [LM]

<!--NOT PRESENT ON THIS CALL:
        Jochen Krause [JK],
-->

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

<h2>Community Update [LM] </h2>
<ul>
  <li>JavaOne report: deferred until next week
  <li>Release publicity plan: Ian is organizing cross-project webinars and
      the "high level" Callisto press release.
      <ol>
        <li>Resurrect list of sites to post to / monitor
        <li>Press releases from member companies
        <li>Tim to contact Ian over press outreach for WTP specifically
        <li>Update tutorials (post RC4)
        <li>Look for WTP community members interested in authoring articles
      </ol>
<!--  <li>RSS feed being tested; planned to go live along with Phoenix conversion. -->
</ul>

<h2>Procedural [TW] </h2>
<ul>
  <li>Dali move review reminder (tomorrow, Wed, May 24th at 8am PDT)
  <li>WTP release review - see URLs in agenda, review is this Friday,
      May 26th at 8am PDT (along with the other Callisto projects).
      Slides will be reposted today with corrections.
</ul>

<h2>1.0.3 </h2>
<ul>
  <li>142391 (double byte characters in manifests) - still being tested
  <li>Builds turned back on yesterday evening. David to ask teams to perform
      smoke testing. Weekly M builds planned for Tuesdays.
</ul>

<h2>Callisto / 1.5 </h2>
<ul>
  <li>Rampdown process update:
    <ol>
      <li>Component lead review through RC4 (5/31) with email to wtp-dev
          to enable post hoc review.
      <li>PMC approval (1.0.3 voting process) required
          from 6/1 through 6/14;
          lockdown targeted for 6/14. Additional PMC calls as needed to
          provide a frequent forum for bug triage and review.
      <li>Stop-ship issues only with PMC approval (and cross-team notification) 6/15
          through GA.
     </ol>
</ul>

<h2>1.5.1 Release Planning </h2>
<ul>
  <li>Change policy (applies to all maintenance releases):
      No new (or changed) API, extension points, or significant
      functionality changes permitted; no adopter should be broken by adopting
      this minor release. Any exceptions to this policy requires PMC review.
  <li>Incubating sub-projects are not subject to this restriction <em>within their
      areas.</em>
  <li>1.5.1, 1.5.2, etc. will be produced on the maintenance stream.
      CVS HEAD will become WTP 2.0 (June 2007). "Feature packs" can be
      produced and released
      that provide more aggressive functionality additions on top of 1.5
      (via branching if changes are required); there is no scheduled release
      activity for them. This can be used to allow a component to be advanced
      and preview its changes independent of the 2.0 stream.
</ul>

<h2>JSF Status [RS] </h2>
<ul>
  <li>Snippets contribution approved.
  <li>Successfully building as part of WTP. SDK still needs to be added.
  <li>Need to schedule release review.
  <li>PMC members must evaluate release worthiness in advance of
      release review.
</ul>

<h2>Dali Status [NH] </h2>
<ul>
  <li>Build integration ongoing
  <li>Release review schedule needed.
</ul>

<h2>Action Items </h2>
<ul>
  <li>[TW] Update release review slides and IP log with feedback
  <li>[TW] Update Callisto process and send rampdown plans out to team
  <li>[RS, NH] Send information about tutorial, build access to "wtp-pmc"
  <li>[all PMC members] Work through Dali and JSF tutorials and prepare list of
      questions for internal review
  <li>[TW] Schedule internal (WTP PMC review) of Dali and JSF technology preview
           releases (1 hour total)
  <li>[TW] Finalize external (EMO) release review dates for Dali and JSF
  <li>[TW] Update Callisto rampdown process and send email to "wtp-dev"
      on updated rampdown policy.
  <li>[TW] Contact Ian re: WTP press
</ul>

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