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

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

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

मान्यताओं

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

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

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

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

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

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

आप एक डेबियन या Ubuntu लिनक्स ओएस का उपयोग कर रहे हैं और आप चुनते हैं तो उदाहरण के लिए, छठे या 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 के लिए कहते हैं).

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

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

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

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

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

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