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

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

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

मान्यताओं

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

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

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

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

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

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

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

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

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

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

इसके अलावा, एक कुछ देर के लाइसेंस का चुनाव पूरी तरह हम पर आधारित नहीं है कि दिमाग में रखना चाहिए। उदाहरण के लिए, आप भारी अपने test.c कार्यक्रम में एक जीपीएल लाइसेंस पुस्तकालय का कोड का उपयोग लगता है। तब डिफ़ॉल्ट रूप से इस कार्यक्रम (test.c) व्युत्पन्न सॉफ्टवेयर के रूप में विचार किया जाएगा और आप अपने कार्यक्रम के लिए जीपीएल लाइसेंस का उपयोग करें और आप इतने और इतनी पुस्तकालय 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 लाइसेंस के तहत उनके सॉफ्टवेयर जारी करने के बाद पैसा बना दिया गया है, जहां।

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

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

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

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

मिलनसार बनो बांटो!