सॉफ्टवेर
विकिपीडिया, एक मुक्त ज्ञानकोष से
तकनीकी दृष्टि से सौफ्टवेयर के दो हिस्से होते हैं । (१) सोर्स कोड (source code); और (२) औबजेक्ट कोड (object code)| इन दोनों को समझने के लिये थोड़ा सौफ्टवेयर के इतिहास को जानना होगा|
सोर्स कोड: कम्पयूटर हम लोगो की भाषा नहीं समझते हैं| वे केवल हां या ना, अथवा 1 अथवा 0 की भाषा समझते हैं| हमारे लिये इस भाषा में प्रोग्राम लिखना बहुत मुश्किल है| पहले प्रोग्राम इसी तरह से लिखे जाते थे एक पंच-कार्ड होता था जिसे छेद किया जाता था कार्ड में छेद का मतलब हां और यदि छेद नहीं है तो मतलब ना|
जब कमप्यूटर विज्ञान का विकास हुआ तो ऊचें स्तर की कमप्यूटर भाषाओं (high level languages), जैसे कि बेसिक, कोबोल , सी ++ इत्यादि, का भी ईजाद किया गया| इन भाषाओं में ख़ास सुविधा यह है कि प्रोग्राम अंग्रेजी भाषा के शब्दों एवं वर्णमाला का प्रयोग करते हुये लिखा जा सकता है| जब इस तरह से प्रोग्राम लिख लिया जाता है तो उसे हम सोर्स कोड कहते हैं| अब इसे कमप्यूटर के समझने की भाषा में बदला जाता है|
औबजेक्ट कोड: ऊचें स्तर की कमप्यूटर भाषाओं में एक प्रोग्राम होता है जिसे कम्पाइलर (complier) कहते हैं| कम्पाइलर के द्वारा सोर्स कोड को जब कम्पाइल किया जाता है तो सोर्स कोड कम्पयूटर की भाषा, यानी 1 या 0 की भाषा में, बदल जाता है| इसको औबजेक्ट कोड या मशीन कोड भी कहते हैं| सौफ्टवेर कानून में बौद्धिक सम्पदा अधिकार के अन्दर सुरक्षित होता है|
[बदलें] सौफ्टवेर कैसे सुरक्षित होता है
ट्रिप्स में सात तरह के बौधिक सम्पदा अधिकार के बारे में चर्चा की गयी है इसमें तीन तरह के अधिकार, यानी की कॉपीराइट (Copyright), ट्रेड सीक्रेट (Trade Secret), तथा पेटेंट (Patent), कमप्यूटर सौफ्टवेर को प्रभावित करते हैं। सौफ्टवेर को पेटेंट कराने का मुद्दा विवादास्पद है तथा कुछ कठिन भी। इसकी चर्चा हम अलग से पेटेंट एवं कमप्यूटर सॉफ्टवेर के अन्दर करेंगे।
१. कॉपीराइट की तरह: 'सोर्स कोड और औबजेक्ट कोड' शीर्षक के अन्दर पर चर्चा की थी कि आजकल सोर्सकोड ऊचें स्तर की कमप्यूटर भाषाओं (high level languages) में अंग्रेजी भाषा के शब्दों एवं वर्णमाला का प्रयोग करते हुये लिखा जाता है| यह उस सौफ्टवेर के कार्य करने के तरीके को बताता है तथा यह एक तरह का वर्णन है यदि इसे प्रकाशित किया जाता है तो उस सौफ्टवेर के मालिक या जिसने उसे लिखा है उसका कौपीराइट होता है|
औबजेक्ट कोड कम्पयूटर को चलाता है और यह हमेशा प्रकाशित होता है परन्तु क्या यह किसी चीज का वर्णन है अथवा नहीं इस बारे में शक था| ट्रिप्स के समझौते के अन्दर यह कहा गया कि कमप्यूटर प्रोग्राम को कौपीराइट की तरह सुरक्षित किया जाय। इसलिये औबजेक्ट कोड हमारे देश में तथा संसार के देशों में इसी प्रकार से सुरक्षित किया गया है|
कमप्यूटर प्रोग्राम के औबजेक्ट कोड तो प्रकाशित होतें हैं पर सबके सोर्स कोड प्रकाशित नहीं किये जाते हैं| जिन कमप्यूटर प्रोग्राम के सोर्स कोड प्रकाशित किये जाते हैं उनमें तो वे कौपीराईट से सुरक्षित होते हैं। पर जिन कमप्यूटर प्रोग्राम के सोर्स कोड प्रकाशित नहीं किये जाते हैं वे ट्रेड सीक्रेट की तरह सुरक्षित होते हैं|
२. ट्रेड सीक्रेट की तरह: मालिकाना कमप्यूटर प्रोग्राम में समान्यत: सोर्स कोड प्रकाशित नहीं नही किया जाता है तथा वे सोर्स कोड को ट्रेड सीक्रेट की तरह ही सुरक्षित करते हैं| यह भी सोचने की बात है कि ये सोर्स कोड क्यों नही प्रकाशित करते हैं?
सोर्स कोड से औबजेक्ट कोड कम्पाईल करना आसान है; यह हमेशा किया जाता है और इसी तरह प्रोग्राम लिखा जाता है| पर इसका उलटा यानि कि औबजेक्ट कोड से सोर्स कोड मालुम करना असम्भ्व तो नहीं पर बहुत मुश्किल तथा महंगा और इस पर रिवर्स इन्जीनियरिंग का कानून भी लागू होता है| इसी लिये सोर्स कोड प्रकाशित नहीं किया जाता है सीक्रेट रख कर ज्यादा आसानी से सुरक्षित किया जा सकता है| रिवर्स इन्जीनियरिंग भी बड़ा मजेदार विषय है, इसके बारे पर फिर कभी|
३. पेटेन्ट की तरह: 'बौधिक सम्पदा अधिकार (Intellectual Property Rights)' शीर्षक में चर्चा हुई थी कि सौफ्टवेर को पेटेन्ट के द्वारा भी सुरक्षित करने के भी तरीके हैं कई मालिकाना साफटवेयर इस तरह से भी सुरक्षित हैं पर यह न केवल विवादास्पद हैं, पर कुछ कठिन भी हैं| इसके बारे में पेटेंट एवं कमप्यूटर सॉफ्टवेर लेख को देखें|
४. सविंदा कानून के द्वारा: सविंदा कानून(Contract Act) भी सौफ्टवेर की सुरक्षा में महत्वपूण भूमिका निभाता है| आप इस धोखे में न रहें कि आप कोई सौफ्टवेर खरीदते हैं| आप तो केवल उसको प्रयोग करने के लिये लाइसेंस लेते हैंl आप उसे किस तरह से प्रयोग कर सकते हैं यह उसकी शर्तों पर निर्भर करता है और यह सविंदा कानून के अन्दर आता है| लाइसेंस की शर्तें महत्वपूण हैं| यही किसी सौफ्टवेर को ओपेन सोर्स सौफ्टवेर भी बनाती हैं| इसके बारे में आगे चर्चा होगी|
ओपेन सोर्स सौफ्टवेर में सोर्स कोड हमेशा प्रकाशित होता है| इसके लिखने वाले इस पर अपना कौपीराइट का अधिकार जमाते हैं कि नहीं, यह लाइसेंसों की शर्तों पर निर्भर करेगा, जिनके अन्तर्गत इनको प्रकाशित किया जाता है। कुछ लोग इसे कॉपीलेफ्ट (Copyleft) कर रहें हैं। इसे फ्री सॉफ्टवेर या जीपीएल्ड सॉफ्टवेर (GPLed) भी कहा जाता है।