ฉันสามารถใช้ปลั๊กอินลิขสิทธิ์ซอฟต์แวร์ Apache, เวอร์ชัน 2.0 และ GNU LGPL 3 ในเว็บแอปพลิเคชันเชิงพาณิชย์ของฉันได้หรือไม่?


31

ฉันมีสองปลั๊กอิน หนึ่งมีใบอนุญาต GNU LGPL 3 และอื่น ๆ มีใบอนุญาตซอฟต์แวร์ Apache รุ่น 2.0 ฉันสามารถใช้มันในแอพเพื่อการค้าของฉันได้ไหม? และถ้าใช่ฉันควรระวังอะไรบ้าง?


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

คำตอบ:


34

ฉันสามารถใช้มันในแอพเพื่อการค้าของฉันได้ไหม?

ขึ้นอยู่กับสิ่งที่คุณตั้งใจจะทำกับซอฟต์แวร์ที่คุณผลิต

ประการแรกทั้ง ASL 1 , GPL หรือ LGPL ไม่ทำข้อ จำกัด ใด ๆ กับสิ่งที่คุณสามารถใช้ซอฟต์แวร์เพื่อทำภายในองค์กรของคุณ ข้อ จำกัด ทั้งหมดอยู่ในรหัสที่เผยแพร่ภายนอกองค์กรของคุณ

  • สำหรับ GPL ข้อ จำกัด คือถ้าคุณรวมรหัส GPL'ed ลงในซอฟต์แวร์ของคุณเองและจากนั้นคุณแจกจ่ายซอฟต์แวร์ของคุณนอกองค์กรของคุณจากนั้นคุณต้องทำให้ซอร์สโค้ดมีอยู่ภายใต้เงื่อนไขของ GPL หรือใบอนุญาตโอเพ่นซอร์สที่เข้ากันได้

    ดังนั้นหากคุณใช้รหัส GPL'ed ในแอปพลิเคชันของคุณและคุณแจกจ่ายมันแอปพลิเคชันของคุณต้องเป็นโอเพ่นซอร์ส ... หรือมิฉะนั้นคุณกำลังละเมิดสิทธิ์การใช้งาน

  • สำหรับ LGPL ข้อ จำกัด (ดูด้านบน) ใช้กับซอร์สโค้ดของไลบรารี LGPL'ed เท่านั้น เช่นถ้าคุณเปลี่ยนห้องสมุด หากคุณใช้ไลบรารีคุณไม่จำเป็นต้องทำให้ซอร์สโค้ดของคุณพร้อมใช้งาน

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

  • สำหรับ ASL ข้อ จำกัด ที่สำคัญเพียงอย่างเดียวคือคุณต้องพูดว่าหากคุณเปลี่ยนแปลงอะไรจากรหัสต้นฉบับของ ASL ที่คุณใช้

ท้ายที่สุดเพียงแค่ทำให้ชัดเจนไม่ว่า GPL, LPGL หรือ ASL จะจำกัดความต้องการของคุณในการใช้ซอฟต์แวร์ และนั่นรวมถึงจุดประสงค์ของคุณคือการทำเงิน พวกเขา จำกัดวิธีที่คุณสามารถทำเงิน ... และในกรณีของ LGPL และ ASL ข้อ จำกัด นั้นค่อนข้างน้อยมาก

และถ้าใช่ฉันควรระวังอะไรบ้าง?

สำหรับ LGPL และ ASL ไม่จำเป็นต้องมีข้อควรระวัง

IANAL - ฉันไม่ใช่ทนายความ หากคุณต้องการแน่ใจให้ถามผู้เชี่ยวชาญที่มีคุณสมบัติเหมาะสมจริง เช่นทนายความที่มีความเชี่ยวชาญในกฎหมายทรัพย์สินทางปัญญาซอฟต์แวร์


1 - สำหรับวัตถุประสงค์ของคำตอบนี้ ASL == Apache Software License เวอร์ชัน 2


สิ่งนี้ใช้ได้กับเว็บแอปพลิเคชันหรือไม่ ฉันหมายถึงลูกค้าจะได้รับไฟล์ war ที่มีไฟล์. class และ. JAR เท่านั้น หาก LGPL ทั้งหมดยังคงใช้ได้
Java Main

หากคุณไม่ได้แก้ไขไลบรารี LGPL คุณสามารถรวมไว้ในรหัสแอปพลิเคชันของคุณในไฟล์ WAR แต่คุณต้องทำในลักษณะที่บุคคลที่คุณกำลังแจกจ่ายรหัสของคุณเพื่อสามารถแทนที่รหัส LBPL ด้วยรุ่นอื่น "uber-JAR" อาจเป็นการละเมิด การแกล้งห้องสมุด LGPL พร้อมกับรหัสของคุณเป็นการละเมิดอย่างแน่นอน (IANAL)
Stephen C

มีโฟลเดอร์ชื่อ lib ที่ฉันวางไฟล์ jar ทั้งหมด ดังนั้นเขาจึงสามารถแทนที่ไฟล์ Jar ด้วยเวอร์ชั่นอื่นได้ แต่ฉันไม่รับประกันว่ามันจะทำงานได้เสมอ มันยังโอเคไหม
Java Main

ถามทนายของคุณ :-)
สตีเฟนซี

มันเป็นเพียงเว็บแอปทั่วไปที่ทำงานบน Tomcat หากคุณสามารถช่วยได้จะดี อย่างไรก็ตามขอขอบคุณสำหรับคำชี้แจงของคุณช่วยจริงๆ
Java Main

5

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

สำหรับการใช้ในแอปพลิเคชันแบบปิดแหล่งข้อมูลหมายความว่าคุณสามารถใช้ปลั๊กอิน Apache Licensed โดยไม่มีข้อ จำกัด และต้องมีการเชื่อมโยงปลั๊กอินที่มีลิขสิทธิ์ LGPL แบบไดนามิก

หากคุณแจกจ่ายปลั๊กอินอย่างใดอย่างหนึ่งพร้อมกับแอปพลิเคชันของคุณคุณต้องระบุแหล่งที่มาของปลั๊กอินหรือแจ้งผู้ใช้ของคุณว่าพวกเขาสามารถรับแหล่งที่มาเหล่านั้นได้จากที่ใด


BartvanIngenSchenau คุณหมายถึงอะไรโดยแอปพลิเคชัน "ปิดแหล่งที่มา" คุณหมายถึงโซลูชันแบบแพคเกจ (ไม่กระจายซอร์สโค้ด) หรือคุณอ้างถึงการกระจายภายในองค์กรเทียบกับการกระจายเชิงพาณิชย์หรือไม่?
Rachael

1
@Rachael: "Closed-source" มักใช้เพื่ออ้างถึงซอฟต์แวร์ที่ไม่มีการแจกจ่ายซอร์สโค้ด การแจกจ่ายภายในองค์กรเป็นกรณีพิเศษเมื่อกล่าวถึงการให้สิทธิ์ใช้งานลิขสิทธิ์เนื่องจากการจัดหาสำเนาของผลิตภัณฑ์ซอฟต์แวร์ให้กับบุคคลภายในองค์กรนั้นไม่ถือเป็นการแจกจ่ายสำหรับกฎหมายลิขสิทธิ์ส่วนใหญ่ ( เป็นการพิจารณาคัดลอก)
Bart van Ingen Schenau

-4

ก่อนอื่นนี่ไม่ใช่คำแนะนำทางกฎหมาย

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

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

ดังนั้นสิ่งที่คุณทำคือสร้างไลบรารีเพื่อลิงก์ไปยัง LGPL lib เป็นเพียงแค่ wrapper แล้วปล่อย wrapper เป็น LGPL จากนั้นคุณสามารถลิงก์ไปที่ wrapper นี้ (wrapper ของคุณ ) ในซอฟต์แวร์ที่ไม่ใช่ LGPL ตราบใดที่ wrapper ของคุณมีวางจำหน่ายเช่นเดียวกับ LGPL

ฉันไม่สามารถพูดเกี่ยวกับสิทธิ์การใช้งานซอฟต์แวร์ Apache ได้เนื่องจากฉันไม่ใช่คนที่คุ้นเคย


โปรดทราบว่าฉันใช้คำว่า "ลิงก์" โดยทั่วไปเนื่องจากไม่ได้ใช้กับภาษาที่รวบรวมเท่านั้นและยังสามารถรวม "รวมถึง" ซอฟต์แวร์ LGPL (จากท้องถิ่นหรือที่ตั้งเครือข่ายเช่นด้วย PHP หรือ Javascript) หรืออย่างอื่น "การเชื่อมโยง" กับซอฟต์แวร์ผ่านเครือข่ายเช่น Java RMI และอื่น ๆ
JSON

1
"ซอฟต์แวร์ GPL ไม่ได้รับอนุญาตให้เชื่อมโยง (รวมถึงผ่านเครือข่าย) รวบรวมหรือส่งด้วยซอฟต์แวร์ที่ไม่ใช่ GPL ในรูปแบบใด ๆ " . เครื่องหมาย "หรือ" ควรเป็น "และ" คุณสามารถใช้ซอฟต์แวร์ GPL'ed ในซอฟต์แวร์ที่ไม่ใช่ GPL'ed ได้หากคุณไม่ได้ "ส่ง"
สตีเฟ่นซี

2
คำตอบนั้นผิดในหลาย ๆ ระดับ คำถามไม่เกี่ยวกับ GPL แต่เป็น LGPL รหัส ASL สามารถรวมอยู่ในรหัสภายใต้ใบอนุญาตอื่นเกือบทั้งหมดซึ่งหมายความว่ายัง LGPL หรือแม้กระทั่ง GPL (แม้ว่าสิ่งที่ตรงกันข้ามจะถูกห้าม) คุณสามารถใช้กับซอฟต์แวร์ที่เป็นแหล่งข้อมูลปิด และเช่นเดียวกับสตีเฟ่นซีที่ชี้ให้เห็นคุณสามารถทำสิ่งที่คุณต้องการตราบใดที่คุณไม่ได้เผยแพร่หรือเผยแพร่ต่อสาธารณชน
Alexis Dufrenoy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.