ใบอนุญาตโอเพ่นซอร์สของ MIT จำเป็นต้องมีใบอนุญาตทำงานในที่สาธารณะ (ภายใต้ใบอนุญาต MIT) หรือไม่?


9

ฉันกำลังมองหาใบอนุญาตโอเพนซอร์ซสำหรับห้องสมุดที่ฉันต้องการเผยแพร่ ตามหลักการแล้วเราควรได้รับอนุญาตให้ใช้ห้องสมุดนี้ในแอปพลิเคชั่นฟรีหรือการค้าโดยไม่เสียค่าธรรมเนียม แต่ถ้ามีการสร้างผลงานลอกเลียนแบบจากห้องสมุด ใบอนุญาตเดียวกัน

กล่าวอีกนัยหนึ่งฉันต้องการวางจรรยาบรรณต่อไปนี้: "คุณได้รับประโยชน์จากงานชิ้นนี้ฟรีและถ้าคุณปรับปรุงมันฉันจะได้ประโยชน์จากการปรับปรุงของคุณฟรีเช่นกัน" มันเป็นใบขับขี่ประเภทฉันกำลังมองหา

ใบอนุญาต MIT ดูเหมือนว่าจะเป็นวิธีแก้ปัญหาที่เป็นไปได้ แต่ก็ไม่ชัดเจนสำหรับฉันว่าผลงานลอกเลียนแบบของรหัสที่ครอบคลุมโดยใบอนุญาตนี้ต้องเผยแพร่สู่สาธารณะทุกคนหรือไม่ ทุกคนสามารถชี้แจง / ยืนยันสิ่งนี้ได้หรือไม่? หากมีใบอนุญาตโอเพนซอร์สอื่นที่เหมาะสมกว่าซึ่งครอบคลุมความต้องการของฉันฉันก็สนใจเช่นกัน ขอบคุณ


การสนทนาขั้นสูงเพิ่มเติมเล็กน้อยอยู่ที่นี่: programmers.stackexchange.com/questions/12394/…
Dipan Mehta

คำตอบ:


9

ใบอนุญาต MIT ไม่ต้องการงานดัดแปลงเพื่อเปิดแหล่งที่มา คุณกำลังมองหาGPL

GPL ให้สิทธิ์แก่ผู้รับโปรแกรมคอมพิวเตอร์ในการใช้สิทธิ์ของFree Software Definitionและใช้copyleftเพื่อให้แน่ใจว่าเสรีภาพจะได้รับการสงวนไว้ทุกครั้งที่มีการเผยแพร่ผลงานแม้ว่าจะมีการเปลี่ยนแปลงหรือเพิ่มงานก็ตาม GPL เป็นใบอนุญาต copyleft ซึ่งหมายความว่างานที่ได้รับสามารถเผยแพร่ภายใต้เงื่อนไขใบอนุญาตเดียวกัน ...


1
GPL บังคับให้ผู้ใช้เผยแพร่งานลอกเลียนแบบภายใต้ GPL ซึ่งทำให้เกิดข้อ จำกัด มากเกินไป ฉันต้องการให้แก้ไขไลบรารีของฉันเท่านั้น ฉันควรใช้ LGPL หรือไม่
Jérôme Verstrynge

8
ในกรณีนี้อ๋อ - LGPL เหมาะสมกว่า
Ant

โปรดทราบว่า (L) GPL ทริกเกอร์เฉพาะในการแจกจ่ายซ้ำ ผู้ใช้ปลายทางที่สร้างงานดัดแปลงเพื่อการใช้ส่วนตัวเท่านั้นไม่ผูกพันโดย (L) ภาระผูกพัน GPL คือการพูดอย่างเคร่งครัดนี่ไม่ใช่คำตอบสำหรับคำถามที่เป็นคำพูด
MSalters

7
@MSalters: ฉันคิดว่าคงเป็นไปไม่ได้เลยที่จะรู้ว่ามีใครบางคนได้รับบางสิ่งบางอย่างจากรหัสของคุณเว้นแต่พวกเขาจะเผยแพร่มันในบางรูปแบบ
Ant

6

คำตอบสั้น ๆ

การรวมกันของ Eclipse Public License และ LGPL ทำให้แน่ใจได้ว่าสิ่งที่คุณต้องการ: การแก้ไขรหัสของคุณจะต้องพร้อมใช้งาน แต่การใช้รหัสในผลิตภัณฑ์ที่มีขนาดใหญ่กว่านั้นไม่ได้บังคับให้ผลิตภัณฑ์ที่มีขนาดใหญ่ขึ้นเชื่อถือ การรวมกันจำเป็นต้องอนุญาตให้ใช้รหัสในโครงการ GPL และที่ไม่ใช่ GPL

นี่เป็นวิธีที่โครงการเช่น JGraphT ทำ พวกเขาเสนอโครงการภายใต้ EPL และ LGPL อีกครั้ง แรงจูงใจและขั้นตอนที่อธิบายไว้ในวิกิพีเดียของพวกเขา

คำตอบยาว

ฉันคิดว่า Mozilla Public License ( MPL ) หรือ Eclipse Public License ( EPL ) เป็นใบอนุญาตที่คุณกำลังมองหาเพราะ "ถ้างานอนุพันธ์จากไลบรารีถูกสร้างขึ้น (ตัวอย่างเช่นการปรับปรุงห้องสมุดใด ๆ ) มัน [IS ] ทำให้ทุกคนสามารถใช้งานได้ภายใต้ใบอนุญาตเดียวกัน "

MPL และใบอนุญาต EPL อยู่ระหว่าง GPL และ MIT

MIT อนุญาตให้ผู้ใช้ทำทุกอย่างกับมันรวมถึงการดัดแปลงการขายและการไม่ให้รหัสที่แก้ไขกลับคืนสู่ชุมชน

GPL บังคับให้ผู้ใช้มอบรหัสทั้งหมดให้กับชุมชนแม้ว่าห้องสมุดของคุณจะมีเพียง 1% ของผลิตภัณฑ์ทั้งหมด

LGPL บังคับให้ผู้ใช้ยกเลิกการแก้ไขส่วนของรหัส LGPL

MPL และ EPL คล้ายกับ LGPL: นอกจากนี้ยังบังคับให้ผู้ใช้ทำให้แหล่งที่แก้ไขมีอยู่ "แหล่งที่แก้ไขแล้ว" รวมเฉพาะส่วนของรหัสที่ครอบคลุม MPL- / EPL ซึ่งหมายความว่าผู้ใช้อาจสร้างผลิตภัณฑ์ใหม่จากห้องสมุดของคุณ หากเขาทำการดัดแปลง MPL- / EPL-part เขาต้องทำการเผยแพร่ สิ่งใหม่โดยเขาไม่จำเป็นต้องเผยแพร่

ฉันรู้สึกว่า MPL / EPL เหมาะสมกว่านี้เนื่องจาก LGPL พูดถึง "ห้องสมุด" อย่างชัดเจนและ MPL พูดถึง "ซอฟต์แวร์ที่ครอบคลุม" (ซึ่งเป็นขอบเขตที่กว้างขึ้น)

อย่างไรก็ตามการเลือก EPL ทำให้เกิดปัญหากับ combing ซอฟต์แวร์ที่มีซอฟแวร์จีพี: EPL กันไม่ได้กับจีพี กรณีนี้ไม่ได้ถ้าคุณเพียงแค่ใช้ MPL

หากคุณต้องการให้แน่ใจว่ารหัสของคุณอาจใช้ทั้งในโครงการ GPL และที่ไม่ใช่ GPL ให้ใช้ใบอนุญาตคู่ภายใต้รหัส LGPL และ EPL ตามที่อธิบายไว้ในคำตอบสั้น ๆ

ตัวอย่าง

  • JGraphT
  • logback
  • qooxdoo พวกเขากำลังวางแผน "เพื่อทำให้ง่ายขึ้นและทันสมัยเงื่อนไขการออกใบอนุญาต qooxdoo" และทำให้พวกเขาเปลี่ยนจากการอนุญาตให้ใช้สิทธิ์แบบคู่เป็น MIT

คุณช่วยอธิบายได้ไหมว่าทำไม MPL ถึงเหมาะกับเกณฑ์ที่ OP ต้องการ
maple_shaft

ควรมี 'สัญญาอนุญาตแบบคู่' ในลักษณะ 'ถ้าคุณใช้ซอฟต์แวร์นี้ในผลิตภัณฑ์ GPL หรือไม่ควรใช้ซอฟต์แวร์นี้ภายใต้ GPL หรือภายใต้ MPL' มีโครงการใดบ้างที่ทำสิ่งนี้?
9000

@ 9000 ตามคำถามที่พบบ่อยที่ GNUรหัสครอบคลุมทั้ง MPL และ GNU ย่อหน้าที่สองนั้นค่อนข้างแปลกและฉันก็ไม่ค่อยเข้าใจ
koppor

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.