इस पोस्ट में हम Proprietary Software,Open Source Software or Source Code के बारे में जानेगे |
Proprietary Software
आमतौर पर जब कोई सॉफ्टवेयर डेवलप किया जाता है और उसे लॉन्च किया जाता है तो उस सॉफ्टवेयर के साथ उसका सोर्स कोड नहीं दिया जाता। सोर्स कोड डेवलपर के पास ही रहता है। एक यूजर के रूप में आप उस सॉफ्टवेयर के फंक्शंस और फीचर्स का उपयोग कर सकते हैं। आप यदि उस सॉफ्टवेयर में अपनी सुविधानुसार कोई परिवर्तन करना चाहें तो ऐसा नहीं कर सकते, क्योंकि उसके सोर्स कोड (source code) तक आपकी पहुंच नहीं होती। हर डेवलपमेंट कंपनी अपने सॉफ्टवेयर की आंतरिक संरचना, कोड्स आदि को सीक्रेट रखती है। सॉफ्टवेयर से संबंधित सभी अपग्रेड्स और डेवलपमेंट्स डेवलपर के द्वारा ही किए जा सकते हैं। ऐसे सॉफ्टवेयर proprietary software कहलाते हैं। इसे क्लोज्ड सोर्स भी कह सकते हैं।
Open Source Software
ओपन सोर्स सॉफ्टवेयर की श्रेणी में वैसे सॉफ्टवेयर्स आते हैं, जिनका सोर्स कोड उस सॉफ्टवेयर के साथ सबके लिए उपलब्ध होता है। जैसा कि इसके नाम से ही स्पष्ट है, सोर्स कोड सीक्रेट न होकर बाहरी दुनिया के लिए उपलब्ध होता है।
ओपन सोर्स सॉफ्टवेयर से अर्थ है डेवलपर जिसने किसी भी कंप्यूटर सॉफ्टवेयर का निर्माण किया है उसके सोर्स कोड को एक लाइसेंस के साथ सार्वजानिक तौर पर सभी को उस सॉफ्टवेयर को पढ़ने उसमे सुधार करने और किसी को भी किसी भी उद्देश्य के लिए उपलब्ध करवाने के अधिकार दे देता है और इंटरनेट पर बहुत सारे ऐसे सॉफ्टवेयर मौजूद है जो कि फ्री है जबकि कुछ तो इतने बेहतरीन होते है कि किसी पेड सॉफ्टवेयर के कार्यो को भी बड़ी आसानी से करते ।
ओपन सोर्स सॉफ्टवेयर इस बात की सुविधा देता है कि उसे मोडिफाई कर किसी अन्य ऑपरेटिंग सिस्टम और प्रोसेसर आर्किटेक्चर पर भी इंप्लिमेंट किया जा सके। इतना ही नहीं, ओपन सोर्स सॉफ्टवेयर को री-डिस्ट्रीब्यूट भी किया जा सकता है।ऐसे सॉफ्टवेयर को ओपन सोर्स डेफिनेशन के आधार पर एग्रीमेंट द्वारा लाइसेंस्ड किया जाता है। एग्रीमेंट के तहत जो प्रमुख बाते हैं, वे हैं-सोर्स कोड को एक्सेस करने की स्वतंत्रता, री-डिस्ट्रीब्यूट करने की सुविधा, सॉफ्टवेयर को मोडिफाई करने की स्वतंत्रता, ऑथरशिप इंटिग्रिटी आदि।
Open Source Software
ओपन सोर्स सॉफ्टवेयर के रूप में ऑपरेटिंग सिस्टम, सर्वर, प्रोग्रामिंग लैंग्वेज आदि कई प्रसिद्ध उदाहरण हैं। इन्हें इंटरनेट से नि:शुल्क डाउनलोड किया जा सकता है। प्रमुख उदाहरण हैं –
प्रोग्रामिंग लैंग्वेज : PHP
ऑपरेटिंग सिस्टम : LINUX, Symbian, open BSD, Free BSD
सर्वर : Apache, Tomcat web serverm Joomla
फाइल आरकाइवर : 7 zip, Peazip
ऑफिस सूट : openoffice.org
लाइनक्स ओपन सोर्स ऑपरेटिंग सिस्टम का एक प्रमुख उदाहरण है। यह ‘यूनिक्स लाइक’ ऑपरेटिंग सिस्टम है, जिसका सोर्स कोड फ्री उपलब्ध है। इसका डेवलपमेंट जीएनयू जनरल पब्लिक लाइसेंस के अंतर्गत किया गया था। इसके सोर्स कोड को न केवल परिवर्तित किया जा सकता है, बल्कि इसे री-डिस्ट्रीब्यूट भी कर सकते हैं। ओपन ऑफिस सूट ऑफिस सॉफ्टवेयर सूट के रूप में काफी प्रसिद्ध है और इसे आप इंटरनेट से नि:शुल्क डाउनलोड भी कर सकते हैं। यह कई लैंग्वेजों में उपलब्ध है। साथ ही अमूमन सभी प्रकार के कंप्यूटर पर काम कर सकता है। इसकी सहायता से वर्ड प्रोसेसिंग, स्प्रेडशीट, प्रजेंटेशन, डाटाबेस से संबंधित काम किए जा सकते हैं।
Comparison between Proprietary Software and Open Source Software
(प्रोप्रायटरी सॉफ्टवेयर और ओपन सोर्स सॉफ़्टवेयर के बीच तुलना)
Source Code
सॉफ्टवेयर के क्षेत्र में दो तरह के कोड्स होते है- सोर्स कोड और ऑब्जेक्ट कोड। जब किसी प्रोग्रामिंग लैंग्वेज जैसे सी, सी++, जावा आदि में कोई प्रोग्राम लिखा जाता है तो वह प्रोग्राम इंस्ट्रक्शन का समूह होता है, जो विशेष प्रकार के काम करने के लिए लिखा जाता है। प्रोग्राम इंस्ट्रक्शन, एक तरह से प्रोग्रामिंग लैंग्वेज में लिखा गया कोड ही तो होता है। इन्हीं कोड्स को सोर्स कोड कहा जाता है, लेकिन कंप्यूटर इन सोर्स कोड को (जो डेवलपर द्वारा विभिन्न प्रोग्रामिंग लैंग्वेजों में लिखा जाता है) समझ नहीं सकता।
सोर्स कोड ह्यूमन रीडेबल फॉरमेट में होता है, यानी हम और आप इसे समझ सकते हैं। लेकिन कंप्यूटर इन्हें नहीं समझ सकता कंप्यूटर इन इंस्ट्रक्शन को समझ सके, इसलिए कंपाइलर की सहायता से सोर्स कोड को ऑब्जेक्ट कोड में परिवर्तित किया जाता है। यह ऑब्जेक्ट कोड बाइट्स सिक्वेंस होता है, जो मनुष्य द्वारा नहीं पढ़ा जा सकता (0 और 1 के रूप में होने की वजह से)।
अब आप सोच रहे होंगे कि सॉफ्टवेयर के साथ सोर्स कोड उपलब्ध होने से भला क्या फायदा हो सकता है। यदि किसी सॉफ्टवेयर का सोर्स कोड भी उपलब्ध हो तो उसमें अपनी जरूरत के अनुसार परिवर्तन किया जा सकता है और आप चाहें तो नए फीचर्स भी जोड़ सकते हैं। अपनी जरूरत के अनुसार कोड में परिवर्तन कर सॉफ्टवेयर को इंप्रूव किया जा सकता है।