โค้ด GPL เผชิญความไม่เกี่ยวข้องในระยะยาวเมื่อใบอนุญาตแบบเปิดกว้างได้รับความนิยมจากองค์กร

ทีมชุมชน BigGo
โค้ด GPL เผชิญความไม่เกี่ยวข้องในระยะยาวเมื่อใบอนุญาตแบบเปิดกว้างได้รับความนิยมจากองค์กร

ชุมชนโอเพนซอร์สกำลังเป็นพยานต่อการเปลี่ยนแปลงที่สำคัญในการเลือกใช้ใบอนุญาต โดยนักพัฒนาเริ่มชื่นชอบใบอนุญาต 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