ซอฟต์แวร์แบบ Source-available: คืออะไร และแตกต่างจาก Open Source อย่างไร?
ซอฟต์แวร์แบบ Source-available ซอฟต์แวร์แบบ Source-available คือโมเดลการเผยแพร่ซอฟต์แวร์ที่ผู้พัฒนาให้ผู้ใช้สามารถเข้าถึงและดูซอร์สโค้ด (Source Code) ได้ แต่ไม่ได้หมายความว่าซอฟต์แวร์นั้นจะเป็น Open Source เสมอไป โด
สรุปใจความสำคัญ
- ซอฟต์แวร์แบบ Source-available อนุญาตให้ดูซอร์สโค้ดได้ แต่ไม่จำเป็นต้องให้สิทธิ์ในการแก้ไขหรือใช้งานเชิงพาณิชย์
- ซอฟต์แวร์ Open Source (FOSS) ทุกตัวเป็น Source-available แต่ไม่ใช่ Source-available ทุกตัวที่เป็น Open Source
- สัญญาอนุญาตแบบ Non-free เช่น BSL และ SSPL มักถูกใช้เพื่อป้องกันไม่ให้บริษัทคลาวด์ขนาดใหญ่หรือคู่แข่งนำซอฟต์แวร์ไปทำกำไรโดยไม่จ่ายค่าลิขสิทธิ์
ซอฟต์แวร์แบบ Source-available คือโมเดลการเผยแพร่ซอฟต์แวร์ที่ผู้พัฒนาให้ผู้ใช้สามารถเข้าถึงและดูซอร์สโค้ด (Source Code) ได้ แต่ไม่ได้หมายความว่าซอฟต์แวร์นั้นจะเป็น Open Source เสมอไป โดยเงื่อนไขการใช้งานและสิทธิ์ในการแก้ไขหรือนำไปใช้ต่อจะขึ้นอยู่กับสัญญาอนุญาต (License) ที่กำหนดไว้ ซึ่งอาจมีตั้งแต่การอนุญาตให้ดูโค้ดเพื่อการอ้างอิงเท่านั้น ไปจนถึงการอนุญาตให้แก้ไขและเผยแพร่ต่อได้ทั้งในเชิงพาณิชย์และไม่ใช่เชิงพาณิชย์
ความแตกต่างระหว่าง Source-available และ Open Source
ในความหมายกว้างๆ ซอฟต์แวร์ใดๆ ที่มีการแจกจ่ายซอร์สโค้ดพร้อมกับตัวโปรแกรม จะถือว่าเป็น Source-available ทั้งหมด ไม่ว่าผู้ใช้จะมีสิทธิ์ทางกฎหมายในการใช้งาน แก้ไข หรือคอมไพล์โค้ดนั้นหรือไม่ก็ตาม ตัวอย่างที่เห็นได้ชัดคือเกม Doom ของ id Software ซึ่งเป็นทั้งซอฟต์แวร์แบบ Source-available และซอฟต์แวร์กรรมสิทธิ์ (Proprietary Software)
ข้อจำกัดของ Free and Open-Source Software (FOSS)
ในขณะที่ซอฟต์แวร์แบบ Open Source และ Free Software มีนิยามิยามที่แคบกว่ามาก โดยซอฟต์แวร์เหล่านี้จะต้องมอบสิทธิ์พื้นฐานที่จำเป็น เช่น สิทธิ์ในการใช้งาน สิทธิ์ในการแก้ไข และสิทธิ์ในการนำไปใช้ในผลิตภัณฑ์เชิงพาณิชย์โดยไม่มีข้อจำกัดที่เลือกปฏิบัติ
- Source-available: เน้นที่การเข้าถึงโค้ดได้ แต่สิทธิ์ในการใช้งานอาจถูกจำกัด
- FOSS: เน้นที่เสรีภาพของผู้ใช้ในการใช้งาน แก้ไข และเผยแพร่ต่อ
ประเภทของสัญญาอนุญาตแบบ Non-free
สัญญาอนุญาตแบบ Source-available หลายชนิดถูกจัดเป็น Non-free เนื่องจากมีข้อจำกัดที่ทำให้ไม่ผ่านเกณฑ์ของ Open Source Initiative (OSI) และ Free Software Foundation (FSF)
1. Commons Clause
เป็นส่วนเสริมของสัญญาอนุญาต Open Source ที่จำกัดไม่ให้ผู้ใช้นำซอฟต์แวร์ไปขายต่อ ซึ่งทำให้ซอฟต์แวร์นั้นกลายเป็น Source-available แทนที่จะเป็น Open Source
2. Business Source License (BSL)
แนะนำโดย MariaDB Corporation ในปี 2016 โดยห้ามใช้โค้ดในสภาพแวดล้อมการผลิต (Production Environment) หากไม่มีสัญญาอนุญาตเชิงพาณิชย์
3. Functional Source License (FSL)
เป็นทางเลือกที่เรียบง่ายกว่า BSL โดยห้ามการใช้งานในลักษณะที่ "แข่งขัน" กับผู้พัฒนา เพื่อรักษาผลประโยชน์ทางเศรษฐกิจของผู้สร้าง แต่จะมีระยะเวลาจำกัด หลังจากนั้นโค้ดจะเปลี่ยนเป็น Apache License หรือ MIT License
4. Server Side Public License (SSPL)
สร้างโดย MongoDB เพื่อให้ผู้ให้บริการคลาวด์ไม่สามารถนำซอฟต์แวร์ไปให้บริการโดยไม่แบ่งปันซอร์สโค้ดของโครงสร้างพื้นฐานที่เกี่ยวข้องทั้งหมด ซึ่งถูกมองว่าเป็นการเลือกปฏิบัติเชิงพาณิชย์
5. อื่นๆ
- GitLab Enterprise Edition License: ใช้สำหรับผลิตภัณฑ์เชิงพาณิชย์ของ GitLab ซึ่งเป็นแบบ Proprietary และ Closed Source
- Mega Limited Code Review Licence: อนุญาตให้ดูโค้ดเพื่อการตรวจสอบและวิจารณ์เท่านั้น
- Microsoft Shared Source Initiative: ประกอบด้วยสัญญาอนุญาตหลายระดับ ตั้งแต่แบบเปิดจนถึงแบบจำกัดสิทธิ์
คำถามที่พบบ่อย
Source-available software คืออะไร?
คือซอฟต์แวร์ที่ผู้พัฒนาเปิดเผยซอร์สโค้ดให้ผู้ใช้สามารถเข้าถึงและดูได้ แต่มีข้อจำกัดทางกฎหมายในการใช้งาน แก้ไข หรือเผยแพร่ต่อ ตามที่ระบุในสัญญาอนุญาต
ทำไมถึงไม่เรียกซอฟต์แวร์เหล่านี้ว่า Open Source?
because เพราะว่าสัญญาอนุญาตแบบ Open Source ต้องไม่มีข้อจำกัดในการใช้งาน ไม่ว่าจะเป็นในเชิงพาณิชย์หรือไม่อย่างนั้นก็ตาม ซึ่งซอฟต์แวร์แบบ Source-available มักมีข้อจำกัด เช่น ห้ามขายต่อ หรือห้ามใช้แข่งขันกับผู้พัฒนา
อะไรคือความแตกต่างหลักระหว่าง BSL และ FSL?
BSL มักห้ามการใช้ใน Production Environment ในขณะที่ FSL ห้ามการใช้งานที่แข่งขันกับผู้พัฒนา และจะเปลี่ยนเป็น Open Source อย่างสมบูรณ์หลังจากระยะเวลาหนึ่ง
