มันสมเหตุสมผลหรือไม่ที่จะทำการทดสอบหน่วยใบอนุญาต


12

ฉันสงสัยว่ามีประโยชน์ / ความเสี่ยงของ (ไม่) ใส่ใบอนุญาตในรหัสทดสอบซึ่งส่วนใหญ่ประกอบด้วยการทดสอบหน่วย คุณคิดอย่างไร?

ฉันสนใจเป็นพิเศษในการออกใบอนุญาตภายใต้ (L) GPL, Apache, MIT และ BSD

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


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

คำตอบ:


10

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

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

ด้วยการแนบใบอนุญาตกับรหัสทดสอบของคุณคุณให้สิทธิ์แก่ผู้ใช้ในการใช้แจกจ่ายและ / หรือแก้ไขรหัสนั้นตามเงื่อนไขของใบอนุญาต

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


15

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

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


9

ทำไมคุณถึงแยกรหัสและทดสอบ

ฉันชอบชุดของรหัสและทดสอบ และชุดนี้ควรได้รับใบอนุญาตเดียวกัน

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


6

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

  • ถ้ามีคนใช้รหัสของคุณเขาก็จะทำการทดสอบ

  • หากมีคนต้องการแก้ไขรหัสเขาอาจจะต้องแก้ไขการทดสอบบางอย่างเช่นกัน


2

อย่างไรก็ตาม IANAL:

  1. หากคุณกำลังให้สิทธิ์ใช้งานรหัสของคุณภายใต้ GPL การทดสอบหน่วยของคุณก็เป็น GPL เช่นกันเนื่องจากไม่มีประโยชน์อะไรเลยหากไม่มีรหัสหลัก
  2. หากคุณใช้ Apache / BSD การจัดเตรียม 'ใช้ความเสี่ยงของคุณเอง' ฉันจะตบไฟล์ลิขสิทธิ์ของทั้งโครงการและให้ผู้ใช้ดูว่าเป็นรหัสหรือรหัสทดสอบหรือไม่
  3. หากคุณใช้ใบอนุญาตเชิงพาณิชย์และ จำกัด การเข้าถึงรหัสทำไมคุณจะเผยแพร่การทดสอบของคุณตั้งแต่แรก หากคุณต้องการให้แน่ใจว่าใส่ 'โดยการอ่านรหัสทดสอบคุณได้ตกลงที่จะดำเนินการต่อใบอนุญาตตาของคุณและคุณดีที่จะไป

1

GCCคอมไพเลอร์ (ส่วนใหญ่ GPLv3 รับใบอนุญาต) มีชุดทดสอบที่กว้างขวางมากซึ่งมีการกระจายกับรหัสที่มา (บางทีไฟล์ทดสอบบางไฟล์อยู่ในโดเมนสาธารณะฉันไม่ทราบสถานะทางกฎหมายของพวกเขาจริงๆ)

ทำไมคุณต้องการกระจายชุดทดสอบแยกต่างหากจากผลิตภัณฑ์ของคุณ


0

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


0

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

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