Hi @kris99. Thanks for your feedback.
I appreciate your concerns about security and privacy, but some of the things you write here are not backed by evidence. I think this discussion will be more productive for all involved if we avoid straying into the realm of unfounded conspiracy theories and stick exclusively to fact.
Arduino IDE 2.x automatically downloads the following things from that host on the first run after a fresh installation:
The IDE would be completely non-functional without ctags, non-functional for 99% of users without serial-discovery, and serial-monitor, and the new user experience significantly impacted without the libraries and AVR boards (which also rely on the Library and Boards Manager index files). If the user is not willing to allow Arduino IDE to access the Internet on this first run then there is no point in them installing it in the first place. This is the same as when you download an installer for an application, which then installs the components of the application itself when you run it.
After the downloads made on the first run, the IDE is usable even without an Internet connection, but it still will attempt to download files on subsequent startups :
The first three can be disabled via the Arduino: Check For Updates advanced setting:
https://github.com/arduino/arduino-ide/blob/main/docs/advanced-usage.md#advanced-settings
The latter is not, simply because nobody saw the need to provide such an option, but if this is something important to you then you are welcome to submit a formal request to the developers here:
https://github.com/arduino/arduino-ide/issues/new/choose
The primary Arduino IDE developer explains the reason for this communication here:
https://github.com/arduino/arduino-ide/issues/57#issuecomment-780382836
Arduino IDE 2.x is built on the free open source Eclipse Theia IDE framework. One of the nice features of Theia is that it supports Visual Studio Code extensions. Arduino IDE 2.x uses the VS Code JSON language extension to provide schema and syntax highlighting for JSON files when they are opened in the Arduino IDE editor (most often done to edit the IDE's JSON-based configuration files such as settings.json and keymaps.json).
That is not to say that this communication is necessarily intentional or required for the IDE's functionality. The issue above remains open because this is something the team intends to eventually investigate.
Microsoft's only involvement is that some of the free open source dependencies of Arduino IDE (including the TypeScript language it is written in) was created by Microsoft. I think you would find that Microsoft is "involved" in a significant amount of the free open source software you use if you consider that "involved".
Microsoft has not had any direct involvement in the development of the Arduino IDE 2.x codebase.
It is not clear to me what you mean by "community driven".
99.9% of the development work on the Arduino IDE 2.x codebase (not including all the amazing free open source software dependencies it is built on top of) was performed by Arduino's paid team of developers. The community's donations and purchases of Arduino products by the community support that work.
Community developers have made a small but valuable number of contributions to the project. The number of contributions have increased since the 2.0.0 release, so I'm certain we will see more involvement from the community in the development as time goes on.
The community has also provided a huge amount of beta testing and feedback that has greatly assisted the development work.
And of course this project was created by the Arduino company for the benefit of everyone in the Arduino community, so in that way it is absolutely community driven.
I would like to do some investigation into this. What are you using to identify this connection?