ब्लॉग पर वापस जाएँ

Chromium क्या है: ब्राउज़र का आधार और उसकी सीमाएँ

Chromium एक ओपन-सोर्स ब्राउज़र प्रोजेक्ट है और Chrome, Edge, Brave, Opera जैसे ब्राउज़रों का साझा आधार भी, लेकिन खुद यह आम उपयोगकर्ताओं के लिए तैयार उत्पाद नहीं है। लेख प्रोजेक्ट और डिस्ट्रीब्यूशन के रिश्ते को समझाता है, और यह भी कि Chromium पर आधारित होने वाली बात क्या तय करती है और क्या नहीं।

ब्राउज़र इंस्टॉल करते समय बहुत कम लोग यह समझ पाते हैं कि Edge, Brave, Opera, Vivaldi और Chrome एक ही आधारभूत कोड इस्तेमाल करते हैं। इस कोड का नाम Chromium है, और यह तय करता है कि पेज कैसे रेंडर होंगे, स्क्रिप्ट कैसे चलेंगी, और एक्सटेंशन किन इंटरफ़ेस को कॉल कर सकते हैं।

एक प्रोजेक्ट, उत्पाद नहीं

Chromium प्रोजेक्ट के ब्राउज़र बिल्ड से उपयोगकर्ता के लिए बने उत्पाद तक की परतें

Chromium एक ओपन-सोर्स प्रोजेक्ट है, जिसे 2008 में Chrome के साथ ओपन सोर्स किया गया, और इसमें रेंडरिंग इंजन Blink, JavaScript इंजन V8, तथा ब्राउज़र इंटरफ़ेस का पूरा कोड शामिल है। इसका रखरखाव Google की अगुवाई में होता है, लेकिन कोड सार्वजनिक है और कोई भी इसे लेकर अपना डिस्ट्रीब्यूशन बना सकता है।

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

हर कोई इसका इस्तेमाल क्यों करता है

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

इसलिए रास्ते अलग हो गए। Chrome Google का खुद का उत्पाद है; Edge ने 2020 में अपना इंजन छोड़कर Chromium अपनाया; Opera ने यह कदम उससे पहले उठाया; Brave, Vivaldi और Samsung Internet भी इसी आधार पर अपनी विशिष्टता बनाते हैं। Android में WebView और डेस्कटॉप पर Electron ऐप्स भी Chromium ही इस्तेमाल करते हैं। इसके उलट Firefox, Gecko और Safari, WebKit पर चलते हैं, जो एक अलग तकनीकी रास्ता है।

Chrome से इसका अंतर

एक ही मूल होने का मतलब एक ही चीज़ होना नहीं है। Chrome, Chromium के ऊपर ऑटो-अपडेटर, क्रैश और उपयोग के आँकड़े, और Google खाता सिंक जोड़ता है, और लाइसेंस खरीदकर H.264, AAC जैसे प्रोप्राइटरी कोडेक तथा Widevine DRM शामिल करता है, इसलिए स्ट्रीमिंग साइटें ठीक चलती हैं। Chromium के आधिकारिक बिल्ड में आम तौर पर ये नहीं होते; वीडियो पेज खुल सकता है पर चल नहीं पाएगा, और लॉगिन या सिंक कहीं नहीं मिलेगा।

प्राइवेसी डिफ़ॉल्ट भी अलग हैं। Chromium टेलीमेट्री वापस नहीं भेजता, लेकिन Chrome जैसे प्राइवेसी टॉगल भी नहीं देता; डाउनस्ट्रीम ब्राउज़र अपने-अपने फैसले लेते हैं — Brave डिफ़ॉल्ट रूप से विज्ञापन और ट्रैकिंग स्क्रिप्ट रोकता है, और Edge खाता प्रणाली को Microsoft की प्रणाली से बदल देता है। ये सारे अंतर इंजन के अंदर नहीं हैं।

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

कम्पैटिबिलिटी और ऑटोमेशन को इसकी परवाह क्यों है

फ्रंटएंड डेवलपमेंट में जब कोई पेज Chrome में सही चलता है और दूसरे ब्राउज़रों में गड़बड़ करता है, तो पहला कदम यह तय करना है कि यह इंजन की समस्या है या विक्रेता का बदलाव। जब तक सब कुछ Chromium पर है, CSS और JavaScript का व्यवहार काफ़ी हद तक अनुमानित रहता है, और अंतर ज़्यादातर वर्ज़न के नए-पुराने होने तथा विक्रेता पैच से आता है।

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

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

यह बात क्या बताती है और क्या नहीं

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

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

Chromium पर आधारित देखकर उसे वही ब्राउज़र मान लेना सबसे आम भूल है। रोज़मर्रा के अनुभव को असल में यह तय करता है कि हर कंपनी इस आधार पर क्या जोड़ती है, क्या हटाती है, और कितनी बार अपस्ट्रीम से सिंक करती है।