GNU Lesser ใบอนุญาตสาธารณะทั่วไป

จากวิกิพีเดีย สารานุกรมเสรี
ข้ามไปที่การนำทาง ข้ามไปที่การค้นหา
GNU Lesser ใบอนุญาตสาธารณะทั่วไป
LGPLv3 Logo.svg
โลโก้
ที่ตีพิมพ์1991 ; 31 ปีที่แล้ว ( 1991 )
ตัวระบุSPDXLGPL-3.0 หรือใหม่กว่า
LGPL-3.0 เท่านั้น
LGPL-2.1 หรือใหม่กว่า
LGPL-2.1 เท่านั้น
LGPL-2.0 หรือใหม่กว่า
LGPL-2.0 เท่านั้น
เข้ากันได้กับ Debian FSGใช่[1]
FSF ได้รับการอนุมัติใช่[2]
OSI ได้รับการอนุมัติใช่[3]
รองรับ GPLใช่[2]
Copyleftใช่[2] ( ไลบรารีหรือการเชื่อมโยงแบบไดนามิกตาม )
การเชื่อมโยงจากรหัสที่มีใบอนุญาตอื่นใช่
เว็บไซต์www .gnu .org /copyleft /lesser .html

GNU Lesser General Public License ( LGPL ) เป็นลิขสิทธิ์ซอฟต์แวร์ฟรีที่เผยแพร่โดยFree Software Foundation (FSF) ใบอนุญาตอนุญาตให้นักพัฒนาและบริษัทใช้และรวมส่วนประกอบซอฟต์แวร์ที่เผยแพร่ภายใต้ LGPL ลงในซอฟต์แวร์ของตนเอง (แม้กระทั่งกรรมสิทธิ์ ) โดยไม่ต้องอยู่ภายใต้เงื่อนไขของใบอนุญาตลิขสิทธิ์ที่เข้มงวดเพื่อเผยแพร่ซอร์สโค้ดของส่วนประกอบของตนเอง อย่างไรก็ตาม นักพัฒนาซอฟต์แวร์ที่แก้ไขส่วนประกอบที่ครอบคลุม LGPL จะต้องทำให้เวอร์ชันที่แก้ไขนั้นใช้งานได้ภายใต้ลิขสิทธิ์ LGPL เดียวกัน สำหรับซอฟต์แวร์ที่เป็นกรรมสิทธิ์ โค้ดภายใต้ LGPL มักจะใช้ในรูปแบบของไลบรารีที่ใช้ร่วมกันเพื่อให้มีการแยกที่ชัดเจนระหว่างส่วนประกอบที่เป็นกรรมสิทธิ์และส่วนประกอบ LGPL LGPL ใช้เป็นหลักสำหรับไลบรารีซอฟต์แวร์แม้ว่าจะใช้โดยแอปพลิเคชันแบบสแตนด์อโลนบางตัวก็ตาม

LGPL ได้รับการพัฒนาเพื่อประนีประนอมระหว่างcopyleft ที่แข็งแกร่ง ของGNU General Public License (GPL) และใบอนุญาตที่ได้รับอนุญาตมากขึ้นเช่นใบอนุญาตBSDและMIT License คำว่า "Lesser" ในชื่อแสดงว่า LGPL ไม่รับประกันว่าผู้ใช้ปลายทางจะมีอิสระอย่างสมบูรณ์ในการใช้ซอฟต์แวร์ รับประกันเสรีภาพในการปรับเปลี่ยนส่วนประกอบที่ได้รับอนุญาตภายใต้ LGPL เท่านั้น แต่ไม่รับประกันส่วนประกอบที่เป็นกรรมสิทธิ์ใดๆ

ประวัติ

ใบอนุญาตนี้เดิมเรียกว่าGNU Library General Public Licenseและเผยแพร่ครั้งแรกในปี 1991 และใช้หมายเลขเวอร์ชัน 2 เพื่อความเท่าเทียมกันกับ GPL เวอร์ชัน 2 LGPL ได้รับการแก้ไขเล็กน้อยในรุ่น 2.1 ที่เผยแพร่ในปี 1999 เมื่อ ถูกเปลี่ยนชื่อเป็น GNU Lesser General Public License เพื่อสะท้อนถึงตำแหน่งของ FSF ที่ห้องสมุดบางแห่งไม่ควรใช้ LGPL เวอร์ชัน 3 ได้รับการเผยแพร่ในปี 2550 โดยเป็นรายการสิทธิ์เพิ่มเติมที่ใช้กับ GPL เวอร์ชัน 3

นอกเหนือจากคำว่า "งานตามโปรแกรม" ของ GPL แล้ว LGPL เวอร์ชัน 2 ยังแนะนำคำชี้แจงเพิ่มเติมอีกสองคำ "งานตามไลบรารี" และ "งานที่ใช้ไลบรารี" [4] LGPL เวอร์ชัน 3 ยกเลิกข้อกำหนดเหล่านี้บางส่วน

ความแตกต่างจาก GPL

ข้อแตกต่างที่สำคัญระหว่าง GPL และ LGPL คือ ตัวหลังอนุญาตให้เชื่อมโยงงานกับ (ในกรณีของไลบรารี "ใช้โดย") โปรแกรมที่ไม่ใช่ GPLed ไม่ว่าจะได้รับอนุญาตภายใต้ ใบอนุญาตของตระกูล GPL หรือใบอนุญาตอื่น ๆ [5]ใน LGPL 2.1 โปรแกรมที่ไม่ใช่ (L)GPLed สามารถแจกจ่ายได้ภายใต้เงื่อนไขใด ๆ หากไม่ใช่งานดัดแปลง หากเป็นงานดัดแปลง ข้อกำหนดของโปรแกรมจะต้องอนุญาตให้ "แก้ไขงานเพื่อการใช้งานของลูกค้าเองและวิศวกรรมย้อนกลับสำหรับการดีบักการแก้ไขดังกล่าว" งานที่ใช้โปรแกรม LGPL เป็นงานลอกเลียนแบบหรือไม่นั้นเป็นปัญหาทางกฎหมาย ไฟล์เรียกทำงานแบบสแตนด์อโลนที่ลิงก์ไปยังไลบรารีแบบไดนามิกผ่าน. so.dllหรือสื่อที่คล้ายกันเป็นที่ยอมรับกันโดยทั่วไปว่าไม่ใช่งานลอกเลียนแบบตามที่ LGPL กำหนด มันจะอยู่ภายใต้คำจำกัดความของ "งานที่ใช้ห้องสมุด" วรรค 5 ของ LGPL เวอร์ชัน 2.1 ระบุว่า:

โปรแกรมที่ไม่มีอนุพันธ์ของส่วนใดส่วนหนึ่งของไลบรารี แต่ได้รับการออกแบบมาให้ทำงานกับไลบรารีโดยการรวบรวมหรือเชื่อมโยงกับไลบรารี เรียกว่า "งานที่ใช้ไลบรารี" โดยแยกงานดังกล่าวไม่ใช่งานลอกเลียนแบบของห้องสมุด ดังนั้นจึงอยู่นอกเหนือขอบเขตของใบอนุญาตนี้

โดยพื้นฐานแล้ว หากเป็น "งานที่ใช้ไลบรารี" ซอฟต์แวร์จะต้องเชื่อมโยงกับเวอร์ชันที่ใหม่กว่าของโปรแกรมที่ครอบคลุม LGPL วิธีที่ใช้บ่อยที่สุดในการทำเช่นนั้นคือการใช้ " กลไกไลบรารีที่ใช้ร่วมกัน ที่เหมาะสมสำหรับการเชื่อมโยง" อีกทางหนึ่งไลบรารีที่ลิงก์แบบสแตติกจะได้รับอนุญาตหากมีการจัดหาซอร์สโค้ดหรือไฟล์อ็อบเจ็กต์ที่ลิงก์ได้ [6]

ความเข้ากันได้

คุณลักษณะหนึ่งของ LGPL คือการอนุญาตให้ใช้สิทธิช่วง[7]ภายใต้ GPL ซอฟต์แวร์ใดๆ ก็ตามที่ได้รับภายใต้ LGPL (ดูส่วนที่ 3 ของ LGPL เวอร์ชัน 2.1 และส่วนที่ 2 ตัวเลือก b ของ LGPL เวอร์ชัน 3) คุณลักษณะนี้ช่วยให้สามารถใช้รหัส LGPLed ซ้ำในไลบรารีและแอปพลิเคชัน GPLed ได้โดยตรง

LGPL เวอร์ชัน 3 เข้ากันไม่ได้กับ GPL เวอร์ชัน 2 โดยเนื้อแท้ อย่างไรก็ตาม งานที่ใช้ตัวหลังที่อนุญาตให้ใช้ GPL เวอร์ชันที่ใหม่กว่านั้นเข้ากันได้: [8]งานที่เผยแพร่ภายใต้ GPLv2 "หรือเวอร์ชันที่ใหม่กว่า" อาจรวมกับโค้ดจากไลบรารี LGPL เวอร์ชัน 3 ด้วย งานรวมทั้งหมดอยู่ภายใต้เงื่อนไขของ GPLv3 [9]

LGPL สำหรับห้องสมุด

ชื่อเดิม "GNU Library General Public License" ให้ความรู้สึกว่าไลบรารีซอฟต์แวร์ที่แนะนำของ FSF ใช้ LGPL และโปรแกรมนั้นใช้ GPL ในเดือนกุมภาพันธ์ พ.ศ. 2542 Richard Stallman หัวหน้าโครงการ GNU เขียนเรียงความว่าทำไมคุณไม่ควรใช้ Lesser GPL สำหรับห้องสมุดถัดไปของคุณโดยอธิบายว่า LGPL ไม่ได้ถูกเลิกใช้แต่ไม่จำเป็นต้องใช้ LGPL สำหรับห้องสมุดทั้งหมด:

ใบอนุญาตใดดีที่สุดสำหรับไลบรารีที่กำหนดเป็นเรื่องของกลยุทธ์ ... การใช้ GPL ธรรมดาสำหรับไลบรารีทำให้นักพัฒนาซอฟต์แวร์ฟรีได้เปรียบเหนือนักพัฒนาที่เป็นกรรมสิทธิ์: ไลบรารีที่พวกเขาสามารถใช้ได้ในขณะที่นักพัฒนาที่เป็นกรรมสิทธิ์ไม่สามารถใช้ได้ ... เมื่อ คุณสมบัติของไลบรารีฟรีพร้อมใช้งานสำหรับซอฟต์แวร์ที่เป็นกรรมสิทธิ์ผ่านไลบรารีทางเลือกอื่น ๆ ... ไลบรารีไม่สามารถให้ประโยชน์เฉพาะกับซอฟต์แวร์ฟรีได้ ดังนั้นควรใช้ Lesser GPL สำหรับไลบรารีนั้น [5]

Stallman และ FSF บางครั้งสนับสนุนใบอนุญาตที่เข้มงวดน้อยกว่า LGPL ในแง่ของกลยุทธ์ ตัวอย่างที่เด่นชัดคือการรับรองของ Stallman ในการใช้ใบ อนุญาต แบบ BSDโดย โครงการ Vorbisเพื่อใช้ในห้องสมุดในปี 2544 [ 10 ]

ข้อกำหนดภาษาการเขียนโปรแกรม

ใบอนุญาตใช้คำศัพท์เฉพาะซึ่งมีไว้สำหรับแอปพลิเคชันที่เขียนด้วยภาษาซีหรือตระกูลของมันเป็นหลัก Franz Inc. ผู้พัฒนาAllegro Common Lispได้เผยแพร่คำนำของตนเองเกี่ยวกับใบอนุญาตเพื่อชี้แจงคำศัพท์ในบริบทLisp LGPL ที่มีคำนำนี้บางครั้งเรียกว่า LLGPL (11)

นอกจากนี้Adaยังมีคุณสมบัติพิเศษ ได้แก่genericsซึ่งอาจกระตุ้นให้มีการใช้GNAT Modified General Public License (GMGPL): อนุญาตให้โค้ดเชื่อมโยงหรือสร้างอินสแตนซ์ของหน่วยที่ครอบคลุม GMGPL โดยที่ GPL จะไม่ครอบคลุมโค้ดเอง

เทมเพลตC++ และ ไลบรารีส่วนหัวเท่านั้นมีปัญหาเช่นเดียวกับ Ada generics LGPL เวอร์ชัน 3 กล่าวถึงกรณีดังกล่าวในหัวข้อที่ 3 [12]

การสืบทอดคลาส

มีความกังวลเพิ่มขึ้นเกี่ยวกับความเหมาะสมของคลาสเชิงวัตถุในโค้ดที่ได้รับอนุญาตจาก LGPL ซึ่งสืบทอดมาจากโค้ดที่ไม่ใช่ (L)GPL มีการชี้แจงบนเว็บไซต์ทางการของ GNU:

LGPL ไม่มีข้อกำหนดพิเศษสำหรับการรับมรดก เนื่องจากไม่มีข้อกำหนดใดๆ การสืบทอดสร้างงานลอกเลียนแบบในลักษณะเดียวกับการลิงก์แบบดั้งเดิม และ LGPL อนุญาตงานลอกเลียนแบบประเภทนี้ในลักษณะเดียวกับที่อนุญาตให้เรียกใช้ฟังก์ชันทั่วไป [13]

ดูเพิ่มเติม

อ้างอิง

  1. ^ ข้อมูลใบอนุญาต Debian
  2. ^ a b c "ใบอนุญาตและความคิดเห็นต่างๆ เกี่ยวกับพวกเขา " มูลนิธิซอฟต์แวร์ฟรี 26 มิถุนายน 2561 . สืบค้นเมื่อ2 สิงหาคม 2018 .
  3. ^ ใบอนุญาตและมาตรฐานโอเพ่นซอร์ส Initiative
  4. ^ "บทที่ 10 The Lesser GPL" . Copyleft และ GNU General Public License: A Comprehensive Tutorial and Guide 2018.
  5. อรรถเป็น สตอลแมน, ริชาร์ด. ทำไมคุณไม่ควรใช้ Lesser GPL สำหรับไลบรารีถัดไปของคุณ เว็บไซต์อย่างเป็นทางการของมูลนิธิซอฟต์แวร์ฟรี
  6. ^ Gnu Lesser General Public License, มาตรา 4 , pt. ง) 0)
  7. ^ "ใบอนุญาตย่อย" . วิ กิพจนานุกรม 7 ธันวาคม 2563
  8. ^ GNU Lesser General Public License (LGPL) เวอร์ชัน 3 เว็บไซต์อย่างเป็นทางการของมูลนิธิซอฟต์แวร์ฟรี
  9. ^ คำถามที่พบบ่อยเกี่ยวกับใบอนุญาต GNU - โครงการ GNU - มูลนิธิซอฟต์แวร์เสรี เว็บไซต์อย่างเป็นทางการของมูลนิธิซอฟต์แวร์ฟรี
  10. สตอลแมน, ริชาร์ด. Re: [โอเพ่นซอร์ส] [Fwd: [icecast-dev] Xiph.org ประกาศ Vorbis Beta 4 และ Xiph.org
  11. ^ คำนำของใบอนุญาตสาธารณะทั่วไปของ Gnu Lesser
  12. ^ LGPLv3 สำหรับ C++ Pure Template Library ?
  13. ^ เทิร์นเนอร์, เดวิด. LGPL และ Java . เว็บไซต์อย่างเป็นทางการของ GNU

ลิงค์ภายนอก