ग्लिबीसी (glibc)

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

जीएनयू लेसर जनरल पब्लिक लाइसेंस के तहत जारी, ग्लिबक मुफ्त सॉफ्टवेयर है। जीएनयू सी लाइब्रेरी प्रोजेक्ट जीएनयू सिस्टम के लिए कोर लाइब्रेरी प्रदान करता है, साथ ही कई सिस्टम जो कर्नेल (ऑपरेटिंग सिस्टम) के रूप में लिनक्स कर्नेल का उपयोग करते हैं। ये लाइब्रेरी आईएसओ C11 (C मानक संशोधन), पोसिक्स.1-2008, बर्कले सॉफ़्टवेयर वितरण, ओएस-विशिष्ट एपीआई और बहुत कुछ सहित महत्वपूर्ण एपीआई प्रदान करती हैं। इन एपीआई में खुला (सिस्टम कॉल),  पढ़ें (सिस्टम कॉल),  लिखें (सिस्टम कॉल), मॉलोक,  प्रिंटफ प्रारूप स्ट्रिंग,  गेटएड्रिनफो, डीलोपेन, pthreads|pthread_create, क्रिप्ट (सी)C),  लॉग इन करें, एग्जिट (सिस्टम) जैसी मूलभूत सुविधाएं सम्मिलित हैं। कॉल करें) और भी बहुत कुछ हैं।

इतिहास
ग्लिबीसी परियोजना प्रांरम्भ में ज्यादातर रोलैंड मैकग्राथ द्वारा लिखी गई थी, जो 1987 की गर्मियों में एक किशोर के रूप में फ्री सॉफ्टवेयर फाउंडेशन (एफएसएफ) के लिए काम कर रहे थे। फरवरी 1988 में, एफएसएफ ने ग्लिबीसी को एएनएसआई सी के लिए आवश्यक कार्यक्षमता लगभग पूरी कर लेने वाला बताया। 1992 तक, इसमें एएनएसआई सी-1989 और पोसिक्स.1-1990 फ़ंक्शन लागू हो गए थे और पोसिक्स.2 पर काम चल रहा था। सितंबर 1995 में उलरिच ड्रेपर ने ग्लिबीसी में अपना पहला योगदान दिया और 1997 तक अधिकांश प्रतिबद्धताएं उनके द्वारा की गईं। ड्रेपर ने कई वर्षों तक रखरखाव का पद संभाला और 2012 तक परियोजना के लिए सभी प्रतिबद्धताओं का 63% जमा कर लिया। मई 2009 में ग्लिबक को गिट रिपॉजिटरी में स्थानांतरित कर दिया गया था।

2010 में, एक लाइसेंसिंग समस्या का समाधान किया गया था जो कि ग्लिबीसी में सन आरपीसी कार्यान्वयन के कारण हुआ था जो कि जीपीएल लाइसेंस संगतता नहीं थी। इसे बीएसडी लाइसेंस के तहत सन आरपीसी घटकों को फिर से लाइसेंस देकर तय किया गया था।

2014 में, ग्लिबक को s390 पर एबीआई ब्रेकेज बग का सामना करना पड़ा।

जुलाई 2017 में, ग्लिबीसी प्रांरम्भ करने के 30 साल बाद, रोलैंड मैकग्राथ ने अपने प्रस्थान की घोषणा की, खुद को अनुरक्षक एमेरिटस घोषित किया और परियोजना में प्रत्यक्ष भागीदारी से हट गए। अगर पिछले कुछ साल नहीं तो पिछले कई महीनों ने यह साबित कर दिया है कि अब तुम्हें मेरी जरूरत नहीं है।

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

2021 में, फ्री सॉफ्टवेयर फाउंडेशन के लिए कॉपीराइट असाइनमेंट की आवश्यकता को परियोजना से हटा दिया गया था।

फोर्क और प्रकार
1994 में, लिनक्स कर्नेल कांटा (सॉफ़्टवेयर विकास) के डेवलपर्स ग्लिबक. उनका कांटा, लिनक्स लिबसी, लगभग 1998 तक अलग से बनाए रखा गया था। क्योंकि कॉपीराइट एट्रिब्यूशन अपर्याप्त था, परिवर्तनों को जीएनयू लिबसी में वापस विलय नहीं किया जा सका। जब जनवरी 1997 में एफएसएफने ग्लिबक 2.0 जारी किया, तो पोसिक्स मानकों के साथ ग्लिबक 2.0 के बेहतर अनुपालन के कारण कर्नेल डेवलपर्स ने लिनक्सलिबसी को बंद कर दिया। ग्लिबक 2.0 में बेहतर अंतर्राष्ट्रीयकरण और अधिक गहन अनुवाद, IPv6 क्षमता, 64-बिट डेटा एक्सेस, मल्टीथ्रेडेड अनुप्रयोगों के लिए सुविधाएं, भविष्य के संस्करण की अनुकूलता और कोड अधिक पोर्टेबल था। लिनक्सलिबसी के अंतिम उपयोग किए गए संस्करण में आंतरिक नाम (सोनेम) का उपयोग किया गया था libc.so.5. इसके बाद, लिनक्स पर ग्लिबक 2.x सोनेम का उपयोग करता है libc.so.6

2009 में, डेबियन और लिनक्स वितरणों की कई सूची#डेबियन-आधारित को ग्लिबीसी से वेरिएंट में बदल दिया गया उदाहरण. एग्लिबीसी को फ्रीस्केल सेमीकंडक्टर, एमआईपीएस टेक्नोलॉजीज, मोंटाविस्टा और पवन नदी प्रणाली ्स के एक संघ द्वारा समर्थित किया गया था। इसमें ऐसे परिवर्तन सम्मिलित थे जो इसे अंतः स्थापित प्रणाली के लिए अधिक उपयुक्त बनाते थे और इसमें ऐसे आर्किटेक्चर के लिए समर्थन जोड़ा गया था जो ग्लिबक द्वारा समर्थित नहीं थे, जैसे कि पावरपीसी ई500। ईग्लिबक का कोड संस्करण 2.20 पर वापस ग्लिबक में विलय कर दिया गया था। 2014 से, ईग्लिबक बंद कर दिया गया है। डेबियन जेसी की रिहाई के बाद से योक्टो प्रोजेक्ट और डेबियन भी ग्लिबीसी में वापस चले गए।

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

संस्करण इतिहास
अधिकांश प्रणालियों के लिए, ग्लिबक का संस्करण lib फ़ाइल को निष्पादित करके प्राप्त किया जा सकता है (उदाहरण के लिए, /lib/libc.so.6)।

कार्यक्षमता
ग्लिबक एकल UNIX विशिष्टता, पोसिक्स (1c, 1d, और 1j) के लिए आवश्यक कार्यक्षमता और अंतर्राष्ट्रीय मानकीकरण संगठन C11 (C मानक संशोधन), अंतर्राष्ट्रीय मानकीकरण संगठन C99, बर्कले यूनिक्स (BSD) इंटरफेस के लिए आवश्यक कुछ कार्यक्षमता प्रदान करता है। सिस्टम V इंटरफ़ेस परिभाषा (एसवीआईडी) और एक्स/ओपन पोर्टेबिलिटी गाइड (एक्सपीजी), अंक 4.2, सभी एक्स/ओपन यूनिक्स एक्सटेंशन के साथ एक्सएसआई (एक्स/ओपन सिस्टम इंटरफ़ेस) अनुरूप सिस्टम के लिए सामान्य सभी एक्सटेंशन के साथ हैं।

इसके अलावा, ग्लिबक ऐसे एक्सटेंशन भी प्रदान करता है जिन्हें जीएनयू विकसित करते समय उपयोगी या आवश्यक समझा गया है।

समर्थित हार्डवेयर और कर्नेल
ग्लिबक का उपयोग उन प्रणालियों में किया जाता है जो कई अलग-अलग कर्नेल (ऑपरेटिंग सिस्टम) और विभिन्न कंप्यूटर हार्डवेयर आर्किटेक्चर चलाते हैं। इसका सबसे आम उपयोग x86 हार्डवेयर पर लिनक्स कर्नेल का उपयोग करने वाले सिस्टम में होता है, हालाँकि, आधिकारिक तौर पर समर्थित हार्डवेयर इसमें सम्मिलित हैं: एआरएम वास्तुकला 32-बिट एआरएम और इसका नया 64-बिटआईएसए (एआर्क64), एआरसी_(प्रोसेसर), सी-स्काई, डीईसी अल्फा, आईए-64, मोटोरोला 68000 श्रृंखला, माइक्रोब्लेज़ ़, एमआईपीएस एमआईपीएस आर्किटेक्चर, निओस II, पीए- जोखिम, पावरपीसी, आरआईएससी-वी, आईबीएम सिस्टम जेड, एसपीएआरसी, और x86 (पुराने संस्करण टाइल64 का समर्थन करते हैं)। यह आधिकारिक तौर पर जीएनयू हर्ड और लिनक्स कर्नेल कर्नेल का समर्थन करता है। इसके अतिरिक्त, भारी पैच वाले संस्करण भी हैं जो फ्रीबीएसडी और नेटबीएसडी (जिसमें से डेबियन जीएनयू/केफ्रीबीएसडी|डेबियन जीएनयू/केफ्रीबीएसडी और डेबियन जीएनयू/नेटबीएसडी सिस्टम क्रमशः बनाए गए हैं) के कर्नेल पर चलते हैं, साथ ही ओपनसोलर  का एक फोर्कड-संस्करण भी है। इसका प्रयोग (संपादित रूप में) एवं नामकरण भी किया जाता है libroot.so BeOS और Haiku (ऑपरेटिंग सिस्टम) में।

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

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

यह भी देखें

 * ग्नुलिब
 * लिनक्स कर्नेल एपीआई