비주얼스튜디오(VS)코드는 반쪽 오픈소스라 서글프다

비주얼스튜디오 코드(VS Code)는 개발자 도구 분야에서 역대 가장 빠르게 인기를 얻은 소스코드 편집기다. 마이크로소프트는 VS코드를 2015년 오픈소스로 공개했고, 당시 함께 공개된 타입스크립트와 함께 웹 개발 분야를 바탕으로 빠르게 확산됐다. 완벽한 통합개발환경(IDE)까진 아니어도 구문 강조, 코드 폴딩, 코드 추천, 디버깅 지원 등을 제공한다.

VS코드의 기본 라이선스는 ’마이크로소프트 소프트웨어 라이선스’지만, 오픈소스 체계인MIT 라이선스를 통해 코드를 깃허브에 공개하며, 누구나 무료로 다운로드받아 사용할 수 있다.

VS코드는 오픈소스지만 완전한 오픈소스라 부를 수 없다. 이에 사용자들은 VS코드를 반쪽짜리 오픈소스라 부른다.

일단, VS코드의 코드를 깃허브에서 다운로드할 수 있어도, 리빌드해 사용자만의 ‘VS코드’를 만드는 건 사실상 불가능하다. 리빌드된 VS코드는 각종 확장을 이용하는 ‘VS코드 마켓플레이스’를 쓸 수 없다. VS코드 마켓플레이스를 이용하려면 반드시 마이크로소프트의 공식 VS코드 배포처에서 받아야 한다. 오픈소스 안드로이드 운영체제(ASOP) 버전을 사용하면 ‘구글플레이스토어’를 쓸 수 없는 것과 같다.

이런 문제 때문에 VS코드를 포크해 변종 편집기를 개발하는 사람을 중심으로 별도의 마켓플레이스가 존재한다. 이클립스재단에서 후원하는 ‘Open VSX Registrty’다. 여기서 다운로드한 확장은 ‘extensions for VS Code Compatible Editors’란 꼬리표를 단다. 이런 별도 마켓플레이스는 활성화되지 않았다. VS코드 마켓플레이스에 비하면 등록된 확장의 수가 현저히 적다.

VS코드에서 C# 언어로 개발하는 시나리오도 반쪽 오픈소스란 멍에를 씌운다. VS코드로 C# 개발 환경을 구성하려면 마이크로소프트에서 제공하는 C# Dev Kit이란 게 필요하다. 문제는 C# Dev Kit을 유료로 판매한다는 것이다.

C# Dev Kit을 사용하려면 닷넷 라이선스를 유료로 획득해야 한다. 사실상 비주얼스튜디오 라이선스를 사는 것과 같다. 이용자 규모에 따라 개인과 5명 미만의 소기업 개발자는 무료로 이용할 수 있다. 250대 이상의 PC나 연매출 100만달러 이상의 기업은 비주얼스튜디오 프로페셔널이나 엔터프라이즈 라이선스를 사야하고, 혹은 깃허브 코드스페이스 구독을 해야 상업적으로 이용할 수 있다.

C# Dev Kit을 쓰지 않아도 VS코드에서 C# 개발을 아예 못하는 건 아니다. C# Dev Kit 없이도 VS코드에 닷넷 환경을 구성해 개발할 수 있다. 하지만, VS코드에서 C#을 개발하는 속도와 성능, 기능에서 비주얼스튜디오와 너무 차이난다. 별도 데브킷을 구매하지 않고 VS코드로 C# 개발에 도전했다가 성능 문제 때문에 비주얼스튜디오로 회귀하게 된다. C# Dev Kit이 나오게 된 이유도 VS코드에서 C# 개발 경험이 너무 열악하다는 사용자의 원성 때문이었다.

마이크로소프트는 닷넷 플랫폼을 윈도우 독점 환경에서 리눅스, 맥OS 등을 포괄하는 크로스 플랫폼으로 만들었다. C# 언어는 윈도우, 맥OS, 리눅스 등에서 모두 실행된다. 그러나 현재 맥에서 C#을 로컬 환경에서 개발하려면 유료 IDE인 인텔리제이를 이용하거나, VS코드를 써야 한다. 마이크로소프트 비주얼스튜디오의 맥OS 버전이 더 이상 나오지 않기 때문이다. C# Dev Kit은 사실상 맥 사용자에게 비주얼스튜디오를 판매하는 수단인 셈이다.

누가 봐도 마이크로소프트의 유료 IDE 제품인 비주얼스튜디오를 VS코드의 자기잠식으로부터 보호하려는 조치다.

AI 기반 코드 어시스턴트는 VS코드를 더 반쪽짜리로 만들고 있다. 지금도 VS코드에서 마이크로소프트 애저와 깃허브 저장소를 안정적으로 사용하려면 별도의 부가비용이 필요한 상황이다.

월 20달러의 비용을 지불해야 하는 깃허브 코파일럿은 VS코드에서도 유료다. 코파일럿 챗, 애저 오픈AI API 등을 이용하려면 구독할 수박에 없다.

최근 레딧의 한 사용자는 깃허브 코파일럿 애드온에서 마이크로소프트가 코파일럿 확장 프로그램에만 활성화된 VS코드에 숨겨진 API를 사용하고 있다고 주장했다. 1500만건 이상 설치된 코파일럿챗 확장 프로그램이 ‘제안된(proposed) API’란 범주에 속하는 VS코드 API를 사용한다는 것이다. 마이크로소프트의 설명서는 ‘제안된 API는 VS코드에서 구현되지만 안정적인 API처럼 대중에게 공개되지 않는 불안정한 API 세트이며, 이는 변경될 수 있으며 인사이더 배포에서만 사용할 수 있고 게시된 확장 프로그램에서는 사용할 수 없다’고 명시한다. 이는 마이크로소프트의 VS코드에서만 사용하고 외부에서 활용할 수 없는 숨은 API를 코파일럿에서 독점적으로 활용하고 있다는 얘기다.

마이크로소프트 입장에서 비주얼스튜디오는 포기하기 힘든 사업이다. 윈도우 개발자로부터 수익을 거둘 수 있는 사업 채널이고, 깃허브와 함께 개발자 플랫폼의 중추를 이루기 때문이다. 2년전 ‘핫리로드(HotReroad)’ 기능을 제거하고 비주얼스튜디오에서만 사용하게 한 것도 비주얼스튜디오의 사업성을 유지하는 행보였다. 핫리로드는 애플리케이션 실행 중 소스코드를 수정하고, 변경사항을 적용하며, 실행 중인 애플리케이션에서 결과를 보게 하는 기능이다. 코드 리빌드, 애플리케이션 중지, 변경사항 적용, 재시작 등의 절차를 없애 빠른 개발 프로세스를 지원한다.

사용자들은 마이크로소프트의 이중적 행보에 아쉬움을 표한다. 오픈소스를 적극적으로 포용하는 전향적 태도를 외부에 선전하지만, 실제 행보는 여전히 독점 소프트웨어 기업으로서 성향을 유지하고 있다는 비판이다.

레딧의 한 사용자는 “VS코드는 오픈소스지만, 라이선스로 철저히 통제되고, 다른 빌드를 억누르도록 설계됐다”며 “VS코드는 오픈소스 소프트웨어지만 사실상 완전히 통제되고 사용자가 수정할 수 없어 반경쟁적”이라고 의견을 밝혔다.

마이크로소프트 코파일럿 시리즈는 마이크로소프트에게 현재 가장 전도유망한 매출원이다. 깃허브 코파일럿은 빠른 속도로 유료 사용자를 확보하고 있다. 이미 방대한 사용자 저변을 확보한 VS코드는 코파일럿 시리즈 매출을 견인하는 관문일 수 있다. 그러나 개발자 생태계를 목전의 이익으로 접근하려는 현 마이크로소프트의 행태는 사뭇 우려스럽다. 오픈소스 생태계가 어떤 상황 변화에도 결국 대응해냈다는 점을 상기하면, 지금의 플랫폼 지배력이 얼마나 오래 갈 수 있을 지 마이크로소프트는 다시 생각해볼 일이다.

글. 바이라인네트워크
<김우용 기자>yong2@byline.network

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다