Ship of Theseus นำไปใช้กับ GPL - ฉันสามารถขอโปรแกรมของฉันใหม่ได้หรือไม่ถ้าฉันเปลี่ยนชิ้นส่วนอนุพันธ์ทั้งหมด?


99

ฉันแปลCโปรแกรมGPLv2 เป็นPythonแต่ก็พบว่ามันยากที่จะขยายตามที่ออกแบบและเขียนซ้ำส่วนที่สำคัญของมัน โปรแกรมนี้มีโครงสร้างที่แตกต่างกันโดยสิ้นเชิง แต่มีฟังก์ชั่นการแปลหลายคำที่ใช้งานอยู่

เรือของเซอุส Paradox (ตามที่ระบุไว้จากวิกิพีเดีย) "ทำให้เกิดคำถามว่าวัตถุที่มีส่วนประกอบของมันแทนที่ยังคงพื้นฐานวัตถุเดียวกัน."

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

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

ติดตาม : ฉันตัดสินใจที่จะติดต่อเจ้าของลิขสิทธิ์และได้รับอนุญาตให้สัญญาอนุญาต บางครั้งวิธีที่ดีที่สุดคือการปฏิสัมพันธ์ทางสังคมมากกว่าทางโปรแกรม!


6
เปรียบเทียบการตรวจสอบ ReactOS : มีข้อกล่าวหาว่า ReactOS (การแทนที่ Windows ฟรี) ถูกปนเปื้อนโดยใช้รหัส MS Windows ที่รั่วไหลและย้อนกลับ (ซึ่งพวกเขาไม่เคยได้รับใบอนุญาต) พวกเขาแก้ไขได้อย่างเป็นระบบโดยการแทนที่รหัสแหล่งกำเนิดที่ไม่ชัดเจนทั้งหมดด้วยรหัส "clean-room reverse engineered engineered" ที่ถูกกฎหมาย - โดยทั่วไปแล้วรหัสใหม่ที่เขียนจากข้อมูลจำเพาะที่สะอาด
jdm

3
@jdm Chinese Wall / รหัสห้องสะอาดต้องถูกเขียนโดยผู้ที่ไม่เกี่ยวข้องกับวิศวกรรมย้อนกลับและมีการสื่อสารที่ จำกัด (ตรวจสอบโดยชอบด้วยกฎหมาย) กับพวกเขา WRT จะเพิกเฉยต่อใบอนุญาตและเพียงแค่ "ละเมิดลิขสิทธิ์แทน" - มันจะมีจำนวนเท่ากันเนื่องจากคุณยังคงไม่มีสิทธิ์เผยแพร่เนื้อหาที่คุณละเมิดลิขสิทธิ์
goldilocks

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

3
@CrazyCasta: คุณเข้าใจผิดเกี่ยวกับขอบเขตของ GPL คุณระบุว่าเป็นเหตุผลเดียวที่มีสิทธิ์ใด ๆ สิ่งนี้ไม่ถูกต้องอย่างชัดเจนและ GPL ถูกปฏิเสธทันที GPL ครอบคลุมเฉพาะสิทธิ์ในการจัดจำหน่าย คุณมีสิทธิ์ไม่ จำกัด ในการใช้งานและศึกษารหัสแม้ว่าจะไม่ได้รับ GPL
MSalters

1
@MSalters: การกระจายทุน GPL และการปรับเปลี่ยนสิทธิ คุณไม่มีสิทธิ์ใช้งานซอฟต์แวร์ตามที่เป็นอยู่เท่านั้น
RemcoGerlich

คำตอบ:


95

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

ฉันพยายามอย่างสั้น ๆ กับสิ่งนี้ในปี 1992 เมื่อฉันเขียนรหัสฐานโคลนขนาดใหญ่จำนวนมาก เรามีเกมที่ประสบความสำเร็จ แต่ต้องการทำสิ่งของเราเองและผู้คนก็เต็มใจที่จะจ่ายเงิน แต่ใบอนุญาตDikuMUD นั้นห้ามไม่ให้เราทำเงินอย่างเคร่งครัด ในเวลานั้นคู่แข่งก็ขึ้นอยู่กับรหัสฐานเดียวกันและพวกเขาเลือกที่จะเพิกเฉยต่อลิขสิทธิ์อย่างโจ๋งครึ่มคัดลอกร่องรอยทั้งหมดของมัน ตรรกะของพวกเขาคือ "ไม่มีรหัสต้นฉบับอยู่" และ "เราได้ทำการแก้ไขและปรับปรุงใหม่จำนวนมาก" และโดยทั่วไปแล้วไม่สนใจความจริงที่ว่าพวกเขาเริ่มต้นด้วยรหัส 20,000 บรรทัด พวกเขาคิดเงินสำหรับรายการในเกมและทำเงินมากเกินที่จะหยุด

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

ดังนั้นฉันจึงตัดสินใจที่จะนำเงินของฉันไปที่ปากของฉันและเขียนตั้งแต่เริ่มต้นด้วยสำเนาของการเขียนโปรแกรมเครือข่าย UNIXของ W. Richard Steven กับฉันตลอดเวลาฉันเริ่ม วิธีของฉันการเขียนตั้งแต่เริ่มต้นสอนฉันมากกว่าตอนที่ฉันเขียน DikuMUD ขึ้นมาใหม่และมันก็สอนฉันว่าฉันไม่เข้าใจจริง ๆ ว่าการยืนบนไหล่ของคนอื่น ภายในหกเดือนฉันมี 50,000 รหัสปฏิบัติการที่ฉันสามารถโทรหาฉันได้ ฉันตั้งชื่อมันว่าMUD ++และเผยแพร่ภายใต้ BSD เขียนไม่ดีในสไตล์ต้น C ++ มันก็ยังเป็นโอเพนซอร์ส C ++ MUD ฟรีที่ฉันรู้ ถึงวันนี้ไม่มีใครสามารถแย่งฉันไปได้ ฉันมีเซิร์ฟเวอร์ TCP ที่ดีที่สุดในเวลานั้นไม่มีใครสามารถทำ "รีบูตเครื่องร้อน" โดยไม่ต้องทิ้งผู้เล่นและในไม่ช้าทุกคนก็ขโมยคุณสมบัติ (และฉันสังเกตว่า GPL MUDs หลายตัวมีตัวอย่างโค้ด BSD ของฉัน - น่าสนใจเสมอว่า GPL สามารถจี้ BSD-ware ได้อย่างไร แต่ไม่ใช่ในทางกลับกัน ) ในที่สุดฉันก็เดินหน้าต่อไปดังนั้นมันจึงไม่เหมือนการตัดสินใจว่าจะเป็นการสร้างหรือทำลายโชคชะตาของฉัน แต่ในขณะที่คนอื่น ๆ ทำเงินได้มากในขณะที่ฉันดูพวกเขาลดน้อยลงในโลกของเกมกราฟิก ไม่มีความต้องการข้อความจำนวนมากอีกต่อไป

เรื่องราวไม่สิ้นสุด ... ไม่กี่ปีต่อมาฉันทำงานกับ IBM และ Disney จ้างให้เราเขียนเกมเรียลไทม์ 3D สำหรับ Epcot center และฉันสามารถใช้ TCP core จาก MUD ++ เป็นพื้นฐานสำหรับสิ่งนั้น เซิร์ฟเวอร์เกม! หากฉันไม่ได้เป็นเจ้าของรหัสของตัวเองฉันจะไม่ได้รับอนุญาตให้ใช้และมันช่วยฉันประหยัดเวลาในการเขียนรหัสได้หลายสัปดาห์ ในที่สุดฉันก็ภูมิใจในตัวเลือกที่ฉันเลือกและฉันมีเรื่องราวที่จะบอกลูก ๆ ของฉัน

คนเข้าใจและประมาทผลประโยชน์ของการเริ่มต้นด้วยกรอบของคนอื่นเพื่อสร้าง

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

อย่างไรก็ตามก่อนที่จะทำเช่นนั้นให้ลองติดต่อผู้เขียนต้นฉบับ ถามพวกเขาว่าพวกเขายินดีที่จะระลึกถึงหรือไม่ หากคุณวางแผนที่จะขายไบนารีเสนอค่าลิขสิทธิ์ ผู้เขียนหลายคนที่เผยแพร่สิ่ง GPL ใน 90s และ 2000 ตอนนี้อยู่ใน 30s, 40s และ 50s ของพวกเขาและเข้าใจสิ่งที่มันหมายถึงการทำมาหากินที่ซอฟต์แวร์ ฉันได้เห็นสิ่งต่าง ๆ มากกว่าหนึ่งชิ้นจาก GPL ถึง MIT, Apache, Boost หรือ BSD

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

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


4
จริงๆแล้วฉันจะแนะนำและฉันก็หลงทางในเรื่องของฉัน ใช่, โดยทั้งหมด, ปรึกษาผู้แต่งดั้งเดิม, จ่ายเงินให้เขาเพื่อแสดงความเคารพ, เพื่อพูดและคุณอาจจะประหลาดใจที่ความถี่ที่ผู้เขียนมีความสุขเพียงแค่คุณมีปัญหาในการถาม และหนุ่ม ๆ ในวิทยาลัยหลายคนที่มีผลการเรียนดีใน GPL ใน 90s และ 2000 ได้ตระหนักว่าโปรแกรมเมอร์ต้องทำมาหากิน
codenheim

13
ฉันชอบคำตอบนี้และต้องการ upvote แต่ฉันทำไม่ได้เพราะสปินต่อต้าน GPL ทั้งหมดในย่อหน้าสุดท้าย สตริงที่ GPL แนบอยู่นั้นอาจไม่สามารถแนบสตริงได้ในอนาคต
Michael Shaw

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

16
@MichaelShaw: จริง ๆ แล้วฉันคิดว่านั่นเป็นส่วนที่ยอดเยี่ยมที่สุดของคำตอบนี้ การอ้างสิทธิ์ของคุณในอีกด้านหนึ่งนั้นผิดจริงๆ หากผู้เขียนรหัส GPLd ตัดสินใจที่จะปล่อยรุ่นใหม่ของรหัสของเขาภายใต้ใบอนุญาตที่แตกต่างกันพวกเขาก็มีสิทธิ์ พวกเขาแนบสตริงไม่ให้ตัวเอง แต่เฉพาะกับผู้ที่พวกเขา "แบ่งปัน" รหัสของพวกเขาด้วย วิธีที่ดีที่สุดที่ฉันสามารถอธิบายได้ว่านี่คือพื้นฐานการขาดศรัทธาในมนุษยชาติ
back2dos

9
วิธีที่ฉันเห็นมันคือใบอนุญาตแบบ BSD สร้างรหัสนี้ที่นี่ฟรีซึ่งง่าย สิทธิ์การใช้งานในรูปแบบ GPL มุ่งหวังที่จะตั้งค่าชุมชนซอฟต์แวร์ / ระบบนิเวศ / ฟรีในทุกสิ่งที่แข่งขันกับซอฟต์แวร์ที่ปิดและไม่ใช้ เพื่อที่จะทำสิ่งที่พวกเขาทำการเคลื่อนไหวเชิงกลยุทธ์จำนวนและความยาวและความหลากหลายของใบอนุญาตเหมือน GPL และ GPL (และการพัฒนาของพวกเขาในช่วงเวลา) แสดงให้เห็นว่านี่เป็นธุรกิจที่ซับซ้อนที่เกี่ยวข้องกับการตัดสินมูลค่าจำนวนมาก หากผู้ที่ต้องการให้คนอื่นรับรู้ว่าไม่เป็นอิสระหรือผู้ที่สนับสนุนให้อีกฝ่ายต้องปั่นป่วน
Steve Jessop

31

สถานการณ์นี้ครอบคลุมในคำถามที่พบบ่อย GPL :

GPL พูดว่าอย่างไรเกี่ยวกับการแปลรหัสเป็นภาษาโปรแกรมอื่น

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


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

7
@Landon งานของคุณยังคงเป็นผลมาจากงาน GPL และดังนั้นจึงเป็นไปตามข้อกำหนดของ GPL
ฟิลิปป์

1
@Landon: สิ่งที่กำหนดว่า GPL ใช้ไม่ได้จริง ๆ จะทำอย่างไรกับ GPL มันคือว่าผลลัพธ์สุดท้ายของคุณเป็น "งานที่ต่อเนื่อง" หรือไม่ การเพิ่มสิ่งต่าง ๆ ไม่ได้ทำให้งานลอกเลียนแบบกลายเป็นงานที่ไม่ใช่อนุพันธ์เพราะโดยกฎหมายแล้วมันไม่ได้เกี่ยวกับสัดส่วนของงานที่ลอกมา แต่เป็นปริมาณดิบ การแปลงเป็นภาษาอื่นก็เป็นสิ่งที่ต้องทำเป็นประจำและนั่นคือสิ่งที่คำถามที่พบบ่อยคือการแจ้ง / เตือนให้คุณทราบ คำถามที่คุณต้องถามทนายของคุณคือ "เมื่อทำตามขั้นตอนของฉันแล้วศาลจะพบว่านี่เป็นงานดัดแปลงหรือไม่"
Steve Jessop

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

8

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

วิธีการมาตรฐานในการแก้ไขปัญหานี้เรียกว่า "การใช้ห้องสะอาด" คุณเขียนเอกสารข้อกำหนดและให้คนอื่นใช้ (ใครไม่เห็นรหัส GPL)

ดูคำถามนี้ด้วย: เขียนรหัส GPL ใหม่เพื่อเปลี่ยนใบอนุญาต

ในขณะที่มีคนใส่มันไว้อย่างเหมาะสมการแปลภาษาจีนของแฮร์รี่พอตเตอร์ก็ยังคงเป็นงานดัดแปลงแม้ว่าข้อมูลทั้งหมดจะถูกแทนที่

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

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


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

1
@Hurkyl ดังนั้น 50 เฉดสีเทา?
Yamikuronue

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

2
เห็นด้วยกับ @ gnasher729 GPL ระบุว่าคุณได้รับอนุญาตให้ศึกษารหัสโดยเฉพาะ หลักฐานคือผู้เขียนปล่อยมันเพื่อสอนคุณ (เหนือสิ่งอื่นใด) ด้วยเหตุนี้ฉันไม่เคยใช้อาร์กิวเมนต์ห้องคลีนรูมกับรหัส GPL เราไม่สามารถเผยแพร่ตำราอาหารและฟ้องร้องผู้ที่สร้างสูตรของตัวเองเว้นแต่แน่นอนว่ารหัสนั้นได้รับการจดสิทธิบัตรแล้วการคุ้มครองสิทธิบัตรครอบคลุมเทคนิคและสิ่งประดิษฐ์ แต่ไม่ใช่การดำเนินการ (AFAIK) ลิขสิทธิ์และสิทธิบัตรเป็นปัญหาที่แตกต่างกัน
codenheim

1
ฉันจะบอกว่ามีความเป็นไปได้ต่ำมากที่จะจบลงในห้องพิจารณาคดีถ้าคุณละเมิด GPL เพราะมีข้อยกเว้นเพียงหนึ่งหรือสองครั้งทุกครั้งที่มีปัญหาข้อกฎหมายคนที่ละเมิด GPL เข้าใจ GPL ที่พวกเขาบอก หยุดหรือทำข้อตกลง นี่เป็นประสบการณ์ของฉันทุกครั้งที่ฉันต้องเขียนจดหมายเกี่ยวกับการละเมิด และยังมีนักกฎหมายมืออาชีพที่จะปกป้อง GPL สำหรับนักพัฒนาดั้งเดิม คำแนะนำที่ดีที่สุดคือการพูดคุยกับรหัสต้นฉบับ ฉันขอให้คนใช้รหัสคู่ / relicense และพวกเขามักจะพูดว่าโอเค
Elin

7

การสังเกต: GPL นั้นเกี่ยวข้องเฉพาะเมื่อคุณเผยแพร่งานของคุณ คุณปล่อยออกมาหรือยัง

การสังเกต: นี่ไม่ใช่เว็บไซต์ที่ปรึกษาด้านกฎหมายดังนั้นให้โยน FUD ทางกฎหมายทั้งหมดออกไปและใช้สามัญสำนึก

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

นี่เป็นเรื่องยาก (เป็นไปไม่ได้?) ที่จะประสบความสำเร็จแม้ว่าเมื่อคุณมีรหัสฐานข้อมูลที่คุณมีอยู่คุณจะแก้ไขแทนที่จะเริ่มต้นจากศูนย์


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

1
@DavidRicherby: หากเป็นคำถามทางกฎหมายคำตอบนั้นเฉพาะเจาะจงกับเขตอำนาจศาลและควรปิด q เป็นภาษาท้องถิ่น :-)
Martin Ba

2
@MartinBa - กฎหมายระหว่างประเทศค่อนข้างมีข้อตกลงเกี่ยวกับลิขสิทธิ์ มีรูปแบบในท้องถิ่นอยู่ แต่ฉันไม่คิดว่าคำถาม / คำตอบนั้นจำเป็นต้องมีการแปลเป็นภาษาท้องถิ่นมากเกินไป
cloudfeet

5

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

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

คำเตือน:

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

(ที่มา: เซสชัน "ลิขสิทธิ์และโอเพ่นซอร์ส" ที่ บริษัท ของฉันจัดขึ้นเมื่อไม่กี่สัปดาห์ที่ผ่านมา)


คุณอาจต้องการแทนที่ "เอกสาร" ด้วย "สัญญา" หรือ "ข้อตกลง" มันไม่เพียงพอที่จะเขียนบนกระดาษ "DougM เป็นเจ้าของรหัส cloudfeet" เราต้องมีการแลกเปลี่ยนทางกฎหมายที่จะผ่านการพิจารณาของศาล
DougM

ขึ้นอยู่กับเขตอำนาจ - อย่างน้อยตอนที่ฉันอยู่แม้สัญญาทางวาจาจะผูกพัน แต่ก็ยากที่จะพิสูจน์ โพสต์ด้วยการเขียนด้วยลายมือที่เหมาะสมบนจะถือได้สวยดีในทางทฤษฎี : p
cloudfeet

อย่างไรก็ตามจุดของคุณเป็นสิ่งที่ดีและสัญญา / ข้อตกลงเป็นคำอธิบายที่ดีกว่า - ขอบคุณ :)
cloudfeet

3

ใช่.

คำตอบอื่น ๆ ใช้ข้อความมากเกินไปอธิบายความคิดเห็นว่าคุณควรหรือไม่ แต่ความคิดเห็นเหล่านั้นไม่เกี่ยวข้องกับคำถาม

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

มีข้อมูลมากมายสนับสนุนทฤษฎีที่ว่าลิขสิทธิ์ในโปรแกรมซอฟต์แวร์คือผลรวมของลิขสิทธิ์บางส่วน ตัวอย่างเช่น MPL ยอมรับโมเดลนี้อย่างชัดเจน คดี Google / Oracle ได้รับลิขสิทธิ์ในระดับบรรทัด


3
งานที่สร้างขึ้น "โดยการดู" ที่งานอื่นเป็นงานที่ลอกเลียนแบบมาและจะถูกย้อมด้วยลิขสิทธิ์แบบเดียวกับงานที่คุณ "ดู"
DougM

1
@DougM: ขออภัย แต่นั่นเป็นข้อสันนิษฐานที่ค่อนข้างอนุรักษ์นิยมซึ่งฉันไม่เคยเห็นใช้ในศาลมาก่อน อย่าลืมว่าถ้าทฤษฎีนั้นมีความเกี่ยวข้องทางกฎหมายมันก็จะนำไปใช้กับหนังสือเช่นกัน - รหัสคอมพิวเตอร์ไม่มีกฎหมายพิเศษเพื่อพิจารณาว่าอะไรคืองานลอกเลียนแบบ ไม่มีใครจะโต้แย้งว่าหนังสือของคุณเป็นอนุพันธ์ของเช็คสเปียร์เพียงเพราะคุณอ่านบทละครเรื่องใดเรื่องหนึ่งของเขาที่โรงเรียน ดังนั้นแบบอย่างที่กำหนดว่าแถบของ "งานดัดแปลง" นั้นสูงกว่า "อ่านงานที่คล้ายกัน" มาก
MSalters

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

1
บางคนอาจสงสัยว่า Linux จะไปได้ไกลแค่ไหนหากเปลี่ยนรหัส Unix ด้วยรหัสเดิมไม่เพียงพอ
user2338816

3
@ user2338816 Linux ไม่ได้เริ่มต้นด้วยรหัส Unix มันเริ่มต้นด้วย MINIX และในทางเทคนิคแล้วมันเป็นไปได้ที่ MINIX อาจมีปัญหากับ Linux สิ่งนี้จะขึ้นอยู่กับวิธีที่ Linux เขียนรหัสและสิทธิ์ใช้งานซึ่งใช้รหัส MINIX ร่วมกับมหาวิทยาลัย อย่างไรก็ตามมันก็ลงมาเกี่ยวกับการเมืองและเงินด้วยหรือไม่ MINIX ต้องการที่จะไล่ตามลีนุกซ์หรือไม่และลีนุกซ์ก็มีเงิน (ผ่าน บริษัท เช่น Red Hat) เพื่อต่อสู้กับพวกเขา
CrazyCasta

1

คำตอบสั้น ๆ คือคุณไม่รู้

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

ไม่มีคำตอบ จะไม่มีคำตอบ นั่นคือคำตอบ

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