GPL ในที่ทำงานหรือไม่


12

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

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

คำตอบ:


15

ข้อจำกัดความรับผิดชอบมาตรฐาน: ฉันไม่ใช่ทนายความและไม่ใช่คุณ

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

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

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


1
คุณมีสิทธิ์ AGPL แต่เข้มงวดมากขึ้นในเรื่องนั้น

@Pierre: ถูกต้องในแง่ที่ว่าคุณไม่สามารถให้บริการแหล่งข้อมูลแก่ผู้ใช้ของคุณได้โดยการติดกับแอปเซิร์ฟเวอร์
Shog9

1
น่าสนใจ ดังนั้นใน GPL มาตรฐานถ้าคุณเขียนแอป SaaS คุณไม่จำเป็นต้องให้แหล่งข้อมูลเพราะคุณไม่ได้ "กระจาย" แอปพลิเคชันทางเทคนิค
Ryan Hayes

2
@Ryan: ใช่ ดีที่คุณไม่จำเป็นต้องให้มันอยู่กับคุณผู้ใช้ ทุกคนที่ได้รับรหัสที่รวบรวมยังคงได้รับแหล่งที่มา
Shog9

7

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

ครั้งแรกหลายคนมีความสุขที่จะจ่ายสำหรับผลิตภัณฑ์เชิงพาณิชย์โดยเฉพาะเพื่อหลีกเลี่ยงปัญหานี้ นี่เป็นเรื่องธรรมดาโดยเฉพาะอย่างยิ่งในโลกของระบบสมองกลฝังตัวที่การปฏิบัติตาม GPL จะต้องมีการเผยแพร่การออกแบบฮาร์ดแวร์ที่สมบูรณ์และจัดทำเอกสารว่ามันทำงานอย่างไรเพื่อตอบสนองจิตวิญญาณของ GPL ซึ่งเป็นความพยายามที่จะทำให้ผู้ใช้ . แม้ว่ามันจะเป็นไปได้ที่จะสร้างผลิตภัณฑ์ที่เปิดกว้าง แต่ก็ต้องการความมุ่งมั่นอย่างมากในทุกระดับของ บริษัท ปัญหาที่ใหญ่กว่าคือส่วนประกอบต่างๆของการออกแบบได้รับการรับรองจากผู้ผลิตภายใต้ NDA และเป็นไปไม่ได้ที่จะสร้างรหัสที่สอดคล้องกับ GPL ที่ใช้เอกสารที่เผยแพร่ภายใต้ NDA อย่างมีประสิทธิภาพ

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


2

โอเพ่นซอร์สไม่ได้แปลว่าฟรี

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

จากบทนำเริ่มต้นถึง v3 ของ GPL (เน้นที่ตัวฉันเอง):

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

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

(ที่มา )

ในสถานการณ์เช่นนี้ บริษัท มีสิทธิ์ใช้รหัส GPL โดยที่ลูกค้าไม่รู้หรือไม่? มันเพียงพอหรือไม่ที่จะ "ให้แหล่งที่มา" แก่พวกเขา?

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


2
GPL ไม่ต้องการให้คุณเผยแพร่แหล่งที่มา แต่ต้องการให้คุณเผยแพร่แก่ผู้ใช้ถึงความจริงที่ว่าโปรแกรมนั้นเป็น GPL และคุณจะต้องส่งมอบแหล่งที่มาตามคำขอ (อาจมีค่าธรรมเนียมการจัดการที่ยุติธรรมและสมเหตุสมผล) ในทางปฏิบัติข้อกำหนดหลังมักได้รับการจัดการโดย tarball หรือ zip ที่ URL ที่สามารถมอบให้เมื่อมีการร้องขอ ในฐานะที่ปรึกษาคุณมีหน้าที่แจ้งให้ลูกค้าทราบว่าภาระของพวกเขาจะเป็นอย่างไรหากพวกเขาแจกจ่ายงานของคุณให้ผู้อื่นเพราะพวกเขากลายเป็นผู้เผยแพร่ภายใต้ GPL
RBerteig

@Berteig ขอบคุณสำหรับการชี้แจง มันเป็นเวลานานแล้วที่ฉันได้ขุดเงื่อนไขของใบอนุญาต
George Marian

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

-5

ไม่ถูกต้อง นี่คือเหตุผลที่:

พิจารณาว่าเรามีแอปพลิเคชันภายใต้ GPL หรือไม่ ตอนนี้มันไม่สามารถใช้งานได้โดยรหัสที่เป็นกรรมสิทธิ์

ถ้ามันก็เพียงพอแล้วที่จะเปิดซอร์สโค้ดที่ใช้ GPL ฉันสามารถเปิดโปรเจ็กต์ตามแบบ BSD ได้

ซอฟต์แวร์ที่เป็นกรรมสิทธิ์สามารถใช้ผลิตภัณฑ์ GPL


4
มันไม่สมเหตุสมผล GPL ไม่ได้ระบุว่ารหัสกรรมสิทธิ์ไม่สามารถใช้งานได้ GPL นั้นเกี่ยวกับการกระจายเนื่องจากคำตอบของ Mr. C นั้นชัดเจน ในระยะสั้นคุณจะไม่ได้รับอนุญาตให้เผยแพร่ซอฟต์แวร์ที่ใช้รหัส GPL เว้นแต่ว่าคุณจะแจกจ่ายซอร์สโค้ดสำหรับซอฟต์แวร์นั้นภายใต้ลิขสิทธิ์ที่เข้ากันได้
dash-tom-bang

1
รหัสกรรมสิทธิ์ไม่สามารถใช้รหัส GPL เป็นส่วนหนึ่งของเหตุผลในการมีอยู่ของใบอนุญาต
ทางเลือก

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

@นาย. C โดยรหัสที่เป็นกรรมสิทธิ์ฉันทำหมายถึงรหัสที่เข้ากันไม่ได้กับ GPL และรหัสที่จะแจกจ่ายให้กับลูกค้าดังนั้น ... แต่ใช่ฉันไม่มีทนายความดังนั้นผมอาจจะผิด
ทางเลือก

2
-1 คำตอบที่ทำให้เข้าใจผิด สิ่งนี้เป็นจริงสำหรับคำจำกัดความของ "การใช้" และ "กรรมสิทธิ์" เท่านั้น ตัวอย่างเช่นฉันสามารถสร้างผลิตภัณฑ์ Linux ที่ฝังตัวและปล่อยเคอร์เนล Linux และรหัสที่เชื่อมโยงโดยตรงกับรหัสเคอร์เนล แต่ไม่ใช่ UI หรือแอปอื่น ๆ ที่เพิ่งรันบนเคอร์เนล GPLed มีความสัมพันธ์มากมายเช่นนี้ ความคลุมเครือในการใช้ "กรรมสิทธิ์" นี้ได้รับการคุ้มครองแล้ว นอกจากนี้ในเขตอำนาจศาลส่วนใหญ่ "งานสำหรับการจ้างงาน" มอบให้เฉพาะกับกลุ่มที่จ้างนักพัฒนาเพื่อเขียนโค้ดมันไม่เหมือนกับการแจกจ่าย
IANAL
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.