We are of the mindset that the Codenvy .exe installer was unhelpful, as it created an expectation that Che makes the installation perfect each time. The EXE installer installs Docker Toolbox (vbox, docker-machine, docker, git bash), and until that installer is perfected (it is not), we inherit its limitations.
We are likely to remove support for the .exe installer. We will then offer two configurations:
1. A zip / tgz installation where docker-toolbox and java must be installed separately by the user, and
2. A logon to a hosted che, which requires a single click experience.
We will support companies in the ecosystem, like Yatta, which have signaled that they are authoring a launcher for embedded che services - which will provide its own form of installation of Che with virtualbox + docker.
Also, Codenvy has a hidden mode in Che that allows it to run without workspace portability - essentially using localhost machines, having it behave like desktop IDEs. We have withheld it and do not allow our developers to use it, as it's a slippery slope. One day you wake up and localhost machines are the default configuration in Che, ultimately defeating the original goal of movable workspaces, for which some sort of VM / container technology is required.
Our focus for the next two years will be supporting extension developers. While our engineers built a tool they wanted to use for Java, we'll defer more to the community to shape the plugins for different languages into the developer experience they want. Our job is primarily in supporting extension authors to prove viability of the system. A week ago, I initiated an RFP process to find an outside partner that would create a plug-in developer resource center for Che -- docs, tutorials, training, webinars, and events. If there are ecosystem consulting companies that have strong Eclipse + Java expertise, we'd like for them to bid on the RFP.
Che already supports SSH through the Eclipse IDE. You can direct mount Che projects. We have an outdated Eclipse plug-in that also shows how you can stream build / run actions executing remotely on Che into the desktop IDE. There is nothing preventing that plugin from advancing further, all the way to the point where the Eclipse IDE had no local dependency on JDT - only using Che's hosted version. We've also tested WEBDAV and it works just fine. Though the primary opportunity for consolidation is to make Eclipse IDE have a smart protocol that lets it float between local workspaces or remote ones, without losing access to intellisense services. Let the workspace float to any location (che) and let the IDE use local or remote (Eclipse IDE) is the ultimately level of choice that satisfies developers, teams, enterprises, and organizations. Every team will make their own choice on how to develop.
I am not technical enough to answer the reuse question. But I believe the work that our engineers did was to take JDT as a whole, and then added modifications for it to run headless with RESTful interfaces.
The RCP architecture of extensions and Che's are different. The portability path from one to the other will be guidelines and how-tos vs. any sort of auto-converter. Our engineers tried to honor the existing interfaces where possible, but the distributed & RESTful nature of Che forced us to deviate in many locations. For example, one area that we are working on is with SmartBear - their new SwaggerHub allows for stub generation of APIs. It is not a stretch to let a developer create a workspace, connect to that workspace's Swagger interface, tell Swagger to generate a new API, and Swagger will generate, compile, and deploy that API as a new Che extension deployed within the Che server and the targeted workspace. It's also possible to then generate both the Eclipse IDE plug-in and the Che IDE browser plug-in that consumes that service within the GUI.
Every day that goes by we learn a little bit more about how to build extensions that are distributed and deployable. I am sure our journey of learning will continue for many more years.