การอนุญาตให้ใช้รหัสโอเพ่นซอร์สไม่ จำกัด รหัสในภายหลัง


29

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

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

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


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

คำตอบ:


44

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

สิ่งต่าง ๆ ได้รับสติ๊กเกอร์เล็กน้อยเมื่อคนอื่นเริ่มมีส่วนร่วม มันเป็นงานของพวกเขาไม่ใช่ของคุณและคุณต้องได้รับอนุญาตจากพวกเขา สิ่งหนึ่งที่คุณสามารถทำได้คือการเผยแพร่ห้องสมุดของคุณภายใต้ใบอนุญาตคู่ นั่นคือสิ่งที่ Sam Lantinga ผู้สร้างและผู้ดูแลหลักของSDLทำ เนื่องจาก Apple ไม่ชอบไลบรารีการเชื่อมโยงแบบไดนามิกสำหรับ iOS และการปฏิบัติตาม LGPL ในแอปที่เชื่อมโยงแบบคงที่มีปัญหามากกว่าที่ควรค่าเขาจึงเผยแพร่ SDL ภายใต้ทั้ง LGPL และใบอนุญาตเชิงพาณิชย์สำหรับแอป iPhone แบบคงที่ เมื่อใครก็ตามส่งแพทช์เขาจะขออนุญาตจากพวกเขาในการปรับใช้แพทช์ของพวกเขาในไลบรารี่ภายใต้ทั้งสองไลเซนส์และหากพวกเขาไม่ชอบมันเขาจะไม่เพิ่มมันเข้าไปใน codebase

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


1
+1 โดยเฉพาะอย่างยิ่งสำหรับแสดงวิธีจัดการกับผลงานจากผู้เขียนคนอื่น ๆ
Frank Shearar

5

ฉันไม่ใช่ทนายความและนี่ไม่ใช่คำแนะนำทางกฎหมาย หากคุณต้องการความเชื่อมั่นทางกฎหมายจ้างทนายความ

คุณสามารถอนุญาตให้ใช้ซอฟต์แวร์ของคุณแบบคู่ได้อย่างสมบูรณ์ - Trolltech ทำเช่นนั้นมาเป็นเวลาหลายปีกับ Qt และ Linden Lab ทำกับลูกค้า SecondLife

คุณสามารถใช้ใบอนุญาตใด ๆ ที่คุณต้องการ ใบอนุญาตบางใบสามารถใช้งานได้กับสภาพแวดล้อมเชิงพาณิชย์ที่ปิดเช่นใบอนุญาต Mozilla MPL, MIT และ BSD และ (ฉันเชื่อว่า) CDDL ของ Sun และใบอนุญาต Apache

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

โปรดทราบว่าผู้ใช้และผู้มีส่วนร่วมโดยเฉพาะอาจไม่เป็นเช่นนี้ดังนั้นจะส่งผลกระทบต่อชุมชนรอบ ๆ โครงการของคุณซึ่งอาจส่งผลเสีย

ขอคำปรึกษาจากทนายความอีกครั้ง


MIT หรือที่รู้จักคือใบอนุญาต 'ทำทุกสิ่งที่คุณต้องการ'
Evan Plaice

2

ฉันไม่ใช่ทนายด้วย แต่ ...

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


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

2
สิ่งที่ฉันหมายถึงโดยพูดอย่างเข้มงวดคือ GPL บังคับให้ผู้ใช้ไลบรารีของคุณปล่อยซอฟต์แวร์ภายใต้ลิขสิทธิ์ที่เข้ากันได้กับ GPL ในขณะที่สิทธิ์การใช้งานเช่น L-GPL, Apache, ... (BSD?) ตอนนี้ฉันไม่แน่ใจว่าถ้าคุณ GPL-ed รหัสของคุณและใครบางคนกระทำการเปลี่ยนแปลงรหัสนั้นคุณสามารถเพียงแค่ปล่อยมันในเชิงพาณิชย์ราวกับว่าไม่มีอะไรเกิดขึ้น ฉันคิดว่าคุณต้องกำจัดสิ่งต่าง ๆ เพิ่มเติมก่อน ... แต่ถ้าไลบรารี่ / เฟรมเวิร์กเป็น L-GPL ที่ได้รับอนุญาตคุณสามารถใช้มันในแอพพลิเคชั่นเชิงพาณิชย์ได้เหมือนกับคนอื่น ๆ ฉันหวังว่ามันจะสมเหตุสมผล
Paweł Dyda

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

@Goran คุณสามารถใช้ห้องสมุดในโครงการของคุณเองไม่ว่าจะมีลิขสิทธิ์ใด มันเป็นห้องสมุดของคุณและโครงการของคุณ: ใบอนุญาตใช้กับผู้อื่นไม่ใช่สำหรับคุณ
TRiG
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.