See https://github.com/theia-ide/theia/pull/5795#issuecomment-515023234
@tolusha @marechal-p @simark Could someone have a look? It should be a matter of moving textmate grammars out of @theia/cpp extension. And testing https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools with example app without @theia/cpp installed.
I will handle that.
Please see my comment on the other PR: https://github.com/theia-ide/theia/pull/5795#issuecomment-515029519
TL;DR: As far as I understand, the license does not allow us to use the MS C/C++ extension in Theia.
@marcdumais-work we aren't allowed to use the published extension from the VS Code Market Place outside of VS Code, but the source code of the extension is MIT (on github)
We don't need to include vscode cpp extension anywhere, just move the grammar that clients who brave to take their chances with MS can consume it.
@marechal-p
Does it mean we can build extension from sources and use it?
MIT seems to be applied only to typescript files: https://github.com/microsoft/vscode-cpptools/issues/2274#issuecomment-405349796 . If built vsix file contains non-open source bits, like tools, it cannot be used.
Interesting link, thanks @akosyakov .
_"The license under the extension folder isn't intended to be applied to the contents under the Extension folder on GitHub; instead, it's what gets packaged in the .vsix that gets shipped to end users (i.e. the __non-open source binaries__ and compiled javascript)"_
Do we know what those __non-open source binaries__ might be? e.g. closed source Debug Adapter?
One way to get answers would be to submit a CQ for this and see what the Foundation says. But like @akosyakov says, I think that so long as we do not distribute the .vsix file with proprietary content included, if a user uses it in Theia, it's them taking the risk of breaking the license. (in this context, having the file downloaded in post-install or such is considered distribution, at least by the Foundation)
Do we know what those non-open source binaries might be? e.g. closed source Debug Adapter?
Seems to be at least that. Looking inside the .vsix for Linux, there is a DebugAdapters folder that contains what looks like a .NET app, being run through Mono.
I removed @theia/cpp extension and checked that it works fine with VS Code extension [1].
As well I checked that Theia works fine with [2] [3] [4] to replace [1].
[1] https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools
[2] https://github.com/eclipse-cdt/cdt-vscode
[3] https://github.com/eclipse-cdt/cdt-gdb-vscode
[4] https://marketplace.visualstudio.com/items?itemName=llvm-vs-code-extensions.vscode-clangd
It should be a matter of moving textmate grammars out of
@theia/cppextension.
@akosyakov Why did you want to extract the grammar?
@marechal-p because https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools does not require @theia/cpp, only language registration. It is the same for other languages, only cpp was not aligned.
Is it because the ms-vscode.cpptools extension does not provide grammars? Meaning that if we did not depend on @theia/cpp, we would have had language features (thanks to the vscode extension) but no coloration?
Is it because the ms-vscode.cpptools extension does not provide grammars? Meaning that if we did not depend on @theia/cpp, we would have had language features (thanks to the vscode extension) but no coloration?
The issue is not with a grammar, but with a language itself. None of extensions listed here register a language, so they just don't work. One could install @theia/cpp, but then end up with 2 language servers which is confusing.
The issue is not with a grammar, but with a language itself.
I assume you are talking about the monaco languages, it makes sense thanks!
Most helpful comment
MIT seems to be applied only to typescript files: https://github.com/microsoft/vscode-cpptools/issues/2274#issuecomment-405349796 . If built vsix file contains non-open source bits, like tools, it cannot be used.