blob: 38c67cf2991c3a789e204e1bf764d912518223d5 [file] [log] [blame]
<?php
include($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/include-before-definitions.php");
$pageTitle = "Pre-Proposal Phase";
$pageKeywords = "development process";
$pageAuthor = "Bjorn Freeman-Benson Nov 20/05";
include($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/include-after-definitions.php");
?>
<div id="maincontent">
<div id="midcolumn">
<h1>Pre-Proposal Phase</h1>
<p><i>version 026 - November 10, 2005</i></p>
<p><a href="index.php">[This is one page of the larger document.]</a></p>
<h2>Pre-Proposal Phase</h2>
<p>The Pre-Proposal Phase starts when an individual or company declares their interest in,
and rationale for, establishing a project; and ends with a proposal being
made available to the membership by being posted on the eclipse.org website.</p>
<p>The first step is to decide whether the new idea is a top-level project, a
sub-project, or a component. Some rules of thumb on this decision are:</p>
<table border="1" width="100%">
<tr>
<td width="25%">&nbsp;</td>
<td width="25%" align="center"><b>Component</b></td>
<td width="25%" align="center"><b>Sub-Project</b></td>
<td width="25%" align="center"><b>Top-Level Project</b></td>
</tr>
<tr>
<td width="25%"><b>Project Management</b></td>
<td width="25%" valign="top">managed as part of a larger effort</td>
<td width="25%" valign="top">managed separately<sup>1</sup></td>
<td width="25%" valign="top">managed separately</td>
</tr>
<tr>
<td width="25%"><b>Shipping and Releases</b></td>
<td width="25%" valign="top">MUST ship at the same time as the other pieces</td>
<td width="25%" valign="top">USUALLY ships at the same time as the other
pieces</td>
<td width="25%" valign="top">shipping deadlines are unrelated to other
pieces</td>
</tr>
<tr>
<td width="25%"><b>Code Size</b></td>
<td width="25%" valign="top">Small</td>
<td width="25%" valign="top">Medium to large</td>
<td width="25%" valign="top">Large and larger</td>
</tr>
</table>
<p>The next step in establishing a new project at Eclipse is to contact the Eclipse Management Organization
(<a href="mailto:emo@eclipse.org">EMO</a>) and begin working towards a Project Proposal and a Project Declaration.
The goal of this phase is to ensure that the proposal is clear, understandable,
and is a good fit with the Purposes.</p>
<p>A declaration is a short email which is distributed by the EMO to the Eclipse membership-at-large stating that someone wants to start a project at Eclipse. Before a declaration is sent, the EMO will want to talk about the technology areas you are planning on working on, which Project Management Committee (PMC) the new project would best fit in, who you think will be working on the project, etc.
The EMO will also want to see a nearly complete draft of the proposal as our
experience is that good proposals more than a week to write.</p>
<p>The declaration has the following form:</p>
<blockquote>As per the Eclipse Development Process, we are notifying the Eclipse Membership-at-Large of the intent of
Company Q to propose the XYZ&nbsp; Project as part of the Technology PMC.<br>
<br>
A brief description of the project is below. A draft project proposal has been posted on
http://www.eclipse.org/proposals/.../index.html and will become public in a
few days.<br>
<br>
------------------------------------------------------------------------<br>
<br>
*Project Declaration for the &quot;XYZ Project"*<br>
<br>
The goal of this project is to add comprehensive support blah blah blah...&nbsp;</blockquote>
<p>History has shown that companies who are starting their first open-source
project, or perhaps merely their first Eclipse open-source project, want to
carefully stage the press announcements. Because the Eclipse membership-at-large
is large and includes press, the EMO works carefully with the proposers to
ensure that news is not prematurely leaked.</p>
<p>The declaration is emailed to the membership more or less a week in advance of the
proposal being posted. This provides a benefit of membership and allows members
to raise concerns about projects before they become public.</p>
<p>The goals of the proposal document itself include:</p>
<ul>
<li><b>Clear and concise description.</b>&nbsp;<br>
It is important that the description be understandable by the diverse
Eclipse community and not just by specialists in the subject matter. It is
also important that the description concentrate on the technical aspects of
the project and avoid marketing buzzwords. Terms that are not in common use
amongst the Eclipse membership must be defined, and references to standards
should be linked to the corresponding URL.
<ul>
<li>A thought experiment for clarity and conciseness is &quot;if I
randomly choose five Committers from the entire Eclipse Committer pool,
will those five people understand what this project is about?&quot; The
five may not agree with the proposal or even believe that it is
feasible, but they need to understand what it is proposing.<sup>2</sup></li>
</ul>
</li>
<li><b>Resources committed.</b><br>
Eclipse is a place for active projects, not a place for dumping unwanted
code. Eclipse projects involve substantial on-going development activity. Thus proposals should be convincing about the resources that are being
brought to the project in addition to any initial code contribution.</li>
<li><b>Tools versus Run-time.<br>
</b>Currently the Eclipse Bylaws, section 1.1, state that &quot;the Eclipse
technology is a vendor-neutral, open development platform supplying
frameworks and exemplary, extensible tools&quot;.&nbsp;
<ul>
<li>The distinction between tools and run-times is not as black-and-white as one
might like - for example, is the code generated by a tool consider a
run-time? What about a library that must be linked to use the code generated
by a tool? What about a framework that must be installed on a J2EE server in
order to use a particular tool with that server? etc. - and yet the Eclipse
organization is conscious of the issue.&nbsp;</li>
<li> Currently, the
policy is that &quot;plumbing&quot;, or primitive, run-times are not
acceptable whereas frameworks that work on top of existing run-times (e.g.,
works on top of J2EE) are acceptable.</li>
<li>Frameworks that are in support of development tools are acceptable;
frameworks that are application servers, database servers, operating
systems, etc. are not acceptable. Projects that are more appropriate at
other more server-centric open source organizations (such as Apache or
ObjectWeb) are not.</li>
<li> The easiest proposals, of course, are those with no ambiguity: for
example, an Eclipse tool that generates configuration files for an Apache
run-time to render.</li>
</ul>
</li>
<li>
<p align="left"><b>Consistent With The Purposes.<br>
</b>Eclipse projects, and hence all proposals, must be consistent with the <a href="/org/documents/Eclipse%20BYLAWS%202003_11_10%20Final.pdf">Purposes</a>.
</li>
<li><b>Project Name.<br>
</b>Naming and branding are challenging issues. In order to provide a consistent
brand for Eclipse, projects must follow <a href="project-naming-policy.php">the project naming
guidelines</a>, summarized here. The best names are descriptive but
at the same time memorable. The policy for project names is:
<ul>
<li><b>Descriptive Name.</b> A descriptive name is one that is useful
when placed into a box on <a href="/org/councils/AC/arch2.jpg">the
Eclipse architecture diagram</a>. For example &quot;<a href="/gmf">Graphical
Modeling Framework</a>&quot;, &quot;Trust Framework&quot; or
&quot;Component Assembly Tools&quot;. We want to avoid having to
create a <a href="http://www.apache.org/foundation/projects.html" target="_top">
separate web page to explain which names correspond to which
technology</a>.
<ul>
<li>Descriptive names do not include &quot;Eclipse&quot; or
&quot;Project&quot;. The name should work with or without the
prefix and suffix. For example, &quot;The Eclipse Graphical
Modeling Framework Project&quot; as well as &quot;Graphical
Modeling Framework&quot;.</li>
<li>Descriptive names may optionally include &quot;Framework&quot;
or &quot;Tools&quot; if the project has more of an emphasis on
extensible frameworks, or more on exemplary tools. Eclipse
projects always provide both but may be tailored more toward one
or the other. When choosing to use these words, the team should
consider that &quot;Framework&quot; and &quot;Tools&quot;
mean different things to different people and may even be
becoming overused.&nbsp;</li>
<li>Top-level projects may optionally include &quot;Platform&quot;
instead of &quot;Framework&quot;.</li>
</ul>
</li>
<li><b>An optional Nickname.</b> Some teams like to have a clever
nicknames, for example &quot;Higgins&quot; or &quot;Buckminister&quot;.</li>
<li><b>Project Name. </b>The full name includes the optional nickname, e.g., &quot;The
Eclipse Component Assembly Project (Buckminister)&quot;.</li>
<li><b>Acronym.</b> Most descriptive names are sufficiently long
that it can be convenient to abbreviate them in some way. For
example, the Eclipse Communication Framework shortens to ECF.</li>
</ul>
</li>
<li><b>Vendor neutral.<br>
</b>Eclipse is place for vendor neutral projects which includes being
operating system agnostic. If, as is usually the case, the proposal is
coming from a single company, the proposal should explain how the resulting
project will be vendor neutral. Similarly, the proposal should explain away
any operating system dependencies.</li>
<li>
<p align="left"><b>Place in the Eclipse architecture.</b><br>
How does this project fit with the other Eclipse projects?&nbsp; Does it
build on top of other projects?&nbsp; What are the dependencies?&nbsp; Does
it overlap with existing projects?&nbsp;&nbsp;Why are the needs this project
meets are not met by existing Eclipse projects?
</li>
</ul>
<p>The proposal itself is a static HTML page (with a small fragment of PHP) using the standard Eclipse Proposal
CSS style sheet (<a href="/proposals/templates/proposal-template.zip">please use
the template we provide</a>). We have found that there are a number of problems with HTML
generated by Microsoft Word and thus ask that proposers use some other tool to
create the page. The proposal should include a list of interested and committed
persons and companies and their affiliations, but should not include corporate
or group logos.</p>
<p>Past proposals are available from the <a href="/proposals/">archived
proposals page</a>. Three particularly good examples to emulate are: <a href="/proposals/eclipse-mylar/">Mylar</a>,
<a href="/proposals/eclipse-gmf/">GMF</a>, and <a href="/proposals/eclipse-dsdp/">DSDP</a>.</p>
<p>The Pre-Proposal Phase ends when the proposal is made publicly available <a href="/proposals/"> on
the eclipse.org website</a>. The specific mechanics are: (these will eventually be
entered via a webform)</p>
<ol>
<li>The project short name is confirmed. The short name is the subset,
abbreviation, or acronym that the project will most common be known by. For
example the <a href="/tptp/">Test and Performance Tools Platform Project</a>'s
short name is TPTP.</li>
<li>The proposal is placed on the website.</li>
<li>The proposal is linked both the dedicated <i><a href="/proposals">proposals</a></i> area of the
website and from the hosting PMC's website, both described until the one
paragraph project description.</li>
<li>A newsgroup for discussion is created.&nbsp;
<ul>
<li> The newsgroup name will be <code>eclipse.[toplevel].[shortname]</code>.
The short name can be an abbreviation of the Descriptive Name, or an Acronym, e.g.,
eclipse.technology.ecf, or it can be the optional Nickname, e.g.,
eclipse.technology.buckminister.</li>
<li>A three
line newsgroup description is used for <a href="/newsgroups/">the
newsgroups page</a>.</li>
<li>The newsgroup is created last for several reasons. Many newsreaders actively
inform their users of the existence of a new newsgroup so when we first
created all the infrastructure in a single big bang, the project leaders
didn't have enough time to populate the main web page of the proposal before
it was &quot;pre-announced&quot; by the newsreader software. We now wait for
the main web page to be complete before the newsgroups are created. We then
post an initial message, inviting people to visit the newly created project
page to learn more about the project.</li>
</ul>
</li>
</ol>
<p>A press release at this point is optional.&nbsp; Some companies and
individuals like to have a press release when the project is proposed, while
others prefer to wait until the project is approved/created, and then others do
not issue one at all - it is completely up to the proposal team. Any release
must include Q&amp;A's, messages and preparation by the stakeholder spokespeople. The discipline of creating a press release ensures
that all stakeholders have agreed on messages, positioning and have identified
spokepersons.</p>
<p>If you do decide to issue a press release, the Eclipse Foundation Marketing
Director must help you coordinate the announcement. (<a href="mailto:emo@eclipse.org">Email
the EMO</a> for further information.)</p>
<p>The next phase is the <a href="proposal-phase.php">Proposal Phase</a>.</p>
<h3>Legal Paperwork To Start Now</h3>
<p>It is important for the proposers to begin moving the various <a href="/legal/newcommitter.html">Committer
Agreements</a> through their company's legal department as it always seems to
take longer for this paperwork than one would like. The project cannot be provisioned
(provisioning happens after the Proposal Phase) without the Questionnaires and signed Agreements.</p>
<hr>
<p><sup>1</sup> Projects often have seats on the top-level PMC, although the
exact policy depends on the PMC.<sup><br>
2 </sup>This thought experiment may become EMO policy in the future.</p>
<?php
include($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/include-end-of-page.php");
?>