Note that this draft proposal has been sent to the Eclipse Foundation, edits in the wiki will not automatically merged into the "frozen" project proposal.
The Eclipse e4 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 document) and is written to declare its intent and scope. This proposal is written to solicit additional participation and input from the Eclipse community. You are invited to comment on and/or join the project. If you are intending on contributing to the project, you may also edit this proposal.
Please send all feedback to the https://dev.eclipse.org/mailman/listinfo/eclipse-incubator-e4-dev mail list.
The Eclipse platform was first targetted to building an extensible IDE component framework. It has since grown to into Rich Client Platform, enabling whole new categories of scenarios and domains. As the software landscape changes, so must the Eclipse platform in order to remain relevant and vibrant. These trend lines point to web technologies, new user interface metaphors, and distributed infrastructure. Now is the time to rethink elements of the platform so that Eclipse may remain at the forefront of application development.
The mission of the e4 project is to build a next generation platform for pervasive, component-based applications and tools.
Specifically, efforts will be directed towards but not limited to:
- Simplify the programming model, make it easier to write plugins
- More uniform APIs
- Rationalized and consistent application model exposed as services
- Plugins in other (non-Java) languages
- More flexible, sophisticated UI styling
- DOM based access to model of workbench
- Improve separation of appearance and underlying function
- Enable a broader array of applications to be built from Eclipse
- Scale down to simpler RCP applications
- Server-enabled Eclipse to permit Eclipse in a web browser
- Client/server programming
- Remote workspaces
- RESTful services against workbench DOM
- Multi-user enable the platform
- SWT Browser Edition: SWT widgets in native web technologies (e.g. Dojo, Flex, Silverlight)
- More flexible resource and build model.
- More integrated connection frameworks (both UI and non-UI) across projects (See E4/Connection Frameworks details)
As this is first and foremost a community effort, the actual set of items will expand and change to reflect the interests of those who join e4.
Also of importance are the necessary tools to be able to self-host, i.e. to develop e4 using tools based on e4. Wherever appropriate, we will use or adapt tools that already exist in other Eclipse pojects.
We expect the resulting platform to be backwards-compatible to Eclipse 3.x for API-clean plug-ins, possibly at the cost of 3.x plugins depending on compatibility plug-ins.
Additional information can be found on the e4 wiki.
Additional Details of Work Areas
<This section is for the community to provide additional work area information, either as details on the above scope or as additional areas. Please add a subsection with your name/organization and a brief description of what area you intend to work on>
Out of Scope
It is not our intention to duplicate tooling efforts underway in other Eclipse projects. Where possible and practical, we will seek reuse and collaboration.
This project is proposed under the Eclipse top-level project. Being a separate project from the existing Platform project gives it room to innovate without disruption to the ongoing 3.x stream work taking place in the Eclipse Platform project. It also welcomes a new set of contributors.
We foresee the following possible paths for the e4 project:
- Work areas of the e4 project, as they graduate, are merged into the mainline Eclipse Platform project.
- The project as a whole graduates as a permanent project under the Eclipse project.
These paths are not mutually exclusive. Some combination of some or all of these paths may be the result of the work done in this project.
Proposed Initial Committers
The following list consists of the current committers of the Eclipse Incubator e4 component, and the participants of the e4 summit that was held in Ottawa, Canada, on May 22nd and 23rd, 2008.
- Benjamin Muskalla, Innoopract - Benny is one of the developers of the Rich Ajax Platform (RAP) and committer on several other Eclipse projects like the Examples project. As long-term contributor to the Eclipse platform and it's subcomponents he's interested in elevating the platform to the next level. His main interest is the SWT/RAP combination and the client-server slit. In addition he strongly cares about the tooling to leverage the adoption of these new technologies.
- Bogdan Gheorghe, IBM Canada - Bogdan is a committer on the Platform SWT component. He is interested in SWT Browser Edition.
- Boris Bokowski, IBM Canada - Boris is a committer on the Platform UI component. He is interested in developing a new, simpler programming model for Eclipse-based applications, and generalizing the Eclipse platform to support multiple programming languages, distributed computing, and the web. He also would like to get rid of having to write listeners in UI programming.
- Carolyn MacLeod, IBM Canada - Carolyn is a committer on the Platform SWT component. She is interested in accessibility issues.
- Chris Aniszczyk, Code 9 - Chris leads the Plug-in Development Environment (PDE) project. He is interested in making e4 a reality and widely adopted in industry. His interests in e4 are improving self-hosting workflows, modularity, and being able to write plug-ins in different languages.
- Chris Recoskie, IBM Canada - Chris is a committer on the CDT and PTP projects. His main focus on e4 is the flexible resource model, particularly with a view towards supporting users with large existing C/C++ codebases, and also with a view towards supporting remote development tools.
- Christian Campo, compeople AG - Christian leads the Riena project. He is interested in client/server split, declarative UI and server-side Eclipse.
- Dave Orme, Coconut Palm Software - Dave started VE, Eclipse DataBinding, and runs XSWT, the XML-based SWT page description language. Dave is an active Eclipse RCP contractor. He is interested in working on XSWT in Eclipse
- Doug Schaefer, Wind River - Doug is the CDT project lead and has been a CDT committer since the early days of CDT. He is also a member of the Tools PMC and Eclipse Architecture Council. His main focus in e4 is on the resource management system, good ol org.eclipse.core.resources and friends.
- Duong Nguyen, IBM Canada - Douong is a committer on the Platform SWT component. He is interested in SWT Browser Edition.
- Ed Merks, Macro Modeling Ed does lots of stuff at Eclipse and has done so for years. He keeps his bio up to date at his website.
- Eric Frey, nVidia - Eric is an Infrastructure Architect at nVidia, where Eclipse is being used as the foundation for a new generalized build system covering both traditional software simulators as well as the full range of chip design activities. He is interested in extending Eclipse's Project capabilities to encompass new project models and types.
- Eric Moffatt, IBM Canada - Eric has been a Platform UI Committer since 2006. He works on SWT related topics mostly, Trim Management, Detached Windows, Perspective layouts...
- Felipe Heidrich, IBM Canada - Felipe has been an SWT committer for many years. He is a jack of all trades contributing to all areas of SWT. His main focus is on StyledText and Internationalization.
- Frank Appel, Innoopract - Frank Appel is the technical lead on the Eclipse Rich Ajax Platform (RAP) project. At Innoopract, a recognized leader in Eclipse distribution and web application development, Frank led the team that developed the W4Toolkit, the base code donation for the RAP project. Frank was also responsible for developing W4T Eclipse, a visual web application development tool for the W4Toolkit. He has been developing Eclipse extensions since 2002, having joined the Java world in 2000 after a short stopover in Visual Basic and Delphi programming.
- Francis Upton IV, Oakland Software - Francis is a committer on the Platform UI component, responsible for the maintenance of the Common Navigator. For his day gig he works on Eclipse-based data transformation. He is interested in making RCP easy for the masses, advanced RCP applications and how they can be migrated to the Browser using E4.
- Grant Gayed, IBM Canada - Grant has been a committer on the Platform SWT component since 2001. He is interested in SWT Browser Edition.
- Jeff McAffer, Code 9 Jeff does lots of stuff at Eclipse and has done so for years. He keeps his bio up to date at his website.
- Jochen Krause, Innoopract Jochen is the project lead for the Eclipse Rich Ajax Platform (RAP) project, co-leads the Eclipse RT PMC and is a member of the Board of Directors of the Eclipse Foundation. He is interested in making e4 a comprehensive platform for desktop and web applications.
- John Arthorne, IBM Canada - John has worked on the Eclipse project for the past decade in almost all components. In recent years he has focused on the workspace model, concurrency infrastructure, provisioning (p2), and overall platform API quality. He intends to contribute to e4 in the areas of application/service model, API design, and help out with workspace/resource changes as needed.
- Kenn Hussey, Embarcadero Technologies - Kenn is lead of the MDT project and committer on the EMF project, in addition to several components of MDT. He is a member of the Modeling PMC and is interested in contributing to the workbench and resource models of e4.
- Kevin Barnes, IBM Canada - Kevin joined the SWT team in 2006. Before that, he has been working on the Eclipse Debug Framework and JDT Debugger. Previous to his employment at IBM, Kevin worked at IAM Training and Consulting, on projects such as IAM->Developing - a collaborative java IDE.
- Kevin McGuire, IBM Canada - Kevin is a Platform UI committer. He was one of the original Eclipse team members, in charge of the Team/CVS component. In the interim he's shipped enterprise level Eclipse based applications (IBM WSAD/IE and WID) in the role of UI Design and Development Lead.
- Kim Horne, IBM Canada - "Kim has worked on the Eclipse platform as an IBM employee since its 2.1.X releases. She is interested in the client/server split, perspectives (and their descendants), and the workbench in general. "
- Martin Oberhuber, Wind River - Martin is the lead of the DSDP Target Management Project, and chair of the Eclipse Architecture Council. He's been working for Wind River in Salzburg, Austria since 1998. Driven by his desire for constant improvement, he is involved in many areas around Eclipse and Open Source. Martin holds a Master of Engineering degree in Telematics from the University of Technology Graz/Austria.
- Michael Scharf, Wind River - Michael is one of the architects of the Wind River Workbench, CDT based IDE for embedded development. He works for WindRiver since 1994. Earlier in his career, he worked for 9 years in the area of computational molecular biology using object oriented technology for analysis and visualization of complex data. He is working with eclipse since 2001.
- Mike Morearty, Adobe Systems - Mike Morearty has been a developer on Adobe Flex Builder, an Eclipse-based IDE, since 2005.
- Mike Wilson, IBM Canada - McQ is an Eclipse Project PMC member, representing the Platform and Incubator projects. He is also the Eclipse Project Platform UI team lead and has in the past lead the Resources, Team and SWT teams. He is a member of the Eclipse Architecture Council, and one of the original founders of Eclipse. His technical interests are programming languages, UI design, and web development. He is actively involved in the technical leadership of e4, which is one of his main focuses.
- Paul Webster, IBM Canada - Paul Webster joined the IBM Eclipse Platform UI team in May 2005 and is currently working for IBM Rational Software. Paul is responsible for command and handlers, keybindings, and menu contributions, and is interested in the evolution of commands in E4.
- Philippe Mulet, IBM France - Philippe Mulet leads the Eclipse project and the Java Development Tooling (JDT) Eclipse subproject; working at IBM since 1996; he is currently located in Saint-Nazaire (France). In late 1990s, Philippe was in charge of the compiler and code assist tools in IBM Java Integrated Development Environments (IDEs): VisualAge for Java Standard and Micro editions. Philippe became responsible for the infrastructure of the Java tools for Eclipse (2000), then the entire Java tools subproject (2005), and more recently for the overall Eclipse project (2007). Philippe has also been a member of the expert group on compiler API (JSR199), representing IBM. His main interests are in compilation, performance, scalability and meta-level architectures.
- Ralf Sternberg, Innoopract - Ralf is a committer to the Rich Ajax Platform (RAP), working for Innoopract in Karlsruhe, Germany. His main work area is RWT, the RAP SWT implementation. He's especially interested in the declarative UI and CSS styling features of e4.
- Rüdiger Herrmann, Innoopract - Rüdiger is one of the initial committers on the Rich Ajax Platform (RAP) Project, contributing to all areas of RAP.
- Scott Kovatch, Adobe Systems - Scott is a developer on Adobe Thermo, which is a Flex design tool based on Eclipse. Prior to Adobe, he was the technical lead for the AWT for Mac OS X at Apple, and has contributed to the SWT on Mac OS X. He was named an SWT committer earlier this year, and is currently focused on the SWT port to Cocoa.
- Scott Lewis, Code9. Scott is the project lead for the Eclipse Communication Framework project (ECF) and was instrumental in it's initiation, design, and implementation. He is interested in contributing to the inter-process communications and application-level collaboration support within E4.
- Serge Beauchamp, Freescale Semiconductor - Serge has been working on the Flexible Project Structure improvement project, and pushing for increase in scalability and performance in the Eclipse CDT and Platform.
- Silenio Quarti, IBM Canada - Silenio is the technical lead for SWT. His areas of expertise include graphics, widgets, threading, optimization and operating system programming. He has been intimately involved with both the design and implementation of SWT for many years.
- Steve Northover, IBM Canada - Steve is the father of SWT (The Standard Widget Toolkit). His interests include programming languages, API design, operating systems, user intefaces and code optimization.
- Thomas Schindl, Bestsolution GmbH - Tom joined the Platform UI team in 2007 as an external committer. Tom's main working area was JFace and his main interests in E4 are "Modeling the workbench" and "Declarative UI".
- Yves YANG, Soyatec - Yves YANG, Main founder of Soyatec and Committer of Eclipse VE, has over 17 years of experience working with OO software development. He was the chief architect of EclipseUML (First EMF/UML native Eclipse Modeler) and co-founder/CTO of Omondo from 2002 to early 2006. In Soyatec, regarding UI programming, he has leaded and developed a world-wide first solution of XAML for Java: eFace. He is interested in contributing to the Declarative UI/CSS Styling and the workbench model of e4.
- Brian Fitzpatrick, Sybase - Brian Fitzpatrick is a software engineer with Sybase, Inc., who has contributed to the Data Tools Project (DTP) since its inception. Brian's focus has mainly been on Eclipse tooling development for Sybase and he hopes to continue helping out with DTP for the forseeable future.
- Olivier Thomann, IBM Canada - Olivier Thomann worked in the JDT/Core team since its inception. He is an active committer to JDT/Core and PDE/Api Tools.
- Bernd Kolb, Kolbware
- Bjorn Freeman-Benson, Eclipse Foundation
- Henrik Lindberg, Cloudsmith
- Istvan Ballok, CAS Software AG
- Kai Tödter, Siemens
- Matt Flaherty, IBM Westford (Lotus)
- Matt Hatem, IBM Westford (Lotus)
- Maxime Daniel, IBM France
- Mik Kersten, Tasktop
- Nikola Zelenkov, IBM Canada
- Pascal Rapicault, IBM Canada
- Thomas Hallgren, Cloudsmith
- Tim deBoer, IBM Canada
- Wayne Beaton, Eclipse Foundation
Support has been expessed by:
- Code 9
- Wind River
<Please add your company name here>
Relationship to other Eclipse projects
The Eclipse Incubator project has a component named "e4". We plan to move code from that component into the new Eclipse e4 project when it has been created.
A technical preview is planned for the summer of 2009, with the first regular release tentatively scheduled for the summer of 2010.