<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>WTP PMC Minutes for August 08, 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>PMC Members Attending: Tim Wagner [TW], David Williams [DW], Jochen Krause [JK], Arthur Ryman [AR],
            Naci Dai [ND],
            <p>PMC Member Regrets: Raghunathan Srinivasan [RS]</p>
            <p>Invited Guests: Robert Goodman (ATF)</p>
            <p>Others: Lawrence Mandel [LM]</p>
            <h1>WTP PMC Minutes for August 08, 2006 Conference Call</h1>
            <h2>Community [LM]</h2>
            <ul>
                <li>Eclipse Summit Europe planning - David, Jochen, Tim, Naci planning to attend. David and Tim to
                present on WTP (pending travel approvals). Council meeting schedule: Requirements 10th, Architecture
                11th, Planning 12th - these will be held in the morning, with time for conference participation in the
                afternoon.</li>
                <li>Lawrence to post ad on website for website maintainer(s).</li>
                <li>Europa "build workshop" being held September 11th and 12th in Portland. Looking for WTP members
                who may be able to participate.</li>
            </ul>
            <h2>Process [TW]</h2>
            <ul>
                <li>Discussion of getting CVS permissions cleaned up for incubating sub project leads; Tim opened
                Bugzilla to track with Sharon Corbett at the EMO. Issues should be raised there for necessary
                escalation.</li>
                <li>Tim requesting proposed EULA from Instantiations for WindowsTester use so member companies can
                investigate its acceptability from a legal perspective.</li>
            </ul>
            <h2>Requirements and Planning [JK]</h2>
            <ul>
                <li>Internal planning at some member companies may delay us from the original planning timeline;
                may move out into September. Continued interest in quality, stability, and API definition. Jochen to
                post updated schedule.</li>
                <li>SAP has expressed interest in EE 5 enablement; WTP 2.0 will need to enable this, but may have
                limited end user support for EE 5 depending on resource availability.</li>
                <li>Deprecation policy discussion: minimum of one major release for APIs, and preference given to
                similar policy for adopter usage of non-APIs. Usage reports gathered to date indicate some API
                declarations that are needed as well as some educational opportunities for adopters.</li>
                <li>STP planning: Naci reaching out to Oisin regarding a meeting.</li>
            </ul>
            <h2>1.5.1 and 2.0 Status [DW]</h2>
            <ul>
                <li>Now on latest maintenance versions from base and EMF for 1.5.1.</li>
                <li>1.5.1 endgame proposal draft needed; can circulate at status meeting.</li>
                <li>Plugin ranges for 2.0 not repaired yet; still a major 2.0 TBD.</li>
            </ul>
            <h2>ATF Status [RG]</h2>
            <ul>
                <li>Working on next release plans; currently looking at fall timeframe. Will have a simplified
                install process and planning for new functionality.</li>
                <li>Coordination with commercial companies building AJAX support on top of Eclipse - may provide
                additional ATF committers depending on interest.</li>
            </ul>
            <h2>JSF Status [RS, via email]</h2>
            <ul>
                <li>0.5.1 maintenance release, coordinated with WTP 1.5.1 release in progress</li>
                <li>Requirements meeting on August 21st; requirements being tracked via the Wiki page</li>
            </ul>
            <h2>Action Items and Owners</h2>
            <ul>
                <li>[ND] STP requirements and overlap (runtimes, deployment, WS infrastructure, etc.) schedule.</li>
                <li>[TW] Research travel opportunity for build meeting in Portland.</li>
                <li>[TW] Draft rampdown proposal for 1.5.1 release.</li>
            </ul>
            <small>Minutes taken by Tim Wagner, August 08, 2006. Please notify me of any corrections needed. </small></td>
        </tr>
    </tbody>
</table>
</body>
</html>
