“ ใบอนุญาต” หมายถึงอะไร?


13

ประการแรกเป็นที่ชัดเจนว่าสิทธิ์ในการอนุญาตช่วงไม่ให้สิทธิ์แก่คุณในการขอใบอนุญาต

สมมติว่าเรามีห้องสมุดที่มีใบอนุญาต MIT (1 ไฟล์) บางคนเพิ่มคุณสมบัติบางอย่างลงในห้องสมุด แต่วางไว้ภายใต้ GPL (ในไฟล์ 1 ไฟล์เดียวกัน) หรือถ้ามีคนต้องการใบอนุญาตพวกเขาต้องแยกรหัส?

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

คำตอบ:


5

บางคนเพิ่มคุณสมบัติบางอย่างในไลบรารี [MIT] แต่วางไว้ภายใต้ GPL (ในไฟล์ 1 ไฟล์เดียวกัน) หากมีคน [คนอื่น] ต้องการ "อนุญาตช่วง" [พวกเขา] ต้องแยกรหัสหรือไม่

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

[ผู้ได้รับอนุญาตช่วง] ต้องลบรหัส GPL [ที่ได้รับใบอนุญาตใหม่] เพื่อให้ปราศจากข้อ จำกัด GPL หรือไม่

ใช่.


ฉันดูใบอนุญาตโอเพนซอร์ซ ( tldrlegal.com/browse ) ฉันต้องการปกป้องผู้ใช้ห้องสมุดเพิ่มเติม (ซึ่งอาจนำมาจากบุคคลอื่น) จากข้อ จำกัด เพิ่มเติม ใบอนุญาตโอเพนซอร์ซเกือบทุกใบที่ได้รับความนิยมอนุญาตให้อนุญาตช่วง Ms-PL ดูดีสำหรับเรื่องนี้ แต่มีข้อ จำกัด อื่น ๆ (นอกจากนี้ยังมี GPL แต่ฉันไม่ต้องการบังคับให้ผู้ใช้ของไลบรารีไปยังซอฟต์แวร์ GPL ของพวกเขา) ...
Lilian A. Moraru

ฉันไม่ชัดเจนเกี่ยวกับสิ่งที่ "การออกใบอนุญาต" เกี่ยวข้องกับเรื่องนี้ คุณกำลังพยายามเลือกใบอนุญาตที่อนุญาตและ "การอนุญาตช่วง" หมายถึงอะไรสำหรับคุณ
Robert Harvey

จากprogrammers.stackexchange.com/questions/105912/ …ฉันเข้าใจว่ามีใครบางคนสามารถผสมในใบอนุญาตอื่นกับใบอนุญาตปัจจุบันและข้อ จำกัด ของห้องสมุดปัจจุบันจะถูกเพิ่มข้อ จำกัด ของห้องสมุดเพิ่มเติม หรืออาจใช้ไลบรารีเพิ่มเติมกับรหัสที่เขาเพิ่มไปยังแหล่งต้นฉบับ และไม่ฉันต้องการสิทธิ์ใช้งานที่ไม่อนุญาตให้ใครบางคนผสมในใบอนุญาตที่เข้มงวดกว่านี้
Lilian A. Moraru

3
ฉันคิดว่าคุณต้องทำให้ง่ายนี้ ดูในแง่ของ "การกระจาย" ไม่ใช่ "การออกใบอนุญาต" สิทธิ์การใช้งานโอเพนซอร์ซทั้งหมดอนุญาตให้ผู้คนใช้งานโค้ดได้ตามที่ต้องการ มันก็ต่อเมื่อการกระจายเกิดขึ้นว่าข้อ จำกัด ใด ๆ ที่เกิดขึ้นชัดเจน ในกรณีของคุณคุณมีคนที่ต้องการ GPL รหัสของพวกเขา ตัวเลือกที่เกิดขึ้น (ซึ่งคุณจะต้องทำก็ต่อเมื่อคุณแจกจ่ายต่อ) นั้นง่าย: คุณอยู่กับข้อ จำกัด ใหม่ที่เขากำหนดหรือหลีกเลี่ยงรหัสของเขาและอยู่กับรหัสลิขสิทธิ์ดั้งเดิมของ MIT
Robert Harvey

1
คำตอบที่นี่ส่วนใหญ่ผิด การเพิ่มคำตอบด้านล่างเพื่อชี้แจง
Chris Travers

20

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

สิทธิ์, ใบอนุญาต, ลิขสิทธิ์และใบอนุญาต

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

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

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

BSD เทียบกับใบอนุญาต MIT และ Sublicensing: อาจเป็นความแตกต่างที่ยิ่งใหญ่

ส่วนนี้มีพื้นฐานมาจากหนังสือของ Rosen (ด้านบน) หากคุณต้องการคำแนะนำทางกฎหมายโปรดจ้างทนายและอย่าถอดมันออกจาก Stack Exchange

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

ภายใต้ใบอนุญาต MIT คุณสามารถทำสองสิ่งที่คล้ายกันโดยทั่วไป:

1) คุณสามารถรวมงานในผลงานของคุณเองและเผยแพร่เหล่านี้ภายใต้ลิขสิทธิ์ที่เข้มงวดยิ่งขึ้น

2) คุณสามารถใช้งานลิขสิทธิ์ดั้งเดิมของ MIT เพิ่มข้อ จำกัด เพิ่มเติมและเผยแพร่งานภายใต้ลิขสิทธิ์ที่เข้มงวดมากขึ้น แต่คุณยังไม่ได้แก้ไขรหัสเลย GPL v3 อ้างว่าต้องการให้สิ่งนี้ใช้งานร่วมกันได้หากมีคนเห็นว่า GPL เป็นผู้ควบคุมเงื่อนไขทั้งหมดของใบอนุญาต [1]

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

สรุปผลการวิจัย

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

คุณกำลังถามเกี่ยวกับเอกสารทางกฎหมายเฉพาะและคำที่ใช้ในเอกสารนั้น ฉันหวังว่าสิ่งนี้จะช่วยอธิบายว่าคำนั้นหมายถึงอะไรและมีผลกระทบอย่างไร

คำถามของคุณหลายคนน่าจะยาวและซับซ้อน [2] และขึ้นอยู่กับเขตอำนาจศาล แต่กฎพื้นฐานเกี่ยวกับMIT Licenseคือหากช่องของคุณอ้างว่าได้รับลิขสิทธิ์ภายใต้ GPL แล้วจะได้รับอนุญาตภายใต้ GPL สิ่งนี้อาจจะใช่หรือไม่ใช่ข้อสันนิษฐานที่ปลอดภัยภายใต้ใบอนุญาต BSD ยิ่งไปกว่านั้นสิ่งนี้เป็นความจริงไม่ว่าจะมีการดัดแปลงเวอร์ชันดั้งเดิมหรือไม่หากมีการใช้ลิขสิทธิ์ MIT ภายใต้สิทธิ์การใช้งาน BSD ขอบเขตของการแก้ไขจะกำหนดแน่นอนเกี่ยวกับใบอนุญาตที่ควบคุม

[1] วิธีแก้ไขปัญหาหนึ่งคือดู GPL ในวิธีอื่นและอนุญาตให้ "ประกาศทางกฎหมายที่สมเหตุสมผล" ( ข้อ จำกัดเพิ่มเติมภายใต้หัวข้อ 7) เพื่อรวมประกาศของสิทธิ์การใช้งานเพิ่มเติม ในกรณีนี้หนึ่งจะมีสิทธิ์เพิ่มเติมซึ่งถอดออกได้ภายใต้มาตรา 7 เป็นสิทธิ์เพิ่มเติม แต่ยังอนุญาตให้เป็นข้อ จำกัด เพิ่มเติม (ภายใต้ส่วน 7 (b)) แจ้งให้ทราบว่าสิทธิบางอย่างไม่สามารถถอดออกได้ นี่เป็นหนึ่งในสิ่งที่ฉันไม่ชอบเกี่ยวกับ GPL v3 นั่นคือมันทำให้เราคิดว่าเป็นทนายความเกี่ยวกับวิธีการจัดการกับความเข้ากันได้ของใบอนุญาต

[2] ตัวอย่างเช่นมีคำถามเปิดว่าการกระจายซอฟต์แวร์ที่เชื่อมโยงไปยังห้องสมุดบุคคลที่สามต้องได้รับอนุญาตลิขสิทธิ์หรือไม่ หากเป็นกรณีนี้ PostgreSQL ที่รวบรวมใน MinGW ต้องได้รับอนุญาตจาก Microsoft และพวกเขาสามารถเพิกถอนได้ตลอดเวลาแต่ถ้าไม่เช่นนั้นฉันสามารถเขียนโปรแกรมที่เป็นกรรมสิทธิ์ซึ่งเชื่อมโยงกับ GNU Readline และ FSF ไม่สามารถอ้างสิทธิ์ได้ นี่เป็นการละเมิดลิขสิทธิ์ คำถามเปิดนี้ทำให้คำถามส่วนใหญ่ของคุณเกี่ยวกับว่านักพัฒนาสามารถเชื่อมโยงไปยังห้องสมุดภายใต้ใบอนุญาตอื่นที่ไม่ใช่ GPL หรือไม่ที่จะตอบด้วยความมั่นใจใด ๆ


1
tl; dr: พูดคุยกับทนายความ
Robert Harvey

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

1
(ฉันก็ไม่แน่ใจเหมือนกันว่าการให้สิทธิ์ช่วงสิทธิ์นั้นเป็นสิ่งที่จำเป็นสำหรับซอฟต์แวร์โอเพ่นซอร์ส FWIW)
Chris Travers

0

ฉันไม่ได้เป็นนักกฎหมายและฉันไม่ได้เล่นในทีวี:

ในขณะที่คำตอบเริ่มต้นสำหรับคำถามเช่นนี้เป็นเพียงการพูดคุยกับทนายความฉันคิดว่าคำตอบที่ดีกว่าคือการพูดคุยกับผู้เขียนต้นฉบับ บอกพวกเขาว่าคุณจะทำอะไรกับมันและกลุ่มเป้าหมายของคุณคืออะไร โปรดจำไว้ว่าผู้เขียนไม่ได้สละลิขสิทธิ์ของเขาสำหรับงานของเขาโดยการปล่อยภายใต้ใบอนุญาตผู้เขียนมีอิสระที่จะเลือกสิ่งที่เขาต้องการที่จะอนุญาตกับมัน ผู้เขียนสามารถพูดว่า "คุณอาจแยกห้องสมุดนี้ภายใต้ใบอนุญาตอื่นซึ่งมีข้อกำหนดที่คุณต้องการ" หรือเพียงแค่พูดว่า "คุณสามารถเผยแพร่ซอฟต์แวร์ของคุณโดยใช้สิทธิ์ใช้งานใดก็ได้ที่คุณต้องการฉันสละข้อกำหนด X เพียงตราบเท่าที่คุณทำ Y" . ฉันได้รับอนุญาตเป็นการส่วนตัวที่จะปล่อยเพื่อแยกซอฟต์แวร์โอเพ่นซอร์สของผู้เขียนภายใต้ Apache แทน GPL ได้รับโครงการขนาดใหญ่ที่ได้รับการสนับสนุนในปัจจุบันเช่น Qt

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

นอกจากนี้ฉันไม่เห็นด้วยกับคำตอบของ Chris Travers

ต่อแผนภูมินี้ทั้ง BSD และเอ็มไอทีช่วยให้คนที่จะปล่อยภายใต้ใบอนุญาตที่แตกต่างกัน นี่คือแหล่งข้อมูลอื่นที่แนะนำให้อนุญาตให้ใช้สิทธิ์ช่วง ฉันอ่านใบอนุญาต BSD ใหม่และไม่แนะนำอะไรเกี่ยวกับการไม่อนุญาตให้คุณเผยแพร่ภายใต้ใบอนุญาตที่แตกต่างกัน - แต่มันไม่มีข้อกำหนดใด ๆ ที่ห้ามไม่ให้คุณเปลี่ยนใบอนุญาตในผลิตภัณฑ์ที่ได้มา


ฉันเป็น "ผู้แต่ง" ฉันต้องการแน่ใจว่าทุกอย่างดีสำหรับผู้ใช้
Lilian A. Moraru

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

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