การใช้ซอฟต์แวร์เป็นบริการโดยใช้โปรแกรม GPL (v2 +) ที่ไม่ได้แก้ไขเป็นการอ้างอิงหลัก: รหัสแหล่ง SaaS ต้องได้รับการเผยแพร่หรือไม่


10

ฉันออกแบบซอฟต์แวร์เป็นโครงการบริการซึ่งจะเข้าถึงได้ทางออนไลน์เท่านั้น ฉันอาจมีการพึ่งพาอย่างหนักในการปฏิบัติการที่ครอบคลุมโดย GNU GPL (v2 หรือใหม่กว่า)

ฉันเข้าใจว่ารหัสของฉันหากฉันเคยเผยแพร่รหัสต้องถูกแจกจ่ายภายใต้ข้อกำหนดของ GPL เช่นกัน ฉันค่อนข้างมั่นใจว่าการใช้บริการผ่านเครือข่ายไม่ได้ถ่ายทอด / แจกจ่ายรหัส ดังนั้นฉันถูกต้องในการคิดว่าฉันอาจใช้การพึ่งพา GPL โดยไม่ต้องเปิดเผยรหัสทั้งหมดของฉันได้อย่างไร


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


ถ้าเป็น GPLv3 หรือ Affero คุณก็ทำได้ ใบอนุญาตเหล่านั้นได้รับการปรับแต่งเพื่อแก้ไขและปิดรูพรุน "ซอฟต์แวร์ในฐานะบริการ"
Andrew T Finnell

เดี๋ยวก่อน GPLv3 ก็ทำเช่นกัน? ฉันจำเป็นต้องดูที่ว่าอีกครั้ง ...
ลาตินั่มสีฟ้า

เห็นได้ชัดว่าฉันเข้าใจผิดเกี่ยวกับ GLPv3 มันออกมาจากมัน linux-mag.com/id/3017
Andrew T Finnell

คำตอบ:


9

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


เพียงเพื่อให้แน่ใจว่าฉันเข้าใจถูกต้อง (อ่าน #GPLoutput คำถามเกี่ยวกับคำถามที่พบบ่อย): ตัวอย่างเช่นหากสามารถกล่าวได้ว่าลิขสิทธิ์ของเอกสารที่อัปโหลด (ตามตัวอย่างของฉัน) ถือโดยนักเขียนดั้งเดิม จากนั้นจะมีการใช้งานไฟล์ประมวลผลเอาต์พุตของไฟล์ที่เรียกทำงานได้ (ไม่มีส่วนของโค้ดของโปรแกรมที่บรรจุอยู่ภายใน) เก็บลิขสิทธิ์ของนักเขียนดั้งเดิมเอาไว้ดังนั้นเมื่อฉันใช้งานมันเท่านั้นและเอาท์พุทไม่ได้เป็นค่าเริ่มต้น ไม่ต้องเปิดเผย?
Platinum Azure

1
@ PlatinumAzure: ใช่
MSalters

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

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

-1

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

นอกจากนี้ยังมีความกำกวมว่าการให้บริการเว็บเพื่อให้ผู้ใช้รหัส GPLed ถือเป็นการกระจายซอฟต์แวร์หรือเป็นวิธีการใช้ซอฟต์แวร์ ฉันคิดว่าคนส่วนใหญ่พิจารณาว่าการให้บริการเว็บเพียงอย่างเดียวไม่ได้อยู่ภายใต้การแจกจ่ายซ้ำ

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


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

@PlatinumAzure: การวิเคราะห์ในแง่ร้ายเกินไป "การให้บริการเว็บเพื่อให้ผู้คนสามารถใช้รหัส GPLed" ได้อย่างไม่น่าสงสัยไม่เผยแพร่รหัส GPL นั้น ไม่ใช่แค่ความคิดเห็นของฉัน แต่เป็นของ FSF เช่นกัน หากผู้เขียนซอฟต์แวร์ไม่เห็นด้วยกับ FSF เขาไม่ควรใช้ใบอนุญาตของตน
MSalters

ไม่มีความกำกวม หนึ่งในเหตุผลหลักในการสร้าง GPL v3 คือการปิดช่องโหว่ที่เรียกว่า "Aferro GPL" ซึ่งแสดงให้เห็นแล้ว GPLv2 นั้นเกี่ยวกับการแจกจ่ายรหัสไม่ใช่เกี่ยวกับการใช้งาน
Ross Patterson

@RossPatterson: คำถามที่เกี่ยวกับ GPLv2 GPL gives you a lot of freedom when it comes to "usage", but it does it lots of limitation concerning "distribution of derivative works"เป็นฉันได้กล่าวว่าในการโพสต์ของฉัน ในขณะที่ส่วนหนึ่งของ GPL นั้นค่อนข้างตรงไปตรงมาใน GPLv2 แต่ก็เปิดให้ตีความได้ว่า SaaS นั้นเป็นการ "ใช้งาน" หรือ "กระจาย" GPLv2 ไม่ได้พูดอะไรเกี่ยวกับ SaaS เพราะมันถูกออกแบบมาก่อน SaaS เป็นเรื่องธรรมดาดังนั้นความกำกวม
S เพื่อโกหกที่

@LieRyan SaaS ใช้โดยผู้ใช้ที่ไม่ได้รับการแจกแจงแบบไบนารีได้รับการยอมรับอย่างอิสระว่าไม่ได้เป็น "การกระจาย" และไม่ต้องการการแจกจ่ายซอร์สโค้ด มูลนิธิซอฟต์แวร์เสรีทำงานร่วมกับ Affero เพื่อสร้าง GPLv2 ที่แก้ไขแล้ว ("Affero GPL" v1) ซึ่งถือว่าเป็นการใช้เช่นการแจกจ่าย ไม่มีความกำกวมใน GPLv2
Ross Patterson
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.