Roadmap V3 has been superceded by Roadmap V4
As required by the Eclipse Development Process, this document describes the Eclipse Roadmap.
The Roadmap is intended to be a living document which will see future iterations. This document is the third version of the Eclipse Roadmap, and is labeled as version 3.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 determines what 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:
- 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 anticipated
within the Eclipse open source community.
- The Themes and Priorities which has been
developed by the Eclipse Requirements Council.
- The Platform Release Plan which has been
developed by the Eclipse Planning Council.
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. A large and vibrant ecosystem of major technology vendors, innovative start-ups, universities, research institutions and individuals extend, complement and support the Eclipse platform.
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.
The following are the strategic goals of Eclipse.
- To define a vendor-neutral, open development platform which demonstrates technology leadership and innovation. 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 and runtime platform (e.g. Equinox, RCP) 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.
- Eclipse has had an enviable track record of building and maintaining a strong and recognized name within the worldwide developer community. The Eclipse Foundation will continue to invest to ensure that Eclipse is recognized as a leading open source community with exciting, innovative technologies.
- To foster growth and adoption of Eclipse technology. Since its inception,
there has been rapid growth in people using Eclipse as their personal
toolset, as a platform for building their plug-ins, and as the basis for
their commercial products.
The high rate of adoption of the Eclipse technology can be traced to two key factors: great technology, and the ease with which it can be adopted by others, both commercial and open source. This ease of adoption has, in turn, several dimensions. The EPL provides terms which are conducive to both commercial and open source use. The focus on extensible frameworks has made it relatively simple to re-use Eclipse Technology in both products and applications.
- To cultivate the commercial success of the Eclipse ecosystem. 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.
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 2007, we envision future growth in Eclipse projects in the following major areas. These are areas in which we envision starting new projects in 2007, not areas in which we envision having completed Eclipse-quality standards-based frameworks and tooling.
- Enterprise 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) project as a prime example.
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 (application lifecycle, RIA, RCP, SOA and the like), but in addition we anticipate additional projects in Eclipse focused on such disparate areas as dynamic languages, software process engineering, identity management, and modeling.
- 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:
- 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
- Rich Client Platform (RCP)
The RCP was first introduced by Eclipse with the 3.0 release of the Eclipse Platform in June, 2004. 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 the RCP plug-in model.
- 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 OSGi 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 Corona project extends this for collaborative development. The eRCP project is bringing OSGi-based implementations to mobile devices. 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.
- Rich Internet and Ajax Applications
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.
- Application Lifecycle
Eclipse today provides a great deal of coverage of the software development lifecycle. The Eclipse Foundation’s goal is to enable complete coverage of the software development lifecycle by Eclipse-based technology, through a combination of open source frameworks and exemplary tools, and an ecosystem of complementary products, capabilities, and services. Included in this category are such capabilities as tool integration, developer productivity tools, development management, traceability tools, and collaborative development.
Some examples of possible new project areas which would further extend this lifecycle coverage include:
- requirements management
- deployment and provisioning, and
- build management.
- 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 is 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.
The initial projects within STP are focused on such areas as service creation, BPEL to Java, and BPMN. Future initiatives in the SOA space could include support of the Java Business Integration (JBI) spec.
- Vertical market technology frameworks
We are seeing interest from vertical market vendors in basing their next generation tools on Eclipse. Thus a future growth area for Eclipse is to extend our projects to provide open source application frameworks and exemplary tools targeted at standards in specific vertical markets such as aerospace, automotive, and healthcare. One area of particular interest is the development of RCP-based application frameworks which can be used to build and deploy products and applications targeted at particular domains.
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 third version of the Eclipse Roadmap has been developed by the two councils: the Planning Council and the Requirements Council. The Councils met face-to-face three times in 2006: once in May, once in October and again in January. (The minutes of these meetings are available on the Councils page). Subsequent discussion of the Roadmap was done through numerous individual phone calls, and more numerous emails amongst the Council members.
The information flow we managed to achieve in this first draft 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 March 5, 2007.