Eclipse Che
Developer(s)Eclipse Foundation
Initial release4.0 / 29 March 2016; 8 years ago (2016-03-29)[1]
Stable release
7.86.0[2] Edit this on Wikidata / 21 May 2024; 25 days ago (21 May 2024)
Repositorygithub.com/eclipse/che
Operating systemCross-platform: Linux, Mac OS X, Solaris, Windows
PlatformJava SE
TypeProgramming tool, Integrated development environment (IDE)
LicenseSince 6.9.0: EPL-2.0[3]
Until 6.8.0: EPL-1.0
Websitewww.eclipse.org/che

Eclipse Che is an open-source, Java-based developer workspace server and online IDE (integrated development environment). It includes a multi-user remote development platform. The workspace server comes with a flexible RESTful webservice. It also contains a SDK for creating plug-ins for languages, frameworks or tools.[4] Eclipse Che is an Eclipse Cloud Development (ECD) top-level project, allowing contributions from the user community.[5]

History

Eclipse Che was first announced in October 2014. One of its main contributors, Codenvy, delivered the technological stack which Che is based on.[6] The idea behind the cloud based IDE and its development came up in early 2009 by the eXo Platform. After three years of ongoing development the project raised $9 million and developed a stand-alone business called Codenvy.[7] After announcing the Che project including intellectual property donation and participation in the Eclipse Cloud Development project the development of the Che project began. Codenvy itself is today a commercial product built on top of Eclipse Che.[6] Today, there are many contributors besides Codenvy like IBM, Red Hat, Samsung, SAP, Microsoft, Intuit, eXo Platform, WSO2, and Serli, as well as numerous open source contributors from Brazil, Canada, China, France, India, Russia, Sri Lanka, Ukraine, and United States.[5]

Licensing

Eclipse Che is released under the Eclipse Public License which is similar to the Common Public License.[8]

Name

The name "Che" is based on the fact that most of the development is done in Cherkasy (Ukraine).[6]

Supported languages and frameworks

By default, the following programming languages and frameworks are supported:[9]

Category Support
Languages C, C++, C#, F#, Go, Java, JavaScript, PHP, Python, Ruby, SQL, TypeScript[10]
Frameworks AngularJS, Docker, .Net 2.0, Kubernetes, OpenShift, Yeoman,
Builders Ant, Bower, Grunt, Gulp, Maven, Npm
Tools Git, Orion, SSH, Subversion

Approach

Che itself is a workspace server running on an application server. Che provides an integrated IDE which can be used via a browser. After the initial load the IDE provides a dynamic user interface including known components like wizards, editors, toolbars and many more. The user has the opportunity to create workspaces, projects, environments, machines and many other modules that are needed to build a project from scratch. The communication between the user interface and the server is done using RESTful APIs that interact with the so-called Workspace Master. One workspace may include zero or more projects and must at least include one environment, which itself contains at least one machine. A machine is a runtime that has the necessary software installed. If the user adds for example a project which uses Apache Maven, the Workspace Master installs Maven on any machine in the workspace to ensure the project can be executed on each machine. Che comes with some predefined technology stacks to quickly set up a new machine. To ensure high flexibility and extensibility the user may also define custom technology stacks which can be used to set up new machines.[4]

The workflow Eclipse Che has when opening the IDE and making changes in a workspace or project.

Technological stack

Eclipse Che is a Java application which runs by default on an Apache Tomcat server. The IDE which is used inside the browser is written using the Google Web Toolkit. Che is highly extensible since it delivers a SDK which can be used to develop new plug-ins which can be bundled to so called assemblies. Later on an assembly can be executed as a stand-alone server application or desktop client using the included installers. The machines where the projects can be executed are managed by Docker.[4]

Users

Che divides its users in three groups. The developers are the actual users of the IDE. This can either be by accessing a remote Che server or by having a local instance of Che running. Product owners may use Che to provide on-demand workspaces. Plug-In Providers can develop either client side IDE or server side workspace manager plug-ins.[4]

Features

Eclipse Che comes with a lot of new functionality and flexibility:[11]

Scaling

Since Che is a server application it can be accessed by multiple developers at once. Each developer can connect to the same workspace using the browser IDE. Right now, Eclipse "Che implements a last-write-wins policy when multiple users modify the same file."[13] In a future release it is planned to include multi-cursor visuals to enable collaborative multi-user editing of a single file. Workspaces may get very large, because a workspace can have a lot of machines included. If a single host is no longer enough it is recommended to provide an own Che instance for each user or user group. That means, that you can have many servers running Che in the same ecosystem. Codenvy also offers a scaling ecosystem that can be installed on-demand or can be used as SaaS. In future releases it is also planned to enable remote Docker containers so users do not need to have all containers running on the same host.[13]

Further reading

References

  1. ^ "Release 4.0.0 · eclipse/Che". GitHub.
  2. ^ "Release 7.86.0". 21 May 2024. Retrieved 22 May 2024.
  3. ^ "Fix remaining notes about old EPL 1.0 license (#10607)". GitHub. 1 August 2018.
  4. ^ a b c d https://eclipse-che.readme.io/docs/ Archived 7 May 2016 at the Wayback Machine Eclipse Che - Introduction
  5. ^ a b "Eclipse Che | Features". www.eclipse.org. Retrieved 7 September 2016.
  6. ^ a b c "Eclipse Che: Microservices für Eclipse". entwickler.de (in German). 23 June 2015. Retrieved 14 February 2024.
  7. ^ https://www.exoplatform.com/blog/2013/02/26/from-exo-cloud-ide-to-codenvy-raising-9-million-dollars-a-brief-history From eXo Cloud IDE to Codenvy Raising $9 Million Dollars: A Brief History
  8. ^ "Various Licenses and Comments about Them - GNU Project - Free Software Foundation". www.gnu.org. Retrieved 14 February 2024.
  9. ^ "Home". Eclipse Che. Retrieved 14 February 2024.
  10. ^ https://microsoft.github.io/language-server-protocol/specification Language Server Protocol(LSP)
  11. ^ http://www.eclipse.org/che/features/ Eclipse Che - Features
  12. ^ a b c d Le Meur, Stevan (1 February 2018). "Release Notes: Eclipse Che 6.0 – Eclipse Che Blog". Eclipse Che Blog. Archived from the original on 15 July 2019. Retrieved 9 March 2018.
  13. ^ a b https://eclipse-che.readme.io/docs/scaling Archived 7 May 2016 at the Wayback Machine Eclipse Che - Scaling