स्रोत फ़ाइलों में कॉपीराइट नोटिस / अस्वीकरण


60

कॉपीराइट नोटिस, विभिन्न कानूनी अस्वीकरण और कभी-कभी एक ओपन-सोर्स प्रोजेक्ट के प्रत्येक स्रोत फ़ाइल में पूर्ण लाइसेंस समझौतों को रखना एक आम बात है। क्या यह वास्तव में एक (1) ओपन-सोर्स प्रोजेक्ट और (2) क्लोज-सोर्स प्रोजेक्ट के लिए आवश्यक है? क्या आप इन नोटिस को स्रोत फ़ाइलों में डालकर प्राप्त करने या रोकने की कोशिश कर रहे हैं?

मैं समझता हूं कि यह एक कानूनी सवाल है और मुझे संदेह है कि हम प्रोग्रामर्स के यहाँ पूरी तरह से सक्षम उत्तर प्राप्त कर सकते हैं। (यह प्रोग्राम के लिए है, है ना?) यह सुनने के लिए भी क्या दिलचस्प होगा, जब आप अपने स्रोत फ़ाइलों में कानूनी सामान डालते हैं। , क्या यह इसलिए है क्योंकि "हर कोई इसे करता है" या आपको कानूनी सलाह मिली? क्या तर्क था?

जवाबों:


41

क्या यह वास्तव में आवश्यक है

नहीं, यह कानूनी रूप से आवश्यक नहीं है। (मैं वकील नहीं हूं, लेकिन मैंने इसे एक कहा है।)


यदि आपको कोई ऐसी परियोजना मिली है जहाँ अलग-अलग फाइलें संदर्भ से बाहर हो सकती हैं, तो यह समझदार हो सकती है - लेकिन इसके लिए केवल कुछ पंक्तियों की आवश्यकता होती है, जैसे कुछ कहना:

यह फ़ाइल <प्रोजेक्ट> का हिस्सा है, जिसे <लाइसेंस> के तहत जारी किया गया है।
पूर्ण लाइसेंस विवरण के लिए फ़ाइल देखें <फ़ाइल नाम> या <url> पर जाएं।


किसी और चीज के लिए, आप प्रोजेक्ट रूट में एक LICENSE टेक्स्ट फाइल, और README फाइल में कोई भी प्रासंगिक विवरण / क्रेडिट / आदि डाल सकते हैं - यह अभी भी कॉपीराइट (स्वचालित रूप से) है, इसलिए यह केवल स्पष्ट लाइसेंस-वार होने का सवाल है। readme फ़ाइल।


1
पूरे लाइसेंस बायलरप्लेट नहीं लगाने के लिए +1। मैं सिर्फ एक लाइन का उपयोग करता हूं:Copyright YYYY First Last. Subject to the XYZ license.
mk12

1
बहुत सारी कंपनियाँ एक कॉपीराइट लाइन रखना पसंद करती हैं क्योंकि वे "लाइसेंस प्रबंधन" करना चाहती हैं। दूसरे शब्दों में: कुछ GPL'ish की जाँच करें जो इंटरनेट से कॉपी किया गया था। मूल रूप से वे कॉपीराइट कोड के लिए स्रोत कोड को स्कैन करते हैं - जो वास्तव में सिर्फ पहली पंक्ति है जिसमें "कॉपीराइट" / "(c)" शामिल है। तो उस लाइन में कॉपीराइट धारक (लेखक या कंपनी) और एक संकेत होना चाहिए कि क्या यह मुफ्त सॉफ्टवेयर है या नहीं। इसलिए @ mk12 इस बारे में सही है कि न्यूनतम क्या दिखना चाहिए। क्योंकि सत्य है -> कोई भी दूसरी या तीसरी पंक्ति कभी भी स्रोत कोड के अलावा और कहीं नहीं जानी जाएगी।
गुइडो यू। ड्रेहेम

12
मैं "IANAL" Google करना चाहता हूं, लेकिन मैं ऐसा करने से थोड़ा डरता हूं।
पीटर डी

1
@PieterDeBie "मैं एक वकील नहीं हूँ" के लिए संक्षिप्त है
एडम लिंडबर्ग

यह अच्छा होगा यदि <लाइसेंस> के लिए आप संस्करण संख्या शामिल करते हैं। LGPL 2.1 ओपन सोर्स डेवलपर के लिए एक अच्छा सुरक्षात्मक कवच था। जीपीएल 3.0 एक वायरस है जो सभी का उपभोग करने का प्रयास करता है।
user922020

21

आप अपने कॉपीराइट नोटिस को स्वीकार कर सकते हैं, जिसमें LICENSE फ़ाइल का उल्लेख होता है, हालांकि इसकी कोई गारंटी नहीं है कि एक बार जारी होने के बाद, आपका कोड परमाणु ही रहेगा। वास्तव में, यह काफी संभावना है कि बिट्स और इसके टुकड़े कम से कम कई अन्य परियोजनाओं में रीमिक्स किए जाएंगे।

यही कारण है कि प्रत्येक स्रोत फ़ाइल में कम से कम निम्नलिखित होना महत्वपूर्ण है:

/* Copyright (C) 1883 Thomas Edison - All Rights Reserved
 * You may use, distribute and modify this code under the
 * terms of the XYZ license, which unfortunately won't be
 * written for another century.
 *
 * You should have received a copy of the XYZ license with
 * this file. If not, please write to: , or visit :
 */

आप ऐसा करके दो चीजों को पूरा करते हैं:

  • आपके कॉपीराइट का इस बात से कोई लेना-देना नहीं है कि आपका कोड भविष्य में कैसे विघटित और बिखरा हुआ है।
  • आप इसे उपयोग करने, वितरित करने और संशोधित करने की शर्तों को काफी स्पष्ट करते हैं, भले ही किसी ने आपके द्वारा लिखे गए पुस्तकालय के केवल एक छोटे से हिस्से को प्राप्त किया हो।

बहुत सारे लोग कॉपीराइट के तहत अपना ई-मेल पता भी शामिल करते हैं, जो भविष्य में पैच प्राप्त करने के लिए सहायक है। मुझे उस कोड के लिए पिछले महीने एक पैच मिला था जो मैंने पांच साल पहले लिखा था और लंबे समय से भूल गया था। बेशक, इसका मतलब है कि एक ई-मेल पता बनाए रखना और थोड़ा सा स्पैम करना।

यदि कभी आपको अपने लाइसेंस को लागू करने की आवश्यकता होती है , तो यह महत्वपूर्ण है कि दूसरा पक्ष यह नहीं कह सकता है कि शर्तें अस्पष्ट थीं या लापता थीं, सभी अलग-अलग मजाक कर रहे थे।

इसके अलावा, यह देखना मजेदार है कि आपके कोड के टुकड़े और टुकड़े समय के साथ अन्य बिट्स और कोड के टुकड़ों में अपना रास्ता कैसे ढूंढते हैं। अधिकांश लोग निष्पक्ष खेलते हैं और कॉपीराइट और लाइसेंस शर्तों का सम्मान करते हैं।


2
"XYZ लाइसेंस की शर्तें, जो दुर्भाग्य से एक और सदी के लिए नहीं लिखी जाएंगी।" यह 130 साल और गिनती है। : पी
जो जे।

बहुत सारी कंपनियाँ एक कॉपीराइट लाइन रखना पसंद करती हैं क्योंकि वे "लाइसेंस प्रबंधन" करना चाहती हैं। दूसरे शब्दों में: कुछ GPL'ish की जाँच करें जो इंटरनेट से कॉपी किया गया था। मूल रूप से वे कॉपीराइट कोड के लिए स्रोत कोड को स्कैन करते हैं - जो वास्तव में सिर्फ पहली पंक्ति है जिसमें "कॉपीराइट" / "(c)" शामिल है। उदाहरण कहता है कि यह मुफ्त सॉफ्टवेयर नहीं है क्योंकि यह "ऑल राइट्स रिजर्व्ड" है - जिसका अर्थ है कि तीसरे स्थान पर कुछ लाइसेंस शीट होनी चाहिए, एक LICENSE.TXT फ़ाइल या वास्तविक पेपर हो सकता है। उस निहितार्थ के कारण आपको बॉयलरप्लेट लाइसेंस पाठ की आवश्यकता नहीं है
गुइडो यू। ड्रेहेम

4

बस ओपन सोर्स नोट करना चाहते थे! = कोई कॉपीराइट नहीं।

ओपन सोर्स कॉपीराइट का दावा करने वाले किसी व्यक्ति पर निर्भर करता है और फिर उस कोड के अन्य अधिकार देने के लिए एक विशिष्ट कानूनी दस्तावेज़ (जैसे GPL) को अपनाता है।

इसलिए आपने जो भी तय किया है वह बंद स्रोत कोड के लिए उपयुक्त है, खुले स्रोत कोड के लिए भी उपयुक्त है।


1
अधिक संभावना है कि एक बंद स्रोत एक की तुलना में एक खुला स्रोत परियोजना से कहीं भी एक एकल फ़ाइल ली जाएगी, इसलिए हो सकता है कि फ़ाइलों के प्रमुखों में कॉपीराइट नोटिस एक खुले स्रोत परियोजना में अधिक समझ में आता है ...
जेम्स

1
एक लाइसेंस "उस कॉपीराइट को दूर नहीं करता है"। यह उपयोग करने और / या संशोधित करने और / या पुनर्वितरित करने की अनुमति देता है।
ग्लेन रैंडर्स-पीहरसन

@ GlennRanders-Pehrson अच्छा बिंदु, संपादित।
जेम्स

2

किसी भी ओपन-सोर्स प्रोजेक्ट के लिए

आप उन शर्तों को परिभाषित कर रहे हैं जिनके तहत कोड का उपयोग किया जाना है और उन परिस्थितियों के आधार पर पुनर्वितरित किया जाना है (या नहीं)।

बहुत कम से कम, एक लाइसेंस सवालों के जवाब दे सकता है:

  • विनियोग: क्या कोई कोड ले सकता है और इसे एक अलग परियोजना में विकसित कर सकता है? इस तरह की घटना का एक अच्छा उदाहरण Google Chrome है, जो ओपन-सोर्स क्रोमियम प्रोजेक्ट पर आधारित है।
    • क्या उन्हें आपको क्रेडिट देने, अनुमति लेने आदि की आवश्यकता है ...
  • वाणिज्यिक उपयोग: क्या आपके कोड का व्यावसायिक रूप से उपयोग किया जा सकता है, जैसे कि फ़ोटोशॉप में तीसरे पक्ष के DLL के रूप में? यदि ऐसा है तो विभिन्न शर्तें लागू होती हैं?
  • पुनर्वितरण: क्या आपके कोड के किसी भी उपयोग को समान / समान लाइसेंस वाले सॉफ़्टवेयर में होना चाहिए? जीपीएल जैसे लाइसेंस की आवश्यकता होती है, जिसे वायरल लाइसेंस कहा जाता है (और मुझे नहीं पता कि यह एक नकारात्मक शब्द है, या सिर्फ एक तथ्य है)।

आदि यह है कि कोई व्यापक सूची नहीं है, यह सिर्फ उन सवालों का एक विचार है जो एक लाइसेंस स्पष्ट रूप से बताएगा।


1
मुझे लगता है कि मैं इसे समझता हूं, लेकिन प्रत्येक स्रोत फ़ाइल में कानूनी नोटिस क्यों डाला जाना चाहिए? या अगर उन्हें नहीं करना चाहिए तो लोग ऐसा क्यों करते हैं?
मोजुबा

यदि यह स्रोत कोड से अलग है, तो लाइसेंस को सुनिश्चित करने का एक सुरक्षित तरीका लगता है।
doppelgreener

-1

अपने कोड पर कॉपीराइट डालने का एक और कारण यह है कि यह दूसरों को यह बताने देता है कि इसे किसने लिखा है। मुझे यह देखना पसंद है कि कोड कहाँ से आया है और यह कब से है। यह देखना दिलचस्प और उपयोगी है कि अन्य परियोजनाओं में कैसे कोड का उपयोग किया गया है। इसलिए भले ही कानूनी तौर पर आपको अपने कॉपीराइट को किसी चीज़ पर रखने की आवश्यकता न हो, कृपया इसे सूचना के कारणों से जोड़ें। - ए थार्नटन


1
इस सवाल का जवाब नहीं है। सवाल यह नहीं था कि क्या कॉपीराइट नोटिस लगाया जाए, बल्कि हर लाइसेंस फ़ाइल में पूरे लाइसेंस पाठ को रखा जाए या नहीं।
ब्रेंडिन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.