- Visual Studio Code는 MIT 라이선스 소스 코드와 Microsoft가 배포하는 독점 라이선스 제품이 분리되어 있어, VSCodium·OpenVSCode Server 같은 포크가 공식 생태계와 충돌함
- 공식 빌드는
product.json에 텔레메트리, gallery, logo 같은 Microsoft 전용 설정을 넣어 배포되고, 커뮤니티 빌드는 “clean” 빌드가 되지만 Visual Studio Code Marketplace에 연결할 수 없음 - VSCodium과 OpenVSCode Server는 공식 릴리스의 텔레메트리를 제거하거나 포함하지 않지만, 확장 자체의 데이터 수집과 Marketplace 접근 제한 때문에 사용자가 기대하는 VS Code 경험을 그대로 제공하기 어려움
- Pylance, C# 확장 로드맵, C/C++ 도구 라이선스처럼 Microsoft 확장과 언어 서버가 공식 제품·서비스에 묶이면 Gitpod, GitLab, Datacoves, OpenBB, Foam 같은 경쟁 서비스는 같은 기능을 합법적으로 제공하기 어려워짐
- OpenVSX와 오픈 언어 도구 개발, 오픈소스 유지보수자 지원이 대안으로 거론되지만, Microsoft가 기본값을 독점 도구로 바꿀 때 커뮤니티와 경쟁 제품은 기능 차이·설정 차이·법적 제약을 함께 떠안게 됨
소스 코드는 열려 있지만 제품은 다르게 배포됨
- Visual Studio Code는 출시 7년이 지난 시점에 소프트웨어 개발에서 사실상 표준 편집기로 자리 잡음
- Microsoft는 Visual Studio Code의 소스 코드를 MIT 라이선스로 공개했지만, 사용자가 다운로드하는 Visual Studio Code 제품은 별도의 독점 라이선스로 배포됨
- Visual Studio Code 유지보수자의 설명에 따르면 Microsoft 빌드는
vscode저장소를 클론한 뒤 Microsoft 전용product.json을 덮어씀- 이 파일에는 텔레메트리, gallery, logo 등 Microsoft 전용 기능이 들어감
- 이렇게 만든 빌드는 Microsoft 라이선스로 배포됨
- 이 구분이 Microsoft가 오픈소스 커뮤니티를 갈라놓는 핵심 메커니즘이라는 점이 글의 중심 비판임
VSCodium과 OpenVSCode Server가 마주한 한계
- VSCodium은 커뮤니티 주도의 자유 라이선스 데스크톱 배포판임
- upstream MIT 프로젝트를 자동으로 따라가며 바이너리 빌드를 생성함
- 공식 릴리스에 있는 텔레메트리를 제거한 빌드를 제공함
- 기본
product.json에는 Microsoft 엔드포인트가 설정되어 있지 않아 Microsoft 커스터마이징이 없는 “clean” 빌드가 생성됨
- 같은 코드베이스를 쓰는 VSCodium도 모든 데이터 수집을 완전히 막을 수는 없음
- 확장은 독립적으로 데이터를 수집할 수 있어 설치하는 확장에 주의가 필요함
- OpenVSCode Server는 Gitpod의 기반이 되는 자유 라이선스 서버 배포판임
- upstream MIT 프로젝트를 자동으로 따라감
gp-code/main브랜치에 일부 오버레이 커스터마이징이 있음- 공식 릴리스의 텔레메트리가 포함되지 않음
- 두 배포판 모두 Microsoft Visual Studio Code Marketplace에 연결할 수 없고, 이 제한이 생태계 단절로 이어짐
Microsoft의 서비스 중심 전환과 개발 도구 전략
- Microsoft는 약 9년 전부터 소프트웨어 제공 방식을 바꾸기 시작함
- 전담 QA 팀이 빌드를 테스트하던 방식에서 스프린트 기반 개발, rolling release, Insider Build 텔레메트리 피드백 기반 방식으로 이동함
- 같은 시기 조직 개편을 거치며 Microsoft는 서비스 회사로 전환됨
- Azure는 이 기간 동안 AWS의 실질적 경쟁자로 성장함
- 소비자 관점에서 가장 큰 변화는 설치형 온프레미스 제품에서 Microsoft가 제공하는 서비스 소비 모델로 고객 기반이 이동했다는 점임
- 개발 도구 영역에서도 구독이 아닌 IDE는 줄어드는 흐름으로 다뤄짐
- Apple의 Xcode처럼 다른 수익원이 있는 경우는 예외로 언급됨
- Visual Studio Code는 개발 도구 생태계를 end-to-end 소비형 서비스 모델로 옮기는 진입로라는 비판을 받음
- GitHub Codespaces는 Visual Studio Online, Microsoft Dev Box, Microsoft Azure DevTest Labs와 연결된 기존 서비스의 white label로 설명됨
GitHub Codespaces와 Microsoft DevDiv
- Microsoft는 2018년 GitHub를 인수했고, 2019년 Visual Studio Online을 공개함
- 여기에는 로컬에서 “codespace”를 호스팅하는 구성 요소가 포함됨
- 이후 Codespaces 팀을 포함한 관련 요소가 GitHub로 이동함
- GitHub Codespaces는 GitHub 소속이 된 DevDiv 프로젝트로 설명됨
- Nat Friedman이 CEO에서 물러난 날 Microsoft 내부 조직 개편 메일이 공유됨
- Julia Liuson이 Microsoft Developer Division 사장으로 승진함
- GitHub CEO Thomas Dohmke가 Julia Liuson에게 보고하는 구조가 됨
- Developer Division에는 Visual Studio, Visual Studio Code, .NET, C#, TypeScript, OpenJDK, Azure 개발자 SDK, Azure App Services, Functions, Logic Apps, API Management, Dapr, Redis Cache, Spring Cloud 등이 포함됨
- 해당 메일에 따르면 Visual Studio와 Visual Studio Code는 2014년 이후 16배 이상 사용량 증가를 기록함
- Julia Liuson은 승진 전 .NET 커뮤니티를 갈라놓은 마지막 순간 변경을 실행한 인물로 언급됨
- The Verge 인용에 따르면 Microsoft 내부 익명 소식통은 이 변경을 비즈니스 중심 결정으로 봄
“설계된 단절”로 작동하는 생태계 구조
- Gitpod 같은 경쟁 제품은 Visual Studio Code 생태계 안에 존재할 수 있지만, Microsoft가 언제든 법적 위험을 만들어 시장을 나눌 수 있다는 비판을 받음
- Visual Studio Code 오픈소스 소스 코드는 사용자를 끌어들이지만, 경쟁 서비스가 공식 Visual Studio Code나 GitHub Codespaces 같은 매끄러운 경험을 제공하기 어렵게 만듦
- Gitpod뿐 아니라 GitLab, Datacoves, OpenBB, Foam 등 VS Code 소스 코드를 기반으로 Microsoft나 GitHub와 경쟁하려는 회사들도 같은 문제를 겪음
- Microsoft 도구에 의존하면 경쟁 서비스가 합법적으로 제공하기 어려운 영역으로 다음이 언급됨
- Microsoft .NET C#
- Python 일반 목적 및 데이터 과학 시장
- Project Jupyter와 데이터 과학 시장 대부분
- C 또는 C++
- Java는 Microsoft 도구가 RedHat 도구 수준에 가까워지면 다음 대상이 될 수 있다고 예상됨
- TIOBE 지수 기준으로 위 언어·생태계 중 5개가 가장 인기 있는 축에 포함되며, Microsoft는 TypeScript를 통해 7번째로 인기 있는 JavaScript에 가까운 통제력을 가진다고 설명됨
기본값 전환과 독점 확장 문제
- Microsoft는 충분한 채택을 확보한 뒤 확장 업데이트로 독점 제공물을 기본값으로 만들 수 있다는 비판을 받음
- Python 커뮤니티에서는 오픈소스 Microsoft Python Language Server가 종료되고 독점 Pylance가 기본값이 됨
- Visual Studio Magazine 인용에 따르면 Microsoft는 사용자를 강제로 전환하지는 않았지만 Pylance를 새 기본값으로 설정함
- Python 확장은 VS Code Marketplace에서 약 5천만 다운로드를 기록했고, 다음으로 인기 있는 Jupyter 확장의 약 2배로 언급됨
- .NET 커뮤니티에서도 C# 확장 로드맵을 통해 비슷한 기본값 전환이 진행 중인 사례로 제시됨
- Open.NET 같은 대안 도구가 만들어져도 사용자는 플랫폼별 설정을 따로 연결해야 함
- 데스크톱에서는
devcontainer.json에ms-dotnettools.csharp를 넣을 수 있음 - Gitpod에서는
gitpod.yml에 아직 존재하지 않는 오픈 도구를 넣어야 하는 식의 차이가 생김
- 데스크톱에서는
- Microsoft 공식 생태계 안에서는 같은
devcontainer.json설정이 데스크톱 Visual Studio Code와 GitHub Codespaces에서 그대로 동작하는 단일 설정 원천이 됨
라이선스가 만드는 법적 제약
- Gitpod, GitLab, Datacoves, OpenBB, Foam 등이 제한을 우회해
ms-dotnettools.csharp같은 Microsoft 확장을 서비스에서 제공하면 Microsoft 법무팀의 강한 법적 대응을 받을 수 있다고 경고함 - 경쟁 클라우드 개발 환경 사용자가 해당 확장을 수동 설치해도 라이선스 위반이 될 수 있음
- Microsoft C/C++ 확장 라이선스 문구는 소프트웨어를 Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server 및 후속 Microsoft 제품·서비스와 함께만 설치·사용할 수 있다고 밝힘
- 이 조건 때문에 공식 Microsoft 배포판이 아닌 VS Code 기반 제품은 사용자가 기대하는 Microsoft 언어 도구를 그대로 제공하기 어려움
대응 방향: OpenVSX와 오픈 언어 도구
- 현재 구축되는 소프트웨어 개발 도구의 미래가 폐쇄적으로 가고 있다는 비판이 나옴
- 일부 구성 요소가 OSI 정의를 만족하더라도 전체 구성 그래프는 그렇지 않을 수 있음
- 오픈소스는 원래 독점 온프레미스 소프트웨어를 견제하고 파일 형식 개방성을 유지하는 금융적 무기로 설명됨
- 동시에 오픈소스로 돈을 벌기 어려운 이유와도 연결됨
- proprietary SaaS에 맞서 컴퓨팅 자유의 개방성을 보장하는 새 운동 또는 1970년대 자유 소프트웨어 운동의 재검토가 필요할 수 있다고 제안함
- Gitpod의 Open-Source Sustainability Fund는 이 생태계 단절 문제에 대한 대응 중 하나임
- 1.5년 동안 오픈소스 커뮤니티의 언어 서버 도구 유지보수자에게 3만2천 달러 이상이 배포됨
- Gitpod는 Visual Studio Code 오픈소스 생태계의 Marketplace 문제를 일부 해결하기 위해 Open VSX를 만들고 Eclipse Foundation에 기증함
- 앞으로의 가장 큰 과제는 Microsoft가 독점 언어 서버로 커뮤니티를 이동시킨 영역마다 오픈 언어 도구를 개발하는 것임
이후 편집으로 추가된 내용
- 2022년 8월 31일 편집은 Microsoft가 VSCode를 만들고, 독점 무료 배포판과 독점 무료 확장을 제공한 뒤, 언어별 최선의 경험을 닫힌 형태의 VSCode로 묶었다고 요약함
- 2022년 12월 16일 편집은 GitLab의 VSCode MIT 기반 Web IDE와 원격 개발 경험도 같은 문제를 겪는다고 덧붙임
- 2023년 10월 13일 편집은 Google의 Project IDX도 VSCode MIT 기반이며, .NET과 Python에서 Visual Studio Code LSP가 그대로 동작할 것이라는 기대는 불가능하고 합법적이지 않다고 밝힘
- 2025년 4월 24일 편집은 Microsoft가 Windsurf와 Cursor 같은 AI 코딩 어시스턴트 경쟁을 억제하기 위해 VSCode 생태계를 의도적으로 깨뜨렸다고 비판함
- 같은 날 Microsoft의 경쟁 제품 출시와 C/C++ 확장의 VS Code forks 접근 제한을 연결해 언급함