काम में एक समस्या का एक बेहतर समाधान मिला - क्या मुझे कोड स्निपेट ऑनलाइन पोस्ट करने से रोकना चाहिए?


18

मुझे लगता है कि हम में से अधिकांश, प्रोग्रामर, हर दिन की समस्याओं को हल करने के लिए स्टैक ओवरफ्लो का उपयोग करते थे: कुछ करने के लिए एक कुशल एल्गोरिथ्म के लिए देखा।

अब एक स्थिति की कल्पना करें: आपको हल करने में समस्या है। थोड़ा गुगली हुई, एक StackOverflow प्रश्न मिला, लेकिन आप अब तक के उत्तरों से वास्तव में संतुष्ट नहीं हैं। इसलिए आपको अपना स्वयं का अनुसंधान करना होगा: आपको इसे करने की आवश्यकता है क्योंकि आप इसे कंपनी के ऐप में चाहते हैं।

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

लेकिन प्रतीक्षा करें: कंपनी का सॉफ्टवेयर बंद स्रोत है, और आपने घड़ी पर इस पर काम किया है।

तो क्या इसका मतलब है कि मुझे अपने जीवन के बाकी हिस्सों में न तो काम पर और न ही घर पर इस सवाल का जवाब पोस्ट करना चाहिए, क्योंकि मैंने इसे काम पर हल किया है, और कंपनी उस कोड का मालिक है?


मुझे लगता है कि यह आप कंपनियों की नीति पर निर्भर करता है। मैं सुरक्षित पक्ष में रहने की अनुमति मांगूंगा।
MrSmith42

1
कंपनी के वकील से पूछें कि क्या वह इस एक छोटे से मामले में एक नन्हा अपवाद बना सकता है, और यदि वह हाँ कहता है, तो वह एक अच्छा पूर्व- वकील होगा। बाधाओं वह सिर्फ आपको बताएगा कि उसकी नौकरी और कंपनी के सर्वोत्तम हित में क्या है, जो "नहीं" है।
नील

1
@ MrSmith42 ज़रूर। लेकिन सच कहने के लिए मैं पहले से ही कई बार इसका दोषी हूं, और मैंने इसे संभावित परिणामों के बारे में सोचने के बिना किया, अब तक। और शायद, मैं इसके साथ अकेला नहीं हूं। इसलिए मैंने इसे यहाँ पूछा है ... या क्या सभी लोग विचारों को व्यक्त नहीं करते हैं या नियोजित करते समय ऑनलाइन कोई कोड सबमिट नहीं करते हैं? मुझे यकीन नही।
कालमर्सिस

5
एक चिंता का विषय यह हो सकता है कि यदि आपका समाधान / एल्गोरिथ्म आपकी कंपनी को प्रतिस्पर्धात्मक बढ़त देता है, तो इसे साझा करना आपकी कंपनी पर प्रभाव डाल सकता है।
31

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

जवाबों:


15

मालिकाना कंपनी की जानकारी उजागर करना कुछ ऐसा है जो आपको कभी नहीं करना चाहिए। स्टैक ओवरफ्लो पर अधिकांश कोड स्निपेट, हालांकि, उससे कहीं अधिक सांसारिक हैं। इस उदाहरण पर विचार करें :

public static unsafe void SwapX4(Byte[] Source)  
{  
    fixed (Byte* pSource = &Source[0])  
    {  
        Byte* bp = pSource;  
        Byte* bp_stop = bp + Source.Length;  

        while (bp < bp_stop)  
        {
            *(UInt32*)bp = (UInt32)(
                (*bp       << 24) |
                (*(bp + 1) << 16) |
                (*(bp + 2) <<  8) |
                (*(bp + 3)      ));
            bp += 4;  
        }  
    }  
}

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


यह इस विचार के साथ चलता है कि एक कंपनी का अपना एल्गोरिदम नहीं है?
डैनियल ग्रैज़र

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

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

7

मैं अक्सर समस्याओं और समाधानों को पोस्ट करता हूं, जो मैं कंपनी कोड * के साथ कंपनी के समय पर काम करता हूं। मैंने इस बारे में सीधे अपने प्रबंधक से बात की है, और उन्हें लगता है कि कंपनी को मेरे समय से प्राप्त होने वाले मूल्य से यहाँ सामान्य समय बिताने के बारे में कोई चिंता नहीं है।

* मुझे लगता है मैं मालिकाना हो सकता है कुछ भी करने के लिए सतर्क है। हमारा इन-हाउस कोड बहुत मालिकाना है, लेकिन मोटे तौर पर हमारे मालिकाना हार्डवेयर के बिना किसी के लिए बेकार होगा (जो हम नहीं बेचते हैं)।

मैं अपने सवालों और जवाबों के साथ-साथ खुद की मदद करने के साथ-साथ किसी और को सड़क पर भी देखता हूं, जब वे मेरे जैसी समस्याओं में भागते हैं।


1

यदि आपके पास यह संसाधन नहीं है तो आपके अतिरिक्त समय या खोए हुए समय के लिए आपकी कंपनी की लागत कितनी होगी?

जब तक कोई समझौता या मालिकाना जानकारी नहीं दी जाती है मुझे लगता है कि आपके द्वारा पोस्ट किए गए समाधान आपके द्वारा प्राप्त किए गए उत्तरों के लिए क्षतिपूर्ति हैं।


1

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

वैन लिंडबर्ग द्वारा एक महान पुस्तक इंटेलेक्चुअल प्रॉपर्टी और ओपन सोर्स है। पी से। 185:

[मालिकाना जानकारी "को परिभाषित करने पर [एक कंपनी] को खत्म करने के लिए कोई कानूनी प्रतिक्षेप नहीं हैं। कई राज्य पीआईए के आवेदन को सीमित करते हैं जब एक लेखक या आविष्कारक नए काम को बनाने के लिए कंपनी की संपत्ति या समय का उपयोग नहीं करता है ... भले ही राज्य द्वारा लगाए गए सीमाएं पीआईए का हिस्सा अमान्य हों, समझौते के अन्य पहलू आम तौर पर जीवित रहते हैं।

अपना अनुबंध पढ़ें। कार्य करने से पहले अपने नियोक्ता को अपने इरादे प्रकट करें। फिर अपने नियोक्ता को अपने कार्यों का खुलासा करें। लिखित में इन बातों का खुलासा करें और लिखित रूप में लागू होने पर उनकी प्रतिक्रिया / अनुमति प्राप्त करें। कम से कम उस किताब में तो यही कहा गया है।

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


0

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

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

यही कारण है कि मैं सावधानी बरतने के पक्ष में होगा।

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