Microsoft, VS Code 포크 버전들에서 C/C++ 확장 기능 삭제
(theregister.com)- MSFT가 Cursor와 VS Codium 같은 VS Code 기반 포크 제품에서 C/C++ 확장 기능을 차단
- Intellisense 자동완성, 디버깅 등 개발에 필수적인 기능들이 중단될 수 있음
- Microsoft는 오래전부터 라이선스를 통해 자체 제품 외 사용을 금지했지만 최근에야 기술적 차단을 적용
- Cursor는 임시 픽스를 내놓았고, 오픈 소스 대체품으로 전환 계획을 밝힘
- 일부 개발자는 Microsoft의 행위가 불공정 경쟁이라며 FTC에 신고함
Microsoft, VS Code 포크 제품에서 C/C++ 확장 기능 차단
- Microsoft가 Visual Studio Code(이하 VS Code)용 C/C++ 확장 기능을 더 이상 VS Codium, Cursor 같은 파생 제품에서 사용할 수 없도록 제한함
- 이 확장 기능은 Intellisense 자동완성, 디버깅 등 개발에 필수적인 기능을 추가하는 역할을 수행
- 2025년 4월 3일 출시된 버전 1.24.5부터 차단 조치가 적용됨
차단 이유 및 배경
- 확장 설치 시 나타나는 에러 메시지를 통해, Microsoft는 해당 확장이 자사 제품에서만 사용 가능하다고 명시함
- 사실 Microsoft는 이미 2020년 9월에 라이선스 조건을 수정해 이 같은 제한을 명문화했지만, 그동안 기술적으로는 차단을 하지 않음
- 이번 업데이트부터는 환경 검사(environment check) 를 통해 실제 차단이 이뤄짐
- Microsoft의 Python용 Pylance 확장은 과거부터 비슷한 방식으로 포크 제품을 차단해온 사례가 있음
Cursor와 VS Codium 측 대응
- Cursor 제작사인 Anysphere의 CEO Michael Truell은, 임시 해결책을 마련했으며, 장기적으로는 오픈 소스 대체품을 통합할 계획임을 밝힘
MSFT는 원래 클로즈드 소스인 몇 가지 확장 기능을 가지고 있음 (원격 액세스, Pylance, C/C++, C# 등)
해당 확장의 최신 릴리스는 Cursor나 기타 MSFT가 아닌 편집기에서는 더 이상 작동하지 않음
우리는 이 확장을 사용하지 않을 것이며, 시장에 존재하는 오픈소스 대체제에 투자중임. 차후 버전에서 이것들을 번들하여 심리스하게 전환할 예정 - Cursor는 Microsoft Visual Studio Marketplace에서 확장을 설치할 때 역방향 프록시(reverse proxy) 를 설정해 우회 사용해왔던 것으로 알려짐
- VS Codium 사용자들은 현재 완전한 자유 소프트웨어(free as in freedom) 철학을 지키는 대체 확장을 찾고 있음
경쟁 문제 제기
- 일부 개발자들은 Microsoft가 Copilot에 포함된 Agent Mode라는 AI 기능을 최근 출시한 점을 언급함
- Microsoft가 Cursor 같은 경쟁 제품을 막고 자사 생태계로 사용자를 잠금(lock-in) 하려 한다는 비판 제기
- 익명의 개발자가 미국 연방거래위원회(FTC) 에 Microsoft의 행위가 불공정 경쟁이라며 조사를 요청하는 편지를 보냄
- 주요 비판 포인트는 자사 우대(self-preferencing), Copilot 강제 번들링, 경쟁 차단임
Microsoft의 공식 입장
- The Register는 Microsoft에 논평을 요청했지만, 즉각적인 답변은 없었음
원격 접속 같은 핵심 확장기능이 이미 codium 에 없다던가 해서 딱히 새롭지는 않네요. 되려 지금까지 우회 사용을 안 막은 게 신기하네요
Hacker News 의견
-
Microsoft의 독점적인 마켓플레이스를 좋아하지 않음. 그러나 회사가 이익을 위해 사용 조건을 공개적으로 위반하는 것은 과함
- Cursor가 Microsoft Visual Studio Marketplace의 네트워크 요청을 숨기기 위해 역 프록시를 설정하여 Microsoft의 서비스 약관을 위반했다는 주장 있음
- 이는 Cursor 사용자가 Microsoft의 시장에서 VS Code 확장을 설치할 수 있게 함
- 다른 VS Code 포크는 대안 확장 마켓플레이스인 Open VSX를 지향함
-
Microsoft는 VScode 초기 시절에 원격 측정을 우회할 수 있는 오픈 소스 대안을 제공하지 않으면 시장 점유율을 얻지 못할 것임을 알았음
- GitHub 인수는 이 전략의 일부였음
- 많은 플러그인 개발자들이 그들의 생태계로 빨려 들어가게 만듦
- 이제 시장 점유율은 확고히 그들의 손에 있으며 경쟁자들은 약해짐
-
Microsoft에 의존하는 스택을 가지고 있다면, 그들이 당신을 배신할 준비를 해야 함
-
clangd의 인텔리센스는 Microsoft C++ 확장보다 훨씬 좋고 빠름. compile_commands.json을 설정할 수 있다면
- 디버깅은 여전히 Microsoft 확장에 의존함
- 디버깅을 위한 확장을 만드는 것은 어렵지 않을 것임
-
Zed를 사용하는 이유는 VSCode에 대한 의존을 피하고 싶기 때문임
- 처음에는 VSCode의 큰 지지자였지만 이제는 신뢰하지 않음
-
VSCode를 사용하지 않는 사람들은 제품 소유자가 라이선스 위반에 대해 기뻐하지 않는 것에 놀람
- Google이 Chrome과 Android 포크에 무언가를 할 때 놀라는 것과 같음
- 대기업이 후원하는 제품을 원하지 않으면 오픈 소스 개발자에게 비용을 지불해야 함
-
Cursor를 깊이 사랑하지만 VSCode 확장이 아닌 포크로 선택한 것은 치명적인 선택이었음
- 장기적으로는 확장으로 재구성하거나 사업을 접어야 할 것임
- Microsoft의 라이선스를 공개적으로 위반하면서 그들의 AAA 제품에 대한 경쟁자를 만드는 것은 오래가지 못할 것임
-
'경고를 울리는 것'에 지친 적이 있는지 묻고 있음
- 여러 주제에 대해 경고를 울려왔지만, 매번 마치 종교 신자들에게 이야기하는 것 같음
- 사람들에게 어떻게 다가가야 할지 고민 중임
- 사람들은 "너무 깊이 생각한다", "그런 일은 일어나지 않을 것이다", "나는 VSCode를 좋아해서 대안은 신경 쓰지 않는다"라고 말함
- 개인주의 때문인지, 그들은 자신만의 좁은 단기적 이익만 고려하고 집단적 문제에 눈이 멀어짐
-
clangd 확장이 더 좋고 오픈 소스임
- Microsoft C++ 확장은 오픈 소스가 아님
-
Protesilaos의 글에서 Emacs로 전환하는 이유를 설명함
- "배움은 실천을 통해 이루어져야 함. 인내와 헌신이 필요함. 다른 사람의 코드를 공부하고 재사용하되, 이해하지 못하는 행동 패턴을 맹목적으로 복사-붙여넣기 하지 말아야 함"
- 즉각적인 만족을 기대하지 말아야 함
- Emacs는 도구의 품질과 기능에 깊이 신경 쓰는 사용자에게 맞춰져 있음
-
컴퓨터 역사 책을 읽으면서, 도구에 시간을 투자하고 모든 측면에서 숙달을 향해 나아가는 것이 당연시되던 시절이 있었던 것 같음
- 다음 큰 것이 하이프와 마케팅, "사용의 용이성"과 함께 등장하면 같은 사이클이 반복될 것임