法务顾问黎
,?
ผลิตภัณฑ์ของเราใช้คอมโพเนนต์โอเพนซอร์สจำนวนมาก ควรเริ่มต้นจากที่ไหนในการปฏิบัติตามใบอนุญาต?
技术总监蒋
,,。
ขั้นแรกคือสร้าง Software Bill of Materials (SBOM) ซึ่งแสดงรายการ dependency ทั้งทางตรงและทางอ้อมพร้อมประเภทใบอนุญาต
法务顾问黎
?
ใบอนุญาต GPL กับ MIT มีความแตกต่างหลักอย่างไรสำหรับผลิตภัณฑ์เชิงพาณิชย์?
技术总监蒋
,;,,。
MIT อนุญาตให้ใช้เชิงพาณิชย์ได้อย่างยืดหยุ่น แค่เก็บประกาศลิขสิทธิ์ไว้ก็พอ ส่วน GPL เป็นใบอนุญาต copyleft ถ้าแก้ไขและเผยแพร่ต้องเปิดเผยโค้ดที่ดัดแปลง ซึ่งเป็นความเสี่ยงสำคัญสำหรับผลิตภัณฑ์ที่เป็น closed source
法务顾问黎
?
LGPL ต่างจาก GPL อย่างไร?
技术总监蒋
,,。
LGPL อนุญาตให้ใช้ไลบรารีผ่าน dynamic linking โดยไม่กระตุ้นการแพร่กระจายแบบ copyleft แต่ถ้าคุณ link แบบ static หรือแก้ไขตัวไลบรารีเอง ยังต้องปฏิบัติตามข้อกำหนดการเปิดเผยของ LGPL
法务顾问黎
?
จะหลีกเลี่ยงการนำ dependency ที่ไม่ปฏิบัติตามใบอนุญาตเข้ามาโดยไม่ตั้งใจได้อย่างไร?
技术总监蒋
,,。
ผสานเครื่องมือสแกนใบอนุญาตใน CI pipeline ใส่ใบอนุญาตที่ไม่อนุญาตในบัญชีดำ แล้วให้ระบบบล็อกอัตโนมัติตอน build
法务顾问黎
?
ถ้าพบคอมโพเนนต์ที่มีปัญหาควรทำอย่างไร?
技术总监蒋
:、,。
มีหลายทางเลือก ได้แก่ เปลี่ยนเป็นคอมโพเนนต์ที่มีใบอนุญาตที่ยืดหยุ่นกว่า ขอใบอนุญาตเชิงพาณิชย์จากผู้พัฒนาต้นฉบับ หรือประเมินความเสี่ยงแล้วตัดสินใจว่าจะพัฒนาทางเลือกเองหรือไม่
法务顾问黎
?
แนะนำให้ตรวจสอบบ่อยแค่ไหน?
技术总监蒋
,,。
ตรวจสอบอย่างละเอียดก่อนทุก major release และให้เครื่องมืออัตโนมัติตรวจสอบการเปลี่ยนแปลง dependency ทุกวัน dependency ใหม่ต้องผ่านกระบวนการอนุมัติใบอนุญาตก่อน