Visual Studio Code is designed to fracture (2022)
What “fracture” means in this context
- “Fracture” is used to describe how Microsoft splits VS Code into:
- An MIT-licensed “Code – OSS” core.
- A proprietary Microsoft-branded build and key extensions.
- This lets Microsoft benefit from the “open source” halo while keeping crucial functionality and distribution rights under tight control.
- Result: forks (VSCodium, Theia, cloud IDEs) can’t fully replicate the “real” VS Code experience, especially for popular languages/features.
Licensing and extension lock‑in
- Many core MS extensions (Pylance, cpptools, C# tooling, Remote SSH, Dev Containers, etc.) have runtime licenses that:
- Prohibit use with non‑Microsoft builds.
- Forbid redistribution of language server binaries.
- Some repos present an MIT license at the top level but hide proprietary runtime licenses deeper, which some call misleading.
- Pylance in particular is cited as:
- Closed, DRM‑encumbered (obfuscation, integrity checks).
- Actively hostile to being run in forks (VSCodium, code‑server, etc.).
Microsoft’s strategy and motives
- One view: classic “embrace, extend, extinguish” pattern:
- Embrace OSS core, extend with proprietary services/extensions, extinguish viable forks and alternatives.
- Tie VS Code tightly to Azure, GitHub, Codespaces, Copilot, etc.
- Opposing view:
- VS Code is “open core” and already extremely generous.
- MS is entitled to monetize proprietary extensions and protect its investment; competitors wanting “free IDE + free ecosystem” are being unrealistic.
Impact on competitors and forks
- Cloud IDE vendors (Gitpod, etc.) and forks (VSCodium, Theia) are constrained:
- Can’t legally ship or depend on key MS extensions.
- Third‑party SDK vendors may target only “official” VS Code, further sidelining forks.
- Some say this is normal (Linux has proprietary apps too).
- Others argue: “If your competitors can’t legally resell your build, it isn’t really open source in practice.”
Alternatives and developer reactions
- Some happily stick with VSCodium + OpenVSX and OSS extensions (clangd, Pyright, free-vscode-csharp, etc.) and report few issues except Dev Containers/Jupyter quirks.
- Others move to JetBrains IDEs, Emacs/Vim (often with Doom/Neovim), Theia, or Zed, citing:
- Desire for real freedom, less lock‑in, or better language support.
- Many still favor VS Code for polish, performance, rich ecosystem, and integration with corporate Microsoft stacks.
Open source definitions, SSPL, and sustainability
- Heated debate over OSI, “open source” vs “source‑available,” and licenses like SSPL/BUSL:
- One side: OSI, funded by big tech, blocks “field‑of‑use” restrictions that would prevent hyperscaler exploitation; OSD is outdated and harms sustainability.
- Other side: OSD must forbid field‑of‑use restrictions to keep software usable “for any purpose” and avoid exclusion/uncertainty; SSPL clearly violates this.
- Broader thread on:
- Free‑as‑in‑speech vs free‑as‑in‑beer.
- Entitlement to free tools vs developers needing to get paid.
- Open core vs “fake OSS” vs pure copyleft.
Security, telemetry, and trust
- Some see telemetry in VS Code as a red herring; the real issue is licensing and IP.
- Others are worried about:
- Unsandboxed extensions, remote SSH/devcontainers, and AI integrations being high‑risk attack surfaces.
- VS Code obscuring what machine/interpreter/environment is actually being used, complicating debugging and security.
- A few argue browsers are the only class that sandbox extensions well; most editors/IDEs (Emacs, Vim, JetBrains) share similar plugin‑trust problems.