diff --git a/doc/releaseReview.1.4.0/.cvsignore b/doc/releaseReview.1.4.0/.cvsignore
new file mode 100644
index 0000000..50345f9
--- /dev/null
+++ b/doc/releaseReview.1.4.0/.cvsignore
@@ -0,0 +1,3 @@
+epp_1.1.0_ReleaseReview.out
+epp_1.1.0_ReleaseReview.idx
+epp_1.1.0_ReleaseReview.dvi
diff --git a/doc/releaseReview.1.4.0/.project b/doc/releaseReview.1.4.0/.project
new file mode 100644
index 0000000..e025b6b
--- /dev/null
+++ b/doc/releaseReview.1.4.0/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>releaseReview.1.4.0</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>net.sourceforge.texlipse.builder.TexlipseBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>net.sourceforge.texlipse.builder.TexlipseNature</nature>
+	</natures>
+</projectDescription>
diff --git a/doc/releaseReview.1.4.0/.texlipse b/doc/releaseReview.1.4.0/.texlipse
new file mode 100644
index 0000000..eb63663
--- /dev/null
+++ b/doc/releaseReview.1.4.0/.texlipse
@@ -0,0 +1,13 @@
+#TeXlipse project settings
+#Thu May 27 20:59:00 CEST 2010
+builderNum=0
+outputDir=
+makeIndSty=
+bibrefDir=
+outputFormat=dvi
+tempDir=tmp
+mainTexFile=epp_1.4.0_ReleaseReview.tex
+outputFile=epp_1.4.0_ReleaseReview.dvi
+langSpell=en
+markDer=true
+srcDir=
diff --git a/doc/releaseReview.1.4.0/common/cover.tex b/doc/releaseReview.1.4.0/common/cover.tex
new file mode 100644
index 0000000..f041a39
--- /dev/null
+++ b/doc/releaseReview.1.4.0/common/cover.tex
@@ -0,0 +1,48 @@
+
+\chapter*{}
+\begin{center}
+
+\vspace*{-20mm}
+
+\begin{center}
+%\includegraphics[width=9cm]{../common/geclipse}\\[10mm]
+\textbf{
+\LARGE {\title}\\[8mm]
+\large {\subtitle}\\[13mm]
+%\normalsize {\workpackage}
+}
+\vfill
+\vline width 160mm height 1pt
+\end{center}
+
+\begin{flushright}
+
+\begin{tabular}{p{40mm}p{100mm}}
+%Document Filename: & \textbf{\docfilename}\\[5mm]
+%Workpackage:& \textbf{\workpackage}\\[5mm]
+%Partner(s): & \textbf{\partners}\\[5mm]
+%Lead Partner: & \textbf{\leadpartner}\\[5mm]
+%Config ID: & \textbf{\configid}\\[5mm]
+Document classification: & \textbf{\docclassification}\\[5mm]
+Date: & \textbf{\pubdate}\\[5mm]
+\end{tabular}
+
+\end{flushright}
+
+\vline width 160mm height 1pt
+\vspace*{0mm}
+\end{center}
+
+\vfill \underline{Abstract}: \abstract \vfill
+
+\begin{center}
+\vspace{20mm}
+ % \includegraphics[width=30mm]{../common/ist-logo}
+\end{center}
+\clearpage
+\renewcommand\headrulewidth{0.7pt}
+
+%\lhead{\includegraphics[width=30mm]{../common/geclipse}\vspace*{4mm}}
+\chead{\raggedleft\everypagetitle \vspace*{5mm}}
+\rhead{}
+\vspace{-5mm}
diff --git a/doc/releaseReview.1.4.0/common/geclipse.sty b/doc/releaseReview.1.4.0/common/geclipse.sty
new file mode 100644
index 0000000..32b1947
--- /dev/null
+++ b/doc/releaseReview.1.4.0/common/geclipse.sty
@@ -0,0 +1,33 @@
+\renewcommand\chapter{\clearpage
+                    \global\@topnum\z@
+                    \@afterindentfalse
+                    \secdef\@chapter\@schapter}
+\def\@makechapterhead#1{%
+  \vspace*{5\p@}%
+  {\parindent \z@ \raggedright \normalfont
+    \interlinepenalty\@M
+    \LARGE \bfseries \thechapter \hspace{.5em} #1\par\nobreak
+    \vskip 20\p@
+  }}
+\def\@makeschapterhead#1{%
+  \vspace*{5\p@}%
+  {\parindent \z@ \raggedright \normalfont
+    \interlinepenalty\@M
+    \LARGE \bfseries  #1\par\nobreak
+    \vskip 20\p@
+  }}
+\renewenvironment{theindex}
+               {\if@twocolumn
+                  \@restonecolfalse
+                \else
+                  \@restonecoltrue
+                \fi
+                \columnseprule \z@
+                \columnsep 35\p@
+                \twocolumn[\@makeschapterhead{\indexname}]%
+                \@mkboth{\MakeUppercase\indexname}%
+                        {\MakeUppercase\indexname}%
+                \parindent\z@
+                \parskip\z@ \@plus .3\p@\relax
+                \let\item\@idxitem}
+               {\if@restonecol\onecolumn\else\clearpage\fi}
diff --git a/doc/releaseReview.1.4.0/common/setup.tex b/doc/releaseReview.1.4.0/common/setup.tex
new file mode 100644
index 0000000..9753c32
--- /dev/null
+++ b/doc/releaseReview.1.4.0/common/setup.tex
@@ -0,0 +1,81 @@
+\usepackage{graphicx}
+\usepackage{hyperref}
+\usepackage{makeidx}
+%\usepackage{supertabular}
+\usepackage{common/geclipse}
+\evensidemargin=0pt
+\oddsidemargin=0pt
+\topmargin=-\headheight \advance\topmargin by -\headsep
+\textwidth=15.99cm \textheight=22.5cm % normal A4, 1'' margin
+\setcounter{tocdepth}{2}
+\setlength{\parindent}{0pt}
+\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}
+\hypersetup{colorlinks}
+
+\bibliographystyle{plain}
+
+\newcommand{\edgfile}[1]{\texttt{#1}}
+\newcommand{\edgcommand}[1]{\texttt{\b #1}}
+
+% Here are the new commands for writing usecases. Use them with the new usecase-environment 
+\usepackage{colortbl}
+\newcommand{\ucitem}[2]{\hline \bfseries #1 & #2 \\}
+\newcommand{\ucname}[1]{\multicolumn{2}{||>{\columncolor{gEclipse}}c||}{\color{white}{\large\scshape\bfseries #1}}\\}
+\newcommand{\ucidentifier}[1]{\ucitem{Identifier}{#1}}
+\newcommand{\ucgoals}[1]{\ucitem{Goals in context}{#1}}
+\newcommand{\ucactors}[1]{\ucitem{Actors}{#1}}
+\newcommand{\uctriggers}[1]{\ucitem{Triggers}{#1}}
+\newcommand{\ucincludes}[1]{\ucitem{Included Use Cases}{#1}}
+\newcommand{\ucextends}[1]{\ucitem{Extends Use Case}{#1}}
+\newcommand{\ucpreconditions}[1]{\ucitem{Pre-Conditions}{#1}}
+\newcommand{\ucpostconditions}[1]{\ucitem{Post-Conditions}{#1}}
+\newcommand{\ucbasicflow}[1]{\ucitem{Basic Flow}{#1}}
+\newcommand{\ucdeviantflow}[1]{\ucitem{Deviant Flow(s)}{#1}}
+\newcommand{\ucimportance}[1]{\ucitem{Importance and Frequency}{#1}}
+\newcommand{\ucadditional}[1]{\ucitem{Additional Requirements}{#1}}
+\newcommand{\ucref}[2]{\hyperlink{uc:#1}{#2}}
+\newenvironment{usecase}[3]
+  {
+    \begin{center}
+    \phantomsection
+  	\addcontentsline{toc}{subsection}{#2}
+  	\tablefirsthead{}
+    \tablehead{\hline \multicolumn{2}{||l||}{\footnotesize \ldots#2 - continued from last
+    page}\\}
+    \tabletail{\hline \multicolumn{2}{||r||}{\footnotesize #2 - continued on
+    next page\ldots}\\ \hline}
+    \tablelasttail{\hline}
+    \begin{supertabular}{||p{4.8cm}|p{9.8cm}||}\hline
+      \ucname{\hypertarget{uc:#3}{#2}}
+      \ucidentifier{#1 - #2}
+  }
+  {
+    \end{supertabular}
+    \end{center}
+    \vspace{0.5cm}
+  }
+
+%\usepackage{lastpage}
+\usepackage{fancyhdr}
+\usepackage{hyperref}
+\pagestyle{fancy}
+
+\pagestyle{fancy}
+\voffset=-1in
+
+\usepackage{color}
+\usepackage{colortbl}
+\definecolor{black}{rgb}{0,0,0}
+\definecolor{white}{rgb}{1,1,1}
+\definecolor{gEclipse}{rgb}{0.3,0.3,0.9}
+%\lhead{\includegraphics[width=30mm]{crossgrid-logo-2}\\[.1mm]}
+%\rhead{\includegraphics[width=30mm]{ist_logo}}
+%\lfoot{\small \istnumber}
+\lfoot{\small \docfilename}
+\cfoot{\docclassification}
+%\rfoot{\thepage/\pageref{LastPage}}
+\rfoot{\thepage}
+
+\renewcommand\headrulewidth{0pt}
+\renewcommand\footrulewidth{0.7pt}
+\renewcommand{\headheight}{40mm}
diff --git a/doc/releaseReview.1.4.0/epp_1.4.0_ReleaseReview.pdf b/doc/releaseReview.1.4.0/epp_1.4.0_ReleaseReview.pdf
new file mode 100644
index 0000000..c76ac4d
--- /dev/null
+++ b/doc/releaseReview.1.4.0/epp_1.4.0_ReleaseReview.pdf
Binary files differ
diff --git a/doc/releaseReview.1.4.0/epp_1.4.0_ReleaseReview.tex b/doc/releaseReview.1.4.0/epp_1.4.0_ReleaseReview.tex
new file mode 100644
index 0000000..3f212c6
--- /dev/null
+++ b/doc/releaseReview.1.4.0/epp_1.4.0_ReleaseReview.tex
@@ -0,0 +1,325 @@
+\documentclass{report} 
+\input{./common/setup.tex}
+%\usepackage{picins}
+\usepackage{longtable}
+
+
+\renewcommand{\textfraction}{0.01}
+\renewcommand{\topfraction}{1,}
+\renewcommand{\bottomfraction}{1.}
+%%%%%%%%%%%%%%%%%%%%%%%%    DEFINITIONS    %%%%%%%%%%%%%%%%%%%%%%%%
+\def\docfilename{}
+\def\title{Eclipse Packaging Project} 
+\def\subtitle{Release Review Version 1.4.0}
+\def\everypagetitle{\textbf{Eclipse Technology Project: EPP\\Release Review
+Version 1.4.0}} \def\pubdate{\today}
+\def\workpackage{}
+\def\partners{}
+\def\leadpartner{}
+\def\configid{}
+\def\docclassification{\copyright 2011 by Markus Knauer.\newline
+Made available under the Eclipse Public License v1.0.}
+\def\istnumber{}
+\def\abstract{This document contains the Release Review Documentation for the
+Eclipse Packaging Project (EPP). The 1.4.0 EPP release is scheduled for
+2011-06-22 together with the Simultaneous Release of Indigo.}
+  
+\makeindex
+
+\begin{document}
+
+\input{./common/cover}
+
+%\vspace*{8cm}
+%\begin{center}
+%This document is intended to be gender-neutral. Nevertheless, we use gender-specific language where expedient to ensure simplicity.
+%\end{center}
+
+%\clearpage
+
+%\section*{Delivery Slip}
+%\begin{tabular}{|p{2.1cm}|p{4.1cm}|p{2.0cm}|p{2.0cm}|p{3.7cm}|}
+%\hline
+%                        & Name  & Partner & Date    &  Signature \\ \hline 
+%\hline
+%\raggedleft From        & Markus Knauer & INO &     &            \\ \hline
+%\raggedleft Verified By &       &         &         &            \\ \hline
+%\raggedleft Approved By &       &         &         &            \\ \hline
+%\end{tabular}
+
+%\section*{Document Log}
+%\begin{tabular}{|p{1.0cm}|p{1.9cm}|p{6cm}|p{5.4cm}|}
+%\hline
+%Version & Date       & Summary of changes & Author  \\ \hline \hline
+% 0.1    & 2007-07-05 & First Draft        & Markus Knauer \\  \hline
+%\end{tabular}
+
+\tableofcontents
+\newpage
+
+\chapter{Overview}
+
+\section{Scope and goals of the project}
+
+\begin{itemize}
+ \item {\bfseries Create entry level downloads based on defined user profiles.}
+ \begin{itemize}
+   \item Packages that have been removed from the Indigo EPP build on the package maintainers request
+     \begin{itemize}
+       \item Eclipse for PHP Developers
+       \item Eclipse SOA Platform for Java and SOA Developers
+       \item Pulsar for Mobile Developers
+     \end{itemize}
+   \item New packages with Indigo
+     \begin{itemize}
+       \item Eclipse for Testers: Maintained by the Jubula project.
+       \item Eclipse IDE for Parallel Application Developers: Maintained by the PTP project.
+       \item Eclipse for Scout Developers: Maintained by the Scout project.
+     \end{itemize}
+   \item EGit is part of several packages (RCP/RAP, Modeling, LinuxTools)
+   \item The EPP sub-project RTP (Runtime Platform Project) will provide additional Runtime packages.
+   \item The Eclipse Modeling Tools package does not contain any components from projects in incubation phase any more.
+ \end{itemize}
+ The Indigo EPP packages are provided for the following architecture, platform, and windowing system combinations:
+ \begin{enumerate}
+   \item Windows 32-Bit, x86
+   \item Windows 64-Bit, x86\_64
+   \item Linux 32-Bit, x86, GTK
+   \item Linux 64-Bit, x86\_64, GTK
+   \item Mac OS-X, 32-Bit, Cocoa
+   \item Mac OS-X, 64-Bit, Cocoa
+ \end{enumerate}
+ \item {\bfseries Provide and integrate the EPP Usage Data Collector.} No major change since Helios.
+ \item {\bfseries Integrate the EPP Marketplace Client.} The Eclipse Marketplace
+ Client from the EPP MPC project is included in all packages.
+% \item {\bfseries Provide a dynamic installer that improves the install experience of new users of Eclipse.}
+ \item {\bfseries Provide a central build infrastructure for the eclipse.org package builds.}  The EPP package builds are running on Hudson and allow early
+ feedback on the content of the simultaneous releases (Europa, Ganymede, Galileo, Helios, Indigo).
+\end{itemize}
+
+Since June 2007, the project delivered packages for all release trains, including Europa, Ganymede, Galileo, Helios and all of their service releases and had millions of downloads.
+
+\chapter{Features}
+
+EPP for Indigo in version 1.4.0 includes
+
+\begin{itemize}
+  \item Buckminster build that generates the p2 repository with the package definitions 
+  \item build scripts that are used in the nightly package builds
+  \item the UDC (Usage Data Collector) that collects data on an Eclipse client, e.g. an EPP package and sends the data back to the Eclipse Foundation servers.
+\end{itemize}
+
+All EPP components are using the 1.4 version number except the UDC components that did not change in functionality and will stay at 1.3.1. In addition to that 
+there is a discussion about retiring the UDC (see bug 347069: Is it time to retire the UDC?).
+
+%\begin{description}
+%\item[\texttt{org.eclipse.usagedata.*}] client components of the Eclipse Usage Data Collector. The usage data monitors what is being used and when (timestamp), including
+%	\begin{itemize}
+%    \item Loaded bundles
+%    \item Commands accessed via keyboard shortcuts
+%    \item Actions invoked via menus or toolbars
+%    \item Perspective changes
+%    \item View usage
+%    \item Editor usage
+%    \item Environment, JVM, platform (new)
+%    \end{itemize}
+%Captured data is associated with a user through a combination of workstation and workspace ids that are automatically generated by the collector.  This identification is not tied to any personal %information about the user. Where possible, the usage data collector also capture the symbolic name and version of the bundle contributing the command/action/perspective/view/editor.%
+%\end{description}
+
+%\begin{figure}[!h]
+%\begin{center}
+%\includegraphics[width=0.80\textwidth]{img/epp.udc.uploading.eps}
+%\caption{EPP Usage Data Collector Upload}
+%\label{fig:epp.udc.preferences}
+%\end{center} 
+%end{figure}
+
+%\begin{figure}[!h]
+%\begin{center}
+%\includegraphics[width=0.80\textwidth]{img/epp.udc.preview.eps}
+%caption{EPP Usage Data Collector Preview}
+%\label{fig:epp.udc.preferences}
+%\end{center} 
+%\end{figure}
+
+% Summarize the major features of this release as well as any other features that have generated significant discussion amongst the community during the development cycle. Compare the features against the Roadmap to understand the project's conformance or divergence.
+% Reason: The community will use this release and the ecosystem will build products on top of this release, and both need to know what features were included or excluded.
+% References to existing New and Noteworthy documentation is a useful addition to this summary.
+
+\chapter{Non-Code Aspects}
+\section{User Documentation}
+User documentation has been created and updated for this release in the form of web pages or wiki pages (http://wiki.eclipse.org/index.php/Category:EPP):
+\begin{itemize}
+  \item How-to specify an EPP configuration file
+  \item How-to create the package definition files, package defining feature, branding plug-in
+  \item How-to build your own package
+  \item Package Testing
+  \item Build Infrastructure
+\end{itemize}
+
+\section{Localization or Externalization}
+EPP is available for the English language; strings are externalized.
+
+Components in Babel are provided but the team does not translate the strings.
+
+\chapter{APIs}
+
+\section{EPP Packaging}
+
+No major change since the last release.
+
+\section{EPP UDC}
+
+No major change since the last release.
+%Certify that the APIs in this release are Eclipse Quality. The project lead will personally certify that the requirements for quality have been met and/or discuss any deficiences.
+%Reason: Eclipse members build commercial tools on top of the extensible frameworks and thus the quality of the APIs is extremely important.
+
+
+\chapter{Architectural Issues}
+
+There is a discussion ongoing about different expectations on how and when to update the EPP Packages.
+See bug 345503: Reconsider patch/update policy for EPP Packages for further details. 
+Depending on the results of this discussion there may be changes in the Indigo service releases in some or all packages.
+
+
+%\section{EPP Packaging}
+
+%The EPP configuration file is not used any more for the package build. Using Eclipse standards, such as feature.xml, etc.
+
+%\section{EPP Usage Data Collector}
+
+%The current implementation of the UDC works in an RCP environment. Future planned enhancements include a UDC that will run unmodified in a RAP environment.
+
+%Summarize the architectural quality of the release. Discuss the intrinsic nature of being extensible embodied by this project. Discuss issues such as unresolved overlap with other projects, unpaid "merge debt" from incorporating various components, and so on.
+%Reason: Eclipse members build commercial tools on top of the extensible frameworks and thus the quality of the architecture is important.
+
+\chapter{Tool Usability}
+
+\section{EPP Packaging}
+
+With millions of downloads in the last years, packages generated by EPP have been proven stable.
+
+The EPP packages are available from the main eclipse.org download page and all community packages from a Drupal driven site.
+
+\section{EPP Usage Data Collector}
+
+More than 100.000 new users of the Packages are sending their UDC
+data to the Eclipse Foundation every month. More than 200.000 distinct users
+are uploading their data every month. The results are available from the Eclipse
+Foundation web pages (http://www.eclipse.org/org/usagedata/).
+
+
+%Summarize the usability of the tools. Usability in this sense is about using the tools to solve development problems, not the more academic sense of UI evaluation/testing.
+%Reason: Without usable tools, the project will not attract the user community necessary to enable the ecosystem.
+
+\chapter{End-of-Life}
+
+\begin{itemize}
+ \item Discussion about retiring the EPP UDC (see bug 347069: Is it time to retire the UDC?)
+ \item The installer that was developed at the very beginning of the project (but never released) will be retired (see bug 346617: CVS cleanup: installer/sfx components).
+ \item The EPP packaging application cannot be supported any more. The project uses now existing technology from Equinox p2.
+\end{itemize}
+
+\chapter{Bugzilla}
+
+As of 2011-05-31 there are $612$ bugs in technology/epp, $141$ listed with
+status new, assigned, open. Currently there are no blockers, 7 critical bugs.
+
+\chapter{Standards}
+
+\begin{itemize}
+  \item The EPP UDC uses Java 1.5, compatible with Eclipse 3.4, 3.5, 3.6, and 3.7
+  \item The EPP packages use Java 1.5 and are based on Eclipse 3.7.
+ \end{itemize}
+
+\chapter{UI Usability}
+
+Only the EPP UDC contains UI elements in form of preferences pages.
+
+\begin{itemize}
+  \item Following Eclipse UI usability guidelines
+  \item Usability changes based on users' feedback
+\end{itemize}
+
+%Summarize the user interface usability and the conformance to the Eclipse User Interface Guidelines. Include section 508 compliance, language pack conformance (does the code support multiple languages), etc. Explain any deviations from the user interface guidelines and standards.
+%Reason: The user community is larger than just mouse-wielding, English-speaking, computer jockeys. We need to support that larger community.
+
+\chapter{Schedule}
+
+The plan of the Eclipse Packaging Project is always in sync with the release train plans, i.e. the Indigo release train.
+
+The scheduled dates for the Helios release have been met and the packages were released together with the Helios Release in June 2010. Updates have been created and made available for all Helios Service Releases.
+
+For the Indigo release, EPP started to deliver initial packages for Indigo M2, and provided nightly package builds. Since then, EPP delivers all packages for each of the Indigo milestones and release candidates. 
+
+%Discuss the initial schedule and any changes to the schedule over the course of the release, i.e., what the project team achieved. Discuss whether milestones were met or slipped.
+%Reason: The community relies on consistent schedules from Eclipse so that projects and products can plan for the correct dependencies.
+
+\chapter{Communities}
+
+\begin{itemize}
+  \item Active committers (6) and contributors from 4 partners (EclipseSource Inc., Eclipse Foundation, Cloudsmith Inc., Instantiations, Xored); see below for committer changes.
+  \item Developer mailing list with about 1500 e-mails (about 500 since Helios), newsgroup with more than 200 messages
+  \item The Eclipse Packaging Project has been mentioned in many blog postings, other mailing lists (e.g. cross-project-issues-dev)
+  \item Participation in the Eclipse Planning Council and in the Eclipse Architecture Council
+\end{itemize}
+
+Recently the project decided to integrate the maintainers of the packages in a lightweight way similar to the Orbit project. One of the prerequisites is an
+existin committership on another Eclipse project and being a well known member of the respective package community. The election of the existing 
+package maintainers concluded successfully and the project is happy to welcome the following new committers:
+Cedric Brun (Modeling), 
+Xiaoying Gu (Reporting), 
+Andreas Hoegger (Scout), 
+Andrew Overholt (LinuxTools), 
+Steffen Pingel (Java), 
+Doug Schaefer (CPP), 
+Beth Tibbitts (Parallel),
+Markus Tiede (Testing), and David Williams (Java EE and JavaScript).
+
+%Summarize the project's development of its three communities. Consider the interactions on bugzilla, the mailing lists, the newsgroups, public conference calls, blogs, PR activities, code camps, conference tutorials, coordinating with other Eclipse projects and other open source projects (Apache, ObjectWeb, etc), ...
+%Reason: It is important for Eclipse projects to build a community around the project, not just deliver code for a project. This review item is about the success of building a community.
+
+\chapter{IP Issues}
+
+See IP Log at http://www.eclipse.org/projects/ip\_log.php?projectid=technology.packaging
+
+List of committers:
+
+\begin{itemize}
+  \item Wayne Beaton - committer since 12/2007
+  \item Henrik Lindberg - committer since 06/2008
+  \item Jordi Böhme López - committer since 06/2008 
+  \item Alexander Kazantsev, initial committer
+  \item Markus Knauer, initial committer
+  \item Jeff McAffer - committer since 06/2008 
+  \item Mark Russell, initial committer
+\end{itemize}
+
+
+
+%As per the Eclipse IP Policy, these steps must be done:
+%   1. The project leadership verifies that:
+%          * ... that the about files and use licenses are in place as per the Guidelines to Legal Documentation.
+%          * ... all contributions (code, documentation, images, etc) has been committed by individuals who are either Members of the Foundation, or have signed the appropriate Committer Agreement. In either case, these are individuals who have signed, and are abiding by, the Eclipse IP Policy.
+%          * ... that all significant contributions have been reviewed by the Foundation's legal staff. Include references to the IPZilla numbers of all clearances.
+%          * ... that all non-Committer code contributions, including third-party libraries, have been documented in the release and reviewed by the Foundation's legal staff. Include references to the IPZilla numbers of all clearances.
+%          * ... that all Contribution Questionnaires have been completed
+%          * ... the "provider" field of each feature is set to "Eclipse.org"
+%          * ... the "copyright" field of each feature is set to the copyright owner (the Eclipse Foundation is rarely the copyright owner).
+%          * ... that any third-party logos or trademarks included in the distribution (icons, help file logos, etc) have been licensed under the EPL.
+%          * ... that any fonts or similar third-party images included in the distribution (e.g. in PDF or EPS files) have been licensed under the EPL.
+%   2. The PMC provides a Project Log that enumerates:
+%         1. every piece of third party software including information on the license
+%         2. every major contribution
+%         3. the name of every contributor including non-committer contributions via bug fixes with bug number's
+%         4. the About files which contain any non-standard terms (e.g., a reference to a license other than the EPL, etc)
+%   3. The EMO will validate for (a) and (b) that Contribution Questionnaires have been properly submitted and EMO approvals have been completed.
+%   4. A frozen copy of the reviewed-and-approved-by-Eclipse-legal Project Log is part of the Release Review documentation. It can be included in the docuware or as a separate document.
+
+\chapter{Project Plan}
+
+Version 1.4.1 is scheduled for October 2011 (Indigo SR1), verion 1.4.2 is scheduled together with Indigo SR2. Both will contain mainly bugfixes and no new functionality.
+
+A detailed plan is not yet available.
+
+\end{document}
