มาอธิบายคำศัพท์บางคำก่อนกัน เมื่อFSFกล่าวว่าใบอนุญาตสามารถใช้งานได้กับ GPLพวกเขาไม่ได้หมายถึงสิ่งที่หลายคนตีความว่าหมายถึง หลายคนตีความ "ใช้งานร่วมกันได้" เพื่อหมายถึงซอฟต์แวร์ทั้งสองชิ้นสามารถอยู่ร่วมกันอย่างมีความสุขในแอปพลิเคชันเดียวกัน
มันใกล้เคียงกับความหมายของ FSF แต่การให้ copyleft ของ GPL จะช่วยให้ดีขึ้นอีกเล็กน้อย
จากคำถามที่พบบ่อย GPLให้เน้นที่เหมือง
หมายความว่าใบอนุญาตอื่นและ GNU GPL เข้ากันได้ คุณสามารถรวมรหัสที่ออกภายใต้สัญญาอนุญาตอื่นกับรหัสที่เผยแพร่ภายใต้ GNU GPL ในโปรแกรมขนาดใหญ่กว่าหนึ่งโปรแกรม
GNU GPL ทุกรุ่นอนุญาตการใช้งานร่วมกันแบบส่วนตัว พวกเขายังอนุญาตให้แจกจ่ายชุดค่าผสมดังกล่าวได้หากชุดค่าผสมนั้นเผยแพร่ภายใต้ GNU GPL รุ่นเดียวกัน
ดังนั้นใบอนุญาตใช้งานร่วมกันได้กับ GPL หากข้อกำหนดนั้นสามารถถูกดูดซับไว้ภายใต้ GPL
ลองดูที่ APLv2 และ GPLv3
- APLv2_Lib + GPLv3_Lib => รวม lib เนื่องจาก GPLv3 นั้นโอเค
- APLv2_Lib + GPLv3_Lib => รวม lib เนื่องจาก APLv2 นั้นไม่เป็นไร
และ Apache บอกมากที่นี่ :
เราหลีกเลี่ยงซอฟต์แวร์ GPLv3 เพราะเพียงเชื่อมโยงไปยังซอฟต์แวร์นั้นจะได้รับการพิจารณาโดยผู้เขียน GPLv3 เพื่อสร้างงานลอกเลียนแบบ เราต้องการที่จะเคารพใบอนุญาตของพวกเขา
แต่คุณกำลังทำงานกับภูตที่ได้รับอนุญาตภายใต้ GPLv2 ไม่ใช่ v3
FSF ค่อนข้างชัดเจนว่าสิ่งที่คุณต้องการทำไม่ได้เป็นที่ยอมรับสำหรับการเผยแพร่สาธารณะ
โปรดทราบว่าใบอนุญาตนี้ไม่สามารถใช้ร่วมกับ GPL เวอร์ชัน 2 ได้เนื่องจากมีข้อกำหนดบางประการที่ไม่ได้อยู่ในรุ่น GPL นั้น สิ่งเหล่านี้รวมถึงการยกเลิกสิทธิบัตรบางอย่างและข้อกำหนดการชดใช้ค่าเสียหาย
ดังนั้นเพื่อตอบคำถามของคุณ:
ไม่มีคุณอาจไม่แจกจ่ายรวมภูตใช้ GPLv2 และได้รับใบอนุญาต APLv2 วัสดุ
FSF เรียกชุดค่าผสมนั้นอย่างชัดเจนว่าไม่อนุญาตให้เผยแพร่แบบสาธารณะ
ทางเลือก:
คุณจะได้รับอนุญาตให้ใช้เป็นการส่วนตัว
คุณจะสามารถเขียนฟังก์ชัน APLv2 ได้อีกครั้งและรวมงานใหม่ของคุณเข้ากับงาน GPLv2
คุณสามารถดูว่า daemon สามารถเปลี่ยนเป็น GPLv3 ได้หรือไม่ ถ้าเป็นเช่นนั้นคุณจะเห็นชัดเจนว่าการผสาน APLv2 ทำงานในตอนนี้ GPLv3 daemon