ฉันจะสร้างลิขสิทธิ์ซอฟต์แวร์ของตัวเองได้อย่างไร [ปิด]


17

ฉันเห็นใบอนุญาตจำนวนมากสำหรับซอฟต์แวร์ประเภทใด ๆ เช่น GNU GPL, ใบอนุญาต BSD, ใบอนุญาต MIT และ LGPL กระบวนการสร้างใบอนุญาตซอฟต์แวร์ใหม่เช่น "สัญญาอนุญาตทั่วไปของ John Doe" คืออะไร


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

4
แนะนำเท่านั้นที่ฉันสามารถให้ได้คืออย่าใช้คำแนะนำด้านกฎหมายจากโปรแกรมเมอร์ .....
mattnz

2
นี่เป็นคำถามที่ยอดเยี่ยม อัปยศมันถือว่าเป็นหัวข้อ
Jeroen

1
@MartinYork ภาษากฎหมายไม่ใช่ภาษาพิเศษบางประเภท ในภาษาอังกฤษพวกเขาใช้ภาษาอังกฤษเพื่อทำสัญญา มีคำที่ไม่ใช้กันทั่วไปเมื่อคุณไปสตาร์บัคที่ปรากฏในสัญญาหรือไม่? แน่นอน แต่นั่นเป็นเรื่องจริงสำหรับ "ศัพท์แสง" ของปั๊มน้ำมัน ยังคุณสามารถไปที่ starbucks และขอให้พวกเขาเติมอ่างเก็บน้ำขนาดใหญ่แบบพกพาที่มีเชื้อเพลิงพลังงานสีดำเรียบง่ายสูงถึง 3.5 $ (สมมติว่าเป็นราคาสำหรับกาแฟขนาดใหญ่) และคุณจะเข้าใจได้อย่างสมบูรณ์แบบโดยไม่ต้องใช้ "ศัพท์แสงกาแฟ"
Andrei

1
@ Andrei ฉันจะไม่เห็นด้วย ภาษากฎหมายเป็นส่วนหนึ่งของภาษาอังกฤษ ภาษาอังกฤษอาจไม่แน่ชัด ดังนั้นภาษากฎหมายในสัญญาจึงมักใช้คำที่มีความหมายเฉพาะเพื่อให้แน่ใจว่าไม่มีความคลุมเครือ ดังนั้นจึงเป็นความคิดที่ดีที่จะได้ผู้เชี่ยวชาญในการเขียนในรูปแบบที่ถูกต้อง
Martin York

คำตอบ:


29
  1. เปิดโปรแกรมแก้ไข
  2. เขียนเงื่อนไขการอนุญาต
  3. บันทึกไฟล์.
  4. รวมอยู่ในโครงการ

โดยทั่วไปแล้วนั่นคือทั้งหมดที่มีให้มัน อย่างจริงจัง.

ไม่เชื่อฉัน ตรวจสอบลิขสิทธิ์ของ Phil Sturgeon Don't Be A Dick (เช่นเดียวกับ WTFPL ที่เป็นแรงบันดาลใจ)

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

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

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

EllisLab (บริษัท ที่อยู่เบื้องหลัง CodeIgniter) มีคำอธิบายที่ดีเกี่ยวกับการอนุญาตให้ใช้สิทธิ์ซอฟต์แวร์ (และทั้งสัปดาห์ของบล็อกเกี่ยวกับเรื่องจริง) ทั้งจากมุมมองทางกฎหมายและจากมุมมองของนักพัฒนา FLOSS และหลักการเกียรติที่ฉันได้กล่าวไว้ข้างต้น

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


1
+1 สำหรับการตอบคำถามจริงจากนั้นนำเสนอแนวทางการปฏิบัติที่ถูกต้อง
David Peterman

1
ฉันชอบใบอนุญาต "อย่าเป็นดิ๊ก" มันดีกว่า WTFPL
Robert Harvey

อาจเป็นที่น่าสังเกตว่า“ อย่าเป็นดิ๊กใบอนุญาต”คือไม่ฟรี / libre / 'โอเพ่นซอร์ส' อย่างใดอย่างหนึ่ง
Dmitry Alexandrov

16

ตอบคำถามต่อไปนี้สำหรับผู้ใช้ซอฟต์แวร์ของคุณ:

  1. ผลิตภัณฑ์โอเพนซอร์สของคุณคือฉันจะได้รับสำเนาซอร์สโค้ดหรือไม่?

    • ฉันจะใช้ซอร์สโค้ดของคุณได้อย่างไร ฉันสามารถคัดลอกมันลงในแอปพลิเคชันของฉันเองได้อย่างอิสระหรือฉันต้องลิงค์ไปยังไบนารีของคุณ หากฉันใช้รหัสของคุณในแอปพลิเคชันของฉันเองมีการ จำกัด จำนวนรหัสที่ฉันสามารถใช้ได้หรือไม่? ฉันต้องรวมใบอนุญาตหรือส่วนหัวของแหล่งที่มาที่ด้านบนของไฟล์ต้นฉบับใด ๆ ที่ฉันแจกจ่ายซ้ำที่มีรหัสของคุณหรือในกล่องความช่วยเหลือ / เกี่ยวกับของไบนารีของฉัน?
  2. ฉันจะทำอย่างไรกับผลิตภัณฑ์ของคุณ? ฉันสามารถใช้คอมพิวเตอร์เครื่องเดียวได้ไหม ฉันสามารถใช้กับคอมพิวเตอร์มากกว่าหนึ่งเครื่องได้หรือไม่ ฉันสามารถแจกจ่ายต่อหรือขายต่อได้หรือไม่

  3. ถ้าฉันใช้ผลิตภัณฑ์ของคุณเป็นส่วนหนึ่งของแอปพลิเคชันอื่นที่ฉันเขียนฉันต้องเป็นโอเพ่นซอร์สหรือไม่

  4. คุณรับประกันสินค้าอย่างไร? คุณรับผิดชอบทางกฎหมายหรือไม่ถ้าฉันมีปัญหา?

  5. ข้อกำหนดการแจกจ่ายซ้ำของคุณคืออะไร ฉันสามารถแจกจ่ายผลิตภัณฑ์ของคุณเป็นส่วนหนึ่งของผลิตภัณฑ์ที่ฉันเขียนได้หรือไม่ หากคุณระบุแหล่งที่มาฉันสามารถแก้ไขไลบรารีของคุณและแจกจ่ายการแก้ไขอีกครั้งและหากเป็นเช่นนั้นฉันต้องปฏิบัติตามเงื่อนไขใดบ้าง

ศึกษาใบอนุญาตอื่น ๆ และดูว่าพวกเขาตอบคำถามเหล่านี้อย่างไร


6

จริงๆแล้วมันคล้ายกับที่นักพัฒนาทำ:

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

ตัวอย่างเช่น "สิทธิ์ใช้งานสำหรับผู้ใช้หนึ่งรายเท่านั้น" มักจะถูกแปลเป็นสิ่งที่คล้ายกับสิ่งนี้: "FooCorp Inc. ให้สิทธิ์ใช้งานแบบเดี่ยวไม่ผูกขาดไม่สามารถถ่ายโอนได้เพื่อติดตั้งและใช้ FooSoftware for ... "

คุณอาจคิดว่านี้ไม่ได้นำไปใช้กับใบอนุญาต F / OSS แต่มันมากหรือน้อยเดียวกันยกเว้นความต้องการที่แตกต่างกัน: คุณสามารถหารุ่นที่ง่ายที่สุดของความต้องการเหล่านี้ที่http://opensource.org/docs/OSD

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

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


ดังนั้นโดยทั่วไปแล้วมันเป็นงานที่มุ่งเน้นนักกฎหมาย
Rrjrjtlokrthjji

1
@Nick แน่นอนโปรแกรมเมอร์ไม่ควรเหยียบที่นั่น
K.Steff

4

เพื่อตอบคำถามของคุณทุกคนสามารถเขียนใบอนุญาต - และมันจะแสดง!

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

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

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

มันยากมากที่จะเขียนใบอนุญาตที่ดี แม้แต่ซอฟต์แวร์ลิขสิทธิ์ที่ดีที่สุดก็ยังมีช่องโหว่ มีใบอนุญาต Apache และ GPL เวอร์ชันใหม่เป็นระยะ ๆ โปรดดูว่าคุณสามารถค้นหาใบอนุญาตที่ตรงกับความต้องการของคุณ 90% และใช้งานได้หรือไม่ ยกเว้น GPL เชื่อมโยงหรือ "Classpath ข้อยกเว้น" เป็นตัวอย่างที่ดีในเรื่องนี้ ฉันกังวลเล็กน้อยเกี่ยวกับคำแถลงที่คนไฮเบอร์เนตมีในไซต์ของพวกเขาเมื่อไม่กี่ปีที่ผ่านมาโดยทั่วไปตีความ GPLv2 เพื่อให้ฟังดูเหมือนว่ามันรวม Classpath Exception นั่นคือข้อยกเว้น classpath หรือไม่ เราจะไม่รู้ถ้าไม่มีใครฟ้องพวกเขา

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

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

ถ้าเป็นไปได้ฉันจะสนับสนุนให้คุณอุทิศพลังงานและความสามารถของคุณเพื่อปรับปรุงใบอนุญาตที่มีอยู่แทนที่จะเขียนใบอนุญาตใหม่

ขออภัยที่เป็นเช่นความสุข ถ้าฉันรู้สึกขมมันเป็นเพราะฉันอ่านและพยายามเคารพใบอนุญาตของผู้คนก่อนที่ฉันจะใช้ผลงานของพวกเขา


3

เขียนข้อกำหนดและเผยแพร่ด้วยซอฟต์แวร์ของคุณ แค่นั้นแหละ.

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

นี่เป็นการเพิ่มขั้นตอนเบื้องต้น - ตรวจสอบว่าคุณต้องสร้างใบอนุญาตจริงหรือไม่

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

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