SpacetimeDB จุดประเด็นถกเถียงเรื่องการอนุญาตใช้งานฐานข้อมูลและการประยุกต์ใช้ในการพัฒนาเกม

BigGo Editorial Team
SpacetimeDB จุดประเด็นถกเถียงเรื่องการอนุญาตใช้งานฐานข้อมูลและการประยุกต์ใช้ในการพัฒนาเกม

ชุมชนผู้พัฒนาเกมและฐานข้อมูลกำลังพูดคุยกันเกี่ยวกับ SpacetimeDB ซึ่งเป็นระบบที่รวมฐานข้อมูลและเซิร์ฟเวอร์เข้าด้วยกัน ออกแบบมาสำหรับแอปพลิเคชันแบบผู้เล่นหลายคน แม้ว่าความสามารถทางเทคนิคของมันจะได้รับความสนใจ แต่สมาชิกในชุมชนได้ตั้งคำถามเกี่ยวกับรูปแบบการอนุญาตใช้งานและการประยุกต์ใช้งานจริงสำหรับการพัฒนาเกม

คุณสมบัติหลักของ SpacetimeDB

  • ระบบฐานข้อมูลและเซิร์ฟเวอร์แบบรวมเป็นหนึ่งเดียว
  • ฐานข้อมูลเชิงสัมพันธ์พร้อม "โมดูล" (stored procedures ขั้นสูง)
  • การเชื่อมต่อแบบตรงจากไคลเอนต์ไปยังฐานข้อมูล
  • รองรับหลายภาษาโปรแกรมมิ่ง

การรองรับภาษาโปรแกรมมิ่ง ไลบรารีฝั่งเซิร์ฟเวอร์:

  • Rust
  • C

ไลบรารีฝั่งไคลเอนต์:

  • Rust
  • C
  • TypeScript

ข้อมูลใบอนุญาต

  • ปัจจุบัน: BSL 1.1 (ไม่ใช่โอเพนซอร์ส)
  • จะเปลี่ยนเป็น: AGPL v3.0 พร้อมข้อยกเว้นการเชื่อมโยงแบบกำหนดเอง
หน้าเว็บไซต์ GitHub ของ SpacetimeDB แสดงให้เห็นถึงการพัฒนาแบบร่วมมือกัน
หน้าเว็บไซต์ GitHub ของ SpacetimeDB แสดงให้เห็นถึงการพัฒนาแบบร่วมมือกัน

ข้อกังวลเรื่องการอนุญาตใช้งาน

SpacetimeDB ได้รับอนุญาตภายใต้ Business Source License (BSL) 1.1 ซึ่งภายหลังจะเปลี่ยนเป็น AGPL v3.0 พร้อมข้อยกเว้นการเชื่อมโยงแบบกำหนดเอง การเลือกใช้ใบอนุญาตนี้ได้จุดประเด็นถกเถียงในหมู่ผู้ใช้ที่อาจใช้งาน สมาชิกชุมชนคนหนึ่งชี้ให้เห็นอย่างกระชับว่าโครงการนี้ไม่ใช่โอเพนซอร์ส ซึ่งเน้นย้ำถึงอุปสรรคที่อาจเกิดขึ้นสำหรับนักพัฒนาที่ชอบโซลูชันโอเพนซอร์สอย่างเต็มรูปแบบ ผู้สร้างอธิบายแรงจูงใจของพวกเขาว่าเพื่อให้แน่ใจว่าการมีส่วนร่วมใน SpacetimeDB จะถูกแบ่งปันกับชุมชน โดยไม่บังคับให้ผู้ใช้ต้องเปิดซอร์สโค้ดของตัวเองเมื่อเชื่อมโยงกับ SpacetimeDB

แอปพลิเคชันเกมขาดคุณสมบัติสำคัญ

แม้ว่า SpacetimeDB จะเน้นการตลาดไปที่การพัฒนาเกมแบบผู้เล่นหลายคน แต่ผู้ใช้บางคนสังเกตเห็นช่องว่างที่สำคัญในชุดคุณสมบัติ ฐานข้อมูลนี้ขาดการทำนายการเคลื่อนไหว (motion prediction) และความสามารถในการใช้งานหลายเวอร์ชัน (multiversion) ซึ่งเป็นสิ่งที่คาดหวังสำหรับโซลูชันฐานข้อมูลที่เน้นเกม

ฉันอ่านต่อไปเรื่อยๆ โดยคาดหวังว่าจะเห็นการทำนายการเคลื่อนไหว, หลายเวอร์ชัน หรือคล้ายๆ กัน เมื่อพิจารณาจากชื่อและการมุ่งเน้นไปที่เกม แต่ไม่มี นี่เป็นเพียงฐานข้อมูลธรรมดาทั่วไป ที่ออกแบบมาเพื่อความหน่วงเวลาต่ำและรองรับ stored procedures แบบ WASM

ข้อสังเกตนี้ชี้ให้เห็นว่าในขณะที่ SpacetimeDB ให้พื้นฐานสำหรับโลกแบบผู้เล่นหลายคนที่คงอยู่ถาวร นักพัฒนายังคงต้องใช้โค้ดเครือข่ายสำหรับซ่อนความหน่วงและการปรับแต่งเฉพาะเกมอื่นๆ ด้วยตนเอง

คำถามเรื่องความสามารถในการขยายยังไม่ได้รับคำตอบ

สมาชิกในชุมชนได้แสดงความกังวลเกี่ยวกับความสามารถในการขยายของ SpacetimeDB ซึ่งยังไม่ได้รับการกล่าวถึงมากนักในเอกสารที่มีอยู่ เมื่อผู้ใช้คนหนึ่งถามโดยตรงว่า จะขยายสิ่งนี้ได้อย่างไร? อีกคนหนึ่งตอบว่าการขยายดูเหมือนจะเป็นแบบแนวตั้งเป็นหลัก โดยสังเกตว่าไม่มีการกล่าวถึงการทดสอบการขยายหรือการรองรับหลายเซิร์ฟเวอร์ ข้อจำกัดนี้อาจมีนัยสำคัญสำหรับนักพัฒนาที่ต้องการสร้างแอปพลิเคชันที่อาจจำเป็นต้องขยายในแนวนอนข้ามหลายเซิร์ฟเวอร์

ภาษาทางการตลาดถูกวิจารณ์

ภาษาที่ใช้ในการโปรโมทโครงการยังได้รับการวิจารณ์จากชุมชนเทคนิค ความเห็นหนึ่งเจาะจงวิจารณ์คำกล่าวในไฟล์ README ที่ว่า SpacetimeDB กำจัดความจำเป็นในการใช้ microservices, containers, Kubernetes, Docker, VMs, DevOps, infrastructure, ops และ servers ว่าเป็นการโฆษณาเกินจริง ปฏิกิริยานี้เน้นย้ำถึงความชอบของชุมชนเทคนิคที่มีต่อการกล่าวอ้างที่พอประมาณและการประเมินความสามารถที่สมจริง

แม้จะมีคำวิจารณ์เหล่านี้ แต่ SpacetimeDB ก็ได้สร้างความสนใจในแง่บวก วิธีการนวัตกรรมในการรวมฟังก์ชันฐานข้อมูลกับการประมวลผลฝั่งเซิร์ฟเวอร์ผ่าน stored procedures แบบ WASM (เรียกว่า modules) แสดงถึงทิศทางทางเทคนิคที่น่าสนใจ ผู้ใช้คนหนึ่งแสดงความกระตือรือร้น โดยระบุว่าโครงการนี้แก้ไข ความคันในใจที่มีมานาน ซึ่งบ่งชี้ว่าแนวคิดหลักของ SpacetimeDB สอดคล้องกับนักพัฒนาที่กำลังมองหาโซลูชันแบ็กเอนด์แบบผู้เล่นหลายคนที่ง่ายขึ้น

ในขณะที่ SpacetimeDB ยังคงพัฒนาต่อไป ความสมดุลระหว่างความสามารถทางเทคนิค รูปแบบการอนุญาตใช้งาน และวิธีการทางการตลาดจะเป็นตัวกำหนดการยอมรับในหมู่นักพัฒนาเกมและผู้ใช้ที่อาจใช้งานอื่นๆ ที่กำลังมองหาโซลูชันฐานข้อมูลที่ง่ายขึ้นสำหรับแอปพลิเคชันแบบเรียลไทม์

อ้างอิง: SpacetimeDB