- MSFT đã chặn tiện ích mở rộng C/C++ trên các sản phẩm fork dựa trên VS Code như Cursor và VS Codium
- Các tính năng thiết yếu cho phát triển như tự động hoàn thành Intellisense và gỡ lỗi có thể bị ngừng hoạt động
- Microsoft từ lâu đã cấm sử dụng ngoài sản phẩm của mình thông qua giấy phép, nhưng chỉ gần đây mới áp dụng biện pháp chặn ở mức kỹ thuật
- Cursor đã đưa ra bản vá tạm thời và cho biết có kế hoạch chuyển sang giải pháp thay thế mã nguồn mở
- Một số nhà phát triển đã tố cáo Microsoft lên FTC, cho rằng hành vi này là cạnh tranh không công bằng
Microsoft chặn tiện ích mở rộng C/C++ trên các sản phẩm fork của VS Code
- Microsoft đã hạn chế để tiện ích mở rộng C/C++ cho Visual Studio Code (sau đây gọi là VS Code) không còn có thể được sử dụng trên các sản phẩm phái sinh như VS Codium và Cursor
- Tiện ích này bổ sung các tính năng thiết yếu cho phát triển như tự động hoàn thành Intellisense và gỡ lỗi
- Biện pháp chặn được áp dụng từ phiên bản 1.24.5 phát hành ngày 2025-04-03
Lý do chặn và bối cảnh
- Thông qua thông báo lỗi xuất hiện khi cài tiện ích, Microsoft nêu rõ rằng tiện ích này chỉ có thể được sử dụng trong các sản phẩm của hãng
- Thực tế, Microsoft đã sửa điều kiện giấy phép từ tháng 9/2020 để ghi rõ hạn chế này, nhưng trong thời gian qua chưa chặn về mặt kỹ thuật
- Từ bản cập nhật lần này, việc chặn thực tế được thực hiện thông qua kiểm tra môi trường (environment check)
- Tiện ích Pylance của Microsoft cho Python trước đây cũng từng chặn các sản phẩm fork theo cách tương tự
Phản ứng từ Cursor và VS Codium
- Michael Truell, CEO của Anysphere, công ty tạo ra Cursor, cho biết họ đã chuẩn bị một giải pháp tạm thời và về lâu dài sẽ tích hợp giải pháp thay thế mã nguồn mở
> MSFT vốn có một số tiện ích mở rộng nguồn đóng (truy cập từ xa, Pylance, C/C++, C#, v.v.)
> Bản phát hành mới nhất của các tiện ích đó hiện không còn hoạt động trên Cursor hay các trình biên tập không phải của MSFT nữa
> Chúng tôi sẽ không sử dụng các tiện ích này và đang đầu tư vào các lựa chọn thay thế mã nguồn mở có trên thị trường. Trong các phiên bản sắp tới, chúng tôi sẽ đóng gói chúng để chuyển đổi liền mạch
- Được biết Cursor đã sử dụng theo cách vòng tránh bằng cách thiết lập reverse proxy khi cài tiện ích từ Microsoft Visual Studio Marketplace
- Người dùng VS Codium hiện đang tìm các tiện ích thay thế phù hợp với triết lý phần mềm tự do hoàn toàn (free as in freedom)
Nêu vấn đề cạnh tranh
- Một số nhà phát triển nhắc đến việc Microsoft gần đây đã phát hành tính năng AI mang tên Agent Mode được tích hợp trong Copilot
- Có chỉ trích cho rằng Microsoft đang chặn các sản phẩm cạnh tranh như Cursor và cố khóa người dùng (lock-in) vào hệ sinh thái của mình
- Một nhà phát triển ẩn danh đã gửi thư tới Ủy ban Thương mại Liên bang Mỹ (FTC), đề nghị điều tra hành vi của Microsoft vì cho rằng đây là cạnh tranh không công bằng
- Các điểm bị chỉ trích chính là ưu ái sản phẩm của chính mình (self-preferencing), ép buộc đóng gói Copilot, và ngăn cản cạnh tranh
Lập trường chính thức của Microsoft
- The Register đã yêu cầu Microsoft bình luận, nhưng không nhận được phản hồi ngay lập tức
6 bình luận
Trong các dự án lớn thì nó cứ bị crash suốt nên tôi vẫn toàn tắt đi mà dùng thôi haha
Mấy tính năng mở rộng cốt lõi như truy cập từ xa vốn đã không có trên codium rồi nên cũng chẳng có gì mới lắm. Ngược lại, điều lạ là đến giờ họ vẫn chưa chặn việc lách để dùng.
C/C++ về cơ bản dùng bộ công cụ cuối cùng vẫn là mã nguồn mở, nên chẳng phải chỉ cần ai đó làm lại riêng phần debugger rồi phát hành là xong sao.
Có lẽ chỉ thị phần của MSVC sẽ giảm thôi.
Các tính năng như IntelliSense (tự động hoàn thành, refactoring, tìm symbol, v.v...) đúng là công nghệ độc quyền được mang sang từ Visual Studio.
Việc IntelliSense là một thương hiệu độc quyền thì đúng, nhưng bản thân các tính năng mà bạn liệt kê ra khó có thể xem là độc quyền vì rất nhiều IDE của các hãng khác đã cung cấp những công nghệ đó từ lâu rồi.
Ý kiến Hacker News
Không thích marketplace độc quyền của Microsoft. Tuy nhiên, việc một công ty công khai vi phạm điều khoản sử dụng để kiếm lợi nhuận thì hơi quá
Microsoft biết rằng ở thời kỳ đầu của VSCode, họ sẽ không thể giành thị phần nếu không cung cấp một lựa chọn mã nguồn mở thay thế có thể né tránh telemetry
Nếu bạn đang có một stack phụ thuộc vào Microsoft, bạn nên chuẩn bị tinh thần rằng họ có thể quay lưng với bạn
IntelliSense của clangd tốt hơn và nhanh hơn nhiều so với tiện ích mở rộng Microsoft C++ nếu bạn có thể thiết lập
compile_commands.jsonLý do dùng Zed là vì muốn tránh sự phụ thuộc vào VSCode
Những người không dùng VSCode ngạc nhiên khi chủ sở hữu sản phẩm không vui với việc vi phạm giấy phép
Rất yêu Cursor, nhưng việc chọn làm fork thay vì tiện ích mở rộng VSCode là một lựa chọn chí mạng
Có người hỏi liệu đã từng mệt mỏi vì "gióng chuông cảnh báo" chưa
Tiện ích mở rộng clangd tốt hơn và là mã nguồn mở
Bài viết của Protesilaos giải thích lý do chuyển sang Emacs
Khi đọc sách về lịch sử máy tính, có cảm giác rằng đã từng có một thời mà việc đầu tư thời gian vào công cụ và tiến tới sự thành thạo trên mọi khía cạnh được xem là điều hiển nhiên