@mickaelistria you've made some calls for contributions so I'd like to leave my thoughts on that, from my part.
My initial impression of eclipse-language-service is that, of that the things that it does (or aims to do) that are of interest to me, there is a lot of overlap in scope with https://github.com/bruno-medeiros/MelnormeEclipse. But in that regard MelnormeEclipse is ahead in terms of functionality already implemented. (mostly UI boilerplate/widgets and a miscellanea of helpers and Eclipse integration code for basic functionality like hover, find-def, code completion, etc.)
This means that most contributions that I could make to eclipse-language-service would be taking code from MelnormeEclipse and applying it to ELS (see for example #14 (comment) ). The thing is, I would only be interested in doing that if the contributed code can still make full use of the utility classes and common components that MelnormeEclipse uses.
MelnormeEclipse is heavily refactored into common utlility code, and in many cases eschews traditional Eclipse idioms. For example, it doesn't normally use CoreException, but instead https://github.com/bruno-medeiros/MelnormeEclipse/blob/master/melnorme_util/src/melnorme/utilbox/core/CommonException.java , which is similar to CoreException except it's in a bundle that does not depend on OSGi (or anything else), plus it has a few minor API constraints (like, a message is required).
Another example is the concurrency utils (https://github.com/bruno-medeiros/MelnormeEclipse/tree/master/melnorme_util/src/melnorme/utilbox/concurrency) which do severaly things, but the main one is that they wrap the standard Java Future API with one that is more type-safe (or specific) with regards to exceptions. I'd want to use that if working against LSP4J code for example, which is heavily based on futures.
There are many other examples of utility code like that.
If i was to contribute MelnormeEclipse code to ELS without being able to use that common code, in most cases it would have to be modified heavily, which not only would mean more work, but IMO it would make the code worse. So generally speaking it's not something I would be interested in doing. (unless someone pays me 😆, that's a different story...)
So the question here is, how willing would you be to accept such common code in ELS. At the very mimimum I'd want the melnorme_util bundle, but even just that might not be enough as there is also a lot of common code in the other 3 bundles (tooling, ide.core, ide.ui). But I imagine quite a few things there (like this core Melnorme design principle) would look very alien to Eclipse developers, and even Java developers in general.
Note: It's not something l'm looking for an answer right now, as in any case I'm not doing any Eclipse LSP related work at the moment: I'm busy working on the Rust side of things. But I wanted to explain what is for me, eventually, an obstacle to contributing. Especially as there isn't much at the moment that ELS has to offer to MelnormeEclipse - the LSP4J-Eclipse integration is the main thing - but that seems fairly simple once one already has LSP4J itself, and UI boilerplate. Things would get more interesting if/once ELS had support for language functionality that MelnormeEclipse currently doesn't, like #11 or #56 , or find-references, etc.
Another question/issue for me is, how commited are you (and/or your employer) to developing ELS to maturity and beyond? Are there plans to mature ELS, sustain it and keep it up to date? Or is it gonna wither like DLTK without bearing much fruition? This is likely a question that you can't give a concrete answer to, I understand, but it's another concern of mine. (MelnormeEclipse was a user of DLTK in its early stages, but it was disappointing to see that DLTK stagnated and didn't go anywhere.)