ไมโครซอฟท์ประกาศแนวทางพัฒนา ส่วนขยาย C# ของ Visual Studio Code ซึ่งบางส่วนจะใช้ไลเซนส์แบบปิด แตกต่างของตัวที่ใช้ในปัจจุบัน ซึ่งเป็นโอเพนซอร์สทั้งหมด
ส่วนขยาย C# ของ VS Code ในปัจจุบันเริ่มมาจาก โครงการ OmniSharp ที่พัฒนาโดยชุมชนโปรแกรมเมอร์ และเริ่มพัฒนาในยุคแรกๆ ของ VS Code ที่มาตรฐานด้าน API และโปรโตคอลยังไม่นิ่ง
ในระยะถัดมา VS Code เพิ่มฟีเจอร์ Language Server Protocol (LSP) สำหรับเชื่อมต่อกับภาษาโปรแกรมมิ่งอื่นๆ (ซึ่งกลายเป็นมาตรฐานของวงการในเวลาต่อมา) แต่ตัวส่วนขยาย C# ของเดิมยังไม่ได้เชื่อมต่อผ่าน LSP
สิ่งที่ไมโครซอฟท์ประกาศว่าจะทำคือ
- ย้ายส่วนขยาย C# เดิมมาสื่อสารกับตัว VS Code ผ่าน LSP ทั้งหมด
- จากนั้นไมโครซอฟท์จะสร้างชุดเครื่องมือ LSP Tool Host ที่ปิดซอร์ส รองรับฟีเจอร์ระดับสูงอย่าง IntelliCode ที่ไมโครซอฟท์ไม่ยอมเปิดซอร์ส
- ย้ายส่วนขยาย C# มาอยู่บน LSP Tool Host แทน ซึ่งจะมีฟีเจอร์มากขึ้นกว่าส่วนขยาย C# บน LSP แบบปกติ
- ผู้ใช้สามารถเลือกได้ว่าจะใช้ส่วนขยายแบบไหน แต่ส่วนขยายบน LSP Tool Host จะเป็นค่าดีฟอลต์
ตัวโค้ดเดิมในปัจจุบันจะยังเป็นโอเพนซอร์สต่อไปเช่นเดิม แต่การที่ส่วนขยายนี้จะต้องเรียกใช้ LSP Tool Host ที่ปิดซอร์ส ก็ทำให้ไมโครซอฟท์ถูกวิจารณ์ไม่น้อย ( เพิ่งมีคดีเรื่องฟีเจอร์ Hot Reload ของ Visual Studio กันมาเมื่อเร็วๆ นี้ ) อย่าง Miguel de Icaza ผู้ก่อตั้ง Xamarin ที่เพิ่งลาออกจากไมโครซอฟท์เมื่อต้นปี ก็ออกมาโพสต์วิจารณ์ไมโครซอฟท์ในเรื่องนี้
Truly disappointing that Microsoft would subvert an active open source project by ramming in a proprietary extension to continue to lockdown .NET.An unaccetable abuse of power from the stewards of the platform, and a betrayal of the community. https://t.co/zbuSbBpn4a pic.twitter.com/0VSCokfeHJ
— Miguel de Icaza (@migueldeicaza) June 15, 2022
Comments
จะรอดูว่าจะโดนด่าจนยอมกลับลำหรือไม่ หลัง ๆ มาทำตัวไม่น่ารักเลย