हाल ही में मैं किया गया है शोध में ओपन सोर्स लाइसेंस मुद्दों। मैं अनुसंधान करने के लिए शुरू करने से पहले मैं लिनक्स से अधिक 4 साल के लिए (एक खुला स्रोत ओएस) का उपयोग किया गया है, हालांकि मैं मुक्त स्रोत के सही अर्थ के बारे में बहुत कम पता था!

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

नाबालिग प्रमुख / - एक इंजीनियरिंग पृष्ठभूमि से आ रहा है, मैं बहुत ही बुनियादी के साथ शुरू और फिर मैं विवरण के सबसे समझने के लिए सुनिश्चित करें कि विषय पर बनाने के लिए पसंद है।

मान्यताओं

  1. मैं शब्द "कार्यक्रम" और दूसरे के स्थान पर "सॉफ्टवेयर" का प्रयोग करेंगे।
  2. मैं एक ओपन सोर्स ऑपरेटिंग सिस्टम (ओएस) को देखें, मैं आम तौर पर एक लिनक्स ओएस मतलब है।

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

ओपन सोर्स मैं जीपीएल लाइसेंस का उपयोग करने के लिए है कि क्या मतलब है?
किसी भांति भी नहीं। यदि आप अपने कार्यक्रम के लिए एक खुला स्रोत पता है कि एक बार (यदि आप एक कंपनी रहे हैं) यह अपनी रणनीति के आधार पर करने के लिए, आप एक उपयुक्त लाइसेंस तय करने के लिए, उपयोग और आप अपने प्रोग्राम लिखने के लिए इस्तेमाल किया है कि पुस्तकालयों (यदि हो) की जरूरत है। जीपीएल बस में से एक है कई प्रकार यह मुक्त स्रोत समुदाय में सबसे लोकप्रिय लाइसेंसों में से एक है, हालांकि, मुक्त स्रोत लाइसेंस की।

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

मैं मैं अपने कार्यक्रम (मुक्त स्रोत या बंद / स्वामित्व) को बेचने जब ​​स्रोत कोड जारी करने के लिए है?
असल में यह थोड़ा भ्रमित किया जा सकता है, तो मैं फिर से एक बहुत ही बुनियादी स्तर से शुरू कर देंगे।

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

यदि आप एक डेबियन या लिनक्स ओएस का उपयोग कर रहे हैं और आप चुनते हैं तो उदाहरण के लिए, vi या Emacs तरह एक संपादक का उपयोग सी भाषा में एक साधारण प्रोग्राम (test.c) लिख सकते हैं और यदि आप अपने जिसके परिणामस्वरूप द्विआधारी जीसीसी संकलक का उपयोग कर यह संकलन करने के लिए / कार्यक्रम (परीक्षण) मालिकाना सॉफ्टवेयर कहा जा सकता है और आप के रूप में लंबे समय के निम्न स्थितियों से मुलाकात कर रहे हैं के रूप में स्रोत कोड जारी करने के बिना जनता के लिए इसे बेच सकते हैं:

1. अपने कार्यक्रम सीधे जीपीएल लाइसेंस प्राप्त सॉफ्टवेयर / पुस्तकालय के किसी भी हिस्से को शामिल नहीं करता है।

2. अपने कार्यक्रम को किसी भी जीपीएल लाइसेंस प्राप्त आधारित सॉफ्टवेयर / पुस्तकालय से प्राप्त नहीं है।

बहरहाल, समय के इस मोड़ पर आप उदाहरण के लिए, जीपीएल के लिए की तरह किसी भी खुला स्रोत लाइसेंस अपनाकर अपने सॉफ्टवेयर खुला स्रोत बनाने के लिए तय कर सकते हैं। आप अपने test.c कार्यक्रम के लिए जीपीएल लाइसेंस का चयन करने के लिए तय मान लीजिए। अब आप अभी भी एक शुल्क / प्रभार के लिए अपने द्विआधारी बेच सकते हैं, लेकिन एक ही समय में आप बाइनरी फ़ाइल के साथ भी स्रोत कोड जारी किया है। यह मुक्त स्रोत कहा जाता है यही कारण है कि।

इसके अलावा, एक कुछ देर के लाइसेंस का चयन पूरी तरह हम पर आधारित नहीं है कि दिमाग में रखना चाहिए। उदाहरण के लिए, यदि आप भारी अपने test.c कार्यक्रम में एक जीपीएल लाइसेंस प्राप्त पुस्तकालय का कोड का उपयोग लगता है। तब डिफ़ॉल्ट रूप से इस कार्यक्रम (test.c) व्युत्पन्न सॉफ्टवेयर के रूप में विचार किया जाएगा और आप अपने कार्यक्रम के लिए GPL लाइसेंस का उपयोग करें और आप इतना और इतनी पुस्तकालय a.ka. से कोड का इस्तेमाल किया है स्वीकार करते हैं कि करने के लिए होगा जीपीएल के "वायरल प्रभाव"। आप अभी भी इस सॉफ्टवेयर (test.c) बेच सकते हैं, लेकिन अब आप के तहत जनता के लिए इसे वितरित करने के लिए तय अगर बाइनरी के साथ स्रोत कोड जारी करने के लिए बाध्य कर रहे हैं GPL लाइसेंस

मैं इसे फिर से विभाजित है और सिर्फ खुद के लिए या अपने संगठन के लिए इसे रखने का इरादा नहीं है तो क्या अब आप पूछ सकते हैं। मैं अब भी मैं एक जीपीएल आधारित पुस्तकालय से कोड का एक बहुत उपयोग के बाद से स्रोत कोड जारी करने के लिए है?
कोई सब पर इस मामले में, आप स्रोत कोड जारी करने के लिए बाध्य नहीं कर रहे हैं और आप आंतरिक रूप से अपने सॉफ्टवेयर (test.c) के साथ कुछ भी करने का फैसला।

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

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

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

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

इसलिए यह आप लाइसेंस के प्रकार का फैसला बहुत महत्वपूर्ण है कि आप अपनी रणनीति पर निर्भर करता है अपने कार्यक्रम में उपयोग करना चाहते हैं कि पुस्तकालय (उदाहरण के जीपीएल या LGPL के लिए कहते हैं)।

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

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

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

आप प्रश्न या सुझाव है कि अगर एक टिप्पणी छोड़ दें।

लंबे समय से इस रहने के लिए धन्यवाद!

मिलनसार होना, शेयर!