ชุมชนโอเพนซอร์สกำลังเป็นพยานต่อการเปลี่ยนแปลงที่สำคัญในการเลือกใช้ใบอนุญาต โดยนักพัฒนาเริ่มชื่นชอบใบอนุญาต BSD , MIT และ Apache มากกว่า GPL แบบดั้งเดิม การเปลี่ยนแปลงนี้เกิดจากความเชื่อที่เพิ่มขึ้นว่าใบอนุญาตแบบเปิดกว้างมีโอกาสอยู่รอดในระยะยาวที่ดีกว่าในระบบนิเวศซอฟต์แวร์ปัจจุบัน
การถกเถียงได้ทวีความรุนแรงขึ้นหลังจากการอภิปรายเมื่อเร็วๆ นี้เกี่ยวกับว่า Emacs ควรรองรับ LLVM หรือไม่ โดยมีบุคคลสำคัญอย่าง Richard Stallman และ Eric Raymond เข้าร่วมการสนทนา ประเด็นหลักมุ่งเน้นไปที่วิธีที่กลยุทธ์การออกใบอนุญาตที่แตกต่างกันส่งผลต่อการนำซอฟต์แวร์ไปใช้และรูปแบบการมีส่วนร่วมขององค์กร
การนำไปใช้ขององค์กรขับเคลื่อนทรัพยากรการพัฒนา
บริษัทต่างๆ มักชื่นชอบใบอนุญาตแบบเปิดกว้างด้วยเหตุผลทางกฎหมายและการปฏิบัติ ข้อจำกัดของ GPL เกี่ยวกับการเชื่อมโยงแบบคงที่ การเชื่อมโยงแบบไดนามิก และข้อกำหนดสำหรับการอนุมัติทางกฎหมายสร้างอุปสรรคที่หลายองค์กรรู้สึกว่าซับซ้อน ความชื่นชอบนี้แปลงเป็นผลที่เกิดขึ้นจริงสำหรับการพัฒนาโครงการ
ภูมิทัศน์ของคอมไพเลอร์เป็นตัวอย่างที่ชัดเจนของแนวโน้มนี้ LLVM ด้วยใบอนุญาต Apache ได้ค่อยๆ ได้เปรียบเหนือโค้ดเบสของ GCC ที่ใช้ใบอนุญาต GPL การสนับสนุนทางการเงินของ Apple ต่อการพัฒนา LLVM แสดงให้เห็นว่าทรัพยากรขององค์กรไหลไปสู่โครงการที่มีใบอนุญาตแบบเปิดกว้าง สร้างลูปป้อนกลับที่เร่งการพัฒนาและการนำไปใช้
การเปรียบเทียบใบอนุญาต: ปัจจัยการนำไปใช้ในองค์กร
ประเภทใบอนุญาต | ความต้องการขององค์กร | ข้อได้เปรียบหลัก | ข้อเสียหลัก |
---|---|---|---|
GPL/GPLv2 | ต่ำ | การปกป้อง copyleft ที่แข็งแกร่ง | ความซับซ้อนทางกฎหมาย ข้อจำกัดในการเชื่อมโยง |
GPLv3 | ต่ำมาก | copyleft ที่เพิ่มขึ้น การปกป้องสิทธิบัตร | จำกัดมากขึ้น การนำไปใช้ที่ไม่ดี |
BSD/MIT/Apache | สูง | ความยืดหยุ่นสูงสุด การรวมเข้าด้วยกันที่ง่าย | ไม่มีการปกป้อง copyleft |
Proprietary | ลดลง | การควบคุมเต็มรูปแบบ | ไม่สามารถแข่งขันกับทางเลือกฟรีได้ |
ผลกระทบแบบฟันเฟืองทำงานได้ทั้งสองทาง
ผู้สนับสนุน GPL แบบดั้งเดิมโต้แย้งว่าใบอนุญาต copyleft สร้างผลกระทบแบบฟันเฟืองขึ้น เพื่อให้มั่นใจว่าการปรับปรุงยังคงเป็นโอเพนซอร์ส อย่างไรก็ตาม การอภิปรายในชุมชนเผยให้เห็นข้อโต้แย้ง ใบอนุญาตแบบเปิดกว้างอาจสร้างฟันเฟืองที่แข็งแกร่งกว่าในสภาพแวดล้อมปัจจุบัน
GPL มีจุดประสงค์เพื่อให้มั่นใจว่าผู้จำหน่ายไม่สามารถนำ OSS ไปเปลี่ยนเป็นโค้ดปิด และใช้มันเพื่อกำจัด OSS
ความเป็นจริงซับซ้อนกว่านั้น เมื่อบริษัทแยก fork โครงการที่มีใบอนุญาตแบบเปิดกว้าง พวกเขามักจะส่งแพตช์กลับไปยัง upstream เพราะการรักษา fork แยกต่างหากพิสูจน์แล้วว่าแพงกว่าการร่วมมือ แรงจูงใจทางเศรษฐกิจนี้สร้างแรงดึงธรรมชาติไปสู่การพัฒนาแบบเปิด แม้จะไม่มีข้อกำหนดทางกฎหมาย
ปัจจัยการประดิษฐ์ใหม่
การพัฒนาซอฟต์แวร์ได้กลายเป็นเรื่องง่ายขึ้นอย่างมากตลอดเวลา นำไปสู่การใช้งานหลายรูปแบบของเครื่องมือหรือไลบรารีที่มีประโยชน์เกือบทุกอย่าง ระบบนิเวศฐานข้อมูลเป็นตัวอย่างของแนวโน้มนี้ โดยมีตัวเลือกคุณภาพสูงมากมายที่มีอยู่ภายใต้ใบอนุญาตต่างๆ เมื่อหมวดหมู่ซอฟต์แวร์เติบโตขึ้น คุณค่าของฟีเจอร์เพิ่มเติมจะลดลง ทำให้ความเข้ากันได้ของใบอนุญาตมีความสำคัญมากขึ้นสำหรับการตัดสินใจนำไปใช้
การแพร่หลายนี้หมายความว่าอำนาจต่อรองเชิงกลยุทธ์ของ GPL ผ่านความเหนือกว่าทางเทคโนโลยีกลายเป็นเรื่องยากที่จะรักษาไว้ เมื่อมีทางเลือกคุณภาพหลายตัว ผู้ใช้และนักพัฒนาจะโน้มเอียงไปสู่ตัวเลือกที่เข้าถึงได้ง่ายที่สุดมากกว่าตัวเลือกที่มีข้อจำกัดทางกฎหมายมากที่สุด
ตัวอย่างจริงของการย้ายไลเซนส์
- คอมไพเลอร์: LLVM (Apache) กำลังได้เปรียบเหนือ GCC (GPL)
- ฐานข้อมูล: ตัวเลือก BSD/Apache หลายตัวครองตลาดในการติดตั้งใหม่
- เว็บเซิร์ฟเวอร์: Apache/Nginx (แบบอนุญาต) เทียบกับทางเลือกแบบกรรมสิทธิ์
- ภาษาโปรแกรมมิ่ง: ภาษาสมัยใหม่ส่วนใหญ่ใช้ไลเซนส์แบบอนุญาต
- เว็บเบราว์เซอร์: Chromium (แบบ BSD) เทียบกับ Firefox (GPL/MPL)
ข้อยกเว้นที่ยังคงความเหนือกว่าของ GPL:
- Linux kernel (ความเหนือทางเทคโนโลยี + ทีมวิศวกรรม)
- เครื่องมือโครงสร้างพื้นฐานเฉพาะทางบางตัวที่มีอุปสรรคด้านความซับซ้อนสูง
ข้อยกเว้นที่น่าสังเกตและมุมมองอนาคต
Linux ยังคงเป็นข้อยกเว้นที่โดดเด่นที่สุดของแนวโน้มนี้ โดยรักษาการครอบงำผ่านวิศวกรรมที่ยอดเยี่ยมมากกว่ากลยุทธ์การออกใบอนุญาต ความซับซ้อนของเคอร์เนลสร้างอุปสรรคที่สูงกว่าต่อการนำไปใช้ใหม่ ทำให้ GPL สามารถรักษาคุณค่าเชิงกลยุทธ์ไว้ในโดเมนเฉพาะนี้
การเปลี่ยนไปสู่การออกใบอนุญาตแบบเปิดกว้างสะท้อนถึงความมั่นใจที่กว้างขึ้นในชัยชนะที่หลีกเลี่ยงไม่ได้ของโอเพนซอร์ส ตามมุมมองของนักพัฒนาคนหนึ่ง หากโอเพนซอร์สจะครอบงำในที่สุดโดยไม่คำนึงถึงตัวเลือกใบอนุญาต การมุ่งเน้นควรเปลี่ยนไปสู่การสร้างการใช้งานที่ได้รับการยอมรับอย่างกว้างขวางและยั่งยืนที่สุดมากกว่าการใช้งานที่มีการป้องกันทางกฎหมายมากที่สุด
หมายเหตุ: GPL (General Public License) เป็นใบอนุญาต copyleft ที่กำหนดให้งานที่มาจากต้นฉบับต้องถูกแจกจ่ายภายใต้เงื่อนไขใบอนุญาตเดียวกัน LLVM เป็นชุดของเทคโนโลยีคอมไพเลอร์และ toolchain แบบโมดูลาร์
อ้างอิง: Seph