ฉันพบว่ามันซ้ำกันโดยไม่จำเป็นที่จะมีในไฟล์โค้ดแต่ละไฟล์ แต่ฉันเห็นมันในโครงการโอเพ่นซอร์สส่วนใหญ่ ฉันควรทำเช่นนั้นหรือรวมเพียงใบอนุญาตเดียวนอกรหัส
ฉันพบว่ามันซ้ำกันโดยไม่จำเป็นที่จะมีในไฟล์โค้ดแต่ละไฟล์ แต่ฉันเห็นมันในโครงการโอเพ่นซอร์สส่วนใหญ่ ฉันควรทำเช่นนั้นหรือรวมเพียงใบอนุญาตเดียวนอกรหัส
คำตอบ:
คนเดียวนอกรหัสโปรด! ฉันไม่รู้เกี่ยวกับคนอื่น ๆ แต่ฉันเกลียดการเห็นสิ่งเดียวกันบนทุกไฟล์
ฉันคิดว่าฉันได้อ่านมันสองสามครั้งเพียงแค่ page_down-ing ผ่านมัน
evidence for the legal situation
ของฉันเป็นคำถามที่ยังคงเปิดให้บริการตามระยะเวลาที่เราไม่มี Perhaps a lawyer can add a link to a court decision
.
EULA เป็นคำที่ไม่ถูกต้องในที่นี้เนื่องจากคนที่ดูซอร์สโค้ดมักไม่ใช่ผู้ใช้ปลายทาง
ตามกฎหมายก็ไม่มีความแตกต่างเช่นกัน ลิขสิทธิ์ไม่จำเป็นต้องประกาศอย่างชัดเจน
โดยทั่วไปสิ่งที่คุณประสบความสำเร็จเป็นความเสี่ยงที่ต่ำกว่าของคนที่ตั้งใจละเมิดเงื่อนไขใบอนุญาตของคุณ คุณจะต้องตัดสินใจว่าสิ่งนั้นสำคัญกับคุณมากแค่ไหน
ฉันจะบอกว่าการประนีประนอมที่ดีที่สุดคือการใส่ส่วนหัวที่สั้นมากซึ่งมีลิงก์ (URL ที่สมบูรณ์และญาติภายในโครงการ) ไปยังข้อความลิขสิทธิ์แบบเต็มในไฟล์ซอร์สโค้ดแต่ละไฟล์ ด้วยวิธีนี้ใครก็ตามที่สนใจเกี่ยวกับใบอนุญาตจะรู้ว่าจะหาได้ที่ไหน (โดยหลักการแล้วผู้ที่ยินดีจ่ายค่าธรรมเนียมใบอนุญาตจำนวนมากคุณต้องการให้บุคคลเหล่านั้นติดต่อคุณได้อย่างแน่นอน!)
ไม่คุณไม่ต้องใส่ใบอนุญาตในไฟล์ซอร์สโค้ดแต่ละไฟล์
หากคุณมองใกล้ ๆ แอปพลิเคชัน FOSS ส่วนใหญ่ก็ไม่ทำเช่นนั้น พวกเขาใส่คำชี้แจงลิขสิทธิ์ไว้ที่ด้านบนของแต่ละไฟล์และมีประโยคสั้น ๆ ที่บอกคุณว่าไฟล์นั้นอยู่ภายใต้ใบอนุญาตใดและคุณจะพบข้อความทั้งหมดของใบอนุญาตได้ที่ไหน พวกเขามักจะชี้ให้คุณเห็นไฟล์ COPYING หรือ LICENSE ที่มีข้อความเต็มของใบอนุญาตและ / หรือไปยังเว็บไซต์ที่มีข้อความเต็ม (ในกรณีที่ไม่มีไฟล์ COPYING อีกต่อไป)
เช่นเดียวกับที่ Michael Borgwardt กล่าวในคำตอบของเขาคุณไม่จำเป็นต้องทำเช่นนี้ตามกฎหมาย แต่ขอแนะนำสำหรับซอร์สโค้ดที่คุณตั้งใจจะเผยแพร่เนื่องจากผู้คนสามารถดูได้ทันทีว่าใครมีลิขสิทธิ์และใบอนุญาตคืออะไร
อาจขึ้นอยู่กับใบอนุญาต GPL แตกต่างระหว่างpreamble
license
และ ชัดเจนว่าคำนำหน้า (น่ารำคาญ) ต้องเป็นส่วนหนึ่งของรหัส :
ฉันสามารถละเว้นคำนำหน้าของ GPL หรือคำแนะนำสำหรับวิธีใช้ในโปรแกรมของคุณเองเพื่อประหยัดเนื้อที่ได้หรือไม่?
คำนำและคำแนะนำเป็นส่วนสำคัญของ GNU GPL และไม่สามารถละเว้นได้ ในความเป็นจริง GPL มีลิขสิทธิ์และใบอนุญาตอนุญาตให้คัดลอก GPL ทั้งหมดแบบคำต่อคำเท่านั้น (คุณสามารถใช้เงื่อนไขทางกฎหมายเพื่อสร้างใบอนุญาตอื่นได้ แต่จะไม่ใช่ GNU GPL) (1)
ที่มา: 1) http://www.gnu.org/licenses/gpl-faq.html#GPLOmitPreamble
โปรดดูhttp://softwarefreedom.org/resources/2012/ManagingCopyrightInformation.html
ebook ฟรีจาก ifrOSSอธิบายและความคิดเห็นจีพี 2 ในภาษาเยอรมัน มีอีกอันสำหรับ GPL 3
สำหรับคำตอบที่เป็นที่ยอมรับคุณควรขอคำแนะนำทางกฎหมายซึ่งไม่มีใน sx ถ้าคุณไม่สามารถหาทนายความสำหรับ (ที่มาเปิด) โครงการของคุณมีลักษณะที่เป็นเครือข่ายทางกฎหมาย FSFE
[...] attach the following notices to the program.
- ประกาศต่อไปนี้เป็นเพียงส่วนเล็ก ๆ ของใบอนุญาตฉบับสมบูรณ์ safest to attach them to the start of each source file
- ปลอดภัยที่สุดแต่ไม่จำเป็น each file should have at least the "copyright" line and a pointer to where the full notice is found.
- ข้อกำหนดเพียงอย่างเดียวคือบรรทัดลิขสิทธิ์ที่มีตัวชี้ไปที่ส่วนที่เหลือ คุณสามารถใส่ใบอนุญาตฉบับสมบูรณ์ในไฟล์แยกต่างหากไฟล์เดียวได้
ฉันคิดว่าเหตุผลที่อยู่เบื้องหลังการใส่ลงในแต่ละไฟล์นั้นถูกต้องตามกฎหมาย หากข้อตกลงอยู่ในแต่ละไฟล์จะไม่มีโอกาสที่จะมีคนสะดุดโค้ดส่วนหนึ่งโดยไม่ได้รับใบอนุญาต
มันอาจจะไม่ใช่เรื่องดี แต่หนุ่มใหญ่ทุกคนก็ใช้มันดังนั้นถ้ามันเป็นแค่ความเจ็บปวดทางสายตาฉันจะหาเหตุผลที่ดีกว่าที่จะไม่ทำแบบเดียวกัน
หากคุณใช้ GPL นี่เป็นปัญหามากกว่า แต่ถ้าคุณใช้ใบอนุญาตโดเมนสาธารณะเช่น BSD หรือ MIT ฉันไม่คิดว่าคุณจะสนใจสิ่งที่ผู้คนทำกับโค้ดจริงๆ ฉันคิดว่ามันขึ้นอยู่กับว่าใบอนุญาตของคุณเข้มงวดแค่ไหน
เอียน
สมมติว่าคุณกำลังพูดถึงการออกใบอนุญาตไม่ใช่ EULA คุณสามารถวางใบอนุญาตไว้ภายนอกได้ สิ่งนี้ทำได้เกือบตลอดเวลาด้วยใบอนุญาตที่ยาวจริงๆเช่น GPL การใส่ใบอนุญาต GPL ทั้งหมดในทุกไฟล์จะเป็นเรื่องโง่ โดยปกติคุณจะมีประกาศบางประเภทที่บอกว่าคุณสามารถหาใบอนุญาตจริงได้ที่ไหน นี่เป็นสิ่งที่ถูกกฎหมายอย่างสมบูรณ์ อย่างไรก็ตามด้วยใบอนุญาตที่สั้นจริงๆเช่น BSD / Apache / MIT / อะไรก็ตามการรวมสิทธิ์การใช้งานในทุกไฟล์นั้นง่ายกว่าเนื่องจากการแจ้งว่าจะหาใบอนุญาตได้ที่ไหนจะยาวพอ ๆ กับใบอนุญาต
ขึ้นอยู่กับสิ่งที่ใบอนุญาตกำหนด ตัวอย่างเช่น GPL จะแนะนำให้คุณแจ้งให้ทราบสั้น ๆ ในไฟล์ต้นฉบับทุกไฟล์รวมทั้งใบอนุญาตทั้งหมดที่ใดที่หนึ่งในการแจกจ่ายแหล่งที่มาของคุณและทำให้การแจกจ่ายแหล่งที่มาของคุณพร้อมใช้งานสำหรับทุกคนที่ได้รับสำเนาของการแจกแจงไบนารี
หากคุณไม่เห็นด้วยกับสิ่งนี้และเป็นรหัสของคุณคุณมีอิสระที่จะเลือกใบอนุญาตที่เหมาะสมกว่าหรือสร้างของคุณเอง
หากรหัสของคุณกำลังจะถูกคอมไพล์ดังนั้นคุณเพียงแค่กระจายไบนารีมันก็ไม่สำคัญ เนื่องจากเมื่อคุณสร้างไบนารีความคิดเห็นจะถูกลบออกก่อนที่กระบวนการคอมไพล์จะเกิดขึ้น จะมีความสำคัญก็ต่อเมื่อคุณจะแจกจ่ายซอร์สโค้ดจริงไม่ว่าจะเป็นโอเพนซอร์สหรือซอร์สแบบปิด สิ่งนี้มีความสำคัญหากคุณจะแจกจ่ายแอปพลิเคชันในภาษาสคริปต์ที่ไม่ได้รวบรวม
คุณไม่จำเป็นต้องใช้มันสำหรับใบอนุญาตไฟล์ภายนอกไฟล์เดียวจะทำได้ตราบเท่าที่ชัดเจนว่าครอบคลุมไฟล์ใด
อย่างไรก็ตามสำหรับลิขสิทธิ์คุณควรมีประกาศเกี่ยวกับลิขสิทธิ์ในทุกส่วนของข้อความ
สิ่งที่ฉันทำคือใส่ความคิดเห็นสองบรรทัดที่ด้านบนของไฟล์โดยระบุชื่อ บริษัท ของฉันวันที่แก้ไขล่าสุดและชื่อใบอนุญาตที่ไฟล์ต้นฉบับมีจากนั้นที่ด้านล่างสุดของไฟล์จะมีเวอร์ชันสั้น ๆ ของ ใบอนุญาต.
แน่นอนว่าสิทธิ์การใช้งานแบบเต็ม (ทั้งหมดในกรณีที่มีหลายไลเซนส์) จะอยู่ในไฟล์ต้นฉบับและไดเร็กทอรีรีลีสเสมอ