2008 Roadmap

From Eclipsepedia

Jump to: navigation, search

This document is under construction!

Contents

Introduction

As required by the Eclipse Development Process, this document describes the 2008 Eclipse Roadmap.

The Roadmap is intended to be a living document which will see future iterations. This document is the fourth version of the Eclipse Roadmap, and is labeled as version 4.0. In order to preserve this document while the underlying information evolves, the pages have been frozen by copying them from their original project hosted locations.

The goal of the Roadmap is to provide the Eclipse ecosystem with guidance and visibility on the future directions of the Eclipse open source community. An important element in this visibility is that the Roadmap help the EMO and the Board of Directors in determining which projects will be accepted by Eclipse during the life of this revision of the Roadmap. In other words, new projects must be consistent with the Roadmap. This does not mean that every new project must be explicitly envisaged by the Roadmap. It does mean that new projects cannot be inconsistent with the stated directions of Eclipse. In particular, Eclipse expects that incubator projects created in the Technology PMC will cover areas not explicitly described in the Roadmap.

There are three main sections to this document:

  1. This Preamble provides some background on Eclipse and the Foundation, and identifies the strategic goals of Eclipse. It also provides a brief overview of the scope of future projects
  2. The Themes and Priorities which has been developed by the Eclipse Requirements Council.
  3. The Platform Release Plan which has been developed by the Eclipse Planning Council.

Background

As defined on our website, the role of the Foundation is:

Eclipse is an open source community, whose projects are focused on building an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the lifecycle. The Eclipse Foundation is a not-for-profit, member supported corporation that hosts the Eclipse projects and helps cultivate both an open source community and an ecosystem of complementary products and services.

As defined in our Bylaws the Purposes of the Eclipse Foundation are:

The Eclipse technology is a vendor-neutral, open development platform supplying frameworks and exemplary, extensible tools (the “Eclipse Platform”). Eclipse Platform tools are exemplary in that they verify the utility of the Eclipse frameworks, illustrate the appropriate use of those frameworks, and support the development and maintenance of the Eclipse Platform itself; Eclipse Platform tools are extensible in that their functionality is accessible via documented programmatic interfaces. The purpose of Eclipse Foundation Inc., (the “Eclipse Foundation”), is to advance the creation, evolution, promotion, and support of the Eclipse Platform and to cultivate both an open source community and an ecosystem of complementary products, capabilities, and services.

Strategic Goals

The following are the strategic goals of Eclipse.

  1. Establish Eclipse as a leading provider of open source runtime technologies. At least since 2004, Eclipse projects have been shipping innovative runtime technologies such as Equinox and the Rich Client Platform. The last several years have seen steady growth in runtime technologies at Eclipse. At the same time, there has been rapid growth in the interest in OSGi, which is the standard upon which Eclipse is based. Moving forward, we expect to see rapid growth in Eclipse runtime technologies.

  2. Maintain global leadership in open source tools platforms. As an open development platform, Eclipse provides support for multiple operating environments and multiple programming languages. The goal of Eclipse is to define for the industry a development platform which is freely licensed, open source and provides support for the full breadth of the application lifecycle, in many disparate problem domains, across the development and deployment platforms of choice.

  3. Create value for all its membership classes. The Eclipse Foundation exists to serve its members whose primary interest in leveraging Eclipse technologies in commercial offerings such as products and services. The Eclipse Foundation will focus its energies to ensure that commercial opportunity exists within the Eclipse ecosystem.

    Committers are also members of the Eclipse Foundation and are in many ways its backbone. The Eclipse Foundation and its staff will continue to look for opportunities to continually improve its service to its project community throughout 2009.

  4. Foster growth of the ecosystem, particularly in verticals. The creation of a large community of commercial and open source organizations which rely on and/or complement Eclipse technology has been a major factor in the success of Eclipse. Each time Eclipse technology is used in the development of a product, service or application the Eclipse community is strengthened. Our goal in 2009 is to focus our attention on the creation of industry working groups and new Eclipse projects which focus on particular industry segments such as mobile, automotive, insurance and finance.

Future Directions

The goal of the Roadmap is to provide the Eclipse ecosystem with guidance and visibility on the future directions of the Eclipse open source community, and to involve the Eclipse membership in a dialog about those future directions. In that vein, this section discusses our current vision of the future as a set of future projects that expand the value of the ecosystem for all of its members.

The Themes and Priorities document prepared by the Requirements Council describes a number of requirements and focus areas for the existing Eclipse projects.

In addition to the Themes and Priorities requirements on existing projects in 2009, we envision future growth in Eclipse projects in the following major areas. These are areas in which we envision starting new projects in 2009, not areas in which we envision having completed Eclipse-quality standards-based frameworks and tooling.

Enterprise Java Development

Eclipse has historically maintained a strong presence in the area of enterprise development, with the success and adoption of the Java development tools (JDT) and the Web Tools projects as prime examples.

As Eclipse continues to grow and evolve, we anticipate additional projects will be created in this space to meet the ever-evolving needs of enterprise developers. The sections below will cover many topics of interest to this audience (web development, modeling, SOA and the like), but in addition we anticipate additional runtime, application framework and extensible tool projects in Eclipse focused on such disparate areas as dynamic languages, software process engineering, identity management, and multi-tier enterprise applications.

Embedded and Device Software Development

Eclipse has seen a great deal of success in the embedded marketplace over the past several years. For example, CDT has been used by a number of RTOS vendors as the basis for their tools platform. More recently the Device Software Development Platform project has added additional capabilities in the area of target management, device debug, tools for mobile java developers, C++ GUI builder, and embedded rich client platform.

However, there are many different technologies currently not covered by Eclipse which would extend the utility of the Eclipse Platform for the embedded development market. Some examples include:

  • Real-time software components for embedded systems which provides a tooling infrastructure and lightweight software architecture for building embedded software.
  • Runtime analysis infrastructure to provide frameworks and tools to monitor applications running on a device
  • Component configuration frameworks and tooling to configure operating systems, file systems and middleware
  • Hardware bring-up mechanisms for on-chip debugging and early development
  • Tools for mobile Linux developers
  • Board design tools


Equinox and the Rich Client Platform (RCP)

The RCP was first introduced by Eclipse with the 3.0 release of the Eclipse Platform in June, 2004. At the same time, the OSGi-based Equinox implementation became the basis of the Eclipse plug-in model.

The RCP is a technology for building, provisioning and managing client applications with a rich user experience. Eclipse’s goal is to make the RCP a mainstream development and runtime platform for both ISVs and enterprise developers. To do so, we plan to evolve the RCP technology in the following ways:

  • Enhance RCP with new functionality such as better update, provisioning and management capabilities.
  • Enhance the security capabilities of Equinox.
  • Provide application frameworks based on the RCP which extend the utility of the platform into such technology areas as enterprise content management, office and/or personal productivity tools --- particularly in the support of open standards related to documents and data interchange --- business application components and the like.

In addition to the above, we anticipate that the Equinox runtime technology which underpins RCP will continue to see rapid expansion in the number of projects using this technology on architectural tiers other than the client. Already, the Eclipse Equinox project includes technology for the server-side. The eRCP project is bringing OSGi-based implementations to mobile devices. Swordfish, Riena and EclipseLink are all extending OSGi onto the server tier. This is a trend that we expect to see continue as interest in OSGi as a lightweight container for services-based components continues to expand.

Service Oriented Architecture

One of the major areas of growth in enterprise application development is in Service Oriented Architecture (SOA). The major focal point for Eclipse development in this space are:

  • the SOA Tools Project (STP), which is focused providing a generic, extensible, standards-based tool platform for producing SOA applications based around the Service Component Architecture (SCA) specification; and
  • Swordfish, the SOA Runtime project which is focused on providing an extensible SOA framework based on the proven Eclipse Equinox runtime technology. The framework is designed to be complemented by additional open source components such as a service registry, a messaging system, a process engine etc. to form a comprehensive open source SOA runtime environment based on both established and emerging open standards.

As these projects continue to mature and evolve, we anticipate additional SOA-focused projects at Eclipse.

Web Development

RIA technologies such as Ajax and Flash continue to grow rapidly as the development technology of choice for many new software products and applications. The Eclipse community’s initial projects in this space include:

  • The Ajax Toolkit Framework (ATF) project which provides a complete IDE for Ajax edit/compile/debug.
  • The Rich Ajax Platform (RAP) project which implements an OSGi-based runtime for building and deploying rich, Ajax-enabled web applications written in Java and deployed from a server.

We anticipate continued growth in Eclipse projects in the RIA area, as developers look to leverage Eclipse runtimes, frameworks and tools in this domain.

Modeling

Eclipse modeling technologies such as the Eclipse Modeling Framework (EMF) and the Graphical Modeling Framework (GMF) have become broadly adopted throughout the industry. In turn, this adoption has attracted many additional modeling projects to Eclipse and we anticipate that this trend will continue. In particular, we expect continuing interest in Eclipse as the community to work with in areas such as model driven development and domain-specific modeling tools.

Application Frameworks

We are seeing interest from various industry segments in basing their next generation tools and runtimes on Eclipse. Thus a future growth area for Eclipse is to extend our projects to provide open source runtimes, application frameworks and extensible, exemplary tools targeted at standards in specific vertical markets such as mobile, aerospace, automotive, insurance and finance.

One area of particular interest is the development of Equinox-based application frameworks which can be used to build and deploy products and applications targeted at particular domains.

The Roadmap Process

The process of creating the Eclipse Roadmap is described in the Eclipse Development Process. The key pieces are

Creating or updating the Roadmap begins with the Requirements Council proposing a set of Themes and Priorities that realize the Purposes and that respond to requirements elicited from the Strategic Developers, Strategic Consumers, Add-in Providers, and other constituents of the Ecosystem. After review by the Board of Directors, these Themes and Priorities are provided as input to the Planning Council. The EMO ensures that the Planning Council and the Development teams have access to all requirements. Updates to the Purposes are likely to require updates to the Roadmap and its associated themes and priorities; proposed Roadmap updates may also be motivated by new technologies or opportunities.
The process of producing or updating the Roadmap is expected to be iterative. An initial set of Themes and Priorities may be infeasible to implement in the desired timeframe; subsequent consideration may reveal new implementation alternatives or critical requirements that alter the team’s perspective on priorities. The EMO orchestrates interaction among and within the three Councils to drive the Roadmap to convergence.

This fourth version of the Eclipse Roadmap has been developed by the two councils: the Planning Council and the Requirements Council. Those Councils met face-to-face two times in 2008: once in March at EclipseCon and once in October.(The minutes of these meetings are available on the Councils page). Subsequent discussion of the Roadmap was done through numerous individual phone calls, emails amongst the Council members and collaborative editing of the documents via the Eclipse wiki. 2008 also saw the introduction of a standardized XML-based project plan format for Eclipse projects, and the development plan is a roll up of those plans provided by the projects.

The information flow we managed to achieve in this Roadmap was:

  • from the membership (both the membership-at-large and the strategic members) to the Requirements Council
  • from the PMC project plans to the Planning Council

In summary, through lots of hard work by everyone, the two groups converged on this Roadmap document.

The Roadmap was presented and affirmed by the Eclipse Board of Directors on December 12, 2008.

Please also read:

  1. The Themes and Priorities which has been developed by the Eclipse Requirements Council.
  2. The Platform Release Plan which has been developed by the Eclipse Planning Council.