| <html> |
| |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
| <link rel="stylesheet" href="../default_style.css" type="text/css"> |
| <title>Eclipse Web Tools Platform Project Charter</title> |
| <style type="text/css"> |
| |
| #dhtmltooltip{ |
| position: absolute; |
| width: 150px; |
| border: 2px solid black; |
| padding: 2px; |
| background-color: lightyellow; |
| visibility: hidden; |
| z-index: 100; |
| /*Remove below line to remove shadow. Below line should always appear last within this CSS*/ |
| filter: progid:DXImageTransform.Microsoft.Shadow(color=gray,direction=135); |
| } |
| |
| </style> |
| </head> |
| |
| <body text="#000000" bgcolor="#ffffff" link="#0000ee" vlink="#551a8b" alink="#ff0000"> |
| <div id="dhtmltooltip"></div> |
| <script type="text/javascript"> |
| |
| /*********************************************** |
| * Cool DHTML tooltip script- © Dynamic Drive DHTML code library (www.dynamicdrive.com) |
| * This notice MUST stay intact for legal use |
| * Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code |
| ***********************************************/ |
| |
| var offsetxpoint=-60 //Customize x offset of tooltip |
| var offsetypoint=20 //Customize y offset of tooltip |
| var ie=document.all |
| var ns6=document.getElementById && !document.all |
| var enabletip=false |
| if (ie||ns6) |
| var tipobj=document.all? document.all["dhtmltooltip"] : document.getElementById? document.getElementById("dhtmltooltip") : "" |
| |
| function ietruebody(){ |
| return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body |
| } |
| |
| function ddrivetip(thetext, thecolor, thewidth){ |
| if (ns6||ie){ |
| if (typeof thewidth!="undefined") tipobj.style.width=thewidth+"px" |
| if (typeof thecolor!="undefined" && thecolor!="") tipobj.style.backgroundColor=thecolor |
| tipobj.innerHTML=thetext |
| enabletip=true |
| return false |
| } |
| } |
| |
| function positiontip(e){ |
| if (enabletip){ |
| var curX=(ns6)?e.pageX : event.x+ietruebody().scrollLeft; |
| var curY=(ns6)?e.pageY : event.y+ietruebody().scrollTop; |
| //Find out how close the mouse is to the corner of the window |
| var rightedge=ie&&!window.opera? ietruebody().clientWidth-event.clientX-offsetxpoint : window.innerWidth-e.clientX-offsetxpoint-20 |
| var bottomedge=ie&&!window.opera? ietruebody().clientHeight-event.clientY-offsetypoint : window.innerHeight-e.clientY-offsetypoint-20 |
| |
| var leftedge=(offsetxpoint<0)? offsetxpoint*(-1) : -1000 |
| |
| //if the horizontal distance isn't enough to accomodate the width of the context menu |
| if (rightedge<tipobj.offsetWidth) |
| //move the horizontal position of the menu to the left by it's width |
| tipobj.style.left=ie? ietruebody().scrollLeft+event.clientX-tipobj.offsetWidth+"px" : window.pageXOffset+e.clientX-tipobj.offsetWidth+"px" |
| else if (curX<leftedge) |
| tipobj.style.left="5px" |
| else |
| //position the horizontal position of the menu where the mouse is positioned |
| tipobj.style.left=curX+offsetxpoint+"px" |
| |
| //same concept with the vertical position |
| if (bottomedge<tipobj.offsetHeight) |
| tipobj.style.top=ie? ietruebody().scrollTop+event.clientY-tipobj.offsetHeight-offsetypoint+"px" : window.pageYOffset+e.clientY-tipobj.offsetHeight-offsetypoint+"px" |
| else |
| tipobj.style.top=curY+offsetypoint+"px" |
| tipobj.style.visibility="visible" |
| } |
| } |
| |
| function hideddrivetip(){ |
| if (ns6||ie){ |
| enabletip=false |
| tipobj.style.visibility="hidden" |
| tipobj.style.left="-1000px" |
| tipobj.style.backgroundColor='' |
| tipobj.style.width='' |
| } |
| } |
| |
| document.onmousemove=positiontip |
| |
| </script> |
| <table BORDER=0 CELLSPACING=5 CELLPADDING=2 WIDTH="100%" > |
| <tr> |
| <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" BGCOLOR="#0080C0"><b> |
| <font face="Arial,Helvetica" color="#FFFFFF">Eclipse Web Tools Platform |
| Project Charter - v1.7</font></b></td> |
| </tr> |
| <tr> |
| <td> |
| <b>Overview</b><br> |
| The Eclipse Web Tools Platform Top-Level Project is an open source |
| collaborative software development project dedicated to providing a generic, |
| extensible, standards-based tool platform for producing Web-centric |
| technologies. |
| <p>This document describes the composition and organization of the project, |
| roles and responsibilities of the participants, and development process for |
| the project. </p> |
| <p><b>Mission</b><br> |
| The mission of the Web Tools Platform Project is to build useful tools and a |
| generic, extensible, standards-based tool platform upon which software |
| providers can create specialized, differentiated offerings for producing |
| Web-enabled applications. </p> |
| <p><b>Scope</b><br> |
| The Web Tools Platform Project encompasses a common foundation of frameworks |
| and services for Web tooling products. The project scope also includes Web |
| tooling products themselves for exemplary purposes and/or to validate the |
| underlying platform.<br> |
| <img border="0" src="images/subprojects.gif" width="604" height="543"></p> |
| <p></p> |
| <p>The project will be further limited to providing infrastructure for |
| tooling proper, in contrast to infrastructure related to the application |
| run-time. We will typically use a simple litmus test to set the boundary |
| between tooling and run-time. Application artifacts, once developed, have no |
| execution dependencies on the relevant tooling framework, while the converse |
| would be true for run-time frameworks. In keeping with our objective of |
| maximizing vendor-neutrality, where multiple frameworks exist in the market |
| for a given functional domain, we will develop tooling based on a common |
| abstraction (or superset) to the extent feasible. </p> |
| <p>The ultimate objective of the project is to provide highly reusable and |
| extensible tooling that allows developers to produce applications with |
| increasing development efficiency. The tooling foundation the project will |
| deliver will support these values by enforcing appropriate separations of |
| concern in application architecture, raising the level of technical |
| abstraction in application development and enabling repeatability in |
| development processes. These values, however, will be achieved incrementally |
| over time. Early deliverables will focus on an extensible foundation |
| supporting the most widely used Web and Java standards and technologies. </p> |
| <p>In addition, we expect the Web Tools Platform Project to produce |
| functional requirements that are more appropriately satisfied through the |
| Eclipse Project or other Eclipse foundational projects. Areas in which we |
| might expect to see these elaborated requirements would be in working with |
| components, or supporting complex project layouts. In such case, the Web |
| Tools Platform Project PMC will coordinate the corresponding Project PMCs |
| the design and implementation of the corresponding contribution. </p> |
| <p>The project initially has two projects: Web Standard Tools and J2EE |
| Standard Tools. These two projects will focus on infrastructure for tools |
| used to build applications for standards-based Web and Java runtime |
| environments. Outside the scope of the project is support for |
| vendor-specific application architectures, such as ASP.Net and ColdFusion, |
| or for extensions not backed by the JCP, such as Apache Struts. Expanding |
| the project to include new projects covering these or other areas will |
| require a revision to this charter as per the Eclipse Development Process. |
| </p> |
| <p><i>Web Standard Tools</i><br> |
| The Web Standard Tools project aims to provide common infrastructure |
| available to any Eclipse-based development environment targeting multi-tier |
| Web-enabled applications. Within scope will be tools for the development of |
| three-tier (presentation, business and data logic) and server publication of |
| corresponding system artifacts. Outside of scope will be tools for Java |
| language or Web framework specific technology, which will be left to other |
| projects like the J2EE Standard Tools project. Tools provided will include |
| editors, validators and document generators for artifacts developed in a |
| wide range of standard languages (for example, HTML/XHMTL, Web services, |
| XQueries, SQL, etc.) Supporting infrastructure will likely comprise a |
| specialized workbench supporting actions such as publish, run, start and |
| stop of Web application code across target server environments. Web |
| artifacts will be first class citizens with respect to the capabilities that |
| Eclipse users expect. </p> |
| <p>The Web Standard Tools Project includes server tools which extend the |
| Eclipse platform with servers as first-class execution environments. Server |
| tools provide an extension point for generic servers to be added to the |
| workspace, and to be configured and controlled. For example, generic servers |
| may be assigned port numbers, and may be started and stopped. The Web |
| Standard Tools Project will define an extension for Web servers, which |
| builds on the generic server extension point, and will include exemplary |
| adapters for popular commercial and Open Source Web servers, e.g. the Apache |
| Web Server. Server vendors are encouraged to develop adapters for their Web |
| servers. The Web Standard Tool Project will also include a TCP/IP Monitor |
| server for debugging HTTP traffic, especially SOAP messages generated by Web |
| Services. The generic server extension point is intended to be used for |
| other types of server, for example J2EE application servers and databases, |
| but these are outside the scope of the Web Standard Tools project. </p> |
| <p><i>J2EE Standard Tools</i><br> |
| The initial scope of the J2EE Standard Tools project will be to provide a |
| basic Eclipse plug-in for developing applications based on standards-based |
| application servers, as well as a generic tooling infrastructure for other |
| Eclipse-based development products. Within scope will be a workbench |
| providing a framework for developing, deploying, testing and debugging J2EE |
| applications on JCP-compliant server environments, as well as an exemplary |
| implementation of a plug-in for at least one JSR-88 compliant J2EE Server. |
| Included will be a range of tools simplifying development with J2EE APIs |
| including EJB, Servlet, JSP, JCA, JDBC, JTA, JMS, JMX, JNDI, and Web |
| Services. This infrastructure will be architected for extensibility for |
| higher-level development constructs providing architectural separations of |
| concern and technical abstraction above the level of the J2EE specifications |
| </p> |
| <p>The J2EE Standard Tools Project will build on the Server Tools provided |
| by the Web Standard Tools Project to provide support for application |
| servers, including both servlet engines and EJB containers. The scope of the |
| J2EE Standard Tools Project includes exemplary adapters for popular |
| commercial and open source J2EE servers, e.g. Apache Tomcat, Apache |
| Geronimo, and ObjectWeb Jonas. Server vendors are encouraged to develop |
| adapters for their products. Support of frameworks not covered by the J2EE |
| specification (e.g., Struts, Hibernate, XMLC, JDO) are outside the scope of |
| this project, although such projects could find a home in an Eclipse |
| Technology project. </p> |
| <p>Although the scope of the Web and J2EE Standard Tools projects includes |
| the development of exemplary adapters for popular commercial and Open Source |
| servers, these are not necessarily intended to be the definitive adapters. |
| Instead, they are intended to serve two purposes. First, they are intended |
| to enable users to immediately use these servers, although possibly with not |
| exploiting all their features. Second, they are intended to serve as |
| examples to both commercial and Open Source developers who want to integrate |
| servers into Eclipse. It is consistent with the goals of this project that |
| the exemplary adapters become superseded by more complete implementations |
| provided by third parties, both commercial and open source.</p> |
| <p><b>Project Management</b></td> |
| </tr> |
| </table> |
| <table border=0 cellspacing=5 cellpadding=2 width="100%" > |
| <tr> |
| <td align=RIGHT valign=TOP height="22"><img src="../images/Adarrow.gif" width="16" height="16" border="0"></td> |
| <a name="pmc"></a><td height="22"><b>Project Management Committee</b><br> |
| The Projects under this Charter are managed by a group known as the Project |
| Management Committee (the PMC).<p>PMCs are expected to ensure that: </p> |
| <ul> |
| <li>All Projects operate effectively by providing leadership to guide the |
| Projects overall direction and by removing obstacles, solving problems, |
| and resolving conflicts. </li> |
| <li>All Project plans, technical documents and reports are publicly |
| available </li> |
| <li>All Projects operate using open source rules of engagement: |
| meritocracy, transparency, and open participation. These principles work |
| together. Anyone can participate in a Project. This open interaction, from |
| answering questions to reporting bugs to making code contributions to |
| creating designs, enables everyone to recognize and utilize the |
| contributions. </li> |
| </ul> |
| <p>The PMC has the following responsibilities: </p> |
| <ul> |
| <li>Providing the leadership and vision to guide the Project's overall |
| direction in a manner consistent with the Eclipse Foundation Architectural |
| Roadmap. </li> |
| <li>Providing assistance and support to the developers and researchers |
| working on the Project by removing obstacles, solving problems, and |
| resolving conflicts. </li> |
| <li>Ensuring that Project plans are produced. </li> |
| <li>Working with the Eclipse Management Organization (the EMO) to |
| establish the development processes and infrastructure needed for the |
| development team to be effective. </li> |
| <li>Recommending new Projects to the EMO. </li> |
| <li>Recommending the initial set of Project committers for each new |
| Project overseen by the PMC, and establishing the procedures consistent |
| with this Charter for voting in new committers. </li> |
| <li>Helping to ensure that the Projects overseen by the PMC have enough |
| contributors, and working to fill vacancies in roles.</li> |
| <li>Producing how to get involved guidelines to help new potential |
| contributors get started. </li> |
| <li>Coordinating relationships with other Eclipse Foundation Projects. |
| </li> |
| <li>Facilitating code or other donations by individuals or companies. </li> |
| <li>Making recommendations to the Eclipse Foundation Board regarding |
| contributions proposed under licenses other than the |
| <a href="http://www.eclipse.org/org/documents/epl-v10.html">EPL</a>. </li> |
| <li>Working with the EMO and Committers to ensure in-bound contributions |
| are made in accordance with the |
| <a href="http://www.eclipse.org/org/documents/Eclipse%20IP%20Policy2003_12_03%20Final.pdf">Eclipse Foundation IP Policy</a>. </li> |
| <li>Acting as a focal point for the community in representing the Projects |
| it oversees. </li> |
| </ul> |
| <p>The PMC Lead is appointed by the Board. The initial PMC is selected by |
| the PMC Lead. Thereafter, to become a member of the PMC, an individual must |
| be nominated by another member of the PMC, and unanimously approved by all |
| PMC members. </p> |
| <p>In the unlikely event that a member of the PMC becomes disruptive to the |
| process or ceases to contribute for an extended period, the member may be |
| removed by unanimous vote of remaining PMC members. PMC members may resign |
| at any time by delivering notice of their resignation to the PMC Lead. </p> |
| <p>The PMC is responsible for producing and maintaining the Project Charter. |
| Development must conform to any rules or processes outlined in the Charter, |
| so a change to the development process may necessitate a change to the |
| Charter. Changes to the Charter are approved by the Board. </p> |
| <p>The work of the PMC is shared by the PMC members. All PMC members are |
| expected to contribute actively. In particular, PMC members are expected to |
| take responsibility for overseeing certain areas of work in the Project, and |
| reporting to the PMC on these areas. </p> |
| <p>Active participation in the user newsgroups and the appropriate developer |
| mailing lists is a responsibility of all PMC members, and is critical to the |
| success of the Project. PMC members are required to monitor the main Project |
| mailing list, and the developer mailing lists for all Projects and |
| components they are overseeing. </td> |
| </tr> |
| <tr> |
| <td align=RIGHT valign=TOP height="22"><img src="../images/Adarrow.gif" width="16" height="16" border="0"></td> |
| <td height="22"><b>Project Requirements Group</b><br> |
| The Requirements Group is formed at the discretion of the PMC. The |
| Requirements Group gathers requirements for the project and communicates |
| them to all members of the Project, including the PMC. The Requirements |
| Group will accomplish its objectives by working closely with the development |
| teams and the PMC. </td> |
| </tr> |
| <tr> |
| <td align=RIGHT valign=TOP height="22"><img src="../images/Adarrow.gif" width="16" height="16" border="0"></td> |
| <td height="22"><b>Project Architecture Group</b><br> |
| The Architecture Group is formed at the discretion of the PMC. The |
| Architecture Group is responsible for development, articulation and |
| maintenance of the Project Architecture, as well as for providing an |
| explicit description of the architecture and communicating this description |
| to all members of the Project, and for releasing it as part of the project |
| deliverables. The Architecture Group will accomplish its objectives by |
| working closely with the development teams and the PMC.</td> |
| </tr> |
| <tr> |
| <td align=RIGHT valign=TOP height="22"><img src="../images/Adarrow.gif" width="16" height="16" border="0"></td> |
| <td height="22"><b>Project Planning Group</b><br> |
| The Planning Group is formed at the discretion of the PMC. The Planning |
| Group assists the PMC in establishing the Project plan in conjunction with |
| available Project resources, coordinating relationships between Project |
| participants and with other Eclipse projects. The Planning Group helps to |
| ensure that projects have enough contributors, filling vacancies in roles |
| and facilitating code or other donations by individuals or companies. The |
| Planning Group will accomplish its objectives by working closely with the |
| development teams and the PMC. </td> |
| </tr> |
| </table> |
| <table BORDER=0 CELLSPACING=5 CELLPADDING=2 WIDTH="100%" > |
| <tr> |
| <td> |
| <p><b>Roles<br> |
| </b>The Projects under this Charter are operated as meritocracies -- the |
| more you contribute, and the higher the quality of your contribution, the more |
| you are allowed to do. However with this comes increased responsibility. </p> |
| <p><i>Users<br> |
| </i>Users are the people who use the products that the Project produces. |
| People in this role aren't contributing code, but they are using the products, |
| reporting bugs, and making feature requests and suggestions. Users are |
| encouraged to participate through the user newsgroup(s), asking questions, |
| providing suggestions, and helping other users. Users are also encouraged to |
| report problem reports using the bug tracking system. </p> |
| <p><i>Developers <br> |
| </i>Users who contribute code or documentation become developers. |
| Developers are the people who contribute code, fixes, documentation, or other |
| work that goes into the product. Developers are also encouraged to participate |
| in the user newsgroup(s), and should monitor the developer mailing list |
| associated with their area of contribution. When appropriate, developers may |
| also contribute to development design discussions related to their area of |
| contribution. Developers are expected to be proactive in reporting problems in |
| the bug tracking system. </p> |
| <p><i>Committers <br> |
| </i>Developers who give frequent and valuable contributions to a |
| Project, or component of a Project (in the case of large Projects), can have |
| their status promoted to that of a "Committer" for that Project or component |
| respectively. A Committer has write access to the source code repository for the |
| associated Project (or component), and gains voting rights allowing them to |
| affect the future of the Project (or component). </p> |
| <p>In order for a Developer to become a Committer on a particular Project |
| overseen by the PMC, another Committer for the same Project (or component as |
| appropriate) can nominate that Developer or the Developer can ask to be |
| nominated. Once a Developer is nominated, the Committers for the Project (or |
| component) will vote. If there are <a href="#" |
| onMouseover="ddrivetip('As per the Eclipse Board meeting of December 8, 2004, the WTP PMC interprets this to mean "at least 3 positive and no negative votes within a given voting period".','yellow', 350);" |
| onMouseout="hideddrivetip()"> at least 3 positive votes and no negative |
| votes</a>, the Developer is recommended to the PMC for commit privileges. If the PMC |
| also approves and the Developer signs the |
| <a href="http://www.eclipse.org/org/documents/Eclipse%20MEMBERSHIP%20AGMT%202003_11_10%20Final.pdf">Committer Agreement</a> established by the EMO (wherein, at the very least, the Developer agrees to abide by the |
| <a href="http://www.eclipse.org/org/documents/Eclipse%20IP%20Policy2003_12_03%20Final.pdf">Eclipse Intellectual |
| Property Policy</a>), the Developer is converted into a Committer and given write |
| access to the source code repository for that Project (or component). Becoming a |
| Committer is a privilege that is earned by contributing and showing discipline |
| and good judgment. It is a responsibility that should be neither given nor taken |
| lightly. </p> |
| <p>At times, Committers may go inactive for a variety of reasons. The decision |
| making process of the Project relies on active committers who respond to |
| discussions and votes in a constructive and timely manner. The PMC is |
| responsible for ensuring the smooth operation of the Project. A Committer that |
| is disruptive, does not participate actively, or has been inactive for an |
| extended period may have his or her commit status removed by the PMC. </p> |
| <p>Active participation in the user newsgroup and the appropriate developer |
| mailing lists is a responsibility of all Committers, and is critical to the |
| success of the Project. Committers are required to monitor and contribute to the |
| user newsgroup. </p> |
| <p>Committers are required to monitor the developer mailing list associated with |
| all Projects and components for which they have commit privileges. This is a |
| condition of being granted commit rights to the Project or component. It is |
| mandatory because committers must participate in votes (which in some cases |
| require a certain minimum number of votes) and must respond to the mailing list |
| in a timely fashion in order to facilitate the smooth operation of the Project. |
| When a Committer is granted commit rights they will be added to the appropriate |
| mailing lists. A Committer must not be unsubscribed from a developer mailing |
| list unless their associated commit privileges are also removed. </p> |
| <p>Committers are required to track, participate in, and vote on, relevant |
| discussions in their associated Projects and components. There are three voting |
| responses: +1 (yes), -1 (no, or veto), and 0 (abstain). </p> |
| <p>Committers are responsible for proactively reporting problems in the bug |
| tracking system, and annotating problem reports with status information, |
| explanations, clarifications, or requests for more information from the |
| submitter. Committers are responsible for updating problem reports when they |
| have done work related to the problem. </p> |
| <p><b>Development Process <br> |
| </b>Projects The work under this Top Level Project is further |
| organized into Projects. New Projects must be significant works consistent with |
| the mission of the Top Level Project, be recommended by the PMC, and confirmed |
| by the EMO. Projects can be discontinued by decision of the Board. </p> |
| <p>When a new Project is created, the PMC nominates a Project lead to act as the |
| technical leader and nominates the initial set of Committers for the Project, |
| and these nominations are approved by the EMO. Project leads are accountable to |
| the PMC for the success of their Project. </p> |
| <p><b>Project Components <br> |
| </b>The PMC may decide to divide a Project further into |
| components. If a Project is divided into components, commit privileges are |
| normally granted at the component level, and the committers for a given |
| component vote on issues specific to that component. Components are established |
| and discontinued by the PMC. When the PMC creates a component it appoints a |
| component lead to act as the technical leader and names the initial set of |
| Committers for the component. The component lead is designated as a committer |
| for the Project and represents the component in discussions and votes pertaining |
| to the Project as a whole. Component Committers do not participate in votes at |
| the level of the Project as a whole, unless they are also the component lead. |
| </p> |
| <p><b>Coordinated Release Cycles<br> |
| </b>All projects and components under this Project |
| will have coordinated release plans, milestone dates, freeze cycles, builds, and |
| ship dates. These projects will be coordinated by a group consisting of the |
| project leads, the component leads from these projects, and the members of the PMC assisted by the members of the Planning Committee. </p> |
| <p><b>Infrastructure <br> |
| </b>The PMC works with the EMO to ensure the required |
| infrastructure for the Project. The Project infrastructure will include, at |
| minimum: </p> |
| <ul> |
| <li>Bug Database Bugzilla-like database for tracking bugs and feature |
| requests. </li> |
| <li>Source Repository One or more CVS repositories containing both the |
| master source code and documentation for the projects. </li> |
| <li>Website A Web site will contain information about the project, |
| including documentation, downloads of releases, and this charter. </li> |
| <li>General Mailing List Mailing list for development discussions |
| pertaining to the project as a whole or that cross projects. This mailing |
| list is open to the public. </li> |
| <li>Project Mailing Lists Development mailing list for technical |
| discussions and committer voting related to the project. These mailing |
| lists are open to the public. </li> |
| <li>Component Mailing Lists Development mailing list for technical |
| discussions and committer voting related to the component. This mailing |
| list is open to the public. </li> |
| <li>Newsgroup A newsgroup where users, developers, and committers can |
| interact regarding general questions and issues about the project. </li> |
| </ul> |
| <p><b>The Development Process <br> |
| </b>Each Project lead must produce a development plan for |
| the release cycle, and the development plan must be approved by the PMC and by a |
| majority of Committers of the Project. </p> |
| <p>Each Project must identify, and make available on its web site, the |
| requirements and prioritizations it is working against in the current release |
| cycle. In addition, each Project must post a release plan showing the date and |
| content of the next major release, including any major milestones, and must keep |
| this plan up to date. </p> |
| <p>The Committers of a Project or component decide which changes may be |
| committed to the master code base of a Project or component respectively. <a href="#" |
| onMouseover="ddrivetip('As per the Eclipse Board meeting of December 8, 2004, the WTP PMC interprets this to mean "at least 3 positive and no negative votes within a given voting period".','yellow', 350);" |
| onMouseout="hideddrivetip()">Three |
| +1 ('yes' votes) with no -1 ('no' votes or vetoes)</a> are needed to approve a code |
| change. Vetoes must be followed by an explanation for the veto within 24 hours |
| or the veto becomes invalid. All votes are conducted via the developer mailing |
| list associated with the Project or component. </p> |
| <p>Special rules may be established by the PMC for Projects or components with |
| fewer than three Committers. For efficiency, some code changes from some |
| contributors (e.g. feature additions, bug fixes) may be approved in advance, or |
| approved in principle based on an outline of the work, in which case they may be |
| committed first and changed as needed, with conflicts resolved by majority vote |
| of the Committers of the Project or component, as applicable. More restrictive |
| rules for releasing changes may be established by the PMC near the end of |
| release cycles or for maintenance streams. </p> |
| <p>The master copy of the code base must reside on the Project web site where it |
| is accessible to all users, developers and committers. Committers must check |
| their changes and new work into the master code base as promptly as possible |
| (subject to any check-in voting rules that may be in effect) in order to foster |
| collaboration among widely distributed groups and so that the latest work is |
| always available to everyone. The PMC is responsible for working with the |
| Eclipse Foundation to establish a release engineering and build process to |
| ensure that builds can be reliably produced on a regular and frequent basis from |
| the master code base and made available for download from the Project web site. |
| </p> |
| <p>The PMC is responsible for establishing the level of testing appropriate for |
| each Project, and approving the test plans. </p> |
| <p>All development technical discussions are conducted using the development |
| mailing lists. If discussions are held offline, then a summary must be posted to |
| the mailing list to keep the other committers informed. </p> |
| <p><b>Licensing <br> |
| </b>All contributions to Projects under this Charter must adhere to the |
| Eclipse Foundation Intellectual Property Policy <br> |
| </p> |
| |
| </td> |
| </tr> |
| </table> |
| |
| </body> |
| |
| </html> |