12

शायद अपने स्वयं के डेवलपर्स से कंपनी की बौद्धिक संपदा की रक्षा करने का सबसे स्पष्ट तरीका एनडीए - गैर प्रकटीकरण अनुबंध प्रतीत होता है। इस दृष्टिकोण की प्रभावशीलता कई कारकों के आधार पर भिन्न हो सकती है, और कभी-कभी या कहीं भी यह अपेक्षा के अनुसार काम नहीं कर सकती है।अपने डेवलपर्स से कोड की सुरक्षा

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

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

संदर्भ: - चार साल

आँकड़े के रूप में, कहते हैं औसतन, प्रोग्रामर अपने काम को बदलने के लिए हर तीन जाते हैं।

+3

एक पूरी तरह उत्सुक दृष्टिकोण से यह क्यों आवश्यक होगा? मुझे तुरंत लगता है कि पर्यावरण अराजक होगा या डेवलपर्स पर डरने के लिए उच्च मोड़ होगा और कहीं और "अच्छा उपयोग" करने जा रहा है। एक अति उच्च स्तर पर कुछ भी शायद एक सॉफ्टवेयर पेटेंट के लिए आवेदन करना चाहिए। –

+6

समुदाय विकी होना चाहिए – SilentGhost

+7

हे, गेंद डेवलपर साइट पर पूछने के लिए लेता है :) –

उत्तर

31

ऐसी टीम बनाने का प्रयास करें जिसे आप भरोसा कर सकते हैं।

+0

मैं सहमत हूं। संभवतः मेरे पास सबसे अच्छी नौकरी एक ऐसी कंपनी में थी जहां डेवलपर्स का आधे दशक लगभग एक दशक तक काम कर रहा था, कुछ और भी लंबे समय तक। अच्छी नीतियों ने लोगों को बना दिया और बदले में बहुत अच्छे कोड के लिए बनाया गया। ("मैं इस बच्चे को दस साल से अधिक समय तक बनाए रख रहा हूं और यह इतनी अच्छी आकृति में है क्योंकि मैंने कभी इस तरह के कोड को अनुमति नहीं दी है। मैं इसे साफ करने की मांग करता हूं!") – sbi

1

मुझे पता है कि आपने पूरी तरह कानूनी रूप से एक तरफ कहा है, लेकिन मैं यह भी जोड़ना चाहता हूं कि आपने जो कानूनी बताया है उसके अलावा, Non-Compete भी है। असल में कहता है कि एक बार जब आप अपना काम छोड़ देते हैं, तो आप अपने पूर्व नियोक्ता के खिलाफ किसी भी तरह से प्रतिस्पर्धा करने में सक्षम नहीं होंगे। चोरी कोड उतना आकर्षक नहीं है अगर आप इसे एक या दो साल तक उपयोग करने में सक्षम नहीं होंगे।

+0

कम से कम ब्रिटेन में, रोजगार अनुबंधों में गैर प्रतिस्पर्धात्मक खंड संदिग्ध उपयोगिता के हैं - अदालतें कर्मचारी के काम के अधिकार का पक्ष लेती हैं। –

+0

यहां तक ​​कि राज्यों में भी, गैर-प्रतिस्पर्धा मुख्य रूप से शो के लिए होती है और जो कोई नैतिक हाई-ग्राउंड लेता है, वह जो भी हस्ताक्षर करता है उसका पालन करने का प्रयास करेगा; "कोड चोरी," हालांकि, हमेशा अवैध है और दंडित किया जाना चाहिए। –

+2

गैर प्रतिस्पर्धा समझौते किसी को चुराए गए कोड को दृश्यों के पीछे एक प्रतियोगी को बेचने से नहीं रोकते हैं। – doppelfish

5

यदि आवश्यक हो तो आप उप-अनुप्रयोगों में एप्लिकेशन को विभाजित कर सकते हैं। प्रत्येक टीम एक ही एप्लिकेशन में काम करती है और अन्य सभी को "ब्लैक बॉक्स" के रूप में देखती है। शायद एसओए यहां मदद करता है।

+0

यह विचार एकमात्र सकारात्मक पहलू है जिसे इस विचार में आईएमओ है : Encapsulation, बेहतर दस्तावेज, मॉड्यूलरकृत कोड के लिए अग्रणी। –

+0

और इस तरह से विकसित उत्पादों को बनाने और वितरित करने के लिए निश्चित रूप से अधिक समय की आवश्यकता है। ब्रूक्स कहते हैं, तीन से गुणा करें। –

+0

@ पावेल शेव: बेशक। – cherouvim

6

यह बेहद असंभव है कि आपका कोड वास्तविक बौद्धिक संपदा है - यह आपकी कंपनी का व्यवसाय ज्ञान और प्रक्रिया है।

+0

सहमत हैं: केवल कुछ ही कंपनियों ने निवेश किया है * कि * आर एंड डी में रिलीज किए गए स्रोत कोड में वास्तव में कुछ वास्तविक प्रतिस्पर्धी लाभ – ZJR

+0

अभी भी मैंने * कंपनी बी * के लाभ के लिए * कंपनी ए * वर्कपावर का उपयोग करके प्रबंधकों के बारे में सुना है * उन्हें सुविधाओं को लागू करने के लिए * कंपनी बी * ग्राहकों का अनुरोध किया है और फिर उन्हें बूटलेग, लेकिन यह स्पष्ट ** लोग इस तरह की वास्तव में परवाह नहीं है कानूनी बाधाओं से **। – ZJR

3

या तो उन डेवलपर्स की एक टीम बनाएं जिन्हें आप भरोसा कर सकते हैं, या पूरी तरह से अपने सिस्टम को लॉक कर सकते हैं ताकि वे यूएसबी पोर्ट, सीडी ड्राइव या वेब मेल क्लाइंट तक नहीं पहुंच सकें। एकमात्र चीज वे कर सकते हैं कोड पर काम करते हैं और संभवतः वेब ब्राउज़ करते हैं। साथ ही उन्हें केवल उस कोड तक पहुंच प्रदान करें जिसका वे प्रभारी हैं।

लेकिन इन सभी सुरक्षा उपायों संभावना कर रहे हैं अपने डेवलपर्स आप के साथ काम नफरत और उनके नौकरी छोड़ जाएगा साथ

+2

मैं एक पुरुष है जो अपने मोबाइल फोन के ... – CesarGon

+0

के साथ स्क्रीन के 200 से अधिक तस्वीरें लेने जब वे वेब ब्राउज़ कर सकते हैं द्वारा इस तरह एक वातावरण से कोड चुरा लिया के बारे में पता, वहाँ हमेशा pastebin और की तरह है। – doppelfish

+1

इसे पेंच, अपने फोन भी दूर ले लो !!! या आप केवल –

2

ऐसा करने के लिए कोई सीधा रास्ता यदि आपका कोड (एक ही परियोजना के भीतर है यानी आप के लिए उपयोग की अनुमति देना चाहते कोड के कुछ हिस्सों और दूसरों को नहीं)। हालांकि, यदि आपके पास अलग-अलग परियोजनाएं हैं जिनके लिए विभिन्न सुरक्षा स्तर की आवश्यकता है, तो डेवलपर्स को केवल कुछ परियोजनाओं तक कोड पहुंच प्राप्त करने की अनुमति देना संभव है, और उसके बाद एक सामान्य बिल्ड सर्वर से बिल्ड खींचें।

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

33

पहला तरीका प्रोग्रामर को केवल अन्य घटकों के इंटरफेस को जानने के लिए मजबूर करना है, ताकि प्रत्येक व्यक्ति केवल पूरे सॉफ़्टवेयर का एक छोटा सा हिस्सा चुरा सके। इस दृष्टिकोण को जूते के उत्पादन से उधार लिया जा सकता है। कर्मचारियों द्वारा चोरी को रोकने के लिए एक अंतर्राष्ट्रीय निगम ने अपनी कारखानों की व्यवस्था की ताकि प्रत्येक कारखाने में केवल बाएं या केवल सही जूते हों। आप अपने कोड के साथ ऐसा ही कर सकते हैं: कुछ प्रोग्रामर केवल अजीब संख्याओं के साथ लाइनें लिखते हैं, और अन्य - संख्याओं वाले भी; बशर्ते कि वे एक दूसरे के काम को नहीं देख सकें! इसे कभी-कभी "pair programming" के रूप में जाना जाता है।

कुछ संगठन कर्मचारियों को एक गैर प्रतिस्पर्धा समझौते पर हस्ताक्षर करने के लिए मजबूर करते हैं। यही वह समझौता है जो प्रोग्रामर को प्रतियोगियों के लिए काम करने से रोकता है। यह तकनीक नौकरी पोस्टिंग के साथ सबसे अच्छी तरह से मिलती है जैसे "समान क्षेत्र में 5 साल के अनुभव के साथ वरिष्ठ प्रोग्रामर की तलाश में"।

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

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

और हाँ, यह पोस्ट एक व्यंग्यात्मक मजाक है, जो किसी कोड-चोरी-रोकथाम उपायों के विचार की आलोचना करता है। क्षमा करें, इसे पोस्ट करने में मदद नहीं कर सका।

+1

+1! – PostMan

+0

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

15

आप किसी कर्मचारी द्वारा सशस्त्र से बिजली संयंत्र की रक्षा कैसे करते हैं? आप बॉक्सर को लड़ाई फेंकने से कैसे रोकते हैं? आप वेश्या को क्लैप वितरित करने से कैसे रोकते हैं?

आपकी चिंता, मान्य होने पर, वह केवल आपकी टीम के भीतर व्यक्तिगत ज़िम्मेदारी और उत्तरदायित्व द्वारा सही ढंग से संबोधित की जा सकती है। चोरी के खिलाफ कोड को सुरक्षित करने के लिए आपके द्वारा नियोजित कोई भी विकल्प संभवतः अच्छे से अधिक नुकसान करता है। यदि आपको लगता है कि एक टीम सदस्य भरोसेमंद नहीं है, तो उनसे छुटकारा पाएं।

+0

बहुत अच्छी तरह से डाल दिया। - –

1

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

लोग इस बारे में बहुत आलोचना करते हैं लेकिन ऐसा करने के वैध कारण हैं, यदि आप उन्हें अपने सभी स्रोत देते हैं तो आप पैर में खुद को शूटिंग करेंगे।

4

एसवीएन में अलग-अलग उपयोगकर्ताओं को अलग-अलग फ़ोल्डर्स को सीमित करने की क्षमता है, ताकि आप अपने कोड को पृथक पुस्तकालयों में विभाजित कर सकें, और केवल कुछ लोगों को पहुंच/लिखने की अनुमति दें।

इस के लिए फ़ाइल conf \ authz किया जा रहा है यहां नमूने

[aliases] 
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average 

[groups] 
# harry_and_sally = harry,sally 
# harry_sally_and_joe = harry,sally,&joe 

[/ 
# [/foo/bar] 
# harry = rw 
# &joe = r 
# * = 

# [repository:/baz/fuz] 
# @harry_and_sally = rw 
# * = r 

कुछ प्रलेखन पाया जा सकता है here

के तहत 'प्रति निर्देशिका अभिगम नियंत्रण'

1

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

तो, cherouvim क्या कहा, एक टीम है कि आप बस विश्वास नहीं कर सकते, लेकिन एक टीम अपने व्यापार के प्रमुख मूल्य है कि निर्माण के अलावा।

1

मॉड्यूल में अपने सॉफ़्टवेयर का विकास करें।

एक आम मॉड्यूल है कि वस्तुओं कि आगे और पीछे पारित, और उपयोगिता वर्गों है कि उन वस्तुओं पर कार्रवाई शामिल है।

ज्यादा अन्य मॉड्यूल के बारे में पता करने की जरूरत के बिना, उसके ऊपर प्रत्येक समूह का निर्माण मॉड्यूल है।

भी पूरे में मॉड्यूल के सभी के एकीकरण करना डेवलपरों में से एक पर भरोसा टीम क्या प्रत्येक मॉड्यूल में चला जाता है की योजना बना कर होना चाहिए तथा उस टीम है।

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

संबंधित मुद्दे