ค้นหาใบอนุญาตที่เหมาะสมเพื่อสนับสนุนชุมชนโอเพนซอร์สเท่านั้น GPLv3 เข้มงวดเกินไป LGPLv3 อนุญาตเกินไป

Jan 03 2021

ฉันได้สร้างไลบรารีโอเพนซอร์ส ( https://github.com/pitschr/knx-link) ที่ออกแบบมาเพื่อใช้โดยโครงการโอเพ่นซอร์สอื่น ๆ ไม่ใช่โดยผู้ใช้ปลายทาง ปัจจุบันได้รับอนุญาตเป็น GPLv3

ฉันเป้าหมายหลักคือโครงการที่ใช้ห้องสมุดของฉันทุกคนจะต้องเป็นโอเพนซอร์ซ สำหรับฉันโดยส่วนตัวแล้วมันไม่สำคัญว่าโปรเจ็กต์อื่นที่ใช้ไลบรารีของฉันจะได้รับอนุญาตเช่น Apache-2.0 หรือ MIT ตราบใดที่โปรเจ็กต์ที่ผู้ใช้ปลายทางใช้นั้นเป็นโอเพนซอร์สบนเช่น GitHub

จากใบอนุญาตที่แตกต่างกันฉันเห็นว่า:

  • LGPLv3ไม่ใช่ตัวเลือกที่ถูกต้องเนื่องจากอนุญาตให้เชื่อมโยงโดยซอฟต์แวร์ที่เป็นกรรมสิทธิ์
  • GPLv3ดูเหมือนจะเข้มงวดเกินไปสำหรับฉันเนื่องจากบังคับให้ซอฟต์แวร์อื่น ๆ ต้องได้รับอนุญาตเป็น GPLv3 ด้วย นอกจากนี้ GPLv3 ไม่อนุญาตให้ใช้กับโครงการที่ได้รับอนุญาตภายใต้ Apache-2.0 / MIT
  • ดูเหมือนว่าใบอนุญาตApache-2.0และMITจะไม่ใช่ตัวเลือกสำหรับฉันเนื่องจากสามารถใช้กับซอฟต์แวร์ที่เป็นกรรมสิทธิ์ได้โดยตรง

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

ฉันอยู่คนเดียวกับความคิดนี้หรือไม่? วิธีที่ดีที่สุดในการบรรลุคืออะไร? ใบอนุญาตใดที่เหมาะสมที่สุดสำหรับฉัน

ขอบคุณคริสตอฟ (ที่สับสนนิดหน่อย)

คำตอบ

4 planetmaker Jan 03 2021 at 16:46

ใบอนุญาตโอเพนซอร์สมีความแตกต่างกันโดยพื้นฐานสองประการ:

ก) คนที่ได้รับอนุญาตเช่น MIT, Apache ฯลฯ ซึ่ง - พูดโดยประมาณ - ไม่สนใจว่าจะเกิดอะไรขึ้นกับแหล่งที่มาของพวกเขาตราบใดที่เครดิตยังคงได้รับการดูแลและสื่อสาร

b) และมีใบอนุญาตโอเพนซอร์สที่เข้มงวดมากขึ้นใบอนุญาตคัดลอกซ้ายซึ่งต้องการให้แน่ใจว่าอนุพันธ์ใด ๆ ยังคงเป็นโอเพนซอร์สโดยเฉพาะอย่างยิ่งใบอนุญาต GPL

ใบอนุญาตมักจะถูกเลือกโดยผู้เขียน (เริ่มต้น) ด้วยเหตุผลว่าเขา / เขาต้องการใบแรกหรืออย่างหลัง

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

โครงการที่มีใบอนุญาตคัดลอกซ้ายอยู่แล้วก็ไม่จำเป็นต้องมีใบอนุญาตเช่นกัน - สามารถใช้ GPL ได้เช่นกันซึ่งทำให้มั่นใจได้ว่าเป็นโอเพ่นซอร์สและคงเป็นโอเพ่นซอร์ส

ด้วยเหตุนี้อาจเป็นที่ถกเถียงกันอยู่ว่าใบอนุญาตที่สามารถใช้ได้เฉพาะในโครงการโอเพนซอร์สมีอยู่แล้ว: GPL ใบอนุญาตโอเพนซอร์สส่วนใหญ่เข้ากันได้กับ GPL ในแง่ที่อาจใช้ในโครงการที่ได้รับอนุญาตจาก GPL (โดยเพียงแค่เปลี่ยนใบอนุญาตเป็น GPL สำหรับซอฟต์แวร์ที่ได้รับ / รวมกัน - แม้ว่าจะมีข้อยกเว้นที่น่าสังเกตเช่นความเข้ากันไม่ได้กับ Apache หรือ MPL ).

3 JNic Jan 08 2021 at 06:48

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

หากคุณไม่ต้องการใช้ไลบรารีของคุณในซอฟต์แวร์ที่เป็นกรรมสิทธิ์ตัวเลือกที่ดีที่สุดคือ GNU GPL

มีใบอนุญาตที่เข้ากันได้กับ GNU GPL ซอฟต์แวร์ที่ได้รับอนุญาต GNU GPL สามารถมีรหัสภายใต้ใบอนุญาตที่เข้ากันได้