ฉันสามารถใช้ใบอนุญาต Qt LGPL และขายแอปพลิเคชันของฉันโดยไม่มีข้อ จำกัด ใด ๆ ได้หรือไม่? [ปิด]


85

ฉันต้องการเริ่มโครงการข้ามแพลตฟอร์ม ฉันมีงานวิจัยและตอนนี้ฉันเกือบแน่ใจแล้วว่า Qt เป็นข้อตกลงที่ถูกต้อง : มีอุปสรรคใหญ่อยู่ที่นี่แม้ว่าการออกใบอนุญาต

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

ใครสามารถให้คำอธิบายง่ายๆเกี่ยวกับใบอนุญาต Qt และบอกฉันว่าฉันสามารถขายใบสมัครของฉันโดยไม่มีข้อ จำกัด ใด ๆ เลยได้หรือไม่? ใครช่วยบอกฉันว่าเทียบเท่ากับ Qt สำหรับการพัฒนาข้ามแพลตฟอร์มโดยไม่มีข้อ จำกัด ใด ๆ


5
คำถามนี้เกี่ยวข้องกับประเด็นทางกฎหมาย น่าเสียดายที่สิ่งเหล่านี้ไม่ตรงประเด็นใน SO
บาร์ต

1
ฉันมีปัญหาในเรื่องนี้ไม่มีการทะเลาะวิวาทในการออกใบอนุญาต! วิธีที่พวกเขาได้รับการปฏิบัติและผลกระทบต่อฉันในกระบวนการพัฒนาอย่างไรดังนั้นฉันคิดว่ามันเป็นเรื่องดีที่จะถามคำถามเช่นนี้
Rika

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

1
จากนั้นมาที่ Meta ถามว่าคำถามอยู่ในหัวข้อและสามารถเปิดใหม่ได้หรือไม่ ต้องมีผู้ดูแลหรือ 5 คนที่มีสิทธิ์เพียงพอในการเปิดใหม่ เพียงตั้งคำถามที่เป็นมิตรที่นั่นแล้วชุมชนจะได้เห็น meta.stackoverflow.com
Bart

1
Meta นั้นยอดเยี่ยมตราบใดที่คุณไม่สนใจตัวแทน Meta ของคุณจริงๆ การลงคะแนนมีความเสรีมากขึ้นที่นั่น
rlemon

คำตอบ:


100

เพียงแค่เชื่อมโยงกับ Qt แบบไดนามิก หากคุณเชื่อมโยงกับไลบรารี LGPL แบบไดนามิกก็ไม่มีอะไรต้องกังวล

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

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

แน่นอนว่า LGPL มีอะไรมากกว่านี้ แต่นั่นเป็นส่วนที่เกี่ยวข้อง


6
นอกจากนี้ LGPL ยังกำหนดให้คุณ "ไม่ จำกัด การแก้ไขบางส่วนของไลบรารีที่มีอยู่ในงานรวมและวิศวกรรมย้อนกลับสำหรับการดีบักการแก้ไขดังกล่าว" ซึ่งอาจขัดแย้งกับข้อห้ามของ EULA เชิงพาณิชย์บางประการเกี่ยวกับการทำวิศวกรรมย้อนกลับ
Josh Kelley

15
@Hossein คุณอ่านคำตอบหรือยัง? สิ่งนี้ไม่เกี่ยวข้องกับรหัสของคุณ ใบอนุญาต LGPL ของ Qt เกี่ยวข้องกับ Qt และ Qt เท่านั้นดังนั้นคุณจึงสามารถรวมรหัสของคุณและอนุญาตให้ใช้สิทธิ์ได้ตามที่คุณต้องการ แต่ถ้าคุณไม่ได้วางแผนที่จะซื้อใบอนุญาตเชิงพาณิชย์ของ Qt คุณจะต้องเชื่อมโยงกับ Qt แบบไดนามิก ใบอนุญาตการค้าของ Qt มีไว้สำหรับเมื่อคุณต้องการแก้ไขซอร์สโค้ดของ Qtและไม่เปิดเผยการเปลี่ยนแปลงที่คุณทำต่อสาธารณะ
cmannett85

1
@Hossein: และตราบใดที่คุณเชื่อมโยงกับ Qt แบบไดนามิก สุจริตคุณควรได้รับทนายความ คุณควรพูดคุยกับคนก่อนที่จะเข้าร่วมในธุรกิจการค้า และ FWIW, IANAL
Cornstalks

2
@Hossein ผู้ใช้ควรสามารถทำวิศวกรรมย้อนกลับและแทนที่ Qt ได้อย่างสมบูรณ์ อย่างไรก็ตามหมายความว่าคุณไม่ควรห้ามการทำวิศวกรรมย้อนกลับ คุณต้องแจกจ่าย Qt เป็น DLL ... และสำหรับโบนัสไฟล์ Object ของแอปของคุณ (ไม่บังคับ) หากคุณสนใจเกี่ยวกับไฟล์ออบเจ็กต์ของคุณคุณควรใส่ใจกับ EXE ของคุณด้วย! เพราะสำหรับผู้ชายที่รู้วิธีใช้ไฟล์ Object เขายังรู้ว่า EXACTLY คืออะไร! คนเหล่านี้มักจะสนใจเรื่องระดับต่ำและพวกเขารู้มากกว่าเรา สำหรับพวกเขาแม้แต่ EXE ของคุณก็อาจจะอ่านได้เหมือนกับซอร์สโค้ดสำหรับคุณ: P
ПетърПетров

1
@ ПетърПетровใช่การทำวิศวกรรมย้อนกลับเป็นปัญหาที่แท้จริงเมื่อใช้ไลบรารี LGPL อย่างไรก็ตามไฟล์ปฏิบัติการมักจะทำวิศวกรรมย้อนกลับได้ยากกว่าไฟล์อ็อบเจ็กต์จำนวนมาก (กล่าวคือเนื่องจากไฟล์ปฏิบัติการมักจะถูกแยกออกมีการปรับแต่งเวลาเชื่อมโยงและใช้อินไลน์เป็นต้น) แต่คุณพูดถูกอย่างยิ่ง: หากคุณไม่ระมัดระวังเกี่ยวกับวิธีสร้างไฟล์ปฏิบัติการของคุณการทำวิศวกรรมย้อนกลับอาจทำได้ง่ายพอ ๆ กับไฟล์อ็อบเจ็กต์ทั้งหมดของคุณ
Cornstalks
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.