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

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

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

मान्यताओं

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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