จะจัดการไฟล์ลิขสิทธิ์ได้อย่างไรเมื่อรวมรหัสลิขสิทธิ์ GPL และ BSD


10

ฉันกำลังเขียนโค้ดที่ใช้หนึ่งในห้องสมุดที่มีจีพี (แอลจีไม่ได้) ใบอนุญาตและเป็นหนึ่งเดียวกับใบอนุญาต BSD 3 ข้อ เนื่องจากฉันลิงก์ไปยังไลบรารี่ที่มีลิขสิทธิ์ของ GPL รหัสของฉันจะต้องเป็น GPL เช่นกัน ในทางปฏิบัติฉันควรจัดการกับ LICENSE.txt ดั้งเดิมจากห้องสมุด BSD อย่างไร

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

(B) หากฉันไม่เพียง แต่จะเชื่อมโยงไปยังห้องสมุด แต่เพื่อใช้และรวมรหัส BSD และ GPL ในลักษณะที่เกี่ยวข้องมากขึ้นจะทำอย่างไรกับ LICENSE.txt

ข้อความ BSD 3 ข้อบอกว่า: "การแจกจ่ายรหัสต้นฉบับต้องเก็บประกาศลิขสิทธิ์ข้างต้นรายการเงื่อนไขนี้และข้อจำกัดความรับผิดชอบต่อไปนี้" เห็นได้ชัดว่าฉันควรเก็บประกาศลิขสิทธิ์และรายการเงื่อนไขไว้ที่ใดที่หนึ่ง แต่ฉันจะต้องใส่ txt-license ของ GPL ลงไปด้วย

นอกจากนี้เห็นได้ชัดว่าฉันไม่จำเป็นต้องเก็บรักษา "การแจกจ่ายซ้ำและการใช้งานในแหล่งที่มาและรูปแบบไบนารีไม่ว่าจะมีหรือไม่มีการดัดแปลงจะต้องได้รับอนุญาตหากตรงตามเงื่อนไขต่อไปนี้:" ส่วนหนึ่งของข้อความลิขสิทธิ์ BSD รักษาส่วนอื่น ๆ

ดังนั้นฉันควรใช้วิธีใดและไฟล์ข้อความใดในการจัดระเบียบข้อความลิขสิทธิ์ GPL และส่วนต่าง ๆ ของลิขสิทธิ์ BSD และลิขสิทธิ์ที่ฉันเก็บไว้?

แก้ไข: ดังนั้นในกรณี B, ฉันจะได้รับ 3 ข้อ BSD ใบอนุญาตรหัสและกระจายมันภายใต้ GPL ซึ่งจะได้รับอนุญาตเป็นใบอนุญาต BSD 3 ข้อคือ (ทางเดียว) เข้ากันได้กับจีพี ฉันแค่ถามถึงวิธีจัดการกับข้อความลิขสิทธิ์และไฟล์ข้อความในทางปฏิบัติ


นี่เป็นความคิดที่ไม่ดี ค้นหาเว็บอย่างง่ายจะแสดงสาเหตุ แต่ผลิตภัณฑ์ทั้งหมดกลายเป็น GPL เคยมีปัญหากับเรื่องนี้มาก่อน
Andrew T Finnell

2
@Andrew Finnell: ทำไมมันเป็นความคิดที่ไม่ดี? ผลิตภัณฑ์ทั้งหมดคือ GPL เนื่องจากมีส่วนประกอบ แต่มีอะไรผิดปกติหรือไม่ ไลเซนส์ของ BSD ยังคงเป็นไลบรารี่ BSD ผู้ใช้ไม่ใช้สิทธิ์การใช้งาน BSD เว้นแต่ว่าต้องการให้ผู้ใช้ที่ต้องการใช้สิทธิ์การใช้งานที่ จำกัด ยิ่งขึ้น
David Thornley

คำตอบ:


1

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

คุณจะจบลงด้วยไฟล์สองประเภท:

  • แต่เดิมไฟล์ BSD: จำเป็นต้องมีทั้งส่วนหัวลำดับไม่สำคัญสำหรับความรู้ของฉันเพียงแค่มี
  • ไฟล์และไฟล์ GPL ของคุณเดิมต้องมีส่วนหัว GPL

และแน่นอนสำหรับการปล่อยไบนารีใด ๆ คุณจะต้องรวมลิงค์ไปยังแหล่งที่มาและส่วนหัวทั้งสองในรูปแบบอื่น ฉันอยากจะแนะนำ GPL มาตรฐานตามด้วย "ส่วนของโปรแกรมนี้เปิดตัวครั้งแรกภายใต้ใบอนุญาตต่อไปนี้" หรืออะไรทำนองนั้นคุณอาจพบตัวอย่างของสิ่งที่เกิดขึ้นในป่าถ้าคุณมองหามัน

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


1

ตกลงอ่านส่วนที่ 7 ของ GPLv3อนุญาตสำหรับ "การอนุญาตเพิ่มเติม [ที่] ใช้เฉพาะกับบางส่วนของโปรแกรม" [1] ดังนั้นการรักษาบางไฟล์หรือไดเรกทอรีภายใต้ใบอนุญาต BSD ดูเหมือนจะโอเคเนื่องจากฉันเดาว่า "ทำทุกอย่างที่คุณต้องการ" ของสิทธิ์ใช้งาน BSD คือ "การอนุญาตเพิ่มเติม"

นอกจากนี้มาตรา 7 ยังอนุญาตให้ "เสริมข้อกำหนดของสัญญาอนุญาตนี้ด้วยข้อกำหนด" (6 รายการจุดของเงื่อนไขที่อนุญาตดังนี้) และทั้ง 3 ข้อ (+ ข้อจำกัดความรับผิดชอบ) ของใบอนุญาต BSD ได้รับการคุ้มครองดังนั้นในกรณี การผสมรหัส BSD และ GPL ในไฟล์เดียวบางทีฉันอาจต้องใส่ ADDITIONAL_TERMS.txt ที่ไหนสักแห่งที่มี 3 ส่วน + ข้อจำกัดความรับผิดชอบจากใบอนุญาต BSD

(เพื่อความแม่นยำเป็นพิเศษตลอดเวลาที่ฉันได้พูดคุยเกี่ยวกับใบอนุญาต BSD ฉันได้หมายถึงใบอนุญาต 3 ข้อ AKA "ใบอนุญาต BSD ใหม่" AKA "ใบอนุญาตดัดแปลง BSD" ที่ฉันเชื่อมโยงกับคำถามของฉัน)

[1] ตราบใดที่ผู้รับโปรแกรมจะได้รับอนุญาตให้ลบสิทธิ์เพิ่มเติมถ้าเขาแจกจ่ายต่อไป และใบอนุญาต BSD อนุญาตสำหรับสิ่งนี้


-1

สิ่งนี้ไม่สามารถทำได้ตามการตีความข้อกำหนดสิทธิการใช้งานหลายครั้ง

gnu.org พูดว่าสำหรับรุ่น 2:

เนื่องจากมีข้อกำหนดเฉพาะที่ไม่ได้อยู่ใน GPL กล่าวคือข้อกำหนดเกี่ยวกับการโฆษณาของโปรแกรม สถานะ GPL:

คุณไม่สามารถกำหนดข้อ จำกัด เพิ่มเติมใด ๆ ในการใช้สิทธิของผู้รับที่ได้รับในที่นี้

ส่วนโฆษณามีข้อ จำกัด เพิ่มเติมเพียงอย่างเดียวดังนั้นจึงไม่สามารถใช้ GPL ได้

ใบอนุญาต BSD ที่แก้ไขแล้วไม่มีข้อโฆษณาซึ่งช่วยขจัดปัญหา

และสำหรับ GPL v3 :

ทำไมใบอนุญาต BSD ดั้งเดิมไม่สามารถใช้กับ GPL ได้ (#OrigBSD)

เนื่องจากมีข้อกำหนดเฉพาะที่ไม่ได้อยู่ใน GPL กล่าวคือข้อกำหนดเกี่ยวกับการโฆษณาของโปรแกรม ส่วนที่ 6 ของสถานะ GPLv2:

คุณไม่สามารถกำหนดข้อ จำกัด เพิ่มเติมใด ๆ ในการใช้สิทธิของผู้รับที่ได้รับในที่นี้

GPLv3 พูดบางอย่างที่คล้ายกันในส่วนที่ 10 ข้อโฆษณาให้ข้อ จำกัด เพิ่มเติมดังกล่าวและจึงไม่เข้ากัน GPL

ใบอนุญาต BSD ที่แก้ไขแล้วไม่มีข้อโฆษณาซึ่งช่วยขจัดปัญหา

แน่นอนว่านักกฎหมาย / ผู้พิพากษาคนอื่นอาจมีความคิดเห็นที่ต่างออกไป


1
คุณแน่ใจหรือว่าคุณไม่ได้พูดถึงใบอนุญาต BSD 4 ข้อ? "ทั้งชื่อของ <organization> หรือชื่อของผู้มีส่วนร่วมอาจถูกใช้เพื่อรับรองหรือส่งเสริมผลิตภัณฑ์ที่ได้จากซอฟต์แวร์นี้โดยไม่ได้รับอนุญาตเป็นลายลักษณ์อักษรล่วงหน้า" ไม่ได้อ้างถึงการโฆษณาในรูปร่างหรือรูปแบบและเกี่ยวข้องกับเครื่องหมายการค้าขององค์กรไม่ใช่ลิขสิทธิ์ของซอร์สโค้ด
Guvante

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