Hacker News new | ask | show | jobs
by Ontonator 1482 days ago
Both the C/C++ and Python extensions seem to be open source, but I think you’re right about the remote development one.

https://github.com/Microsoft/vscode-cpptools https://github.com/Microsoft/vscode-python

2 comments

While part of the C/C++ extension is MIT licensed. At runtime the extension downloads binary blobs which have a lot more restrictive license. See https://github.com/microsoft/vscode-cpptools/tree/main/Runti... . This effectively makes it illegal to use the extension in non official Visual Studio Code builds like VSCodium. The situation is similar with C# extension.

There are alternative non Microsoft language servers for C++ and probably other languages which are fully open source and can be used in open source VSCode builds. But unfortunately some extensions depend specifically on the Microsoft language support extensions. For example Platform IO can't be published on OpenVSX due to this. https://github.com/platformio/platformio-vscode-ide/issues/1... . Similar with Unity debugger extension depending on microsoft C# extension.

There is a workaround for PlatformIO that I use to get it to work in VSCodium: https://github.com/platformio/platformio-vscode-ide/issues/1...
What's the point of using open source build of VScode with all the proprietary Microsoft stuff removed just to later install the same the binary blobs manually? If you are fine with that might as well run the official Microsoft VSCode build the normal way.

Having some of the telemetry removed in VSCodium doesn't automatically remove it from the microsoft extensions. Taking into account that the official way for disabling telemetry in microsoft extensions depend on the telemetry setting in VSCode itself, having unsupported(and forbidden by microsoft license terms) combination of extension with vscodium seems like higher chance of disabling mechanism partially failing.

As for PlatformIO, luckily at least the project compilation and toolchain setup (which is the most important part of PlatformIO) can be done with commandline tool independently of any editor extension.

Not sure about C++ but the Python extension definitely isn't completely open source. That code appears to be for the extension client, but the code for Pylance isn't open (which provides completions etc.). The code for Pyright (the type checker) is open source though.

https://github.com/microsoft/pylance-release/issues/4#issuec...

Really makes you wonder what Microsoft gains keeping this stuff in their closed-source bubble.