เขียนโค้ด GNU GPL v2 เป็นภาษาอื่น: ฉันจะเปลี่ยนใบอนุญาตได้ไหม


11

ฉันเขียนใหม่บางส่วนของMercurial (ซึ่งได้รับอนุญาตภายใต้ GNU GPL v2) ใน C # โดยปกติฉันดูรหัส Python ดั้งเดิมมากและบางส่วนเป็นการแปลโดยตรงจาก Python เป็น C #

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


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

@MichaelT จะไม่ใช้ docs และโปรโตคอล reverse-engineering เป็น "งานดัดแปลง" หรือไม่
Anton Gogolev

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

INAL แต่ AFAIK การแปลโค้ดอัตโนมัติเท่านั้นได้รับการคุ้มครองโดยลิขสิทธิ์
vartec

1
@vartec มีข้อพิสูจน์อะไรไหม?
Anton Gogolev

คำตอบ:


17

ข้อความของใบอนุญาตครอบคลุมเฉพาะการแปลดังนั้นไม่คุณจะไม่สามารถ relicense ได้

"โปรแกรม" ด้านล่างหมายถึงโปรแกรมหรืองานดังกล่าวและ "งานจากโปรแกรม" หมายถึงโปรแกรมหรืองานดัดแปลงใด ๆ ภายใต้กฎหมายลิขสิทธิ์: กล่าวคืองานที่มีโปรแกรมหรือส่วนหนึ่งของ มันทั้งคำต่อคำหรือด้วยการปรับเปลี่ยน และ / หรือแปลเป็นภาษาอื่น


1
IANAL แต่ฉันเดาว่า "แปลเป็นภาษาอื่น" ในบริบทนี้ไม่ได้อ้างอิงถึงภาษาการเขียนโปรแกรมอื่น กฎหมายลิขสิทธิ์คุ้มครองเฉพาะการแสดงออกของความคิดเท่านั้นไม่ใช่ความคิดนั้น
Onorio Catenacci

2
@Onorio: GPL ไม่ใช่ลิขสิทธิ์มันเป็นใบอนุญาต
Mason Wheeler

5
@OnorioCatenacci นี่เป็นหนึ่งในกรณีที่ "ภาษา" กลายเป็นเหนียวเล็กน้อย วลีสำคัญคือ "งานที่ต่อเนื่อง" ซึ่ง OP ได้สร้างขึ้นอย่างแน่นอนที่สุด GPL อนุญาตให้สร้างงานต่อเนื่อง (หรือที่รู้จักว่า "ฟรี ... ") แต่ข้อ จำกัด การอนุญาตใช้งานดั้งเดิมยังคงใช้กับอนุพันธ์ GPL อนุญาตให้มีการออกใบอนุญาตอีกครั้ง (ปลั๊กไร้ยางอายดูคำตอบของฉัน) นี่เป็นคำถามเพิ่มเติมเกี่ยวกับสิทธิ์ใช้งานซึ่งต่างจากลิขสิทธิ์

@MasonWheeler "หมายถึงโปรแกรมหรืองานดัดแปลงใด ๆ ภายใต้กฎหมายลิขสิทธิ์" - อีกครั้งไม่ใช่ทนายความ แต่ดูเหมือนว่าจะบอกว่าลิขสิทธิ์จะมีส่วนเกี่ยวข้อง
Onorio Catenacci

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

3

ตาม:
http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility

คุณควรจะโอเคกับสถานการณ์ที่สองที่คุณรับบท

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

เช่นเคยขุดบ้างและให้แน่ใจว่าคุณเข้าใจว่าข้อ จำกัด คืออะไร


4
ไม่อย่างแน่นอน. ลองคิดดู: GPL จะไม่มีเหตุผลถ้าเป็นเช่นนั้น คุณสามารถใช้รหัส GPL v2 และเปลี่ยนเป็น LGPL นั่นจะทำให้ GPL ไม่จำเป็น ดูที่ fineprint: "LGPLv2.1 ให้สิทธิ์คุณในการกำหนดรหัสภายใต้ GPL ใหม่ (ไม่ใช่ LGPL) ตั้งแต่ GPLv2 หากคุณสามารถเปลี่ยนรหัส LGPLed ในกรณีนี้ให้ใช้ GPL รุ่นที่เหมาะสมแทน (ดังที่ระบุไว้ในตาราง) คุณสามารถสร้างชุดค่าผสมนี้ได้ " นั่นหมายความว่าเป็นการถูกต้องที่จะเปลี่ยนห้องสมุด LGPL ของคุณเป็น GPL แต่ไม่ใช่ในทางกลับกัน ซึ่งทำให้รู้สึกอีกครั้ง
แน่ใจ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.