blob: 157849451508b1fada4dff8622efd17a046c62a0 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<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">
<body text="#000000" bgcolor="#ffffff" link="#0000ee" vlink="#551a8b" alink="#ff0000">
<table border="0" cellspacing="5" cellpadding="2" width="100%">
<td align="LEFT" width="60%"><font class="indextop">eclipse web tools platform project</font><br>
<font class="indexsub">contributing to the wtp project</font></td>
<td width="40%"><img src="../../images/Idea.jpg" hspace="50" height="86" width="120" align="middle" alt=""></td>
<table border="0" cellspacing="5" cellpadding="2" width="100%">
<td align="LEFT" valign="TOP"><i>This document was inspired by the <a class="external"
target="_top">Contributing to the CDT document</a><!-- This image doesn't exist. <img class="outlink" src="../jst/images/out.png" alt="" width="6" height="6" />--></i>
<td align="LEFT" valign="TOP" bgcolor="#0080C0"><b> <font face="Arial,Helvetica" color="#FFFFFF">Introduction</font></b></td>
<td valign="top">
<p>People often ask, &quot;What does it take to get involved with the development of the WTP?&quot; There
are many ways to get involved. On the lightweight end of scale, there is involvement by using the WTP and
providing feedback and sharing your experiences on the Eclipse and WTP newsgroups. Beyond that, you can report
problems that you discover, so that they may be addressed in future releases. A deeper level of involvement
would be to actually solve some of the problems that you or others have uncovered by modifying/writing the
necessary code and creating patches that can applied by the project committers. The final, and most beneficial
way to get involved is to take responsibility for a significant piece of development work, whether it's
enhancing a particular area of the tool or creating new functionality.</p>
<p>The purpose of this document is to help people and organizations understand what it means to
&quot;commit&quot; to WTP Development at this highest level. Basically, it involves a commitment to describe,
develop, test and document your contributions.</p>
<td align="LEFT" valign="TOP" bgcolor="#0080C0"><b> <font face="Arial,Helvetica" color="#FFFFFF">Commitment
to Development</font></b></td>
<td valign="top">
<h4>Communicating Your Desires/Intentions</h4>
<p>The first step involves letting the WTP user community and other WTP development team members what you
propose. The mechanism for this is to create Bugzilla entries to describe the enhancements or new capabilities
you propose to do. The mailing lists and/or newgroups could also be used for discussing or proposing, in a more
informal way, enhancements or new capabilities. Anyway Bugzilla is seen here as a central repository of
reference for enhancement demands.</p>
<p>Bugzilla is the open source change management system used by Eclipse projects. To set these Bugzilla
entries apart from other problem reports, the word &quot;plan&quot; should be used in the keywords field, and
the severity of the entry should be set to &quot;enhancement&quot;. Following these guidelines will ensure that
all of these proposals get picked up by the appropriate query and recorded in the plan for the upcoming release.
<p>Feature specifications (what your code will do) and design specifications (how it will do it) are an
important aspect of the development effort. These specifications will allow the WTP community and the rest of
the WTP development team to understand what you are doing and to provide feedback. The format of these documents
is not important, the content is.</p>
<h4>Becoming a committer</h4>
<p>Every developer's contribution is welcomed. And by the time, developers can become committers. A
committer is a developer who has write access to the source code repository for the associated subproject (or
component), and has voting rights allowing to affect the future of the subproject (or component); other
developers define patches and submit them, indirectly, through committers. A developer gains such committer
rights through frequent and valuable contributions to a subproject, or component of a subproject (in the case of
large subprojects). For more information in what it means to be or to become an Eclipse project or subproject
committer, see the <a class="wikipage" href="../project-charter.html">WTP Project Charter</a>. We should point
out that creating and submitting quality patches is the best way to obtain committer privileges for future work.
<h4>Delivering the Code</h4>
<p>Once the feature and design documents have been floated to the rest of the WTP community and feedback has
been harvested, its time to start pushing the code changes into the development stream. For those that have
committer privileges, these changes can be pushed directly into the stream. Those without committer privileges
create patches that get reviewed and applied by committers. Patch requests are communicated via attachments to
Bugzilla bugs. Being a committer entails certain responsibilities on its own which won't be discussed here.</p>
<h4>Commitment To Testing</h4>
<p>Everyone that contributes content to Eclipse projects is expected to test their contributions. When
contributing a significant enhancement or feature, that commitment means more than just assuring the community
that the code has been tested. It means documenting a test plan and committing to execute that testing on
release candidate builds. The Eclipse way of generating releases is to generate a series of release candidate
builds after all of the development has been completed. Each release candidate goes through a test-fix cycle
where everyone tests their contributions and communicates their findings. A collective decision is made as to
which problems will get fixed for the next release candidate, and the process is repeated. Fewer and fewer fixes
will be &quot;blessed&quot; as we progress through the release candidates.</p>
<p>So, committing to contribute significant code to the WTP also means committing to participate in the
test-fix cycles by executing your test plans against the release candidates build leading up to the final
release build.</p>
<h4>Commitment to Documentation</h4>
<p>An important part of any enhancement or addition to the WTP is making sure that the on-line help of the
tool stays current with the changes. The responsibility for updating/modifying/writing the on-line help content
that is associated with some part of the tool lies with the contributors of the code. Unless the contributors
have commit privileges, the on-line documentation content would get submitted as a patch, much the same as code.
And, like code, producing and submitting quality documentation patches is the way to obtain documentation
committer privileges.</p>
<p><i>Until a Documentation Style Guide is available for the WTP project, you may refer to the <a
target="_top">CDT Documentation Style Guide</a> to help maintain a constant look and feel for documentation
originating from different contributors. There also a couple of links that take you to additional information on
how to contribute help content for Eclipse projects.</i></p>
<p>So, finally, committing to contribute code to the WTP also means committing to contributing the
associated on-line documentation content for the part of the tool that is being enhanced or created.</p>