फ्री सॉफ्टवेयर विचारधारा और जीएनयू परियोजना: वर्तमान स्थिति और तत्काल चुनौतियां।

फीस आय

मॉड्यूल में लुआ त्रुटि: विकिडेटा ऑन लाइन 170: "विकीबेस" फ़ील्ड को अनुक्रमित करने का प्रयास (एक शून्य मान)।

दान

मॉड्यूल में लुआ त्रुटि: विकिडेटा ऑन लाइन 170: "विकीबेस" फ़ील्ड को अनुक्रमित करने का प्रयास (एक शून्य मान)।

स्वयंसेवकों की संख्या

मॉड्यूल में लुआ त्रुटि: विकिडेटा ऑन लाइन 170: "विकीबेस" फ़ील्ड को अनुक्रमित करने का प्रयास (एक शून्य मान)।

कर्मचारियों की संख्या

मॉड्यूल में लुआ त्रुटि: विकिडेटा ऑन लाइन 170: "विकीबेस" फ़ील्ड को अनुक्रमित करने का प्रयास (एक शून्य मान)।

सदस्यों की संख्या

मॉड्यूल में लुआ त्रुटि: विकिडेटा ऑन लाइन 170: "विकीबेस" फ़ील्ड को अनुक्रमित करने का प्रयास (एक शून्य मान)।

सहायक कंपनियों

मॉड्यूल में लुआ त्रुटि: विकिडेटा ऑन लाइन 170: "विकीबेस" फ़ील्ड को अनुक्रमित करने का प्रयास (एक शून्य मान)।

अपना

मॉड्यूल में लुआ त्रुटि: विकिडेटा ऑन लाइन 170: "विकीबेस" फ़ील्ड को अनुक्रमित करने का प्रयास (एक शून्य मान)।

TAGLINE

मॉड्यूल में लुआ त्रुटि: विकिडेटा ऑन लाइन 170: "विकीबेस" फ़ील्ड को अनुक्रमित करने का प्रयास (एक शून्य मान)।

वेबसाइट

मॉड्यूल में लुआ त्रुटि: विकिडेटा ऑन लाइन 170: "विकीबेस" फ़ील्ड को अनुक्रमित करने का प्रयास (एक शून्य मान)।

परिसमापन तिथि

मॉड्यूल में लुआ त्रुटि: विकिडेटा ऑन लाइन 170: "विकीबेस" फ़ील्ड को अनुक्रमित करने का प्रयास (एक शून्य मान)।

जीएनयू परियोजना के वर्तमान कार्य में सॉफ्टवेयर विकास, जागरूकता बढ़ाना, राजनीतिक अभियान और नई सामग्री का वितरण शामिल है।

परियोजना की उत्पत्ति

जब परियोजना पहली बार शुरू हुई, तो उन्होंने...

  • एक क्षुद्रग्रह का नाम GNU प्रोजेक्ट - (9965) GNU के नाम पर रखा गया है।

यह सभी देखें

"जीएनयू परियोजना" पर एक समीक्षा लिखें

टिप्पणियाँ

लिंक

  • (अंग्रेज़ी) - जीएनयू परियोजना की आधिकारिक साइट

जीएनयू परियोजना की विशेषता का एक अंश

- झूठ, हत्या, विश्वासघात ... क्या आपके पास ऐसे शब्द नहीं हैं? ..
- बहुत समय पहले की बात है ... अब किसी को याद नहीं है। केवल मैं। लेकिन हम जानते हैं कि वह क्या था। यह हमारी "प्राचीन स्मृति" में कभी न भूलने के लिए अंतर्निहित है। क्या तुम वहाँ से आए हो जहाँ से बुराई रहती है?
मैंने उदास होकर सिर हिलाया। मुझे अपनी जन्मभूमि के लिए बहुत खेद था, और इस तथ्य के लिए कि उस पर जीवन इतना बेतहाशा अपूर्ण था कि इसने मुझे ऐसे प्रश्न पूछने पर मजबूर कर दिया ... मैं इस घर को पूरे दिल से प्यार करता था, और बहुत बार सपना देखता था कि किसी दिन ऐसा अद्भुत दिन आएगा जब:
एक व्यक्ति खुशी से मुस्कुराएगा, यह जानकर कि लोग उसे केवल अच्छा ही ला सकते हैं ...
जब एक अकेली लड़की शाम को सबसे अंधेरी गली में चलने से नहीं डरती, इस डर से नहीं कि कोई उसे ठेस पहुँचाएगा ...
जब आप अपने दिल को खुशी से खोल सकते हैं, इस डर के बिना कि आपका सबसे अच्छा दोस्त आपको धोखा देगा...
जब सड़क पर कुछ बहुत महंगा छोड़ना संभव होगा, इस डर से नहीं कि अगर आप दूर हो गए - और यह तुरंत चोरी हो जाएगा ...
और मैंने पूरे दिल से विश्वास किया कि कहीं न कहीं ऐसी अद्भुत दुनिया मौजूद है, जहाँ कोई बुराई और भय नहीं है, लेकिन जीवन और सुंदरता का एक सरल आनंद है ... इस बारे में कम से कम कुछ सीखने का थोड़ा सा अवसर इस्तेमाल किया कि कैसे इसे नष्ट करना संभव है, इतना दृढ़ और इतना अविनाशी, हमारी सांसारिक बुराई ... और एक और बात - ताकि कहीं किसी को यह बताने में कभी शर्म न आए कि मैं एक इंसान हूं...
बेशक ये बचपन के भोले-भाले सपने थे... लेकिन तब मैं अभी बच्चा ही था।
- मेरा नाम एटिस, स्वेतलाना मैन है। मैं यहाँ शुरू से रहता हूँ, मैंने बुराई देखी है... बहुत सारी बुराई...
- और तुमने उससे कैसे छुटकारा पाया, बुद्धिमान हटिस?! क्या किसी ने आपकी मदद की? .. - मैंने उम्मीद से पूछा। - क्या आप हमारी मदद कर सकते हैं? .. कम से कम सलाह दें?
- हमें कारण मिल गया... और उसे मार डाला। लेकिन आपकी बुराई हमारे नियंत्रण से बाहर है। यह अलग है... बिल्कुल दूसरों और आप की तरह। और हमेशा किसी और की भलाई आपके लिए अच्छी नहीं हो सकती है। आपको अपनी वजह खुद ढूंढनी होगी। और इसे नष्ट कर दो, - उसने धीरे से मेरे सिर पर हाथ रखा और एक अद्भुत शांति मुझमें प्रवाहित हो गई ... - विदाई, मानव स्वेतलाना ... आपको अपने प्रश्न का उत्तर मिल जाएगा। आपको आराम...
मैं गहरे विचार में खड़ा था, और इस तथ्य पर ध्यान नहीं दिया कि मेरे आसपास की वास्तविकता बहुत पहले बदल गई थी, और एक अजीब, पारदर्शी शहर के बजाय, हम अब कुछ असामान्य पर घने बैंगनी "पानी" पर "तैरते" हैं, सपाट और पारदर्शी उपकरण, जिसमें कोई हैंडल नहीं था, कोई चप्पू नहीं था - कुछ भी नहीं, जैसे कि हम एक बड़े, पतले, चलते हुए पारदर्शी कांच पर खड़े हों। हालांकि कोई हलचल या पिचिंग बिल्कुल भी महसूस नहीं हुई। यह आश्चर्यजनक रूप से सुचारू रूप से और शांति से सतह पर फिसला, जिससे आप भूल गए कि यह बिल्कुल भी घूम रहा था ...
- यह क्या है?.. हम कहाँ नौकायन कर रहे हैं? मैंने आश्चर्य से पूछा।
"अपने छोटे दोस्त को लेने के लिए," वेया ने शांति से उत्तर दिया।
- पर कैसे?!। वह नहीं कर सकती...
- सक्षम हो जाएगा। उसके पास आपके जैसा ही क्रिस्टल है, जवाब था। - हम उससे "पुल" पर मिलेंगे, - और कुछ और बताए बिना, उसने जल्द ही हमारी अजीब "नाव" को रोक दिया।
अब हम पहले से ही रात की दीवार के रूप में किसी तरह के शानदार "पॉलिश" काले रंग के पैर में थे, जो कि हर चीज से तेज और चमकदार था, और कृत्रिम रूप से निर्मित और विदेशी लग रहा था। अचानक, दीवार "अलग हो गई", जैसे कि उस जगह में घने कोहरे थे, और एक सुनहरे "कोकून" में दिखाई दिया ... स्टेला। ताजा और स्वस्थ, मानो वह अभी-अभी एक सुखद सैर के लिए गई हो ... और, निश्चित रूप से, जो कुछ हो रहा था, उससे वह बेतहाशा प्रसन्न थी ... जब उसने मुझे देखा, तो उसका सुंदर चेहरा खुशी से चमक उठा और आदत से बाहर, वह तुरंत गपशप:
- क्या तुम भी यहाँ हो?!... ओह, कितना अच्छा!!! और मैं बहुत चिंतित था! .. बहुत चिंतित! .. मुझे लगा कि आपको कुछ हुआ होगा। लेकिन तुम यहाँ कैसे पहुँचे? .. - बच्चा मुझे घूर कर देखता रहा।

मुख्य मानक

UNIX की आपूर्ति कंप्यूटर निर्माताओं द्वारा की जाती है

गाड़ी ऑपरेटिंग सिस्टम "मूल"
सूर्य 1,2,10,... सनोस 4.1.2 बीएसडी 4.3
सूर्य 10,20,1000 सनोस 5.5 एसवीआर4.0
आईबीएम आरएस/6000 ऐक्स एसवी 3.2
एचपी अपोलो 900 एचपी/यूएक्स 10 बीएसडी 4.2 और एसवी 3.2
सिलसिलेवार डायनिक्स दप 4.0
मोटोरोला 922 एसवीआर4/88 एसवीआर4.0
बेस्टा-88 बेस्टिक्स एसवी 3.1
दिसम्बर अल्ट्रिक्स बीएसडी 4.2
डीईसी अल्फा AXP ओएसएफ/1 बीएसडी 4.3
SGCS सिलिकॉन ग्राफिक आईआरआईएक्स 6.0

एक प्लेटफ़ॉर्म चुनने पर, हम स्वतः ही इसके साथ "स्वयं का" UNIX प्राप्त कर लेते हैं। शायद, उपयोगकर्ता और व्यवस्थापक वातावरण की सुविधा और अखंडता के दृष्टिकोण से, उनमें से सबसे सुखद AIX है। और सबसे आम सोलारिस 2.5 (बेशक) है।

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

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

इस समस्या को दूर करने के लिए, यूनिक्स को मानकीकृत करने के कई प्रयास किए गए।

सिस्टम V और बर्कले के लिए विकसित API (प्रोग्रामिंग इंटरफ़ेस) के संस्करणों को मानकीकृत करने का पहला गंभीर प्रयास 1983 में /usr/group नामक एक पहल समूह द्वारा किया गया था। हालाँकि, जैसे-जैसे ऑपरेटिंग सिस्टम के संस्करणों की संख्या बढ़ती गई, मानक की प्रभावशीलता कम होती गई और एक साल बाद, 1985 में, POSIX (कंप्यूटिंग पर्यावरण के लिए पोर्टेबल ऑपरेटिंग सिस्टम इंटरफ़ेस) मानक बनाया गया।



1988 में, POSIX 1003.1-1988 मानक विकसित किया गया था, जिसने एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस को परिभाषित किया था। इस मानक को गैर-यूनिक्स आर्किटेक्चर सहित कई ऑपरेटिंग सिस्टमों में व्यापक रूप से लागू किया गया है। दो साल बाद, मानक को आईईईई (इलेक्ट्रिकल और इलेक्ट्रॉनिक इंजीनियर्स संस्थान, अभी भी मौजूदा) आईईईई 1003.1-1990 मानक के रूप में अपनाया गया था। मानक केवल इंटरफ़ेस को परिभाषित करता है, और ई विशिष्ट संगठन, इसलिए यह सिस्टम कॉल और लाइब्रेरी फ़ंक्शंस के बीच अंतर नहीं करता है, सभी API तत्वों को केवल फ़ंक्शन कहते हैं।

बाद के सभी यूनिक्स मानकों में POSIX शामिल है, और यूनिक्स के सभी बाद के संस्करण इस मानक का पालन करते हैं। बाद में यूनिक्स कर्नेल में दिखाई देने वाला एकमात्र बड़ा जोड़ सॉकेट था, जो बीएसडी से आया था।

एक गैर-लाभकारी संगठन - एक्स / ओपन कंसोर्टियम (बाद में ओपन ग्रुप), जिसे कई यूरोपीय कंपनियों द्वारा 1984 में बनाया गया था, ने ऑपरेटिंग सिस्टम इंटरफेस के एक सामान्य सेट का विकास किया, जो विभिन्न निर्माताओं के बीच सहमत था, और वास्तव में ओपन का निर्माण ऐसी प्रणालियाँ जिनके लिए अनुप्रयोग सुवाह्यता की लागत न्यूनतम होगी।

1992 में, X/OpenPortability Guide संस्करण 3 (XPG3) के रूप में जाना जाने वाला एक दस्तावेज़ दिखाई दिया, जिसमें POSIX 1003.1-1988 और मैसाचुसेट्स इंस्टीट्यूट ऑफ टेक्नोलॉजी (यूएसए) में विकसित X विंडोज सिस्टम ग्राफिक्स सिस्टम के लिए मानक शामिल था। 1994 में - XPG4.2।

1996 में, एक्स / ओपन और ओएसएफ के मिलन ने द ओपन ग्रुप कंसोर्टियम का निर्माण किया, जिसने ओपन सिस्टम के क्षेत्र में विकास जारी रखा, उदाहरण के लिए, कॉमन डेस्कटॉप एनवायरनमेंट यूजर इंटरफेस का और विकास, डिस्ट्रीब्यूटेड कंप्यूटिंग एनवायरनमेंट के लिए इंटरफेस। - डीसीई, आदि।

(अमेरिकी राष्ट्रीय मानक संस्थान)

1989 में, अमेरिकी राष्ट्रीय मानक संस्थान ने C प्रोग्रामिंग भाषा के लिए X3.159-1989 मानक को मंजूरी दी। मानक मानक पुस्तकालय के वाक्य रचना, शब्दार्थ और सामग्री को परिभाषित करता है।

GNU डेवलपर्स का एक संघ है जो हर तरह का मुफ्त सॉफ्टवेयर बनाता है।

जीएनयू एक ऐसा प्रोजेक्ट है जिसने ओपन सोर्स रणनीति के हिस्से के रूप में बहुत सारे मुफ्त सॉफ्टवेयर बनाए हैं।

साथ ही, ये प्रोग्राम फाइलों के साथ काम करने से लेकर वर्ड प्रोसेसिंग तक सब कुछ कर सकते हैं, और जीसीसी कंपाइलर (जीएनयू सी) सबसे विश्वसनीय और कुशल यूनिक्स कंपाइलरों में से एक है। यह लगभग किसी भी यूनिक्स जैसे ऑपरेटिंग सिस्टम को मुफ्त सॉफ्टवेयर से लैस करना संभव बनाता है।

जीएनयू/लिनक्स क्या है?

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

"संक्षिप्त नाम GNU का अर्थ है" GNU UNIX नहीं है "(GNU - UNIX नहीं)। GNU प्रणाली के विकास के पीछे मुख्य विचार इसका है पूर्ण अंतरयूनिक्स से। UNIX हमेशा से मालिकाना सॉफ्टवेयर रहा है और बना हुआ है, जिसका अर्थ है कि यह अपने उपयोगकर्ताओं को सहयोग करने के साथ-साथ उनके कंप्यूटरों को नियंत्रित करने की स्वतंत्रता से वंचित करता है। एक ऐसा समुदाय बनने के लिए जो अपने कंप्यूटरों का स्वतंत्र रूप से उपयोग करता है, हमें एक मुफ्त ऑपरेटिंग सिस्टम की आवश्यकता थी। हमारे पास किसी भी मौजूदा सिस्टम को मुफ्त में खरीदने और बनाने के लिए पर्याप्त पैसा नहीं था, लेकिन हमारे पास एक नया सिस्टम बनाने के लिए पर्याप्त ज्ञान और कौशल था। जीएनयू का निर्माण एक बड़ा उपक्रम था। हमने इसे अपनी आजादी के नाम पर बनाया है और आपकी भी।"

1985 में, आर. स्टॉलमैन ने अपना प्रसिद्ध जीएनयू मेनिफेस्टो लिखा (यह मार्च 1985 के डॉ. डोब जर्नल के अंक में प्रकाशित हुआ था) और फ्री सॉफ्टवेयर फाउंडेशन (एफएसएफ) की स्थापना की - मुफ्त सॉफ्टवेयर के विकास के लिए एक धर्मार्थ नींव। Emacs टेप का वितरण , और बाद में अन्य मुफ्त सॉफ्टवेयर (जीएनयू परियोजना से और इसके बाहर दोनों) वितरित करने और उनके मैनुअल बेचने पर, जिसने जीएनयू परियोजना के विकास के लिए धन उपलब्ध कराया। एफएसएफ ने दान स्वीकार किया, लेकिन अधिकांश राजस्व हमेशा प्रतियां बेचने से आया है मुफ्त सॉफ्टवेयर और संबंधित सेवाओं की।

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

किसी भी उद्देश्य से कार्यक्रम चलाने का अधिकार (स्वतंत्रता 0)

· कार्यक्रम की संरचना का अध्ययन करने और इसे अपनी आवश्यकताओं (स्वतंत्रता 1) के अनुकूल बनाने का अधिकार, जिसमें कार्यक्रम के स्रोत कोड तक पहुंच शामिल है।

· दूसरों की मदद करने में सक्षम होने के साथ-साथ कार्यक्रम को वितरित करने का अधिकार (स्वतंत्रता 2)।

· पूरे समुदाय (स्वतंत्रता 3) के लाभ के लिए कार्यक्रम में सुधार और सुधार प्रकाशित करने का अधिकार, जिसमें कार्यक्रम के स्रोत कोड तक पहुंच भी शामिल है।

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

GPL का मुख्य उद्देश्य मुफ्त सॉफ्टवेयर को "निजीकरण" से बचाना है। लेकिन यह ध्यान दिया जाना चाहिए कि इसे इस तरह से डिजाइन किया गया है कि मुफ्त सॉफ्टवेयर से पैसे कमाने के सभी "निष्पक्ष" तरीकों की अनुमति दी जा सके। यह एक बहुत ही महत्वपूर्ण बिंदु है जिस पर विशेष ध्यान देने की आवश्यकता है। जब पहली बार GPL से परिचित कराया गया, तो यह गलत समझा जा सकता है कि यह लाइसेंस आम तौर पर सॉफ़्टवेयर या इसके विकास से पैसे कमाने के किसी भी तरीके को प्रतिबंधित करता है। वास्तव में, विशेष रूप से जीपीएल, और सामान्य रूप से एफएसएफ, संबंधित सेवाओं के प्रावधान से जुड़े व्यवसाय को सीधे प्रोत्साहित करते हैं - सॉफ्टवेयर का प्रशिक्षण, परामर्श और व्यावसायिक प्रतिकृति। इससे निगमों और लोगों दोनों के सहयोग को आकर्षित करना संभव हो जाता है जिनके लिए नैतिक प्रोत्साहन से भौतिक हित अधिक महत्वपूर्ण है।

मूल रूप से पुस्तक में प्रकाशित खुला स्रोत. रिचर्ड स्टॉलमैन थे, लेकिन उन्होंने इस लेख में योगदान दिया ताकि मुफ्त सॉफ्टवेयर आंदोलन के विचार उस पुस्तक से पूरी तरह से अनुपस्थित न हों।

पहला सॉफ्टवेयर-साझाकरण समुदाय

जब मैंने 1971 में MIT आर्टिफिशियल इंटेलिजेंस लैब में काम करना शुरू किया, तो मैं एक सॉफ्टवेयर-साझाकरण समुदाय का हिस्सा बन गया, जो कई वर्षों से मौजूद था। सॉफ्टवेयर को साझा करना हमारे विशेष समुदाय तक सीमित नहीं था; यह कंप्यूटर जितना पुराना है, वैसे ही व्यंजनों को साझा करना खाना पकाने जितना ही पुराना है। लेकिन हमने इसे सबसे ज्यादा किया।

एआई लैब ने आईटीएस (इनकम्पैटिबल टाइम्सशेयरिंग सिस्टम) नामक एक टाइमशेयरिंग ऑपरेटिंग सिस्टम का इस्तेमाल किया, जिसे लैब के स्टाफ हैकर्स (1) ने डिजिटल पीडीपी -10 के लिए असेंबलर भाषा में डिजाइन और लिखा था, जो उस समय के बड़े कंप्यूटरों में से एक था। इस समुदाय का एक सदस्य, एक एआई लैब स्टाफ सिस्टम हैकर, मेरा काम इस प्रणाली को सुधारना था।

हमने अपने सॉफ़्टवेयर को "मुफ्त सॉफ़्टवेयर" नहीं कहा, क्योंकि वह शब्द अभी तक मौजूद नहीं था; लेकिन यह वही था। जब भी किसी अन्य विश्वविद्यालय या कंपनी के लोग किसी कार्यक्रम को पोर्ट और उपयोग करना चाहते थे, तो हम खुशी-खुशी उन्हें अनुमति देते थे। यदि आपने किसी को अपरिचित और दिलचस्प कार्यक्रम का उपयोग करते हुए देखा है, तो आप हमेशा स्रोत कोड देखने के लिए कह सकते हैं, ताकि आप इसे पढ़ सकें, इसे बदल सकें, या एक नया कार्यक्रम बनाने के लिए इसके कुछ हिस्सों को नरभक्षी बना सकें।

(1) "हैकर" का अर्थ "सुरक्षा ब्रेकर" के लिए मास मीडिया की ओर से एक भ्रम है। हम हैकर्स उस अर्थ को पहचानने से इनकार करते हैं, और इस शब्द का उपयोग किसी ऐसे व्यक्ति के लिए करना जारी रखते हैं जो प्रोग्राम करना पसंद करता है, कोई ऐसा व्यक्ति जो चंचल चतुराई का आनंद लेता है, या दोनों का संयोजन। हैकिंग पर मेरा लेख देखें।

समुदाय का पतन

1980 के दशक की शुरुआत में स्थिति में काफी बदलाव आया जब डिजिटल ने पीडीपी -10 श्रृंखला को बंद कर दिया। 60 के दशक में इसकी वास्तुकला, सुरुचिपूर्ण और शक्तिशाली, स्वाभाविक रूप से बड़े पते वाले स्थानों तक विस्तारित नहीं हो सकती थी जो 80 के दशक में संभव हो रहे थे। इसका मतलब था कि आईटीएस की रचना करने वाले लगभग सभी कार्यक्रम अप्रचलित थे।

एआई लैब हैकर समुदाय बहुत पहले ही ध्वस्त हो चुका था। 1981 में, स्पिन-ऑफ कंपनी Symbolics ने AI लैब से लगभग सभी हैकर्स को काम पर रख लिया था, और वंचित समुदाय खुद को बनाए रखने में असमर्थ था। (पुस्तक हैकर्स, स्टीव लेवी द्वारा, इन घटनाओं का वर्णन करती है, साथ ही साथ इस समुदाय की एक स्पष्ट तस्वीर अपने प्रमुख में दे रही है।) जब एआई लैब ने 1982 में एक नया पीडीपी -10 खरीदा, तो इसके प्रशासकों ने डिजिटल के गैर-मुक्त का उपयोग करने का निर्णय लिया। ITS के बजाय टाइमशेयरिंग सिस्टम।

युग के आधुनिक कंप्यूटर, जैसे कि VAX या 68020, के अपने स्वयं के ऑपरेटिंग सिस्टम थे, लेकिन उनमें से कोई भी मुफ्त सॉफ़्टवेयर नहीं था: निष्पादन योग्य प्रतिलिपि प्राप्त करने के लिए भी आपको एक गैर-प्रकटीकरण समझौते पर हस्ताक्षर करना पड़ता था।

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

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

जब सॉफ़्टवेयर प्रकाशक अपने "अधिकारों" को "लागू करने" या "चोरी रोकने" के बारे में बात करते हैं, तो वे वास्तव में क्या करते हैं कहोमाध्यमिक है। इन बयानों का असली संदेश उन अघोषित धारणाओं में है, जिन्हें वे मान लेते हैं, जिन्हें जनता बिना जांचे-परखे स्वीकार करने के लिए कहती है। इसलिए आइए उनकी जांच करें।

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

एक और अघोषित धारणा यह है कि सॉफ्टवेयर के बारे में एकमात्र महत्वपूर्ण बात यह है कि यह आपको कौन से काम करने की अनुमति देता है - कि हम कंप्यूटर उपयोगकर्ताओं को इस बात की परवाह नहीं करनी चाहिए कि हमें किस तरह का समाज रखने की अनुमति है।

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

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

एक कठोर नैतिक विकल्प

मेरे समुदाय के चले जाने से, पहले की तरह जारी रखना असंभव था। इसके बजाय, मुझे एक कठोर नैतिक विकल्प का सामना करना पड़ा।

आसान विकल्प था मालिकाना सॉफ्टवेयर की दुनिया में शामिल होना, गैर-प्रकटीकरण समझौतों पर हस्ताक्षर करना और अपने साथी हैकर की मदद न करने का वादा करना। सबसे अधिक संभावना है कि मैं सॉफ्टवेयर भी विकसित कर रहा हूं जो गैर-प्रकटीकरण समझौतों के तहत जारी किया गया था, इस प्रकार अन्य लोगों पर अपने साथियों को भी धोखा देने का दबाव बढ़ रहा था।

मैं इस तरह से पैसा कमा सकता था, और शायद खुद को कोड लिखकर खुश कर सकता था। लेकिन मुझे पता था कि अपने करियर के अंत में, मैं लोगों को विभाजित करने के लिए दीवारों के निर्माण के वर्षों को देखूंगा, और महसूस करूंगा कि मैंने अपना जीवन दुनिया को एक बदतर जगह बनाने में बिताया है।

जब किसी ने मुझे और एमआईटी एआई लैब को हमारे प्रिंटर के नियंत्रण कार्यक्रम के लिए स्रोत कोड देने से इनकार कर दिया, तो मुझे पहले से ही एक गैर-प्रकटीकरण समझौते के प्राप्त होने का अनुभव हुआ था। (इस कार्यक्रम में कुछ विशेषताओं की कमी ने प्रिंटर के उपयोग को बेहद निराशाजनक बना दिया।) इसलिए मैं खुद को यह नहीं बता सका कि गैर-प्रकटीकरण समझौते निर्दोष थे। मुझे बहुत गुस्सा आया जब उसने हमारे साथ साझा करने से इनकार कर दिया; मैं पलट कर सबके साथ ऐसा ही नहीं कर सकता था।

एक और विकल्प, सीधा लेकिन अप्रिय, कंप्यूटर क्षेत्र को छोड़ना था। इस तरह मेरे कौशल का दुरुपयोग नहीं होगा, लेकिन वे फिर भी बर्बाद हो जाएंगे। मैं कंप्यूटर उपयोगकर्ताओं को विभाजित करने और प्रतिबंधित करने के लिए दोषी नहीं होगा, लेकिन फिर भी ऐसा होगा।

इसलिए मैंने एक रास्ता खोजा कि एक प्रोग्रामर अच्छे के लिए कुछ कर सके। मैंने अपने आप से पूछा, क्या कोई कार्यक्रम या कार्यक्रम था जिसे मैं लिख सकता था, ताकि एक बार फिर से एक समुदाय को संभव बनाया जा सके?

उत्तर स्पष्ट था: सबसे पहले एक ऑपरेटिंग सिस्टम की जरूरत थी। कंप्यूटर का उपयोग शुरू करने के लिए यह महत्वपूर्ण सॉफ्टवेयर है। एक ऑपरेटिंग सिस्टम के साथ, आप कई काम कर सकते हैं; एक के बिना, आप कंप्यूटर को बिल्कुल भी नहीं चला सकते। एक मुफ़्त ऑपरेटिंग सिस्टम के साथ, हमारे पास फिर से हैकर्स का सहयोग करने वाला एक समुदाय हो सकता है—और किसी को भी इसमें शामिल होने के लिए आमंत्रित कर सकते हैं। और कोई भी अपने दोस्तों को वंचित करने की साजिश रचकर शुरू किए बिना कंप्यूटर का उपयोग करने में सक्षम होगा।

एक ऑपरेटिंग सिस्टम डेवलपर के रूप में, मेरे पास इस नौकरी के लिए सही कौशल था। इसलिए भले ही मैं सफलता को हल्के में नहीं ले सकता था, मुझे एहसास हुआ कि मुझे यह काम करने के लिए चुना गया है। मैंने सिस्टम को यूनिक्स के साथ संगत बनाने के लिए चुना ताकि यह पोर्टेबल हो, और ताकि यूनिक्स उपयोगकर्ता आसानी से इसमें स्विच कर सकें। एक हैकर परंपरा का पालन करते हुए जीएनयू नाम को "जीएनयू" नॉट यूनिक्स के लिए एक पुनरावर्ती संक्षिप्त नाम के रूप में चुना गया था। यह एक कठिन जी के साथ एक शब्दांश के रूप में उच्चारित किया जाता है।

एक ऑपरेटिंग सिस्टम का मतलब सिर्फ एक कर्नेल नहीं है, अन्य प्रोग्राम चलाने के लिए मुश्किल से पर्याप्त है। 1970 के दशक में, नाम के योग्य प्रत्येक ऑपरेटिंग सिस्टम में कमांड प्रोसेसर, असेंबलर, कंपाइलर, दुभाषिए, डिबगर्स, टेक्स्ट एडिटर, मेलर्स और बहुत कुछ शामिल थे। ITS के पास थे, Multics के पास थे, VMS के पास थे, और Unix के पास थे। GNU ऑपरेटिंग सिस्टम में उन्हें भी शामिल किया जाएगा।

बाद में मैंने ये शब्द सुने, जिसका श्रेय हिलेल को दिया गया (1):

अगर मैं अपने लिए नहीं हूं तो मेरे लिए कौन होगा?
अगर मैं सिर्फ अपने लिए हूं तो मैं क्या हूं?
यदि अब नहीं, तो कब?

जीएनयू परियोजना शुरू करने का निर्णय इसी भावना पर आधारित था।

(1) एक नास्तिक के रूप में, मैं किसी भी धार्मिक नेता का अनुसरण नहीं करता, लेकिन कभी-कभी मुझे लगता है कि मैं उनमें से किसी एक की कही हुई बात की प्रशंसा करता हूँ।

आज़ादी की तरह आज़ाद

"मुफ्त सॉफ्टवेयर" शब्द को कभी-कभी गलत समझा जाता है - इसका कीमत से कोई लेना-देना नहीं है। यह स्वतंत्रता के बारे में है। इसलिए, यहां मुफ्त सॉफ्टवेयर की परिभाषा है।

एक प्रोग्राम मुफ्त सॉफ्टवेयर है, आपके लिए, एक विशेष उपयोगकर्ता के लिए, यदि:

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

चूंकि "मुक्त" का अर्थ स्वतंत्रता से है, कीमत के लिए नहीं, प्रतियां बेचने और मुफ्त सॉफ्टवेयर के बीच कोई विरोधाभास नहीं है। वास्तव में, प्रतियां बेचने की स्वतंत्रता महत्वपूर्ण है: सीडी-रोम पर बेचे जाने वाले मुफ्त सॉफ्टवेयर का संग्रह समुदाय के लिए महत्वपूर्ण है, और उन्हें बेचना मुफ्त सॉफ्टवेयर विकास के लिए धन जुटाने का एक महत्वपूर्ण तरीका है। इसलिए, एक प्रोग्राम जिसे लोग इन संग्रहों में शामिल करने के लिए स्वतंत्र नहीं हैं, मुफ्त सॉफ्टवेयर नहीं है।

"मुक्त" की अस्पष्टता के कारण, लोगों ने लंबे समय से विकल्पों की तलाश की है, लेकिन किसी को भी बेहतर शब्द नहीं मिला है। अंग्रेजी भाषा में किसी भी अन्य की तुलना में अधिक शब्द और बारीकियां हैं, लेकिन इसमें एक सरल, स्पष्ट, शब्द का अभाव है जिसका अर्थ है "मुक्त", जैसा कि स्वतंत्रता में है- "निरंकुश" वह शब्द है जो अर्थ में सबसे करीब आता है। "मुक्त", "स्वतंत्रता" और "खुले" जैसे विकल्पों का या तो गलत अर्थ है या कोई अन्य नुकसान है।

जीएनयू सॉफ्टवेयर और जीएनयू सिस्टम

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

इन निर्णयों और उनके जैसे अन्य निर्णयों के कारण, GNU प्रणाली सभी GNU सॉफ़्टवेयर के संग्रह के समान नहीं है। GNU सिस्टम में ऐसे प्रोग्राम शामिल हैं जो GNU सॉफ़्टवेयर नहीं हैं, ऐसे प्रोग्राम जो अन्य लोगों द्वारा विकसित किए गए हैं और अपने स्वयं के उद्देश्यों के लिए प्रोजेक्ट हैं, लेकिन जिनका हम उपयोग कर सकते हैं क्योंकि वे मुफ़्त सॉफ़्टवेयर हैं।

परियोजना की शुरुआत

जनवरी 1984 में मैंने एमआईटी में अपनी नौकरी छोड़ दी और जीएनयू सॉफ्टवेयर लिखना शुरू कर दिया। MIT को छोड़ना आवश्यक था ताकि MIT GNU को मुफ्त सॉफ्टवेयर के रूप में वितरित करने में हस्तक्षेप न कर सके। अगर मैं कर्मचारियों पर बना रहता, तो एमआईटी काम के मालिक होने का दावा कर सकता था, और अपनी वितरण शर्तों को लागू कर सकता था, या यहां तक ​​​​कि काम को एक मालिकाना सॉफ्टवेयर पैकेज में बदल सकता था। बड़ी मात्रा में काम करने का मेरा कोई इरादा नहीं था, केवल यह देखने के लिए कि यह अपने इच्छित उद्देश्य के लिए बेकार हो गया है: एक नया सॉफ़्टवेयर-साझाकरण समुदाय बनाना।

हालांकि, उस समय एमआईटी एआई लैब के प्रमुख प्रोफेसर विंस्टन ने मुझे प्रयोगशाला की सुविधाओं का उपयोग जारी रखने के लिए आमंत्रित किया।

पहला कदम

GNU प्रोजेक्ट शुरू करने से कुछ समय पहले, मैंने फ्री यूनिवर्सिटी कंपाइलर किट के बारे में सुना, जिसे VUCK भी कहा जाता है। ("मुक्त" के लिए डच शब्द a . के साथ लिखा गया है वी।) यह सी और पास्कल सहित कई भाषाओं को संभालने और कई लक्ष्य मशीनों का समर्थन करने के लिए डिज़ाइन किया गया एक कंपाइलर था। मैंने इसके लेखक को पत्र लिखकर पूछा कि क्या जीएनयू इसका इस्तेमाल कर सकता है।

उन्होंने उपहासपूर्ण ढंग से जवाब दिया, यह कहते हुए कि विश्वविद्यालय स्वतंत्र था लेकिन संकलक नहीं था। इसलिए मैंने तय किया कि जीएनयू परियोजना के लिए मेरा पहला कार्यक्रम एक बहुभाषी, बहु-प्लेटफार्म संकलक होगा।

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

तब मुझे एहसास हुआ कि पेस्टल कंपाइलर ने पूरी इनपुट फ़ाइल को एक सिंटैक्स ट्री में पार्स करके, पूरे सिंटैक्स ट्री को "निर्देशों" की एक श्रृंखला में परिवर्तित करके, और फिर बिना किसी स्टोरेज को मुक्त किए, पूरी आउटपुट फ़ाइल को जेनरेट करके काम किया। इस बिंदु पर, मैंने निष्कर्ष निकाला कि मुझे स्क्रैच से एक नया कंपाइलर लिखना होगा। उस नए कंपाइलर को अब GCC के नाम से जाना जाता है; इसमें किसी भी पेस्टल कंपाइलर का उपयोग नहीं किया गया है, लेकिन मैं अपने द्वारा लिखे गए सी फ्रंट एंड को अनुकूलित और उपयोग करने में कामयाब रहा। लेकिन वह कुछ साल बाद था; सबसे पहले, मैंने GNU Emacs पर काम किया।

जीएनयू Emacs

मैंने सितंबर 1984 में GNU Emacs पर काम करना शुरू किया, और 1985 की शुरुआत में यह प्रयोग करने योग्य होने लगा। इसने मुझे संपादन करने के लिए यूनिक्स सिस्टम का उपयोग शुरू करने में सक्षम बनाया; vi या ed का उपयोग सीखने में कोई दिलचस्पी नहीं होने के कारण, मैंने तब तक अन्य प्रकार की मशीनों पर अपना संपादन किया था।

इस बिंदु पर, लोग GNU Emacs का उपयोग करना चाहते थे, जिसने यह प्रश्न उठाया कि इसे कैसे वितरित किया जाए। बेशक, मैंने इसे एमआईटी कंप्यूटर पर अज्ञात एफ़टीपी सर्वर पर रखा था जिसका मैंने उपयोग किया था। (यह कंप्यूटर, prep.ai.mit.edu, इस प्रकार प्रमुख जीएनयू एफ़टीपी वितरण साइट बन गया; जब इसे कुछ साल बाद सेवामुक्त कर दिया गया, तो हमने नाम को अपने नए एफ़टीपी सर्वर में स्थानांतरित कर दिया।) लेकिन उस समय, रुचि रखने वालों में से कई लोग इंटरनेट पर नहीं थे और एफ़टीपी द्वारा एक प्रति प्राप्त नहीं कर सके। तो सवाल यह था कि मैं उनसे क्या कहूं?

मैं कह सकता था, "एक दोस्त ढूंढो जो नेट पर हो और जो तुम्हारे लिए एक प्रति बनाएगा।" या मैं वह कर सकता था जो मैंने मूल पीडीपी -10 Emacs के साथ किया था: उन्हें बताएं, "मुझे एक टेप और एक एसएएसई मेल करें, और मैं इसे Emacs के साथ वापस मेल करूंगा।" लेकिन मेरे पास कोई नौकरी नहीं थी, और मैं मुफ्त सॉफ्टवेयर से पैसे कमाने के तरीके तलाश रहा था। इसलिए मैंने घोषणा की कि मैं 150 डॉलर के शुल्क पर एक टेप डाक से भेजूंगा, जिसे कोई भी चाहता है। इस तरह, मैंने एक मुफ्त सॉफ्टवेयर वितरण व्यवसाय शुरू किया, जो उन कंपनियों का अग्रदूत है जो आज संपूर्ण GNU/Linux सिस्टम वितरण वितरित करती हैं।

क्या प्रत्येक उपयोगकर्ता के लिए एक कार्यक्रम निःशुल्क है?

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

इस समस्या का आदर्श उदाहरण एक्स विंडो सिस्टम है। एमआईटी में विकसित, और एक अनुमोदित लाइसेंस के साथ मुफ्त सॉफ्टवेयर के रूप में जारी किया गया, इसे जल्द ही विभिन्न कंप्यूटर कंपनियों द्वारा अपनाया गया। उन्होंने X को अपने मालिकाना यूनिक्स सिस्टम में जोड़ा, केवल बाइनरी रूप में, और उसी गैर-प्रकटीकरण समझौते द्वारा कवर किया गया। एक्स की ये प्रतियां यूनिक्स की तुलना में अधिक मुफ्त सॉफ्टवेयर नहीं थीं।

एक्स विंडो सिस्टम के डेवलपर्स ने इसे एक समस्या नहीं माना - उन्होंने उम्मीद की और ऐसा होने का इरादा किया। उनका लक्ष्य स्वतंत्रता नहीं था, बस "सफलता" थी, जिसे "कई उपयोगकर्ता होने" के रूप में परिभाषित किया गया था। उन्हें इस बात की परवाह नहीं थी कि इन उपयोगकर्ताओं को स्वतंत्रता है या नहीं, केवल यह कि वे असंख्य हों।

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

कॉपीलेफ्ट और जीएनयू जीपीएल

GNU का लक्ष्य उपयोगकर्ताओं को स्वतंत्रता देना था, न कि केवल लोकप्रिय होना। इसलिए हमें वितरण शर्तों का उपयोग करने की आवश्यकता है जो GNU सॉफ़्टवेयर को मालिकाना सॉफ़्टवेयर में बदलने से रोकेंगे। हमारे द्वारा उपयोग की जाने वाली विधि को "कॉपीलेफ्ट" कहा जाता है। (1)

कॉपीलेफ्ट कॉपीराइट कानून का उपयोग करता है, लेकिन अपने सामान्य उद्देश्य के विपरीत काम करने के लिए इसे फ़्लिप करता है: किसी प्रोग्राम को प्रतिबंधित करने के साधन के बजाय, यह प्रोग्राम को मुक्त रखने का एक साधन बन जाता है।

कॉपीलेफ्ट का केंद्रीय विचार यह है कि हम सभी को प्रोग्राम चलाने की अनुमति देते हैं, प्रोग्राम को कॉपी करते हैं, प्रोग्राम को संशोधित करते हैं, और संशोधित संस्करण वितरित करते हैं - लेकिन अपने स्वयं के प्रतिबंध जोड़ने की अनुमति नहीं देते हैं। इस प्रकार, "मुफ्त सॉफ्टवेयर" को परिभाषित करने वाली महत्वपूर्ण स्वतंत्रताएं उन सभी के लिए गारंटीकृत हैं जिनके पास एक प्रति है; वे अक्षम्य अधिकार बन जाते हैं।

एक प्रभावी प्रतिलिपि के लिए, संशोधित संस्करण भी मुक्त होना चाहिए। यह सुनिश्चित करता है कि हमारे आधार पर काम प्रकाशित होने पर हमारे समुदाय के लिए उपलब्ध हो जाता है। जब प्रोग्रामर के रूप में नौकरी करने वाले प्रोग्रामर GNU सॉफ़्टवेयर को बेहतर बनाने के लिए स्वेच्छा से काम करते हैं, तो यह कॉपीलेफ्ट है जो उनके नियोक्ताओं को यह कहने से रोकता है, "आप उन परिवर्तनों को साझा नहीं कर सकते, क्योंकि हम प्रोग्राम का अपना मालिकाना संस्करण बनाने के लिए उनका उपयोग करने जा रहे हैं।"

यदि हम कार्यक्रम के प्रत्येक उपयोगकर्ता के लिए स्वतंत्रता सुनिश्चित करना चाहते हैं तो परिवर्तन मुक्त होने की आवश्यकता आवश्यक है। जिन कंपनियों ने एक्स विंडो सिस्टम का निजीकरण किया है, उन्होंने आमतौर पर इसे अपने सिस्टम और हार्डवेयर में पोर्ट करने के लिए कुछ बदलाव किए हैं। ये परिवर्तन X की बड़ी सीमा की तुलना में छोटे थे, लेकिन वे तुच्छ नहीं थे। यदि परिवर्तन करना उपयोगकर्ताओं की स्वतंत्रता को नकारने का एक बहाना था, तो किसी के लिए भी बहाने का लाभ उठाना आसान होगा।

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

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

(1) 1984 या 1985 में, डॉन हॉपकिंस (एक बहुत ही कल्पनाशील साथी) ने मुझे एक पत्र भेजा। लिफाफे पर उन्होंने कई मनोरंजक बातें लिखी थीं, जिनमें यह भी शामिल है: "कॉपीलेफ्ट - सभी अधिकार उलट दिए गए।" मैंने उस समय विकसित की जा रही वितरण अवधारणा को नाम देने के लिए "कॉपीलेफ्ट" शब्द का इस्तेमाल किया था।

फ्री सॉफ्टवेयर फाउंडेशन के कर्मचारियों ने कई जीएनयू सॉफ्टवेयर पैकेज लिखे और बनाए हैं। सी लाइब्रेरी और शेल दो उल्लेखनीय हैं। GNU C लाइब्रेरी वह है जो GNU/Linux सिस्टम पर चलने वाला प्रत्येक प्रोग्राम Linux के साथ संचार करने के लिए उपयोग करता है। इसे फ्री सॉफ्टवेयर फाउंडेशन स्टाफ के एक सदस्य, रोलैंड मैकग्राथ द्वारा विकसित किया गया था। अधिकांश GNU/Linux सिस्टम पर इस्तेमाल किया जाने वाला शेल BASH है, बॉर्न अगेन शेल (1), जिसे FSF कर्मचारी ब्रायन फॉक्स द्वारा विकसित किया गया था।

हमने इन कार्यक्रमों के विकास के लिए धन दिया क्योंकि जीएनयू परियोजना केवल उपकरण या विकास के माहौल के बारे में नहीं थी। हमारा लक्ष्य एक संपूर्ण ऑपरेटिंग सिस्टम था, और उस लक्ष्य के लिए इन कार्यक्रमों की आवश्यकता थी।

(1) "बॉर्न अगेन शेल" "बॉर्न शेल" नाम पर एक नाटक है, जो यूनिक्स पर सामान्य शेल था।

मुफ्त सॉफ्टवेयर समर्थन

मुफ्त सॉफ्टवेयर दर्शन एक विशिष्ट व्यापक व्यावसायिक अभ्यास को अस्वीकार करता है, लेकिन यह व्यवसाय के खिलाफ नहीं है। जब व्यवसाय उपयोगकर्ताओं की स्वतंत्रता का सम्मान करते हैं, तो हम उनकी सफलता की कामना करते हैं।

Emacs की प्रतियां बेचना एक तरह का मुफ्त सॉफ्टवेयर व्यवसाय प्रदर्शित करता है। जब FSF ने उस व्यवसाय को संभाला, तो मुझे जीवनयापन करने के लिए एक और तरीके की आवश्यकता थी। मैंने इसे अपने द्वारा विकसित किए गए मुफ्त सॉफ्टवेयर से संबंधित सेवाओं की बिक्री में पाया। इसमें GNU Emacs को कैसे प्रोग्राम करना है और GCC को कैसे कस्टमाइज़ करना है, और सॉफ्टवेयर डेवलपमेंट जैसे विषयों के लिए शिक्षण शामिल है, ज्यादातर GCC को नए प्लेटफॉर्म पर पोर्ट करना।

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

देखें, हालांकि- कई कंपनियां जो खुद को "ओपन सोर्स" शब्द से जोड़ती हैं, वास्तव में अपने व्यवसाय को गैर-मुक्त सॉफ़्टवेयर पर आधारित करती हैं जो मुफ्त सॉफ़्टवेयर के साथ काम करता है। ये मुफ्त सॉफ्टवेयर कंपनियां नहीं हैं, वे मालिकाना सॉफ्टवेयर कंपनियां हैं जिनके उत्पाद उपयोगकर्ताओं को आजादी से दूर ले जाते हैं। वे इन कार्यक्रमों को "मूल्य वर्धित पैकेज" कहते हैं, जो उन मूल्यों को दर्शाता है जो वे हमें अपनाना चाहते हैं: स्वतंत्रता से ऊपर सुविधा। यदि हम स्वतंत्रता को अधिक महत्व देते हैं, तो हमें उन्हें "स्वतंत्रता-घटाया" पैकेज कहना चाहिए।

तकनीकी लक्ष्य

GNU का मुख्य लक्ष्य फ्री सॉफ्टवेयर होना है। यहां तक ​​कि अगर यूनिक्स पर जीएनयू का कोई तकनीकी लाभ नहीं था, तो इसका एक सामाजिक लाभ होगा, जिससे उपयोगकर्ता सहयोग कर सकेंगे, और उपयोगकर्ता की स्वतंत्रता का सम्मान करते हुए एक नैतिक लाभ होगा।

लेकिन काम के लिए अच्छे अभ्यास के ज्ञात मानकों को लागू करना स्वाभाविक था- उदाहरण के लिए, मनमाने ढंग से निश्चित आकार सीमा से बचने के लिए डेटा संरचनाओं को गतिशील रूप से आवंटित करना, और जहां कहीं भी समझ में आता है, सभी संभावित 8-बिट कोड को संभालना।

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

इन निर्णयों ने कई जीएनयू कार्यक्रमों को विश्वसनीयता और गति में अपने यूनिक्स समकक्षों को पार करने में सक्षम बनाया।

दान किए गए कंप्यूटर

जैसे-जैसे जीएनयू परियोजना की प्रतिष्ठा बढ़ी, लोगों ने परियोजना के लिए यूनिक्स चलाने वाली मशीनों को दान करने की पेशकश करना शुरू कर दिया। ये बहुत उपयोगी थे, क्योंकि जीएनयू के घटकों को विकसित करने का सबसे आसान तरीका यह था कि इसे यूनिक्स प्रणाली पर किया जाए, और उस प्रणाली के घटकों को प्रतिस्थापित किया जाए। लेकिन उन्होंने एक नैतिक मुद्दा उठाया: क्या हमारे लिए यूनिक्स की एक प्रति रखना सही था।

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

लेकिन, भले ही यह एक न्यायोचित बुराई थी, फिर भी यह एक बुराई थी। आज हमारे पास यूनिक्स की कोई कॉपी नहीं है, क्योंकि हमने उन्हें मुफ्त ऑपरेटिंग सिस्टम से बदल दिया है। यदि हम किसी मशीन के ऑपरेटिंग सिस्टम को फ्री में नहीं बदल सकते थे, तो हमने मशीन को बदल दिया।

जीएनयू कार्य सूची

जैसे-जैसे जीएनयू परियोजना आगे बढ़ी, और सिस्टम घटकों की बढ़ती संख्या पाई गई या विकसित हुई, अंततः यह शेष अंतरालों की सूची बनाने के लिए उपयोगी हो गया। हमने लापता टुकड़ों को लिखने के लिए डेवलपर्स की भर्ती के लिए इसका इस्तेमाल किया। इस सूची को जीएनयू कार्य सूची के रूप में जाना जाने लगा। लापता यूनिक्स घटकों के अलावा, हमने कई अन्य उपयोगी सॉफ़्टवेयर और दस्तावेज़ीकरण परियोजनाओं को सूचीबद्ध किया है, जिन्हें हमने सोचा था, वास्तव में एक पूर्ण प्रणाली होनी चाहिए।

आज (1), जीएनयू टास्क लिस्ट में शायद ही कोई यूनिक्स घटक बचा हो - उन कार्यों को किया गया था, कुछ गैर-जरूरी लोगों को छोड़कर। लेकिन सूची उन परियोजनाओं से भरी हुई है जिन्हें कुछ लोग "एप्लिकेशन" कह सकते हैं। कोई भी प्रोग्राम जो उपयोगकर्ताओं के एक संकीर्ण वर्ग से अधिक के लिए अपील करता है, एक ऑपरेटिंग सिस्टम में जोड़ने के लिए एक उपयोगी चीज होगी।

यहां तक ​​​​कि खेल भी कार्य सूची में शामिल हैं - और शुरुआत से ही हैं। यूनिक्स में खेल शामिल थे, इसलिए स्वाभाविक रूप से जीएनयू को भी होना चाहिए। लेकिन खेलों के लिए अनुकूलता कोई मुद्दा नहीं था, इसलिए हमने उन खेलों की सूची का अनुसरण नहीं किया जो यूनिक्स के पास थे। इसके बजाय, हमने उपयोगकर्ताओं को पसंद आने वाले विभिन्न प्रकार के खेलों का एक स्पेक्ट्रम सूचीबद्ध किया।

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

जीएनयू लाइब्रेरी जीपीएल

जीएनयू सी पुस्तकालय एक विशेष प्रकार के कॉपीलेफ्ट का उपयोग करता है जिसे जीएनयू लाइब्रेरी जनरल पब्लिक लाइसेंस (1) कहा जाता है, जो पुस्तकालय के साथ मालिकाना सॉफ्टवेयर को जोड़ने की अनुमति देता है। यह अपवाद क्यों बनाते हैं?

यह सिद्धांत की बात नहीं है; ऐसा कोई सिद्धांत नहीं है जो कहता है कि मालिकाना सॉफ़्टवेयर उत्पाद हमारे कोड को शामिल करने के हकदार हैं। (हमारे साथ साझा करने से इनकार करने पर आधारित एक परियोजना में योगदान क्यों?) सी पुस्तकालय के लिए एलजीपीएल का उपयोग करना, या किसी पुस्तकालय के लिए, रणनीति का विषय है।

सी पुस्तकालय एक सामान्य काम करता है; प्रत्येक स्वामित्व प्रणाली या संकलक सी पुस्तकालय के साथ आता है। इसलिए, हमारी सी लाइब्रेरी को केवल मुफ्त सॉफ्टवेयर के लिए उपलब्ध कराने से मुफ्त सॉफ्टवेयर का कोई फायदा नहीं होता - यह केवल हमारे पुस्तकालय के उपयोग को हतोत्साहित करता।

एक प्रणाली इसका अपवाद है: जीएनयू प्रणाली पर (और इसमें जीएनयू/लिनक्स शामिल है), जीएनयू सी पुस्तकालय एकमात्र सी पुस्तकालय है। तो जीएनयू सी पुस्तकालय की वितरण शर्तें निर्धारित करती हैं कि जीएनयू प्रणाली के लिए एक मालिकाना कार्यक्रम संकलित करना संभव है या नहीं। जीएनयू प्रणाली पर मालिकाना अनुप्रयोगों की अनुमति देने का कोई नैतिक कारण नहीं है, लेकिन रणनीतिक रूप से ऐसा लगता है कि उन्हें अस्वीकार करने से मुफ्त अनुप्रयोगों के विकास को प्रोत्साहित करने की तुलना में जीएनयू प्रणाली के उपयोग को हतोत्साहित करने के लिए और अधिक कुछ करना होगा। इसलिए पुस्तकालय जीपीएल का उपयोग करना सी पुस्तकालय के लिए एक अच्छी रणनीति है।

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

GNU रीडलाइन पर विचार करें, एक पुस्तकालय जिसे BASH के लिए कमांड-लाइन संपादन प्रदान करने के लिए विकसित किया गया था। सामान्य जीएनयू जीपीएल के तहत रीडलाइन जारी की जाती है, लाइब्रेरी जीपीएल नहीं। यह शायद रीडलाइन की मात्रा को कम करता है, लेकिन यह हमारे लिए कोई नुकसान नहीं है। इस बीच, कम से कम एक उपयोगी एप्लिकेशन को विशेष रूप से मुफ्त सॉफ्टवेयर बनाया गया है ताकि वह रीडलाइन का उपयोग कर सके, और यह समुदाय के लिए एक वास्तविक लाभ है।

मालिकाना सॉफ्टवेयर डेवलपर्स के पास पैसे प्रदान करने वाले फायदे हैं; मुफ्त सॉफ्टवेयर डेवलपर्स को एक दूसरे के लिए फायदे बनाने की जरूरत है। मुझे उम्मीद है कि किसी दिन हमारे पास जीपीएल-आच्छादित पुस्तकालयों का एक बड़ा संग्रह होगा, जिनके पास मालिकाना सॉफ्टवेयर के लिए कोई समानांतर उपलब्ध नहीं है, नए मुफ्त सॉफ्टवेयर में बिल्डिंग ब्लॉक्स के रूप में काम करने के लिए उपयोगी मॉड्यूल प्रदान करते हैं, और आगे मुफ्त सॉफ्टवेयर विकास के लिए एक बड़ा लाभ जोड़ते हैं।

(1) इस लाइसेंस को अब GNU लेसर जनरल पब्लिक लाइसेंस कहा जाता है, यह विचार देने से बचने के लिए कि सभी पुस्तकालयों को इसका उपयोग करना चाहिए। अधिक जानकारी के लिए देखें कि आपको अपनी अगली लाइब्रेरी के लिए लेसर जीपीएल का उपयोग क्यों नहीं करना चाहिए।

एक खुजली खरोंच?

एरिक रेमंड का कहना है कि "सॉफ्टवेयर का हर अच्छा काम एक डेवलपर की व्यक्तिगत खुजली को खरोंचने से शुरू होता है।" हो सकता है कि कभी-कभी ऐसा हो, लेकिन एक पूर्ण मुक्त ऑपरेटिंग सिस्टम के लिए जीएनयू सॉफ्टवेयर के कई आवश्यक टुकड़े विकसित किए गए थे।

उदाहरण के लिए, हमने GNU C लाइब्रेरी विकसित की है क्योंकि यूनिक्स जैसी प्रणाली को C लाइब्रेरी की आवश्यकता होती है, BASH क्योंकि यूनिक्स जैसी प्रणाली को शेल की आवश्यकता होती है, और GNU टार क्योंकि यूनिक्स जैसी प्रणाली को टार प्रोग्राम की आवश्यकता होती है। मेरे अपने कार्यक्रमों के लिए भी यही सच है- जीएनयू सी कंपाइलर, जीएनयू एमएसीएस, जीडीबी और जीएनयू मेक।

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

बेशक, इन कार्यक्रमों को लिखने वाले लोग काम में रुचि रखने लगे, और विभिन्न लोगों द्वारा अपनी जरूरतों और हितों के लिए उनमें कई विशेषताएं जोड़ी गईं। लेकिन ऐसा नहीं है कि कार्यक्रम मौजूद हैं।

अप्रत्याशित घटनाक्रम

जीएनयू प्रोजेक्ट की शुरुआत में, मैंने कल्पना की थी कि हम पूरे जीएनयू सिस्टम को विकसित करेंगे, फिर इसे पूरी तरह से जारी करेंगे। ऐसा नहीं हुआ कि ऐसा हुआ।

चूंकि जीएनयू प्रणाली के प्रत्येक घटक को यूनिक्स प्रणाली पर लागू किया गया था, इसलिए प्रत्येक घटक एक पूर्ण जीएनयू प्रणाली के अस्तित्व में आने से बहुत पहले यूनिक्स सिस्टम पर चल सकता था। इनमें से कुछ कार्यक्रम लोकप्रिय हो गए, और उपयोगकर्ताओं ने उन्हें विस्तारित करना और उन्हें पोर्ट करना शुरू कर दिया - यूनिक्स के विभिन्न असंगत संस्करणों के लिए, और कभी-कभी अन्य प्रणालियों के लिए भी।

इस प्रक्रिया ने इन कार्यक्रमों को और अधिक शक्तिशाली बना दिया, और जीएनयू परियोजना के लिए धन और योगदानकर्ताओं दोनों को आकर्षित किया। लेकिन यह संभवत: कई वर्षों तक एक न्यूनतम कार्य प्रणाली को पूरा करने में भी देरी करता है, क्योंकि जीएनयू डेवलपर्स का समय इन बंदरगाहों को बनाए रखने और मौजूदा घटकों में सुविधाओं को जोड़ने के बजाय एक के बाद एक लापता घटक लिखने के लिए लगाया गया था।

जीएनयू हर्ड

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

इस डिज़ाइन को चुनने का एक कारण यह था कि नौकरी के सबसे कठिन भाग से बचने के लिए: स्रोत-स्तरीय डीबगर के बिना कर्नेल प्रोग्राम को डीबग करना। काम का यह हिस्सा पहले से ही मच में किया जा चुका था, और हम जीडीबी के साथ हर्ड सर्वर को उपयोगकर्ता प्रोग्राम के रूप में डीबग करने की उम्मीद करते थे। लेकिन इसमें काफी समय लगा वह बनानासंभव है, और मल्टीथ्रेडेड सर्वर जो एक दूसरे को संदेश भेजते हैं, डिबग करना बहुत कठिन हो गया है। हर्ड का काम ठोस रूप से करना कई वर्षों तक बढ़ा है।

एलिक्स

GNU कर्नेल को मूल रूप से हर्ड नहीं कहा जाना चाहिए था। इसका मूल नाम एलिक्स था - उस महिला के नाम पर जो उस समय मेरी प्रिय थी। वह, एक यूनिक्स सिस्टम प्रशासक, ने बताया था कि उसका नाम यूनिक्स सिस्टम संस्करणों के लिए एक सामान्य नामकरण पैटर्न में कैसे फिट होगा; एक मजाक के रूप में, उसने अपने दोस्तों से कहा, "किसी को मेरे नाम पर कर्नेल का नाम देना चाहिए।" मैंने कुछ नहीं कहा, लेकिन एलिक्स नामक एक कर्नेल के साथ उसे आश्चर्यचकित करने का फैसला किया।

ऐसे नहीं रहा। कर्नेल के मुख्य विकासकर्ता माइकल (अब थॉमस) बुशनेल ने हर्ड नाम को प्राथमिकता दी, और कर्नेल के एक निश्चित हिस्से को संदर्भित करने के लिए एलिक्स को फिर से परिभाषित किया - वह हिस्सा जो सिस्टम कॉल को ट्रैप करेगा और हर्ड सर्वर को संदेश भेजकर उन्हें संभालेगा।

बाद में, एलिक्स और मैं टूट गए, और उसने अपना नाम बदल लिया; स्वतंत्र रूप से, हर्ड डिज़ाइन को बदल दिया गया था ताकि C लाइब्रेरी सीधे सर्वर को संदेश भेजे, और इसने Alix घटक को डिज़ाइन से गायब कर दिया।

लेकिन इन चीजों के होने से पहले, उसकी एक दोस्त हर्ड सोर्स कोड में एलिक्स नाम लेकर आई और उसका जिक्र किया। इसलिए उसे अपने नाम पर एक कर्नेल खोजने का मौका मिला।

लिनक्स और जीएनयू/लिनक्स

GNU हर्ड उत्पादन के उपयोग के लिए उपयुक्त नहीं है, और हम नहीं जानते कि यह कभी होगा या नहीं। क्षमता-आधारित डिज़ाइन में ऐसी समस्याएं हैं जो सीधे डिज़ाइन के लचीलेपन से उत्पन्न होती हैं, और यह स्पष्ट नहीं है कि समाधान मौजूद हैं या नहीं।

सौभाग्य से, एक और कर्नेल उपलब्ध है। 1991 में, लिनुस टॉर्वाल्ड्स ने एक यूनिक्स-संगत कर्नेल विकसित किया और इसे लिनक्स कहा। यह पहले मालिकाना था, लेकिन 1992 में, उन्होंने इसे मुफ्त सॉफ्टवेयर बना दिया; पूरी तरह से पूर्ण GNU सिस्टम के साथ Linux के संयोजन के परिणामस्वरूप एक पूर्ण मुक्त ऑपरेटिंग सिस्टम प्राप्त हुआ। (उनका संयोजन अपने आप में एक महत्वपूर्ण काम था, निश्चित रूप से।) यह लिनक्स के कारण है कि हम वास्तव में आज जीएनयू सिस्टम का एक संस्करण चला सकते हैं।

हमारे भविष्य में चुनौतियां

हमारे पास मुफ्त सॉफ्टवेयर का एक व्यापक स्पेक्ट्रम विकसित करने की हमारी सिद्ध क्षमता है। इसका मतलब यह नहीं है कि हम अजेय और अजेय हैं। कई चुनौतियाँ मुफ्त सॉफ़्टवेयर के भविष्य को अनिश्चित बनाती हैं; उनसे मिलने के लिए दृढ़ प्रयास और धीरज की आवश्यकता होगी, जो कभी-कभी वर्षों तक चलता है। इसके लिए उस तरह के दृढ़ संकल्प की आवश्यकता होगी जो लोग तब प्रदर्शित करते हैं जब वे अपनी स्वतंत्रता को महत्व देते हैं और किसी को भी इसे छीनने नहीं देंगे।

निम्नलिखित चार खंड इन चुनौतियों पर चर्चा करते हैं।

गुप्त हार्डवेयर

हार्डवेयर निर्माता तेजी से हार्डवेयर विनिर्देशों को गुप्त रखते हैं। इससे फ्री ड्राइवर लिखना मुश्किल हो जाता है ताकि Linux और XFree86 नए हार्डवेयर को सपोर्ट कर सकें। हमारे पास आज पूरी तरह से मुफ्त सिस्टम हैं, लेकिन कल के कंप्यूटरों का समर्थन नहीं करने पर हमारे पास कल नहीं होंगे।

इस समस्या से निपटने के दो तरीके हैं। हार्डवेयर को सपोर्ट करने का तरीका जानने के लिए प्रोग्रामर रिवर्स इंजीनियरिंग कर सकते हैं। हममें से बाकी लोग उस हार्डवेयर को चुन सकते हैं जो मुफ़्त सॉफ़्टवेयर द्वारा समर्थित है; जैसे-जैसे हमारी संख्या बढ़ती है, विनिर्देशों की गोपनीयता एक आत्म-पराजय नीति बन जाएगी।

रिवर्स इंजीनियरिंग एक बड़ा काम है; क्या हमारे पास इसे करने के लिए पर्याप्त दृढ़ संकल्प वाले प्रोग्रामर होंगे? हां—अगर हमने एक मजबूत भावना का निर्माण किया है कि मुफ्त सॉफ्टवेयर सिद्धांत की बात है, और गैर-मुक्त ड्राइवर असहनीय हैं। और क्या हम में से बड़ी संख्या में अतिरिक्त पैसे खर्च होंगे, या थोड़ा अतिरिक्त समय भी, ताकि हम मुफ्त ड्राइवरों का उपयोग कर सकें? हां, अगर आजादी पाने का संकल्प व्यापक है।

(2008 नोट: यह समस्या BIOS तक भी फैली हुई है। एक मुफ्त BIOS है, लिबरबूट (कोरबूट का वितरण); समस्या मशीनों के लिए चश्मा प्राप्त कर रही है ताकि लिबरबूट बिना किसी "ब्लॉब्स" के उनका समर्थन कर सके।)

गैर मुक्त पुस्तकालय

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

इस समस्या का पहला उदाहरण 80 के दशक में मोटिफ टूलकिट था। हालाँकि अभी तक कोई मुफ्त ऑपरेटिंग सिस्टम नहीं थे, लेकिन यह स्पष्ट था कि बाद में मोटिफ उनके लिए क्या समस्या पैदा करेगा। जीएनयू प्रोजेक्ट ने दो तरह से प्रतिक्रिया दी: अलग-अलग फ्री सॉफ्टवेयर प्रोजेक्ट्स को फ्री एक्स टूलकिट विजेट्स के साथ-साथ मोटिफ का समर्थन करने के लिए, और किसी से मोटिफ के लिए फ्री रिप्लेसमेंट लिखने के लिए कहकर। नौकरी में कई साल लग गए; हंग्री प्रोग्रामर्स द्वारा विकसित लेसटिफ, 1997 में ही अधिकांश मोटिफ अनुप्रयोगों का समर्थन करने के लिए पर्याप्त शक्तिशाली बन गया।

1996 और 1998 के बीच, एक और गैर-मुक्त जीयूआई टूलकिट पुस्तकालय, जिसे क्यूटी कहा जाता है, का उपयोग मुफ्त सॉफ्टवेयर, डेस्कटॉप केडीई के एक बड़े संग्रह में किया गया था।

मुफ़्त GNU/Linux सिस्टम केडीई का उपयोग करने में असमर्थ थे, क्योंकि हम पुस्तकालय का उपयोग नहीं कर सकते थे। हालांकि, जीएनयू/लिनक्स सिस्टम के कुछ वाणिज्यिक वितरक जो मुफ्त सॉफ्टवेयर के साथ चिपके रहने के बारे में सख्त नहीं थे, उन्होंने केडीई को अपने सिस्टम में जोड़ा- अधिक क्षमताओं के साथ एक प्रणाली का निर्माण, लेकिन कम स्वतंत्रता। केडीई समूह सक्रिय रूप से अधिक प्रोग्रामर को क्यूटी का उपयोग करने के लिए प्रोत्साहित कर रहा था, और लाखों नए "लिनक्स उपयोगकर्ता" कभी भी इस विचार से अवगत नहीं हुए थे कि इसमें कोई समस्या थी। स्थिति विकट दिखाई दी।

मुफ्त सॉफ्टवेयर समुदाय ने इस समस्या का दो तरह से जवाब दिया: गनोम और हार्मनी।

गनोम, जीएनयू नेटवर्क ऑब्जेक्ट मॉडल एनवायरनमेंट, जीएनयू का डेस्कटॉप प्रोजेक्ट है। मिगुएल डी इकाज़ा द्वारा 1997 में शुरू किया गया, और रेड हैट सॉफ्टवेयर के समर्थन से विकसित, गनोम समान डेस्कटॉप सुविधाएं प्रदान करने के लिए तैयार है, लेकिन विशेष रूप से मुफ्त सॉफ्टवेयर का उपयोग कर रहा है। इसमें तकनीकी है फायदे भी, जैसे कि विभिन्न भाषाओं का समर्थन करना, न कि केवल C++।

हार्मनी एक संगत प्रतिस्थापन पुस्तकालय है, जिसे क्यूटी का उपयोग किए बिना केडीई सॉफ्टवेयर चलाना संभव बनाने के लिए डिज़ाइन किया गया है।

नवंबर 1998 में, Qt के डेवलपर्स ने लाइसेंस में बदलाव की घोषणा की, जिसे पूरा करने पर, Qt को मुफ्त सॉफ्टवेयर बनाना चाहिए। सुनिश्चित करने का कोई तरीका नहीं है, लेकिन मुझे लगता है कि यह आंशिक रूप से समुदाय की उस समस्या के प्रति दृढ़ प्रतिक्रिया के कारण था जो क्यूटी ने गैर-मुक्त होने पर पेश की थी। (नया लाइसेंस असुविधाजनक और असमान है, इसलिए इसका उपयोग करने से बचने के लिए वांछनीय है क्यूटी।)

हम अगले आकर्षक गैर-मुक्त पुस्तकालय को कैसे प्रतिक्रिया देंगे? क्या पूरा समुदाय इस जाल से बाहर रहने की आवश्यकता को समझेगा? या हम में से बहुत से लोग सुविधा के लिए आजादी छोड़ देंगे, और एक बड़ी समस्या पैदा करेंगे? हमारा भविष्य हमारे दर्शन पर निर्भर करता है।

सॉफ्टवेयर पेटेंट

हमारे सामने सबसे बड़ा खतरा सॉफ्टवेयर पेटेंट से है, जो एल्गोरिदम और सुविधाओं को बीस साल तक के लिए मुफ्त सॉफ्टवेयर तक सीमित कर सकता है। LZW कम्प्रेशन एल्गोरिथम पेटेंट 1983 में लागू किए गए थे, और हम अभी भी उचित कंप्रेस्ड GIF बनाने के लिए मुफ्त सॉफ्टवेयर जारी नहीं कर सकते हैं। 1998 में, एक पेटेंट सूट की धमकी के तहत एमपी3 संपीड़ित ऑडियो का उत्पादन करने के लिए एक मुफ्त कार्यक्रम को वितरण से हटा दिया गया था।

पेटेंट से निपटने के तरीके हैं: हम सबूत खोज सकते हैं कि पेटेंट अमान्य है, और हम नौकरी करने के वैकल्पिक तरीकों की तलाश कर सकते हैं। लेकिन इनमें से प्रत्येक विधि कभी-कभी ही काम करती है; जब दोनों विफल हो जाते हैं, तो एक पेटेंट सभी मुफ्त सॉफ़्टवेयर को कुछ ऐसी सुविधा की कमी के लिए मजबूर कर सकता है जो उपयोगकर्ता चाहते हैं। लंबे इंतजार के बाद, पेटेंट समाप्त हो जाता है (एमपी 3 पेटेंट 2018 तक समाप्त होने की उम्मीद है), लेकिन तब तक हम क्या करेंगे?

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

मुफ़्त दस्तावेज़ीकरण

हमारे मुफ्त ऑपरेटिंग सिस्टम में सबसे बड़ी कमी सॉफ्टवेयर में नहीं है - यह अच्छे मुफ्त मैनुअल की कमी है जिसे हम अपने सिस्टम में शामिल कर सकते हैं। दस्तावेज़ीकरण किसी भी सॉफ़्टवेयर पैकेज का एक अनिवार्य हिस्सा है; जब एक महत्वपूर्ण मुफ्त सॉफ्टवेयर पैकेज एक अच्छा मुफ्त मैनुअल के साथ नहीं आता है, तो यह एक बड़ा अंतर है। आज हमारे पास ऐसे कई अंतराल हैं।

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

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

लेकिन एक विशेष कारण है कि मुफ्त सॉफ्टवेयर के लिए दस्तावेज़ीकरण के लिए संशोधित करने की स्वतंत्रता महत्वपूर्ण है। जब लोग सॉफ़्टवेयर को संशोधित करने, और इसकी विशेषताओं को जोड़ने या बदलने के अपने अधिकार का प्रयोग करते हैं, यदि वे ईमानदार हैं तो वे मैनुअल को भी बदल देंगे—ताकि वे संशोधित प्रोग्राम के साथ सटीक और उपयोगी दस्तावेज़ीकरण प्रदान कर सकें। एक गैर-मुक्त मैनुअल, जो प्रोग्रामर को कर्तव्यनिष्ठ होने और काम खत्म करने की अनुमति नहीं देता है, हमारे समुदाय की जरूरतों को पूरा नहीं करता है।

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

हालाँकि, सभी को संशोधित करना संभव होना चाहिए तकनीकीमैनुअल की सामग्री, और फिर सभी सामान्य चैनलों के माध्यम से सभी सामान्य मीडिया में परिणाम वितरित करें; अन्यथा, प्रतिबंध समुदाय को बाधित करते हैं, मैनुअल मुक्त नहीं है, और हमें एक और मैनुअल की आवश्यकता है।

क्या मुफ्त सॉफ्टवेयर डेवलपर्स के पास मुफ्त मैनुअल के पूर्ण स्पेक्ट्रम का उत्पादन करने के लिए जागरूकता और दृढ़ संकल्प होगा? एक बार फिर हमारा भविष्य दर्शन पर निर्भर है।

हमें आजादी के बारे में बात करनी चाहिए

आज अनुमान है कि डेबियन जीएनयू/लिनक्स और रेड हैट "लिनक्स" जैसे जीएनयू/लिनक्स सिस्टम के दस मिलियन उपयोगकर्ता हैं। मुफ्त सॉफ्टवेयर ने ऐसे व्यावहारिक लाभ विकसित किए हैं कि उपयोगकर्ता विशुद्ध रूप से व्यावहारिक कारणों से इसके पास आ रहे हैं।

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

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

लेकिन हम ऐसा करने में विफल हो रहे हैं: हमारे समुदाय में नए उपयोगकर्ताओं को आकर्षित करने के प्रयास उन्हें हमारे समुदाय के नागरिक शास्त्र सिखाने के प्रयासों से कहीं अधिक हैं। हमें दोनों करने की जरूरत है, और हमें दोनों प्रयासों को संतुलन में रखने की जरूरत है।

"खुला स्त्रोत"

नए उपयोगकर्ताओं को स्वतंत्रता के बारे में पढ़ाना 1998 में और अधिक कठिन हो गया, जब समुदाय के एक हिस्से ने "मुक्त सॉफ़्टवेयर" शब्द का उपयोग बंद करने और इसके बजाय "ओपन सोर्स सॉफ़्टवेयर" कहने का निर्णय लिया।

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

"लिनक्स" पत्रिकाएं इसका एक स्पष्ट उदाहरण हैं - वे मालिकाना सॉफ्टवेयर के विज्ञापनों से भरे हुए हैं जो जीएनयू / लिनक्स के साथ काम करते हैं। जब अगला मोटिफ या क्यूटी दिखाई देगा, तो क्या ये पत्रिकाएं प्रोग्रामर्स को इससे दूर रहने की चेतावनी देंगी, या वे इसके लिए विज्ञापन चलाएंगे?

व्यवसाय का समर्थन कई तरह से समुदाय में योगदान कर सकता है; अन्य सभी समान होने के कारण उपयोगी है। लेकिन स्वतंत्रता और सिद्धांत के बारे में और भी कम बोलकर उनका समर्थन हासिल करना विनाशकारी हो सकता है; यह आउटरीच और नागरिक शिक्षा के बीच पिछले असंतुलन को और भी बदतर बना देता है।

"फ्री सॉफ्टवेयर" और "ओपन सोर्स" कमोबेश एक ही श्रेणी के सॉफ्टवेयर का वर्णन करते हैं, लेकिन सॉफ्टवेयर के बारे में और मूल्यों के बारे में अलग-अलग बातें कहते हैं। GNU प्रोजेक्ट इस विचार को व्यक्त करने के लिए "फ्री सॉफ्टवेयर" शब्द का उपयोग जारी रखता है कि स्वतंत्रता, न कि केवल तकनीक, महत्वपूर्ण है।

प्रयत्न!

योदा का सूत्र ("कोई 'कोशिश' नहीं है") साफ-सुथरा लगता है, लेकिन यह मेरे लिए काम नहीं करता है। मैंने अपना अधिकांश काम इस चिंता में किया है कि क्या मैं यह काम कर सकता हूँ, और इस बात को लेकर अनिश्चित था कि अगर मैंने ऐसा किया तो यह लक्ष्य हासिल करने के लिए पर्याप्त होगा। लेकिन मैंने वैसे भी कोशिश की, क्योंकि दुश्मन और मेरे शहर के बीच मेरे अलावा कोई नहीं था। मुझे आश्चर्य है कि मैं कभी-कभी सफल हुआ हूं।

कभी-कभी मैं असफल हो जाता था; मेरे कुछ शहर गिर गए हैं। तब मैंने एक और शहर को खतरे में पाया, और एक और लड़ाई के लिए तैयार हो गया। समय के साथ, मैंने खतरों की तलाश करना और खुद को उनके और अपने शहर के बीच रखना सीख लिया है, अन्य हैकर्स को मेरे साथ आने के लिए बुला रहा है।

आजकल, अक्सर मैं "केवल एक ही नहीं हूं। यह एक राहत और खुशी की बात है जब मैं हैकर्स की एक रेजिमेंट को लाइन पकड़ने के लिए खुदाई करते हुए देखता हूं, और मुझे एहसास होता है, यह शहर बच सकता है - अभी के लिए। लेकिन खतरे प्रत्येक से अधिक हैं वर्ष, और अब Microsoft ने स्पष्ट रूप से हमारे समुदाय को लक्षित किया है। हम "आजादी के भविष्य को हल्के में नहीं ले सकते। इसे हल्के में न लें! यदि आप अपनी स्वतंत्रता को बनाए रखना चाहते हैं, तो आपको इसकी रक्षा के लिए तैयार रहना चाहिए।

TH.arial ( font-family: Arial, Serif;) P.topic ( font-family: sans-serif;) A.plain (text-decoration: none;) A.topic01 (रंग: #006890; font-family: sans-serif; पाठ-सजावट: कोई नहीं;) A.topic02 (रंग: #099771; फ़ॉन्ट-परिवार: sans-serif; पाठ-सजावट: कोई नहीं;) सेरिफ़; पाठ-सजावट: कोई नहीं;) A.topic04 (रंग: #98650A; फ़ॉन्ट-फ़ैमिली: सेन्स-सेरिफ़; टेक्स्ट-डेकोरेशन: कोई नहीं;) टेक्स्ट-डेकोरेशन: कोई नहीं;) A.topic06 (रंग: #099607; फ़ॉन्ट-फ़ैमिली: सेन्स-सेरिफ़; टेक्स्ट-डेकोरेशन: कोई नहीं;) ए .topic07 (रंग: #9E1215; फ़ॉन्ट-फ़ैमिली: सेन्स-सेरिफ़; डेकोरेशन: कोई नहीं;) A.topic08 (रंग: #970941; फ़ॉन्ट-फ़ैमिली: सेन्स-सेरिफ़; टेक्स्ट-डेकोरेशन: कोई नहीं;) A.topic09 (रंग : #950995; फ़ॉन्ट-फ़ैमिली: सेन्स-सेरिफ़; टेक्स्ट-डेकोरेशन: कोई नहीं;) A.topic010 (रंग: #390A98; फ़ॉन्ट-फ़ैमिली: सेन्स-सेरिफ़; टेक्स्ट-डेकोरेशन: कोई नहीं;) H1 (फ़ॉन्ट-फ़ैमिली: सेन्स) -सेरिफ़;) एच2 (फ़ॉन्ट-फ़ैमिली: सेन्स-सेरिफ़;) एच3 (फ़ॉन्ट-फ़ैमिली: सेन्स-सेरिफ़;) एच4 (फ़ॉन्ट-फ़ैमिली: सेन्स-सेरी) f;) H5 (फ़ॉन्ट-फ़ैमिली: sans-serif;) H6 (फ़ॉन्ट-फ़ैमिली: sans-serif;)

फ्री सॉफ्टवेयर विचारधारा और जीएनयू परियोजना: वर्तमान स्थिति और तत्काल चुनौतियां

एस.डी. कुज़नेत्सोव

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

1. एफएसएफ विचारधारा और जीएनयू परियोजना के सामान्य लक्ष्य

FSF एक प्रोग्रामिंग संगठन है जिसकी स्थापना और नेतृत्व रिचर्ड स्टॉलमैन ने किया है। सबसे सामान्य सेटिंग में, FSF का कार्य कंप्यूटर प्रोग्रामों की प्रतिलिपि बनाने, वितरित करने, अध्ययन करने और संशोधित करने पर प्रतिबंधों को समाप्त करना है। इस सामान्य लक्ष्य को प्राप्त करने के लिए, एफएसएफ अनुप्रयोगों की एक विस्तृत श्रृंखला पर लक्षित मुफ्त सॉफ्टवेयर के विकास और उपयोग को प्रोत्साहित करता है।

1985 में वापस लिखे गए अपने "जीएनयू मेनिफेस्टो" में, आर. स्टॉलमैन, मुख्य विचार के रूप में, जिसके कारण एफएसएफ और जीएनयू परियोजना का उदय हुआ, सॉफ्टवेयर स्वामित्व की अपनी अस्वीकृति को सामने रखता है। प्रोग्रामिंग समुदाय में रिश्तों की ख़ासियत अक्सर लोगों को दोस्ती और पारस्परिक सहायता की स्वाभाविक भावना का पालन करने या इस संपत्ति कानून में हस्तक्षेप करने वाले सबमिशन का पालन करने के लिए चुनती है। मुफ्त सॉफ्टवेयर के साथ, यह कठिन विकल्प अब आवश्यक नहीं है।

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

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

स्टॉलमैन का "घोषणापत्र" बहुत भावनात्मक रूप से लिखा गया है और कहीं-कहीं यह भी काल्पनिक है। फिर भी, ऐसा लगता है कि मुफ्त सॉफ्टवेयर के विचार ऐतिहासिक रूप से सोवियत प्रोग्रामर के बीच पारंपरिक (हाल के वर्षों के अपवाद के साथ) दृष्टिकोण के करीब हैं। शायद यह एफएसएफ लाइन है जो प्रोग्रामर के घरेलू और विश्व समुदायों के गहन एकीकरण का सबसे स्वाभाविक तरीका है।

अधिक विशेष रूप से, एफएसएफ जीएनयू परियोजना के ढांचे के भीतर कार्यक्रम विकसित कर रहा है (संक्षिप्त नाम जीएनयू को पुनरावर्ती रूप से विस्तारित किया गया है - जीएनयू "एस नॉट यूनिक्स)। जीएनयू परियोजना का लक्ष्य एक पूर्ण एकीकृत सॉफ्टवेयर सिस्टम बनाना है जो क्षमताओं के अनुकूल है यूनिक्स ओएस पर्यावरण (एक नियम के रूप में, जीएनयू कार्यक्रमों की क्षमताएं यूनिक्स पर्यावरण के अनुरूपों की व्यापक क्षमताएं हैं)।

FSF सॉफ्टवेयर दो अर्थों में "मुक्त" है। सबसे पहले, किसी भी कार्यक्रम को स्वतंत्र रूप से कॉपी किया जा सकता है और किसी को भी स्थानांतरित किया जा सकता है। दूसरे, कार्यक्रमों के स्रोत कोड की उपलब्धता कार्यक्रमों के मुफ्त अध्ययन, उनके सुधार और संशोधित संस्करणों के वितरण का अवसर प्रदान करती है।

जिस तरह साधारण सॉफ्टवेयर कंपनियों के अधिकार उनके कॉपीराइट मार्क (कॉपीराइट) द्वारा सुरक्षित होते हैं, उसी तरह एफएसएफ सॉफ्टवेयर सिस्टम की "स्वतंत्रता" "कॉपीलेफ्ट" द्वारा संरक्षित होती है - कॉपीराइट का एक संयोजन और "जीएनयू जनरल पब्लिक लाइसेंस" शीर्षक वाला एक दस्तावेज मौजूद है। सभी एफएसएफ ग्रंथों में। यह दस्तावेज़ उन अधिकारों को बताता है जो इस पाठ के किसी भी वर्तमान स्वामी के पास हैं, और इन अधिकारों को किसी अन्य विषय से वंचित करने की असंभवता है।

एफएसएफ की मुख्य गतिविधि जीएनयू परियोजना के ढांचे के भीतर नए मुफ्त सॉफ्टवेयर घटकों का विकास है। अधिकांश भाग के लिए, जीएनयू परियोजना एक नियोजित तरीके से विकसित होती है (विशेष रूप से, इस लेख की धारा 3 देखें), लेकिन एफएसएफ भी अपनी पहल पर फर्मों और व्यक्तियों द्वारा विकसित मुफ्त वितरण कार्यक्रमों के लिए स्वीकार करता है। इसके अलावा, एफएसएफ जीएनयू सॉफ्टवेयर के विभिन्न घटकों के लिए मुफ्त सॉफ्टवेयर टेप का उत्पादन और बिक्री करता है, तैयार करता है, प्रकाशित करता है और वितरित करता है, और एक सेवा निर्देशिका, फर्मों और व्यक्तियों की एक सूची का रखरखाव और वितरण करता है जो जीएनयू कार्यक्रमों के उपयोगकर्ताओं को भुगतान सेवाएं प्रदान करते हैं और सिस्टम..

एफएसएफ का वित्तीय आधार टेप और दस्तावेज की बिक्री के साथ-साथ वाणिज्यिक फर्मों और व्यक्तियों का प्रायोजन है।

2. उपलब्ध जीएनयू सॉफ्टवेयर

वर्तमान में, GNU प्रोजेक्ट सॉफ्टवेयर के सभी घटक तैयार नहीं हैं। हालांकि, एफएसएफ कई कार्यक्रमों को वितरित करता है, जिनमें से कुछ सीधे एफएसएफ प्रोग्रामर द्वारा लिखे जाते हैं, और जिनमें से कुछ अन्य संगठनों और व्यक्तियों द्वारा मुफ्त वितरण के लिए एफएसएफ को दान कर दिए जाते हैं। आइए अब संक्षेप में FSF द्वारा वितरित सॉफ्टवेयर उत्पादों की सूची बनाएं।

Emacs विभिन्न प्रकार के टर्मिनलों और उपयोगकर्ता की जरूरतों के लिए एक एक्स्टेंसिबल, अनुकूलन योग्य संपादक है। संपादक की विस्तारशीलता संपादक में निर्मित लिस्प भाषा दुभाषिया (सामान्य लिस्प की एक बोली) के उपयोग पर आधारित है। इसके साथ ही संपादक के स्रोत ग्रंथों के साथ, Emacs का उपयोग करने के लिए नियमावली और Emacs वातावरण में लिस्प भाषा में प्रोग्रामिंग के लिए एक संदर्भ पुस्तिका वितरित की जाती है।

बाइसन कुछ एक्सटेंशन के साथ मानक Yacc पार्सर जनरेटर के लिए एक प्रतिस्थापन है। गाइड का वितरण भी किया जा रहा है।

लिस्प भाषा की सरलीकृत बोली के दो कार्यान्वयन - योजना: एक एमआईटी से (सी में लिखा गया), दूसरा येल विश्वविद्यालय से (योजना में लिखा गया)।

Texi2roff उपयोगिता को TeX प्रारूप में पाठ फ़ाइलों को यूनिक्स OS के लिए रॉफ़ मानक प्रारूप की पाठ फ़ाइलों में बदलने के लिए डिज़ाइन किया गया है (मशीन मीडिया पर FSF द्वारा वितरित दस्तावेज़ TeX प्रारूप में स्वरूपित है)।

टेक्स्ट फ़ाइलों को पैक/अनपैक करने के लिए उपयोगिताएँ।

जीएनयू शतरंज कार्यक्रम।

GNU CC एक पोर्टेबल ऑप्टिमाइज़िंग C कंपाइलर है। पूरी तरह से एएनएसआई सी मानक का समर्थन करता है। नए कंप्यूटरों के लिए अर्ध-स्वचालित रूप से कोड जनरेटर बनाने के लिए उपकरण शामिल हैं। मैनुअल के साथ वितरित।

एक सिंगल-पास पोर्टेबल GAS असेंबलर जो मानक यूनिक्स असेंबलर से लगभग दोगुना तेज है।

ऑब्जेक्ट फ़ाइलों के साथ काम करने के लिए मुफ्त उपयोगिता विकल्प: ar, ld, nm, size, gprof, strip, और ranlib। एक नई गतिशील लोडिंग उपयोगिता, डीएलडी, भी वितरित की जा रही है।

जीएनयू मेक में लगभग सभी बीएसडी, सिस्टम वी, और पॉज़िक्स मेक यूटिलिटीज, साथ ही कई एक्सटेंशन शामिल हैं। मैनुअल के साथ वितरित।

GDB डीबगर का उपयोग C, C++ और फोरट्रान में लिखे गए प्रोग्रामों को डीबग करने के लिए किया जा सकता है। मैनुअल के साथ वितरित।

बाश (बॉर्न अगेन शेल) - जीएनयू शेल मानक यूनिक्स श कमांड के साथ संगत है और इसमें अन्य शेल वेरिएंट से लिए गए कई एक्सटेंशन शामिल हैं।

GAWK मानक यूनिक्स AWK उपयोगिता का GNU संस्करण है।

फ्लेक्स मानक लेक्सिकल विश्लेषक जनरेटर लेक्स के लिए एक जीएनयू प्रतिस्थापन है। फ्लेक्स आपको लेक्स की तुलना में अधिक कुशल स्कैनर प्राप्त करने की अनुमति देता है।

जीएनयू टार मानक टार संग्रह उपयोगिता का एक विस्तार है।

बीएसडी 4.3-ताहो से फाइलों का हिस्सा जिसमें एटी एंड टी स्रोत कोड नहीं है और बर्कले विश्वविद्यालय द्वारा मुफ्त वितरण के लिए जारी किया गया है। इन फ़ाइलों में, विशेष रूप से, कुछ उपयोगिताओं, खेल, पुस्तकालय दिनचर्या आदि के पूर्ण स्रोत पाठ होते हैं।

सिस्टम जो बड़ी सॉफ्टवेयर परियोजनाओं, आरसीएस (संशोधन नियंत्रण प्रणाली) और सीवीएस (समवर्ती संस्करण प्रणाली) में सॉफ्टवेयर संस्करणों के साथ काम करने का समर्थन करते हैं।

Grep के मानक मुक्त संस्करणों की तुलना में तेज़ और उपयोगिताओं को अलग करें।

लगभग पूरी तरह से पोस्टस्क्रिप्ट संगत ग्राफिकल भाषा, घोस्टस्क्रिप्ट।

गणितीय अभिव्यक्तियों और डेटा gnuplot को चित्रित करने के लिए एक इंटरैक्टिव प्रोग्राम।

उन्नत वर्ग पुस्तकालयों सहित जीसीसी कंपाइलर को सी ++ कंपाइलर में बदलने के लिए उपकरणों का एक सेट।

X11 कार्यक्रमों की भारी मात्रा, MIT X-Windows कार्यान्वयन (संस्करण 11, रिलीज़ 4)। लेख की मात्रा इस पर अधिक विस्तार से रहने की अनुमति नहीं देती है।

मूल रूप से, एफएसएफ द्वारा वितरित सभी कार्यक्रम यूनिक्स वातावरण में काम करने के लिए डिज़ाइन किए गए हैं और पहले से ही इस प्रणाली के विभिन्न संस्करणों के साथ उपयोग किए जाते हैं, लेकिन वीएमएस और यहां तक ​​​​कि एमएस-डॉस के साथ काम करने के लिए कुछ कार्यक्रमों के संस्करण हैं।

3. जीएनयू परियोजना के तत्काल कार्य

जीएनयू परियोजना के हिस्से के रूप में किए जाने वाले कार्यों की सूची काफी व्यापक है। आइए हम केवल मुख्य दिशाओं का संक्षिप्त विवरण दें।

3.1. प्रलेखन

उन कार्यक्रमों के लिए कई मैनुअल तैयार करने की आवश्यकता है जो पहले से ही तैयार हैं या पूरा होने के करीब हैं: सी भाषा के लिए एक संदर्भ मैनुअल, लक्ष्य मशीनों को निर्धारित करने के लिए एक मैनुअल सहित जीसीसी का विवरण, एक्स में प्रोग्रामिंग एप्लिकेशन सिस्टम के लिए एक मैनुअल- विंडोज वातावरण, आदि।

3.2. मुक्त यूनिक्स कर्नेल के विकास से संबंधित परियोजनाएं

FSF मुक्त Mach माइक्रोकर्नेल पर आधारित एक यूनिक्स कर्नेल बनाने पर काम कर रहा है। तत्काल कार्यों में टीसीपी/आईपी नेटवर्क प्रोटोकॉल और एक नई फाइल सिस्टम का कार्यान्वयन शामिल है (यह उम्मीद की जाती है कि कुछ ऑफ-द-शेल्फ सॉफ़्टवेयर का लाभ उठाए जाने की उम्मीद है)। दूरस्थ OS कर्नेल डीबगर के विकास सहित अन्य कार्य भी हैं।

3.3. मुक्त यूनिक्स वातावरण का विकास

कुछ उपयोगिताओं को लागू करने की आवश्यकता है (sdiff, mailx, join, आदि)। कई पुस्तकालयों के विकास की आवश्यकता है। कार्यों में एक उपयोगकर्ता के अनुकूल टर्मिनल इंटरफेस का विकास है।

3.4. मौजूदा जीएनयू सॉफ्टवेयर का विस्तार

असल में, Emacs, GCC, और GDB को काम की ज़रूरत है।

Emacs के संबंध में, सुधार के दो क्षेत्रों की आवश्यकता है: Emacs को एक प्रकाशन प्रणाली के रूप में उपयोग करने की अनुमति देने के लिए, और Emacs को पूरी तरह से अंतर्राष्ट्रीयकरण करना ताकि किसी भी राष्ट्रीय स्क्रिप्ट का उपयोग किया जा सके।

संचित टिप्पणियों को ठीक करने और मौजूदा सुझावों को लागू करने के लिए जीसीसी को अंतिम रूप देने की आवश्यकता है (टिप्पणियों और सुझावों की सूची जीसीसी के साथ वितरित की जाती है)।

डीबगर में C दुभाषिया शुरू करने के संदर्भ में GDB में सुधार करने की आवश्यकता है; सी के अलावा अन्य भाषाओं में लिखे गए प्रोग्राम को डीबग करते समय जीडीबी का उपयोग करने में सक्षम होने के लिए कुछ बदलावों की भी आवश्यकता होती है।

3.5. नए संकलक

जीसीसी कोड जनरेटर तक पहुंच के साथ कई प्रोग्रामिंग भाषाओं (एल्गोल, अल्गोल -68, पीएल/1, एडा, आदि) के लिए कंपाइलर्स का कार्यान्वयन आवश्यक है। (फोरट्रान, पास्कल और मोडुला -2 के लिए ऐसा काम पहले से ही चल रहा है।)

3.5. अन्य परियोजनाओं के टन

जीएनयू परियोजना की तात्कालिक कार्यों की वर्तमान सूची में अन्य कार्यों की एक विस्तृत विविधता शामिल है। आइए पेज मेकर, वेंचुरा पब्लिशर, dbase2 या dbase3 सिस्टम आदि के मुफ्त एनालॉग्स की इच्छा का उल्लेख करें। कई एक्स-विंडोज प्रोग्राम की आवश्यकता है। आदि। आदि।

4. अधिक जानकारी और/या जीएनयू कार्यक्रम कैसे प्राप्त करें

आज के घरेलू परिवेश में FSF के साथ संवाद करने के लिए, ई-मेल का उपयोग करना सबसे अच्छा है। GNU प्रोजेक्ट में शामिल होने के इच्छुक लोगों के लिए FSF का संपर्क व्यक्ति Walter Poxon है। उनका ई-मेल पता: आप एफएसएफ से जीएनयू सॉफ्टवेयर के साथ टेप प्राप्त करने के नियमों के बारे में भी जानकारी प्राप्त कर सकते हैं। दुर्भाग्य से, यह प्राकृतिक मार्ग वर्तमान सोवियत वास्तविकता के लिए बहुत उपयुक्त नहीं है (टेप के लिए भुगतान, हालांकि प्रतीकात्मक, अभी भी कठिन मुद्रा में है)।

हमारे देश में, वास्तव में, ये सभी टेप हैं। उनमें से कोई भी धारक, एफएसएफ खेल के नियमों के अनुसार, उनके आगे के वितरण को सुविधाजनक बनाने के लिए बाध्य है। दुर्भाग्य से, यह काफी तकनीकी काम है। सोवियत संघ यूनिक्स उपयोगकर्ताओं (एसयूयूजी) की योजना है कि जैसे ही तकनीकी स्थितियां अनुमति दें, अपने सदस्यों के लिए मुफ्त सॉफ्टवेयर का मुफ्त वितरण और सभी के लिए टेप की भुगतान प्रतिलिपि (यह आने वाले महीनों की बात है)। सभी एसयूयूजी सदस्यों को प्रासंगिक जानकारी प्राप्त होगी, वर्तमान जानकारी ई-मेल के माध्यम से या सामान्य एसयूयूजी पते पर प्राप्त की जा सकती है: 125502, मॉस्को, सेंट। लवोककिना, 19.

साहित्य।

  1. रिचर्ड एम. स्टॉलमैन। जीएनयू घोषणापत्र।
  2. जीएनयू जनरल पब्लिक लाइसेंस // फ्री सॉफ्टवेयर फाउंडेशन, 1989।
  3. GNU's Bulletin // फ्री सॉफ्टवेयर फाउंडेशन, 1991।
  4. जीएनयू टास्क लिस्ट (ई-मेल के माध्यम से समय-समय पर अपडेट की गई फाइल उपलब्ध है; हम 24 जुलाई, 1991 संस्करण पर आधारित हैं)