क्या इसका लाइसेंस इकाई परीक्षणों से कोई मतलब है?


12

मुझे आश्चर्य हो रहा है कि टेस्ट कोड पर लाइसेंस (या नहीं) का कोई लाभ / जोखिम है, जिसमें ज्यादातर यूनिट परीक्षण शामिल हैं। तुम क्या सोचते हो?

मैं विशेष रूप से (एल) जीपीएल, अपाचे, एमआईटी और बीएसडी के तहत लाइसेंस देने में दिलचस्पी रखता हूं।

EDIT : धारणा यह है कि गैर-परीक्षण कोड पहले से ही कुछ लाइसेंस के तहत प्रकाशित किया जाता है, लेकिन परीक्षण कोड नहीं है, इसलिए सवाल यह है कि क्या इसे प्रकाशित किया जाए और यदि ऐसा है तो उसी लाइसेंस को रखा जाए।


क्या परीक्षण को ऐसे तथ्य / डेटा नहीं माना जाएगा, जो कॉपीराइट या लाइसेंस के अधीन नहीं हैं? यह एक API कॉपी करने के लिए कानूनी है, और मैं यह भी सत्यापित करने के लिए कार्यान्वयन सही है कि एक ही परीक्षण का उपयोग करने के लिए कानूनी है लगता होगा?
एंडोलिथ

जवाबों:


10

मुझे आश्चर्य है कि किसी ने भी पहले से ही इसका उल्लेख नहीं किया है, लेकिन यदि आप अपने कोड के लिए लाइसेंस संलग्न नहीं करते हैं, चाहे वह उत्पाद या परीक्षण कोड हो, तो दूसरों के पास कोड पर कोई अधिकार नहीं है

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

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

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


15

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

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


9

आप कोड और परीक्षण अलग क्यों करते हैं?

मैं कोड और परीक्षण का एक बंडल पसंद करता हूं। और इस बंडल को एक ही लाइसेंस मिलना चाहिए।

यदि कोई व्यक्ति दो बार पैसा प्राप्त करना चाहता है, तो आप दो पैकेज बना सकते हैं - प्रत्येक एक लाइसेंस के साथ। मुफ्त सॉफ्टवेयर के लिए, मुझे दो पैकेजों का कोई कारण नहीं दिखता (जब तक कि यह एक आकार की समस्या नहीं है)।


6

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

  • यदि कोई आपके कोड का उपयोग करता है, तो वह परीक्षण चलाएगा

  • यदि कोई कोड को संशोधित करना चाहता है, तो उसे संभवतः कुछ परीक्षणों को भी संशोधित करना होगा


2

हालांकि, IANAL:

  1. यदि आप अपने कोड को GPL के तहत लाइसेंस दे रहे हैं, तो वास्तव में आपकी इकाई परीक्षण भी GPL हैं क्योंकि वे मुख्य कोड के बिना बहुत बेकार हैं
  2. यदि आप अपाचे / बीएसडी का उपयोग कर रहे हैं, तो 'अपने खुद के जोखिम पर' प्रावधान का उपयोग करें। मैं पूरी परियोजना के साथ एक लाइसेंस फ़ाइल को थप्पड़ मारूंगा और उपयोगकर्ता को यह पता लगाने दूंगा कि यह कोड या परीक्षण कोड है या नहीं।
  3. यदि आप एक वाणिज्यिक लाइसेंस का उपयोग करते हैं और कोड तक पहुंच सीमित करते हैं, तो आप अपने परीक्षणों को पहले स्थान पर क्यों प्रकाशित करेंगे? यदि आप निश्चित होना चाहते हैं, तो 'BY REPORT THE TEST CODE, आप यहां अपना सामान प्राप्त करने के लिए लाइसेंस प्राप्त करें' और लाइसेंस प्राप्त कर सकते हैं।

1

जीसीसी संकलक (ज्यादातर GPLv3 लाइसेंस प्राप्त) एक काफी व्यापक टेस्ट स्वीट है, जो स्रोत कोड के साथ वितरित किया जाता है है। (शायद कुछ परीक्षण फाइलें सार्वजनिक डोमेन में हैं, मुझे वास्तव में उनकी व्यक्तिगत स्थिति का पता नहीं है)।

आप अपने परीक्षण सूट को अपने उत्पाद से अलग से क्यों वितरित करना चाहेंगे?


0

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


0

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

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