Eclipse Cloud Development (ECD) is an open source initiative to create the technologies, platforms, and tools necessary to enable the delivery of highly integrated cloud development and cloud developer environments.
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
- Nickname: ECD
The mission of ECD is to create technologies, platforms, and tools necessary to enable the delivery of highly integrated cloud development and cloud developer environments. Our vision is to meet the needs of both the Eclipse tool-building community and its users by providing a comprehensive set of technologies that operate on top of cloud standards, cloud infrastructures (AWS, etc.), and cloud platforms (CloudFoundry, OpenShift, Stratos).
The cloud has opened the world, creating standards to handle decoupling, communications, rendering, portability, security. These cloud building blocks provide the fundamental platform for which ECD solutions can be built and extended.
ECD provides infrastructure and frameworks that make use of open cloud standards to offer cloud development and cloud developer environment platforms for users and tool creators. These platforms are open, extensible systems to execute distributed development and developer services (such as build, run, debug, test, continuous integration, deploy) while also providing browser-based clients (and bridges into desktop tools and IDEs) to consume these distributed services.
ECD will establish commonality between its constituent projects by establishing common building blocks, protocols and APIs to facilitate interoperability.
This project will focus on:
- Protocols and Technologies for provisioning cloud development platforms, cloud developer environments, and the interaction of clients with distributed 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
- Tools and Cloud IDEs that orchestrate developer activity and development workflow across distributed services
- Delivering industry-oriented, ready-to-run technologies
The success of ECD depends upon two criteria. First, are developer users able to use ECD technologies to create new applications with enhanced productivity. Second, are tool builders able to create new, best of breed, integrated development tools that operate on a distributed system accessible by a variety of clients over open standards. Success occurs when developer users combine cloud development tools together 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.
ECD encompasses three areas of work:
- Industry-Oriented Developer Environments. Providing industry-oriented solutions based upon ECD building blocks.
- Platforms for Hosting & Connecting Developer Environments. Creating the technologies to host, scale, integrate, and manage developer and development environments.
- Tools to Extend Platforms. Creating the tools to build, extend and adopt these platforms for new development scenarios.
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 ECD, to ensure the requirements of real development tools are met by this initiative. Second, it encourages community adoption of hosted developer environments. The easier it is for the community to extend these technologies, the more successful the project will be. Finally, it allows the 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.
Projects under ECD 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