Proposal for Eclipse Packaging Project

The project has been created. Please visit the project page.

Introduction

The Eclipse Packaging Project is a proposed open source project under the Eclipse Technology Project.

This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process document) and is written to declare its intent and scope. This proposal is written to solicit additional participation and input from the Eclipse community. You are invited to comment on and/or join the project. Please send all feedback to the http://www.eclipse.org/newsportal/thread.php?group=eclipse.technology.packaging newsgroup.

Background

Eclipse is seeing tremendous adoption of its tool and platform offerings. With thousands of downloads every day the Eclipse Platform SDK is the most popular download offering. The SDK includes everything needed for Eclipse plug-in development (Platform, PDE, JDT and Sources). When Eclipse was young, this was almost everything that Eclipse.org had to offer. This situation has changed over the last five years, and Eclipse is offering tools from A (AspectJ) to W (Web Tools Platform) in more than 60 projects.

At the same time, Eclipse is not only serving plug-in developers anymore, but also developers who want to explore Eclipse as a tool for a specific language or domain. Those developers are interested in downloading tools that may differ quite a bit from the Platform SDK download. For instance, developers often don't require the source code or Plug-in Development Environment (PDE), if they are just looking to use Eclipse as a Java IDE. It is possible to extend the Eclipse Platform SDK by using the update manager, but developers generally prefer a single download to get started. This is especially important for developers that are new to Eclipse.

Project Overview

The Eclipse Packaging project aims to provide a set of entry-level downloads for different user profiles. The goal is to improve the usability and out-of-box experience of developers that want to use multiple Eclipse projects.

Although this project will define an initial set of user profiles, it will also provide a platform to enable anyone to create download packages.

Scope

The objectives of the Eclipse Packaging project are to:

  • Create entry level downloads based on defined user profiles. The project will define an initial set of user profiles that will specify the requirements for a particular download package. It is expected that the initial user profiles will include Java Developer, Java EE Developer, C/C++ Developer and RCP Developer. Over time additional user profiles may be added or the initial set redefined.
  • Provide an installer that improves the install experience of new users of Eclipse. In the Europa time-frame the installer will provide the users with a well known and easy to use mechanism for extracting the download to an adjustable location and provide the possibility to create a link to the executable. We intend to integrate an integrity check of the download archive for the Europa downloads.
  • Provide a platform that allows the creation of packages (zip/tar downloads) from an update site. The core technology of the project will enable the creation of download packages that are created by bundling Eclipse features from one or multiple Eclipse update sites. The EPP platform will require a list of all features with version numbers be provided to the tooling. The tool platform will leverage existing technology. A discussion with the Eclipse Platform team indicates that the PDE build might be extended to serve the packaging project purposes. The EPP technology will be available to anyone, including other Eclipse projects, that want to create their own download package.

Out of Scope

  • Extending an existing Eclipse installation, other aspects of provisioning, and extending the Eclipse Update Manager is not part of this project.
  • Creating a general purpose multi platform install framework with all bells and whistles.

FAQ

Does the Eclipse Packaging project produce downloads on demand?

Yes and no. EPP is able to create downloads based on the delivery of an xml file containing the feature ids and versions, but it is neither optimized for creating downloads as fast as possible nor does it provide a web application to pick and choose features to be included into a download.

Does the Eclipse Packaging project provide an installer?

A native installer can help to provide a positive initial user experience. With the planned code contribution of Instantiations it will be possible to provide an installer with those features short term (Europa time-frame). Further useful features, like checking the availability of a suitable Java environment, potentially packaging a run-time environment, reducing the download size (e.g. with pack200) will be addressed at a later time, and will be coordinated with the developments in the area of provisioning.

Which technology will be used in this project?

In the initial project phase research will be done if the packaging platform itself and the EPP tools can be built upon the PDE build and packaging features.

Will you include a runtime environment?

With Java (TM) becoming open source and the latest efforts of the Geronimo project this may become feasible. We would be interested in community input on this topic, as there is a trade off between download size, ease of selection and choice. It is not very likely that this topic will be addressed in the Europa time-frame.

Can the Eclipse Packaging tools be used by organizations to build custom development environment?

Yes. Organizations can use the platform to define and build an Eclipse environment containing the plug-ins their developers need.

Can the Eclipse Packaging be extended?

Eclipse is about "extensible platforms and exemplary tools" - and we take that seriously. The project will provide an extensible platform for creating eclipse packages.

Organization

Initial committers

The initial committers will focus on providing the initial set of entry level downloads and developing the Eclipse Packaging tools. Our agile development process will follow eclipse.org's standards for openness and transparency. As such we will actively encourage contributions to the project. We also plan to help improve the Eclipse update manager by submitting patches and extension point suggestions if necessary. The initial committers are:

  • Markus Knauer (Innoopract): Project Lead
  • Dan Rubel (Instantiations): Co-Project Lead
  • Leif Frenzel (Innoopract)
  • Elias Volanakis (Innoopract)
  • Mark Russell (Instantiations)
  • Alexander Kazantsev (xored software)

Interested parties

The following parties have expressed interest extending the platform, contributing ideas, guidance and discussion. Key contacts listed.
  • Pascal Rapicault (IBM): Advisor
  • Thomas Hallgren (Buckminster Project)
  • Henrik Lindberg (Buckminster Project)

User community

The Eclipse Packaging project is providing a service for a very disparate group of developers, as such, supporting and soliciting feedback from a large user community of developers is critical to creating the right offering. We plan on doing this by using the standard eclipse.org mechanisms of supporting an open project and community of early adopters.

Tentative Plan

2007-02 0.5M1: initial definition of entry level downloads
2007-03 0.5M2: Basic implementation of EPP platform
2007-05 0.5M3: Feature complete for Europa release
2007-06 0.5: Beta availabilty for all Eclipse projects