3 पॉइंट द्वारा GN⁺ 2023-11-17 | 1 टिप्पणियां | WhatsApp पर शेयर करें

cURL और libcurl का विविध ऑपरेटिंग सिस्टम समर्थन

  • हाल ही में cURL के एक pull request में यह स्पष्ट किया गया कि contributors को यह सुनिश्चित करना चाहिए कि उनके सुझाए गए बदलाव legacy platforms पर testing में बाधा न डालें.
  • cURL फिलहाल 32-bit time_t type को support करता है, और इस capability को बनाए रखने की आवश्यकता पर ज़ोर दिया गया.
  • legacy systems में रुचि रखने का मकसद किए गए वादों को निभाना और अनावश्यक breakage से बचना है.

स्थिरता और वादों का एक हिस्सा

  • cURL project ABI और API की stability तथा compatibility बनाए रखने के लिए लगातार प्रयास करता है.
  • 2000 के दशक के मध्य में लिखे गए applications को नए libcurl पर upgrade करने के बाद भी वे बिना recompilation के उसी तरह काम करते हैं.
  • यह cURL और libcurl का एक मुख्य सिद्धांत है, जिससे यह एक स्थिर internet transfer solution बनता है जिस पर users भरोसा कर सकते हैं.

users की संख्या मायने नहीं रखती

  • किसी specific platform के users की संख्या उस platform को support करने की प्रेरणा नहीं है.
  • महत्वपूर्ण यह है कि काम करने वाला व्यक्ति मौजूद हो और काम पूरा हो.
  • अगर contributors लगातार यह सुनिश्चित करते रहें कि cURL किसी विशेष platform पर काम करे, तो users कम होने पर भी उस platform पर cURL चलता रहेगा.

cURL हर जगह होने की वजह

  • cURL का अलग-अलग operating systems और CPU architectures पर काम करना और बहुत से devices में install होना इस मजबूत focus की वजह से है कि यह हर जगह build हो और चले.
  • कई users और कंपनियाँ प्राचीन, niche और legacy platforms पर टिकी हुई हैं, और उनका कहना है कि cURL पर निर्भर रहना दूसरे विकल्पों की तुलना में security के लिहाज़ से कहीं बेहतर है.

हम अब भी specs को phase out करते हैं

  • cURL कभी-कभी कुछ third-party libraries का support बंद करता है और दूसरे क्षेत्रों में भी बदलाव लाता है.
  • specs को धीरे-धीरे और सावधानी से phase out किया जाता है, और open communication के ज़रिए सबको तैयारी करने या आपत्ति जताने का मौका दिया जाता है.
  • अगर users बदले हुए behavior को detect नहीं कर सकते, तो उसे व्यावहारिक रूप से बदलाव नहीं माना जाता.

दुनिया में बदलाव

  • internet protocols और versions समय के साथ बदलते रहते हैं.
  • 2002 में लिखे गए ज़्यादातर cURL commands आज fail हो जाते हैं, क्योंकि host names और URLs अब पहले की तरह काम नहीं करते.
  • 2002 में लिखे गए cURL commands आज बिल्कुल वैसे ही काम न करने की मुख्य वजह HTTP से HTTPS की ओर हुआ transition है.

GN⁺ की राय

  • इस लेख की सबसे महत्वपूर्ण बात यह है कि cURL विभिन्न operating systems और architectures को support करता है, और इसके पीछे stability और compatibility बनाए रखने के लिए developers की मेहनत है.
  • users और technologies में बदलाव के बावजूद cURL का लगातार एक भरोसेमंद tool बने रहना कई software engineers और users के लिए दिलचस्प और आकर्षक तथ्य है.
  • यह लगातार support और stability, cURL को internet के बुनियादी tools में से एक बनाती है, जिससे तकनीकी बदलावों के बीच भी इसकी महत्वपूर्ण भूमिका बनी रहती है.

1 टिप्पणियां

 
GN⁺ 2023-11-17
Hacker News टिप्पणियाँ
  • Curl की उपलब्धि के लिए प्रशंसा

    • Curl उन डेवलपर्स के लिए एक बेहद महत्वपूर्ण टूल है जिनका लक्ष्य इसे कई operating systems पर काम करने लायक बनाए रखना है.
    • 32-बिट time_t की compatibility पर ज़ोर दिया गया, लेकिन 2038 समस्या नज़दीक आने के कारण 32-बिट time handling की उपयोगिता पर सवाल उठाया गया.
  • dependencies से आने वाले बोझ के बारे में डेवलपर्स की समझ

    • बहुत अधिक dependencies वाली infrastructure और central systems को बदलना मुश्किल हो जाता है.
    • छोटे बदलाव भी कई services को प्रभावित कर सकते हैं, इसलिए सावधानी से समीक्षा ज़रूरी है.
    • मौजूदा systems को बनाए रखते हुए बदलावों को बिना ध्यान खींचे लागू करने पर गर्व.
  • प्राचीन, niche और legacy platforms का लगातार उपयोग

    • कई users और companies पुराने platforms से चिपके रहते हैं, और अक्सर यह ऐसी स्थिति होती है जिसे बदला नहीं जा सकता.
    • कुछ software developers purpose-fit software और explicit guarantees प्रदान करते हैं, लेकिन यह महंगा और धीमा होता है.
  • पुराने operating systems पर Curl support को लेकर सवाल

    • यह सवाल कि क्या 25 साल से अधिक समय से बिना update वाले systems पर भी मौजूदा build बनता है.
    • support matrix को टूटने से बचाने की कोशिशों के बावजूद, वास्तव में यह काम करता है या नहीं, इसकी पुष्टि करना मुश्किल है.
  • Curl की लोकप्रियता के कारणों में से एक, इसकी permissive license

    • Curl का license MIT जैसा है, लेकिन थोड़ा अलग है.
    • मुख्य अंतर के संक्षिप्त स्पष्टीकरण का अनुरोध.
  • Linux versions की विविधता पर आश्चर्य

    • 100 से अधिक Linux versions मौजूद हैं, और यह तब भी सच है जब उन्हें एक ही OS माना जाए.
  • समान operating systems के बीच भेद पर सवाल

    • FreeDOS, DR-DOS, MS-DOS को अलग-अलग OS के रूप में वर्गीकृत किया गया, लेकिन वास्तव में वे ABI compatible हैं.
  • Curl को Rust में rewrite करने की मांग और Rust की targetability पर सवाल

    • यह सवाल उठाया गया कि क्या Rust, Curl द्वारा समर्थित सभी architectures और operating systems को target कर सकता है.
  • Curl की शुरुआत और इतिहास पर संबंधित पढ़ाई का सुझाव

    • Curl के 25 साल के इतिहास पर एक blog link साझा किया गया.
  • Curl के व्यापक support और updates पर हल्का-फुल्का मज़ाक

    • ENIAC पर Curl चलाने का मज़ाक, और यह कि हर update में बहुत लंबा समय लग जाता है.