- โปรเจกต์ PHP กำลังหารือ RFC เพื่อรวม ไลเซนส์เฉพาะของ PHP และไลเซนส์ของ Zend Engine ที่ซับซ้อนและไม่เข้ากันในปัจจุบัน ให้เป็น BSD 3-Clause (Modified BSD License)
- ช่วงเวลาที่จะเริ่มใช้ไลเซนส์ใหม่นี้คือ PHP 9.0 โดยจะปรับใช้ BSD 3-Clause กับซอร์สโค้ด, เฮดเดอร์ และเอกสารทั้งหมด และยกเลิกข้อกำหนดพิเศษกับข้อจำกัดด้านแบรนด์ในอดีต
- มีความชัดเจนทางกฎหมายมากขึ้นจากการที่ OSI และ FSF รับรอง รวมถึงเข้ากันได้กับ GPL ขณะที่สิทธิของผู้มีส่วนร่วมและผู้ใช้ยังคงได้รับการคุ้มครองเช่นเดิม
- การเปลี่ยนไลเซนส์ต้องได้รับ ความยินยอมอย่างเป็นทางการจาก PHP Group และ Perforce Software (เดิมคือ Zend) และหลังการหารือในชุมชนจะมีขั้นตอนอภิปรายและลงคะแนนนานกว่า 6 เดือน
- การเปลี่ยนแปลงนี้ยัง แนะนำให้โปรเจกต์ภายนอกอย่าง PECL/ส่วนขยายเลือกใช้ BSD 3-Clause ด้วย และไม่แนะนำให้ใช้ “PHP License”
ภาพรวม
- โปรเจกต์ PHP มี ความสับสนและข้อถกเถียง มาอย่างยาวนานจากการใช้ทั้งไลเซนส์โอเพนซอร์สของตัวเองและ Zend Engine License
- โดยเฉพาะไลเซนส์ Zend Engine ที่ใช้กับซอร์สในไดเรกทอรี Zend นั้น ไม่ได้เป็นไลเซนส์ที่ OSI รับรอง จึงยิ่งเพิ่มความซับซ้อน
- RFC นี้เสนอ การทำให้โครงสร้างไลเซนส์เรียบง่ายในทางปฏิบัติ โดยยังคงลิขสิทธิ์ของผู้ร่วมพัฒนา PHP ทุกคนไว้ และมอบสิทธิให้ผู้ใช้เทียบเท่ากับไลเซนส์เดิม
- เป้าหมายคือการนำ BSD 3-Clause (Modified BSD License) มาเป็นไลเซนส์ทางการใหม่ เพื่อคงสิทธิและเงื่อนไขการใช้งานไว้ ขณะเดียวกันก็ลดความซับซ้อนและความเข้าใจผิด
ข้อเสนอและการเปลี่ยนแปลงสำคัญ
- แก่นของปัญหาคือการเผยแพร่ PHP License และ Zend Engine License เวอร์ชันใหม่เพื่อ รับรอง Modified BSD License (BSD-3-Clause, ได้รับการรับรองทั้งจาก OSI/FSF) อย่างเป็นทางการ
- PHP License เดิม (version 3.01) และ Zend Engine License (version 2.00) นั้น แทบจะเหมือนกับ Modified BSD ทุกประการ ยกเว้นข้อกำหนดพิเศษบางส่วน จึงไม่มีการเปลี่ยนแปลงเชิงสาระสำคัญในเรื่องสิทธิ
- หลังอัปเดตไลเซนส์แล้ว:
- สิทธิที่มอบให้ผู้มีส่วนร่วมและผู้ใช้จะไม่เปลี่ยนแปลง
- ทำงานร่วมกับ PHP Group และ Perforce Software เพื่อ ลบข้อกำหนดเฉพาะของแต่ละกลุ่ม
- PHP และ Zend Engine จะถูกเผยแพร่ภายใต้ไลเซนส์ที่ OSI รับรองและเข้ากันได้กับ GPL
- ไม่แนะนำให้ใช้ PHP License และ Zend Engine License แบบเดิมอีกต่อไป
- ไฟล์ LICENSE และเฮดเดอร์ไลเซนส์ในซอร์สก็จะถูกเปลี่ยนเป็น ฟอร์แมตใหม่ ด้วย
สรุปเนื้อหาไลเซนส์
- BSD 3-Clause อนุญาตให้คัดลอก แก้ไข และเผยแพร่ได้อย่างอิสระ โดยมีเงื่อนไขเรื่องลิขสิทธิ์และข้อปฏิเสธความรับผิด รวมถึงห้ามใช้ชื่อหรือแบรนด์โดยไม่ได้รับอนุญาต
- BSD-3-Clause เป็นไลเซนส์ซอฟต์แวร์เสรีที่ ได้รับการรับรองจากทั้ง OSI (Open Source Initiative) และ FSF และยังเข้ากันได้กับ GPL
ขั้นตอนการเปลี่ยนแปลงและการอนุมัติ
- RFC จะถูกสรุปผ่านการลงคะแนนหลังเปิดให้ชุมชนอภิปราย และจะเริ่มนำไปใช้หลังได้รับความยินยอมอย่างเป็นทางการและผ่านการลงคะแนนแล้ว
- การเปลี่ยนไลเซนส์ต้องได้รับ ความยินยอมอย่างเป็นทางการจาก PHP Group และ Perforce Software
- สิทธิของผู้มีส่วนร่วมในซอร์สโค้ดเดิมยังคงเดิม และการเปลี่ยนแปลงนี้จะไม่ละเมิดสิทธิที่มีอยู่
- ชุมชนจะได้รับเวลาหารือมากกว่า 6 เดือนก่อนสรุปผลด้วยการลงคะแนน
- คาดว่าจะเริ่มใช้อย่างเป็นทางการใน PHP 9.0
ฉากหลังและบริบททางประวัติศาสตร์
- ในช่วงแรก PHP 1 และ 2 ใช้ GPL ก่อนจะค่อย ๆ พัฒนาผ่าน Apache License และไลเซนส์แบบคัสตอมที่อิงจาก BSD
- Zend Engine เคยคงไลเซนส์แยกต่างหากไว้ แต่ปัจจุบันถือว่าแทบจะแยกจากกันไม่ได้และเป็นโปรเจกต์เดียวกันในทางปฏิบัติ
- ข้อจำกัดเรื่องการใช้ชื่อและข้อกำหนดคุ้มครองแบรนด์ในไลเซนส์ PHP เดิม สร้างปัญหาด้านความเข้ากันได้กับโอเพนซอร์สอื่น ๆ และการแจกจ่ายมาอย่างต่อเนื่อง
ผลกระทบต่อโค้ดเดิม ส่วนขยาย และเอกสาร
- RFC นี้ใช้กับ php-src ทั้งหมด (ยกเว้นโค้ดที่ระบุไลเซนส์อื่นไว้ต่างหาก) และยังแนะนำให้ PECL/ส่วนขยายต่าง ๆ หันมาใช้ BSD 3-Clause ด้วย
- มีผลต่อโค้ดทั้งหมดในรีโปซอร์ส PHP ทั้งใหม่และเดิมที่อยู่ภายใต้ PHP License หรือ Zend Engine License
- ไลเซนส์เดิมบางส่วน (เช่นโค้ดที่ใช้ไลเซนส์อื่นอย่าง timelib) ไม่อยู่ในขอบเขตของการเปลี่ยนแปลงนี้
- คู่มือ PHP จะยังคงใช้ไลเซนส์ Creative Commons Attribution 3.0 หรือสูงกว่าต่อไป
- โมดูลส่วนขยาย/ซอฟต์แวร์เดิมจะได้รับทางเลือกให้ใช้ PHP License v4 (Modified BSD)
- สำหรับส่วนขยายและโปรเจกต์ใหม่ในอนาคต แนะนำให้ใช้ไลเซนส์มาตรฐานที่ได้รับการรับรอง เช่น BSD/Apache เวอร์ชันล่าสุด
บทสรุป
- โครงสร้างไลเซนส์ของ PHP และ Zend Engine จะถูกทำให้เรียบง่ายขึ้นเป็น 3-clause BSD ซึ่งน่าจะช่วยเพิ่มความชัดเจน ความเข้ากันได้ การใช้งานเชิงพาณิชย์ และความมั่นคงทางกฎหมายในระบบนิเวศโอเพนซอร์ส
- หากข้อเสนอนี้ได้รับการอนุมัติและเริ่มใช้ ผู้ใช้จะสามารถใช้งาน PHP และ Zend Engine ได้อย่างอิสระภายใต้เกณฑ์ของ BSD-3-Clause
- คาดว่าจะมีการนำมาใช้อย่างเป็นทางการหลังเสร็จสิ้นกระบวนการยินยอมและลงคะแนนจากผู้มีส่วนร่วม ชุมชน และบริษัทหลักที่เกี่ยวข้อง
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
zval***) หลังจากนั้นก็เคยทำอะไรหลายอย่างด้วย PHP และตอนเป็นนักเรียนมัธยมยังเคยลงแข่งเขียนโปรแกรมโดยใช้ PHP ในสภาพแวดล้อมแบบ CLI แต่สุดท้ายตกรอบเพราะสตาฟในตอนนั้นไม่คุ้นกับภาษาและสภาพแวดล้อมนั้น เป็นประสบการณ์ทั้งขำทั้งเศร้า พร้อมกล่าวขอบคุณต่อความเป็นไปได้ที่ PHP เปิดให้ในยุคนั้น