Eclipse Cloud Development Platform Charter
The Eclipse Cloud Development Platform (CDP) is an open source software development project dedicated to providing a robust, full-featured, commercial-quality, and freely available industry cloud platform for the development of highly integrated tools.
This charter was developed in accordance with the Eclipse Development Process and will outline the mission, scope, organization, and development process for the Eclipse Cloud Development Platform Project. This document extends the Eclipse Standard Top-Level Charter v1.1, and includes the required content and overrides which follow. It is anticipated that as the standard charter is updated, this charter will incorporate the changes and make adjustments as seen fit by the PMC, and with approval from the EMO and board of directors.
- Descriptive name: Eclipse Cloud Development Platform
- Nickname: Eclipse CDP
The mission of the Eclipse CDP is to create cloud development platforms to meet the needs of the Eclipse tool-building community and its users, to fulfill a vision of providing an industry tooling platforms that operate on top of cloud standards. The cloud has opened the world, creating standards with HTTP, browser renderers, cross-system programming languages, security protocols, and many other platform building blocks.
The Eclipse CDP provides infrastructure, standards and frameworks that make use of open cloud standards to offer a cloud development platforms for tools - open, extensible systems to execute distributed developer services (such as build, run, debug, test, continuous integration, deploy) while also providing open, extensible browser-based tooling applications that consume these services (e.g.: IDEs, source clients).
The project has a goal of finding common ground between its constituent projects and establishing common tooling building blocks and APIs where possible to facilitate integration and interoperability between them. This project will focus on:
- Standards and Protocols for provisioning cloud developer platforms, cloud developer environments, and the interaction of clients with services
- Frameworks for building, loading, managing, running, and executing distributed tooling extensions with browser-client interfaces
- Extensions for programming languages, build systems, frameworks, ALM and code assistant tools
Hosted Developer Environment Clouds that manage large populations of developers, projects, and activity with maximum density and minimum hardware
- Analytics to derive deep data insights from developer population activity
- Tools and Cloud IDEs that orchestrate developer tooling and workflows across distributed systems
- Solutions that build ready-to-run solutions based on the other building blocks
The success of the initiative depends on how well the solutions built enable a wide range of tool builders to create best of breed integrated tools that run on a distributed system and accessed by a variety of clients over open standards. But the real vision of pure cloud development is only realized if different tools can be combined by users to suit their unique requirements, in ways the tool authors never imagined.
This document describes the composition and organization of the project, roles and responsibilities of the participants, and development process for the project.
The Eclipse CDP encompasses four areas of work:
- Developer Environment Cloud Platforms. Developing the core frameworks, technologies and platforms upon which tools and developer services can be hosted, distributed, scaled, managed, and connected.
- Cloud Tool Extension Platforms. Developing the core frameworks and technologies which others use to compose new cloud development tools.
- The tools required to build and extend these platforms. Creating the tools that the Eclipse CDP committers need in order to build these platforms, and the tools the community needs to extend and adopt the platforms.
- Providing complete industry-oriented IDE solutions based on these building blocks
The projects under this top-level project will be implemented in a variety of programming languages. These projects also target many different hardware, OS, and programming language environments to meet the needs of global industries.
The tool creation goal has a number of important objectives. First, it provides an initial "customer" for the platform, to ensure the requirements of real development tools are met by this initiative. Second, it encourages community adoption of the platform. The easier it is for the community to adopt and extend the platform, the more successful the project will be. Finally, it allows the project contributors to continuously "self host" on the tool platform as it is being built. This creates a tight feedback loop that ensure the platform is robust, and meets the needs of real tool users.
The Eclipse CDP will be initially comprised of these Existing Eclipse projects:
Projects under the Eclipse CDP Top-Level Project are permitted to use one of the following two options:
- Eclipse Public License v1.0
- Eclipse Public License v1.0 and Eclipse Distribution License v1.0