The Orion project is a proposed open source project under the Eclipse Project.
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the Eclipse community. Please send all feedback to the orion-dev mailing list.
At EclipseCon 2008, the Eclipse project team demonstrated a prototype of a web-based Eclipse. We decided back then that we were too early and did not continue working on the prototype. The browser technology we have today was not yet available, and there was little community interest in working on browser based tools at that time. Since then, there has been an explosion of interest in browser-based tools, with efforts both within and outside of the Eclipse community.
Many of these efforts aim to bring the desktop IDE experience directly into the browser, in some cases even using cross-compilation to bring tools written in Java directly to the web. In the Eclipse project we also put significant resources into exploring this approach, with the SWT Browser Edition work in the e4 incubator.
We have come to the conclusion that these efforts are not the right direction for browser-based tools. The performance and UI design characteristics of desktop applications do not translate well to the browser. We have chosen instead to pursue a quite different direction. The Orion code base is a completely new implementation, focused on web technologies and principles. The idea is to make the web itself the development environment, instead of trying to bring existing desktop IDE concepts to the browser.
Out of Scope
It is not our intention to duplicate efforts underway in other Eclipse projects. However, given the broad scope, there is potential overlap with other Eclipse community projects. Where possible and practical, we will seek reuse and collaboration. In particular, stand-alone desktop tooling written in Java, as provided by projects such as Web Tools, is out of scope for Orion. We may write tools in Java for Orion's server component, but will seek collaboration where possible to avoid duplication with efforts in other Eclipse projects.
Defining and publishing official standards will be out of scope for the Orion project. We will instead adopt existing standards where appropriate. We will collaborate with standards bodies such as IETF, W3C, OSLC, OpenSocial, and OAuth, as necessary to achieve our development tool goals.
Specific development tools, other than those required to build Orion itself, are out of scope. However, we strongly encourage those interested in using Orion to build such tools to consider proposing projects at Eclipse or Eclipse Labs to do so. The Orion project will collaborate with any such project to ensure the Orion tooling infrastructure supports their requirements.
Orion's goal is to become an open tool integration platform for web-based software development. The project's vision is to move software development to the web as a web experience, as opposed to just cloning the desktop IDE experience in a browser. The project will produce framework components and libraries for building browser-based software development tools of all kinds. The project will define mechanisms and infrastructure supporting integration of tools within a browser-based client. The project will provide client-side APIs for accessing Orion components and services in the browser, and HTTP-based APIs for integration of server-based tools.
Orion will make Eclipse a player in the rapidly growing domain of web-based software development. Eclipse is renowned as a world leader in producing open source software development tools, but is currently focused primarily on desktop tools written in Java. This project will open Eclipse to a new community of software developers, tool-smiths, and companies in the domain of browser-based application development.
Orion will benefit from developing at Eclipse over alternatives such as Eclipse Labs. In particular, Eclipse's high standard of IP control and strong governance will ensure Orion can be deployed widely in commercial applications. We will also benefit from using the Eclipse Foundation's hardware infrastructure for hosting not only our source control, but also our live Orion development servers.
- A navigator to browse, search, copy, move, delete, and bookmark files
- A page for launching and managing sites used to test a web application developed with Orion
- A page for viewing and editing the user's profile (changing name, password, etc).
- Initial support for git: viewing git status, staging/unstaging changes, and performing commits.
- A compare editor for viewing differences between individual files.
- A service for creating and managing user workspaces.
- Services for creating, editing, importing, and exporting files in user workspaces.
- Full text indexing and search using Apache Solr/Lucene.
- Services for Git operations using JGit.
- Authentication and authorization infrastructure, including OpenID login and simple form login support.
All code in the initial contribution is authored by IBM employees and the copyright is held by IBM. The initial contribution has the following third party dependencies. Unless otherwise noted, third party dependencies are licensed under the Apache Software License 2.0.
- Apache Solr 1.4, Lucene 2.9, and their prerequisite Apache components.
- Dojo 1.5 (BSD License)
- NekoHTML 0.9.5
- openid4java 0.9.5
- Open AJAX 2.0.3
- org.json 1.0 (JSON Java API License)
- SLF4J 1.6 (MIT license)
The client portion of Orion will be distributed under both the Eclipse Distribution License and the Eclipse Public License. We believe a BSD-style license is required for broad adoption of Orion technology in the web community. The server portion of Orion will be distributed under the Eclipse Public License.
Orion uses a subset of Dojo 1.5 that has been approved for use in Eclipse projects. The full Dojo library has not been approved for use in Eclipse.
The following individuals are proposed as initial committers to the project:
- Andrew Niefer, IBM
- Boris Bokowski, IBM
- Boris is co-leading the Orion effort at IBM, with focus on the vision, the overall architecture and the client-side experience.
- Felipe Heidrich, IBM
- Felipe is contributing to the Orion editor.
- John Arthorne, IBM
- John is contributing to the Orion server with focus on the file and workspace infrastructure, as well as overall Orion API and documentation.
- Libing Wang, IBM
- Libing is contributing to the Orion client, with focus on tooling infrastructure.
- Malgorzata Janczarska, IBM
- Malgorzata (Gosia) is contributing to the Orion client and server, with focus on authentication, user management, and source control integration.
- Mark Macdonald, IBM
- Mark is contributing to the Orion client, with focus on tooling infrastructure.
- Mike Wilson, IBM
- Mike (McQ) is the Eclipse Project PMC lead, and is contributing to Orion with focus on the project vision and overall architectural direction.
- Nayna Jain, IBM
- Nayna is contributing in the area of security and authentication infrastructure.
- Silenio Quarti, IBM
- Silenio is contributing to the orion editor.
- Simon Kaegi, IBM
- Simon is co-leading the Orion effort at IBM, with focus on project planning and component architecture details.
- Susan McCourt, IBM
- Susan is focusing on client-side development and user experience.
- Szymon Brandys, IBM
- Szymon is contributing to the Orion client and server, with focus on authorization and source control integration.
- Tomasz Zarna, IBM
- Tomasz is contributing to the Orion client and server, with focus on source control integration.
We welcome additional committers and contributions.
The following Architecture Council members will mentor this project:
- Mike Milinkovich
- Gunnar Wagenknecht
The following individuals, organisations, companies and projects have expressed interest in this project:
- Jas Sandhu, Microsoft Interoperability Strategy
- Set Direction
We are aiming to produce an initial incubating release to coincide with the June 2011 Indigo release train.
Changes to this Document