मैं अपने स्वयं के 'शब्दों' में सुरक्षित रूप से कोड कैसे लिखूं और साहित्यिक चोरी नहीं करूंगा?


18

मैं साहित्यिक चोरी और विरोधाभास को अच्छी तरह से समझता हूं, जब यह शोध पत्र लिखने की बात आती है, लेकिन प्रोग्रामिंग में वे समकक्ष क्षेत्र मुझे विदेशी लगते हैं। मैंने विषयों को ऑनलाइन देखा है, और आश्चर्य की बात यह है कि इस विषय पर उतनी सामग्री नहीं है जितनी किसी ने उम्मीद की होगी।

जब कोड लिखना और उस चीज़ को लागू करना है जिसे मैंने पहले कभी लागू नहीं किया है, तो मैं एक उदाहरण देखने के लिए ऑनलाइन जाऊंगा। मैं पहले से प्रलेखन के माध्यम से पढ़ने की कोशिश करता हूं, लेकिन कभी-कभी मुझे इसका पालन करना चुनौतीपूर्ण लगता है। इसलिए यदि वह विफल रहता है, तो मैं इस विषय को ऑनलाइन खोजूंगा और दर्जनों उदाहरणों के साथ प्रस्तुत किया जा सकता है (चाहे वे किसी के व्यक्तिगत ब्लॉग पर हों या एसओ की तरह एक प्रश्नोत्तर साइट)। अब मैं आमतौर पर कोड की 5-10 पंक्तियों के साथ प्रस्तुत किया जाता हूं। मेरे पास अपने कोड में कॉपी-एंड-पेस्ट करने की आवश्यकता होगी, लेकिन मैं अभी भी इसे शब्दशः कॉपी करने की चिंता करता हूं। मुझे एक निश्चित कोड कोड को फिर से जमा करना मुश्किल लगता है, खासकर जब ऐसा करने के लिए बहुत सारे तरीके हैं। मैं चर नाम बदलना, स्वरूपण बदलना आदि सुनिश्चित करता हूं - लेकिन क्या यह पर्याप्त है?

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

tl; डॉ। मुझे समझ नहीं आ रहा है कि आपको साहित्यिक चोरी से बचने के लिए कोड के 5-10 स्निपेट्स को ऑनलाइन बदलना और बदलना है। क्या होगा अगर बहुत कम है जिसे आप बदल सकते हैं?


यदि आपको साहित्यिक चोरी से बचने के बारे में सक्रिय रूप से सोचना है, तो सिस्टम में कुछ गड़बड़ है। ज़रूर, आपको कभी कुछ कॉपी नहीं करना चाहिए, लेकिन इसके बारे में सोचना नहीं चाहिए।
Anto

1
@ सांता, मुझे लगता है कि मैं समझता हूं कि ओपी का मतलब क्या है। ओपी ने कहीं से कुछ कोड पकड़ा है, इसका उपयोग करना चाहता है या इसे कुछ काम के साथ एकीकृत कर रहा है। ओपी के लिए मेरा सुझाव है कि विश्वसनीय रूप से किसी और चीज़ के स्वामित्व को कहीं और ले जाएं (1) इसे सीखें / समझें, (2) कोड को कार्यात्मक रूप से (रिफ्लेक्टरिंग) और कॉस्मैटिकली (बेहतर, अधिक सुसंगत प्रतीक नामों) और (3) दोनों में सुधार करें। इसे अपने प्रोजेक्ट के भीतर चलाएं। मैंने इस तेज़ (O (log2 (N)) अधिकतम एल्गोरिथ्म को स्लाइड करते हुए किया है। मेरा कोड मेरा है, लेकिन मैंने कहीं और से alg सीखा है।
robert bristow-johnson

जबकि मैं प्रश्न को व्यापक समझता हूं, यह लिंक प्रासंगिक हो सकता है: क्या मैं कानूनी तौर पर एक मंच पर पाए गए कोड का उपयोग कर सकता हूं?
जॉन वू

जवाबों:


30

साहित्यिक चोरी कॉपीराइट उल्लंघन के समान नहीं है। साहित्यिक चोरी किसी और के काम के रूप में हो रही है। यह साहित्यिक रूप से उल्लंघन के बिना कॉपीराइट उल्लंघन करना संभव है:

// The following code is lifted, without permission, from Windows 2000.
// Copyright © 2000 Company-metonymous-with-Redmond.
// ...

और कॉपीराइट उल्लंघन के बिना साहित्यिक चोरी करना संभव है:

/* I wrote this function. */
int sqlite3Strlen30(const char *z){
  const char *z2 = z;
  if( z==0 ) return 0;
  while( *z2 ){ z2++; }
  return 0x3fffffff & (int)(z2 - z);
}

(सार्वजनिक डोमेन सर्वर रहित SQL डेटाबेस इंजन से उठाया गया)

साहित्यिक चोरी से बचने के लिए, आप अपने स्रोत का हवाला देते हुए विचार कर सकते हैं। यहाँ एक उदाहरण है (जिसमें से कई हैं) PostgreSQL से :

/* datebsearch()
 * Binary search -- from Knuth (6.2.1) Algorithm B.  Special case like this
 * is WAY faster than the generic bsearch().
 */
static const datetkn *
datebsearch(const char *key, const datetkn *base, int nel)

4

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

जांचें कि आपका स्रोत अनुमति देता है (पुनः) उपयोग (लाइसेंस, लिखित अनुमति)। मुझे लगता है कि एसओ पर कुछ भी (जाँच करने की आवश्यकता है) का तात्पर्य पब डोमेन (या रचनात्मक कॉमन्स, शेयर एक जैसे आदि) होगा या यह वास्तव में काम करने में सक्षम नहीं होगा। (क्या उपयोग एक उत्तर मिल रहा है जिसे आप जानते हैं कि आप उपयोग नहीं कर सकते हैं)

संक्षेप में मुझे लगता है कि शायद आप साहित्यिक चोरी को अच्छी तरह से नहीं समझते हैं, जब तक कि परिभाषाएँ शिक्षाविदों के क्षेत्र में बेतहाशा भिन्न न हों?

मेरे अंगूठे का नियम: उन सभी उत्तरों का उपयोग करें जो केवल वैसे ही परिणाम प्राप्त कर रहे हैं जैसे आप प्राप्त कर रहे हैं। हालाँकि, यदि आपको एक नमूना मिलता है जो जादुई रूप से काम करता है, लेकिन आप वास्तव में नहीं जानते हैं कि (या क्यों) आप नैतिकता रेखा को पार कर रहे हैं।

छोटे स्निपेट को संशोधित करने के विषय पर मैं उलटा तर्क दूंगा; आप पुनर्गठन के बिना अपने कोड में छोटे स्निपेट को कैसे एकीकृत करेंगे : संभावना है कि यह बहुत पतला होगा और मेरे पास मेरे कोड की तरह दिखना चाहिए, इस पर मेरी बहुत मजबूत राय है। हो सकता है कि आपके पास उस 'राय' (पढ़ने का अनुभव) का अभाव हो और मैं विश्वास हासिल करने के लिए अधिक कोड लिखने का सुझाव देता हूं। अनुभव प्राप्त करने के लिए एक और तकनीक एक उत्तर को पढ़ना है, और फिर जाकर किसी भी नमूना कोड को एक्सेस किए बिना इसे लागू करना है । आप गलतियाँ करेंगे, लेकिन आप भी पर्याप्त सीखेंगे

  • अगली बार इसे पुन: पेश करें
  • इस विश्वास को प्राप्त करें कि क्या आप कोड को समझते हैं
  • अपने बारे में अच्छा महसूस करो

एचटीसी से भेजा गया; कृपया एक या दो टाइप करें


SO पदों को CC-BY-SA 3.0 (पृष्ठ के बहुत नीचे तक स्क्रॉल करें) के रूप में लाइसेंस प्राप्त होता है, इसलिए यदि कोई व्यक्ति आपकी समस्या के लिए संपूर्ण समाधान लिखता है, तो आपको केवल लेखक और आपके द्वारा उल्लेखित होने पर इसे कॉपी करने की अनुमति है कोड एक ही लाइसेंस (या बिल्कुल प्रकाशित नहीं) के तहत प्रकाशित किया जाता है। लेकिन जैसा कि आप कहते हैं, उस तरह की कॉपी और पेस्ट कोडिंग पहली जगह में बुरा अभ्यास है।
5gon12eder

4

यदि आप केवल साहित्यिक चोरी से बचने के लिए कोड बदलते हैं और फिर से बनाते हैं, तो आप केवल (कोशिश करें) साहित्यिक चोरी का पता लगाने से बचें। यह सब इस बात पर निर्भर करता है कि आप किस कोड को कॉपी करते हैं। एक संभावना यह है कि किसी दिए गए कोड स्निपेट को सीमित रचनात्मक मौलिकता के साथ एक सहायक मार्गदर्शिका के रूप में या सामान्य अभ्यास के रूप में महत्व दिया जाए कि कोई भी लेखक का दावा नहीं कर सकता है। दूसरी संभावना यह है कि इसे क्रेडिट देने के लिए पर्याप्त महत्व दिया जाए। आप अपने कोड को एक साधारण कोड टिप्पणी से लेकर अपने कोड को मूल कोड का आधिकारिक कांटा / शाखा बनाने तक कई स्तर पर क्रेडिट दे सकते हैं। सारांश में कि आप क्या कर सकते हैं इसके बारे में कम लेकिन आप कोड को कितना मूल मानते हैं और जरूरत पड़ने पर क्रेडिट कैसे देते हैं। साहित्यिक चोरी की नकल नहीं बल्कि बिना क्रेडिट दिए नकल हो रही है।


1

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

जब तक आपके पास एक फोटोग्राफिक मेमोरी नहीं है और मौजूदा समाधानों में से एक को कॉपी करते हैं, यह साहित्यिक चोरी और / या कॉपीराइट के उल्लंघन की समस्या को हल करता है। यह आपको वास्तव में समस्या को समझने के लिए मजबूर करके आपकी मदद भी करता है।

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


0

यदि आप एक शैक्षणिक वातावरण में कोडिंग नहीं कर रहे हैं, तो आप साहित्यिक चोरी के बारे में चिंता क्यों करेंगे? एक पेशेवर वातावरण में, यह केवल तभी मायने रखता है जब आप अपनी कंपनी के अन्य कर्मचारियों को लूटते हैं। साहित्यिक चोरी उस बारे में है जिसे श्रेय जाता है। किसी भी घटना में, साहित्यिक चोरी का समाधान सरल है - आप जो कुछ भी लेते हैं, उसका श्रेय मूल लेखक को देते हैं। यदि यह एक वेब पेज से था, तो URL को शामिल करें। इससे आपको लाभ होता है, क्योंकि यदि आपके कोई प्रश्न हैं, तो आप फिर से मूल स्रोत ढूंढने में सक्षम हो सकते हैं।

यदि आपका प्रश्न वास्तव में कॉपीराइट उल्लंघन के बारे में है, तो याद रखें कि कॉपीराइट कार्यात्मक पहलुओं को कवर नहीं करता है। यह केवल रचनात्मक विकल्पों को शामिल करता है जहां समान रूप से उपयोगी विकल्पों की बहुत बड़ी संख्या होती है। यदि आप कार्यक्षमता को तोड़े बिना आसानी से कोड को बदल नहीं सकते हैं, तो यह कुछ कॉपीराइट कवर (विलय या scènes à faire नियम के तहत) नहीं है।

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