कोड स्निपेट पर उचित उपयोग कैसे लागू होता है? [बन्द है]


26

वहाँ एक आकार है जहाँ आप कोड के लिए उचित उपयोग के तहत कॉपी कर सकते हैं आपके पास उद्देश्य के लिए लाइसेंस नहीं है? उदाहरण के लिए, क्या होगा यदि मैं एक स्निपेट की प्रतिलिपि बनाता हूं जो (सामान्य रूप से) कोड की 3 लाइनें हैं? क्या यह उचित उपयोग है? यदि यह उचित उपयोग है, तो मुझे लाइसेंस की आवश्यकता से पहले क्या लंबाई की आवश्यकता है?


11
आप कहां हैं, इसके आधार पर कानून अलग-अलग हैं और दुनिया भर के लोग यहां हैं। कानूनी प्रश्न पूछते समय, कृपया हमें बताएं कि आप कहां रहते हैं और काम करते हैं। इसके अलावा, हम जो कुछ भी कहते हैं उस पर भरोसा न करें। यदि यह किसी तरह से आपके लिए महत्वपूर्ण है (जैसे आर्थिक रूप से), तो उचित अनुभव के साथ स्थानीय वकील से परामर्श करें।
डेविड थॉर्नले

1
नोट: मैंने इस सवाल का जवाब जोड़ दिया है क्योंकि मुझे नहीं लगता कि मौजूदा उत्तर पर्याप्त रूप से सही हैं, विषय वर्तमान दिशा-निर्देशों के अनुसार ऑफटॉपिक होने के बावजूद - मुझे लगता है कि गलत या भ्रामक उत्तर देने से नया ऑफॉपिक पोस्ट करने से भी बदतर स्थिति है जवाब।
जूल्स

जवाबों:


12

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

मैं फेयर यूज़ , और कॉपीराइट्स पर अमेरिकी कॉपीराइट कार्यालय के लेख से अंश निकालूंगा :

धारा 107 में विभिन्न उद्देश्यों की एक सूची है, जिसके लिए किसी विशेष कार्य के प्रजनन को निष्पक्ष माना जा सकता है, जैसे कि आलोचना, टिप्पणी, समाचार रिपोर्टिंग, शिक्षण, छात्रवृत्ति और अनुसंधान [जोर मेरा] । धारा 107 यह निर्धारित करने के लिए चार कारकों को भी निर्धारित करता है कि कोई विशेष उपयोग उचित है या नहीं।

  1. उपयोग का उद्देश्य और चरित्र, जिसमें यह भी शामिल है कि इस तरह का उपयोग व्यावसायिक प्रकृति का है या गैर-लाभकारी शैक्षिक उद्देश्यों के लिए है
  2. कॉपीराइट की प्रकृति काम करती है
  3. कॉपीराइट कार्य के संबंध में उपयोग किए गए हिस्से की मात्रा और पर्याप्तता
  4. कॉपीराइट कार्य के लिए संभावित बाज़ार या उसके मूल्य पर उपयोग का प्रभाव।

उचित उपयोग और उल्लंघन के बीच अंतर अस्पष्ट हो सकता है और आसानी से परिभाषित नहीं किया जा सकता है। शब्दों, रेखाओं या नोटों की कोई विशिष्ट संख्या नहीं है [जोर मेरा] जो बिना अनुमति के सुरक्षित रूप से लिया जा सकता है। कॉपीराइट सामग्री के स्रोत को स्वीकार करना अनुमति प्राप्त करने के लिए स्थानापन्न नहीं है।

यह कॉपीराइट की कानूनी सीमाओं को संक्षेप में प्रस्तुत करता है, जिसका उचित उपयोग आगे की सीमाएँ, जैसे:

कॉपीराइट ने उस विशेष तरीके की रक्षा की जिस तरह एक लेखक ने खुद को व्यक्त किया है। यह काम में बताए गए किसी भी विचार, प्रणाली या तथ्यात्मक जानकारी का विस्तार नहीं करता है।

कॉपीराइट सामग्री का उपयोग करने से पहले सबसे सुरक्षित पाठ्यक्रम को हमेशा कॉपीराइट स्वामी से अनुमति लेनी होती है। कॉपीराइट कार्यालय यह अनुमति नहीं दे सकता है।

कॉपीराइट हमारी रक्षा करता है की सीमा क्या है, हालांकि आप फेयर यूज़ के माध्यम से कोड के "स्निपेट्स" को कॉपी नहीं कर सकते हैं, आप उन स्निपेट में विचारों, सिस्टम (एल्गोरिदम सहित), या तथ्यात्मक जानकारी व्यक्त कर सकते हैं।

संक्षेप में, आपके लिए इसे फिर से लिखने के लिए कोड की 3 पंक्तियाँ पर्याप्त छोटी होनी चाहिए ताकि मूल कार्य के कॉपीराइट का उल्लंघन न हो। आपके प्रश्न को लिखने में जितना संभव होगा, उससे अधिक समय लगेगा।


14
मुझे यहां कुछ भी दिखाई नहीं दे रहा है जो कहता है कि कोड के स्निपेट की नकल करना उचित उपयोग नहीं हो सकता है। यह उन मानदंडों की व्याख्या करता है जिनका उपयोग यह निर्धारित करने के लिए किया जाएगा कि क्या आपका उपयोग उचित उपयोग है, यदि आप मुकदमा करते हैं।
कीथबी

7
सूची का उद्देश्य अनुकरणीय होना है, पूर्ण नहीं है। इसलिए इसमें "जैसे" शब्द शामिल हैं। यदि कोड काफी हद तक कार्यात्मक है, तो मूल काम का केवल एक छोटा सा हिस्सा लिया जाता है, और दो काम बाजार में प्रतिस्पर्धा नहीं करते हैं, यह काफी संभव है कि अदालतों को उचित उपयोग मिलेगा।
डेविड श्वार्ट्ज

4
और आपको "कानून पर विस्तार" करने के लिए क्या योग्यताएं हैं, @Huperniketes? आपने इसे ऐसे लिखा है जैसे आप किसी प्राधिकरण को उद्धृत कर रहे हों जो निश्चित रूप से कोडिंग कोड को उचित उपयोग न करने के लिए दिखाता है, लेकिन वास्तव में आप किसी भी मामले के कानून का हवाला दिए बिना केवल अपनी खुद की व्याख्या कर रहे हैं।
मार्क अमेरी

6
यह वास्तव में मेरी बात के लिए अप्रासंगिक है। समस्या यह है कि "जैसे कि" के साथ सेट की गई एक सूची अंग्रेजी के किसी भी संस्करण में संपूर्ण नहीं है , यहां तक ​​कि विचित्र अंग्रेजी-से-मार्स भी नहीं है जो वकील दिन-प्रतिदिन के आधार पर बोलते हैं। आपके द्वारा इटैलिक की गई सूची उदाहरणों की एक सूची है, अधिक कुछ नहीं। यह कानून के वास्तविक अर्थों के लिए कुछ भी योगदान नहीं देता है, जो न्यायाधीशों और वकीलों के लिए आम तौर पर सांसदों के इरादों के बारे में संकेत के रूप में कार्य करता है । उचित उपयोग कानून का एक अविश्वसनीय रूप से धूसर क्षेत्र है, और इस तरह के काले और सफेद शब्दों में इसके किसी भी हिस्से को पेश करना आपके पाठकों को एक बहुत बड़ा असंतोष देता है।
केविन

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

21

मैं वकील नहीं हूं

हालाँकि, आप जो कुछ भी लिखते हैं, उसमें निम्नलिखित 3 लाइनों के कोड का उपयोग करने के लिए आप बिल्कुल स्वतंत्र हैं :

for (i = 0; i < 5; i++) {
    printf("I am not a lawyer!\n");
}

.... यह विशुद्ध रूप से कार्यात्मक कोड है (इस अर्थ में कार्यात्मक नहीं कि आप सोच सकते हैं, लेकिन यह क्या करता है के द्वारा कार्यात्मक)। यह वास्तव में कुछ भी पूरा नहीं करता है; यह बस भाषा के निर्माण का अभ्यास करता है। यह सामान का समर्थन करता है जो वास्तविक काम करता है, आप इसे अक्सर पर्याप्त रूप से टाइप करते हैं कि आपके पास इसे बनाने के लिए मैक्रो है। लेकिन आप जिस बारे में बात कर रहे हैं वह 'उचित उपयोग' नहीं है, यह पहली जगह में भी कॉपीराइट या लाइसेंस योग्य है?

यहां एकमात्र सही उत्तर एक वकील से पूछना है। किस से कोड की दस लाइनें ? एक अति विशिष्ट छँटाई एल्गोरिथ्म? किसी तरह का फर्मवेयर? यूनेनेट की सुबह से ही लाखों कॉन्फ़िगरेशन फ़ाइल पार्सरों में से एक जो तैर ​​रहा है? एक अन्य प्रोग्राम द्वारा उत्पन्न कोड जो आपके DB स्कीमा के आधार पर डेटाबेस कक्षाएं उत्पन्न करता है?

लेकिन, मेरे लिए साबित करें कि आपने लूप या स्विच स्टेटमेंट के लिए लिखा है, और सिर्फ मेरी कॉपी नहीं की। उस बिंदु पर जहाँ जोर-शोर से आवाज़ आना बंद हो जाता है, आप शायद उस बिंदु पर हैं जहाँ आपको किसी वकील से बात करनी चाहिए, या कम से कम आपके इंजीनियरिंग प्रबंधक / पीएम / आदि से बात करनी चाहिए।

मैं कई मुक्त / खुले स्रोत परियोजनाओं में भाग लेता हूं, उनमें से कुछ को 'तुच्छ' नहीं होने के लिए कॉपीराइट असाइनमेंट की आवश्यकता होती है। उन सभी की आवश्यकता होती है जो 'तुच्छ' को परिभाषित करते हैं कि वे कोड की दस पंक्तियों को जोड़ा या संशोधित किया गया है। लेकिन यह किसी तरह का मानक स्थापित करने के लिए सिर्फ एक मनमाना लिटमस टेस्ट है; माइंड-बाइट की तुलना की एक पंक्ति 10 पंक्ति स्विच की तुलना में कॉपीराइट के अधीन होने की अधिक संभावना है।

मेरी स्निपेट गैलरी में सैकड़ों फ़ंक्शंस हैं, उन सभी में मूल लेखक की जानकारी doxygen शैली टिप्पणियों में है, साथ ही साथ लाइसेंस जानकारी (यदि कोई हो, तो ज्यादातर सार्वजनिक डोमेन हैं)।

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


2
मुझे बहुत संदेह है कि कई स्निपेट सार्वजनिक डोमेन में हैं।
मार्टिज़न

2
मुझे पार्टी में देर हो गई है, लेकिन यह भी ध्यान रखना महत्वपूर्ण है कि भले ही टिम पोस्ट ने उपरोक्त कोड के सभी अधिकारों को बरकरार रखा हो, वह इस विचार को कॉपीराइट नहीं कर सकता है । यदि आप उस स्निपेट से सीखते हैं कि आप लूप का उपयोग करके पांच बार स्ट्रिंग को प्रिंट कर सकते हैं, और फिर आप उन विचारों का उपयोग करके लूप के लिए अपना (समान रूप से) लिखते हैं, तो आप परवाह किए बिना ठीक हैं; इससे कोई फर्क नहीं पड़ता कि टिम क्या चाहता है। यह निर्भर करता है कि यह कितना लंबा है, और आपका संस्करण कितना समान है, आपके पास यह साबित करने का बोझ हो सकता है कि आपने वास्तव में इसे फिर से लागू किया था, लेकिन यदि आप ऐसा कर सकते हैं, तो आपको स्पष्ट गारंटी दी जाती है।
ग्रैंडऑनर

हालांकि कॉपीराइट विचारों की रक्षा नहीं करते हैं, पेटेंट करते हैं। कॉपीराइट एक कानूनी शब्द है, जिसकी एक विशिष्ट कानूनी परिभाषा है। विचारों को कॉपीराइट नहीं किया जा सकता है , लेकिन जिस तरह से वे व्यक्त किए जाते हैं वह कर सकते हैं और हैं; और वर्तमान आईपी कानून के तहत, एक निर्माता का काम स्वचालित रूप से कॉपीराइट और संरक्षित है। एक विचार का पेटेंट कराया जा सकता है यदि वह संबंधित मानकों को पूरा करता है।
हूपर्निकेटेस

@Huperniketes - "जिस तरह से [विचारों] को व्यक्त किया जाता है [कॉपीराइट हो] और हैं; और वर्तमान आईपी कानून के तहत, एक निर्माता का काम स्वचालित रूप से कॉपीराइट और संरक्षित है" - जब तक कि उन विचारों की अभिव्यक्ति मौलिकता के स्तर तक नहीं पहुंच जाती है। आविष्कारशीलता जिसे रचनात्मकता का न्यूनतम सीमा वारंट संरक्षण के रूप में माना जाता है और नकल की मात्रा को तुच्छ नहीं माना जाता है। यदि अभिव्यक्ति पर्याप्त रूप से विशिष्ट नहीं है या प्रतिलिपि की मात्रा को तुच्छ माना जाता है, तो इसे डे मिनिमिस कॉपी कहा जाता है और कॉपीराइट द्वारा कवर नहीं किया जाता है। इसका विस्तार करने के लिए अदालतों में पाया गया है ...
जूल्स

... कंप्यूटर प्रोग्राम उस स्थिति में जहां वे स्पष्ट न्यूनतम प्रोग्राम हैं जो एक विशेष ऑपरेशन करते हैं (और जहां ऑपरेशन खुद अभिनव नहीं है)। उदा। इसके कई मामलों की चर्चा यहां की गई है । प्रश्न के संदर्भ में, उन 3 पंक्तियों को संदर्भित किया जाता है जो लगभग निश्चित रूप से उस श्रेणी में होती हैं: प्रकृति में रचनात्मक के बजाय पूरी तरह कार्यात्मक, और लगभग निश्चित रूप से एक सामान्य ऑपरेशन का प्रदर्शन करना जो सॉफ्टवेयर के कई टुकड़ों में पाया जाता है। इस मामले में, वे शायद संरक्षित नहीं हैं।
जूल्स

1

कॉपीराइट रचनात्मक कार्यों पर लागू होता है , जिसमें विचारों की अभिव्यक्ति भी शामिल है (जो कि स्रोत कोड को कानूनी रूप से बोलने वाला माना जाता है), जब तक कि उन विचारों की अभिव्यक्ति मौलिकता और आविष्कार के स्तर तक पहुंच जाती है, जो रचनात्मकता के न्यूनतम सीमा के स्तर से अधिक वारंट तक पहुंच जाती है संरक्षण और नकल की मात्रा को तुच्छ नहीं माना जाता है।

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

प्रश्न के संदर्भ में, उन 3 पंक्तियों को संदर्भित किया जाता है जो लगभग निश्चित रूप से उस श्रेणी में होती हैं: प्रकृति में रचनात्मक के बजाय पूरी तरह कार्यात्मक, और लगभग निश्चित रूप से एक सामान्य ऑपरेशन का प्रदर्शन करना जो सॉफ्टवेयर के कई टुकड़ों में पाया जाता है। इस मामले में, वे शायद संरक्षित नहीं हैं।

तकनीकी रूप से यह वास्तव में "उचित उपयोग" नहीं है, जो प्रतिबंधों से एक विशिष्ट वैधानिक छूट है जो एक कॉपीराइट धारक को लागू करने के लिए हकदार है, लेकिन इसके बजाय सामान्य कानून के मामले मिसाल हैं जो समय के साथ जमा हुए हैं, लेकिन शब्द "उचित उपयोग" अक्सर एक तरह से शिथिल रूप से उपयोग किया जाता है जिसमें दोनों अर्थ शामिल हैं, और वास्तव में उनके बीच पर्याप्त ओवरलैप है।


1

अमेरिका "निष्पक्ष उपयोग सिद्धांत" कॉपीराइट उल्लंघन के दावे के खिलाफ एक संभावित सकारात्मक बचाव है। "सकारात्मक रक्षा" का अर्थ है कि आप बिना लाइसेंस के नकल करते हैं और इसलिए किसी के कॉपीराइट का उल्लंघन करते हैं, लेकिन फिर आप दावा करते हैं कि किसी कारण से आपको नकारात्मक परिणामों के बिना ऐसा करने का अधिकार है। सच कहें तो यह एक खतरनाक रणनीति लगती है। आप ऐसा कोड लिखने का प्रस्ताव करते हैं जो किसी के कॉपीराइट का उल्लंघन करता हो या किसी व्यक्ति के कॉपीराइट का अधिक से अधिक उपयोग करता हो। मैं बहुत आसानी से सोच सकता था कि कोड की 3 पंक्तियां "उचित उपयोग" हो सकती हैं, लेकिन यहां 3 पंक्तियां, 3 पंक्तियां, और 3 पंक्तियां कहीं और नहीं हैं।

कॉपीराइट उल्लंघन के खिलाफ बहुत बेहतर बचाव है: पहली जगह में उल्लंघन न करें। कोड स्निपेट कॉपी करने के बजाय, आप इसे पढ़ते हैं, आप इसे बारीकी से जांचते हैं, आप सीखते हैं कि यह कैसे काम करता है, आप इसे समझते हैं, और एक बार जब आप इसे पूरी तरह से समझ जाते हैं, तो आप इसे कॉपी नहीं करते हैं बल्कि कोड की अपनी तीन पंक्तियां लिखते हैं। इसके कई फायदे हैं:

  1. आप कॉपीराइट का उल्लंघन नहीं कर रहे हैं।
  2. आपने कुछ सीखा और एक बेहतर डेवलपर बन गए।
  3. इसे स्वयं लिखना इसका मतलब है कि यह आपके अन्य कोड के समान शैली में लिखा गया है, जिससे रखरखाव आसान हो जाता है।
  4. कोड स्निपेट को समझने के लिए समय बिताने के दौरान, आप इसकी अपर्याप्तता, इसकी सीमाएँ, इसकी बग्स के बारे में जानें और इन्हें अपने ही कोड में रखने से बचें, जिसका अर्थ है कि आपका कोड स्निपेट की नकल करने से बेहतर है।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.