- MSFT บล็อกส่วนขยาย C/C++ ในผลิตภัณฑ์ฟอร์กที่อิงจาก VS Code เช่น Cursor และ VS Codium
- ฟีเจอร์สำคัญต่อการพัฒนาอย่าง Intellisense การเติมโค้ดอัตโนมัติ และ การดีบัก อาจใช้งานไม่ได้
- แม้ Microsoft จะห้ามใช้งานนอกผลิตภัณฑ์ของตนผ่านไลเซนส์มานานแล้ว แต่เพิ่งเริ่มใช้การบล็อกทางเทคนิคในช่วงหลัง
- Cursor ออกวิธีแก้ชั่วคราวและประกาศแผนเปลี่ยนไปใช้ทางเลือกโอเพนซอร์ส
- นักพัฒนาบางส่วนร้องเรียนต่อ FTC โดยระบุว่าการกระทำของ Microsoft เป็นการแข่งขันที่ไม่เป็นธรรม
Microsoft บล็อกส่วนขยาย C/C++ ในผลิตภัณฑ์ฟอร์กของ VS Code
- Microsoft จำกัดไม่ให้ ส่วนขยาย C/C++ สำหรับ Visual Studio Code (ต่อไปนี้จะเรียกว่า VS Code) ใช้งานได้อีกต่อไปบนผลิตภัณฑ์สายแยกอย่าง VS Codium และ Cursor
- ส่วนขยายนี้ทำหน้าที่เพิ่มความสามารถที่จำเป็นต่อการพัฒนา เช่น Intellisense การเติมโค้ดอัตโนมัติ และ การดีบัก
- มาตรการบล็อกเริ่มมีผลตั้งแต่ เวอร์ชัน 1.24.5 ที่ออกเมื่อวันที่ 3 เมษายน 2025
เหตุผลและเบื้องหลังของการบล็อก
- จากข้อความผิดพลาดที่ปรากฏตอนติดตั้งส่วนขยาย Microsoft ระบุชัดว่าส่วนขยายนี้ ใช้ได้เฉพาะกับผลิตภัณฑ์ของบริษัทเท่านั้น
- ที่จริง Microsoft ได้แก้ไขเงื่อนไขไลเซนส์ตั้งแต่เดือนกันยายน 2020 เพื่อระบุข้อจำกัดนี้ไว้อย่างชัดเจนแล้ว แต่ที่ผ่านมา ยังไม่ได้บล็อกในเชิงเทคนิค
- ตั้งแต่การอัปเดตครั้งนี้เป็นต้นไป การบล็อกจริงจะทำผ่าน environment check
- ก่อนหน้านี้ ส่วนขยาย Pylance สำหรับ Python ของ Microsoft ก็เคยบล็อกผลิตภัณฑ์ฟอร์กด้วยวิธีคล้ายกันมาก่อน
การตอบสนองจาก Cursor และ VS Codium
- Michael Truell ซีอีโอของ Anysphere ผู้สร้าง Cursor เปิดเผยว่า ได้เตรียมวิธีแก้ชั่วคราวไว้แล้ว และในระยะยาวมีแผนจะรวม ทางเลือกโอเพนซอร์ส เข้ามาแทน
> เดิมที MSFT มีส่วนขยายแบบปิดซอร์สบางตัวอยู่แล้ว (remote access, Pylance, C/C++, C# ฯลฯ)
> รีลีสล่าสุดของส่วนขยายเหล่านี้จะไม่ทำงานบน Cursor หรือเอดิเตอร์อื่นที่ไม่ใช่ของ MSFT อีกต่อไป
> เราจะไม่ใช้ส่วนขยายเหล่านี้ และกำลังลงทุนกับทางเลือกโอเพนซอร์สที่มีอยู่ในตลาด โดยจะบันเดิลสิ่งเหล่านี้ในเวอร์ชันถัดไปเพื่อให้เปลี่ยนผ่านได้อย่างไร้รอยต่อ
- มีรายงานว่า Cursor เคยเลี่ยงข้อจำกัดนี้ด้วยการตั้งค่า reverse proxy ตอนติดตั้งส่วนขยายจาก Microsoft Visual Studio Marketplace
- ขณะนี้ผู้ใช้ VS Codium กำลังมองหาส่วนขยายทางเลือกที่ยึดหลัก ซอฟต์แวร์เสรีอย่างแท้จริง (free as in freedom)
ประเด็นด้านการแข่งขัน
- นักพัฒนาบางส่วนชี้ว่า Microsoft เพิ่งเปิดตัวฟีเจอร์ AI ชื่อ Agent Mode ที่รวมอยู่ใน Copilot
- จึงมีเสียงวิจารณ์ว่า Microsoft กำลังพยายามกันผลิตภัณฑ์คู่แข่งอย่าง Cursor ออกไป และ ล็อกอินผู้ใช้ไว้ในระบบนิเวศของตน (lock-in)
- นักพัฒนานิรนามรายหนึ่งส่งจดหมายถึง คณะกรรมาธิการการค้าของสหรัฐฯ (FTC) เพื่อขอให้ตรวจสอบ โดยระบุว่าการกระทำของ Microsoft เป็น การแข่งขันที่ไม่เป็นธรรม
- ประเด็นวิจารณ์หลักคือ การให้สิทธิพิเศษกับผลิตภัณฑ์ของตนเอง (self-preferencing), การบันเดิล Copilot แบบบังคับ, และ การกีดกันการแข่งขัน
ท่าทีอย่างเป็นทางการของ Microsoft
- The Register ขอความเห็นจาก Microsoft แล้ว แต่ ยังไม่ได้รับคำตอบในทันที
6 ความคิดเห็น
สำหรับโปรเจ็กต์ใหญ่ ๆ มันค้างจนดับตลอด เลยปิดมันไว้แล้วใช้งานอยู่ครับ 555
ก็ไม่ค่อยใช่เรื่องใหม่อะไร เพราะส่วนขยายสำคัญอย่างการเชื่อมต่อระยะไกลก็ไม่มีใน codium อยู่แล้วเสียด้วยซ้ำ กลับกันน่าแปลกมากกว่าว่าจนถึงตอนนี้ยังไม่ปิดกั้นการใช้งานแบบอ้อมได้
C/C++ เป็นเครื่องมือพื้นฐานที่ท้ายที่สุดก็เป็นโอเพนซอร์สอยู่แล้ว ดังนั้นถ้าใครสักคนทำเฉพาะฝั่งดีบักขึ้นมาใหม่แล้วปล่อยออกมาก็จบไม่ใช่เหรอครับ
ส่วนแบ่งตลาดของ MSVC ก็คงแค่ลดลงเท่านั้น
ฟีเจอร์อย่าง IntelliSense เองก็เป็นเทคโนโลยีเฉพาะที่นำมาจาก Visual Studio อยู่แล้วนี่ครับ (ทั้ง auto-complete, refactoring, การค้นหา symbol ฯลฯ...)
เครื่องหมายการค้า IntelliSense นั้นเป็นของเฉพาะจริง แต่ตัวฟีเจอร์ที่คุณยกมานั้นจะเรียกว่าเป็นของเฉพาะก็คงไม่ใช่ เพราะ IDE ของค่ายอื่นจำนวนมากก็มีเทคโนโลยีเหล่านี้ให้ใช้อยู่แล้ว
ความเห็นจาก Hacker News
ไม่ชอบ marketplace แบบปิดของ Microsoft แต่การที่บริษัทละเมิดเงื่อนไขการใช้งานอย่างเปิดเผยเพื่อผลกำไรก็ถือว่าเกินไป
Microsoft รู้ตั้งแต่ช่วงแรกของ VSCode ว่าจะไม่สามารถครองส่วนแบ่งตลาดได้ หากไม่เสนอทางเลือกโอเพนซอร์สที่สามารถหลีกเลี่ยง telemetry ได้
หากคุณมีสแตกที่พึ่งพา Microsoft ก็ควรเตรียมใจไว้ว่าในสักวันพวกเขาอาจหักหลังคุณ
IntelliSense ของ clangd ดีกว่าและเร็วกว่า Microsoft C++ extension มาก ถ้าคุณสามารถตั้งค่า
compile_commands.jsonได้เหตุผลที่ใช้ Zed ก็เพราะอยากหลีกเลี่ยงการพึ่งพา VSCode
คนที่ไม่ใช้ VSCode ดูจะแปลกใจที่เจ้าของผลิตภัณฑ์ไม่พอใจกับการละเมิดไลเซนส์
ชอบ Cursor มาก แต่การเลือกเป็น fork แทนที่จะเป็น VSCode extension เป็นการตัดสินใจที่ร้ายแรงถึงขั้นเสียหาย
มีการถามว่าเคยเหนื่อยกับการ "ส่งสัญญาณเตือน" บ้างไหม
ส่วนขยาย clangd ดีกว่าและเป็นโอเพนซอร์ส
ในบทความของ Protesilaos มีการอธิบายเหตุผลที่เปลี่ยนไปใช้ Emacs
ระหว่างอ่านหนังสือประวัติศาสตร์คอมพิวเตอร์ ก็รู้สึกว่าเคยมีช่วงเวลาที่การทุ่มเทเวลากับเครื่องมือและมุ่งสู่ความชำนาญในทุกแง่มุมเป็นเรื่องปกติ