- Debian के APT package manager में मई 2026 के बाद से Rust-आधारित code और dependencies शामिल किए जाने की योजना है
- शुरुआती चरण में Rust compiler, standard library, और Sequoia ecosystem को एकीकृत किया जाएगा
.deb, .ar, .tar file parser और HTTP signature verification code ऐसे मुख्य क्षेत्र हैं जहाँ memory safety और unit testing को मजबूत करने के लिहाज़ से बड़े सुधार अपेक्षित हैं
- जिन ports में Rust toolchain नहीं है, उन्हें 6 महीने के भीतर Rust environment बनाना होगा, नहीं तो उनका support समाप्त (sunset) किया जा सकता है
- यह कदम पूरे project को आधुनिक tools और technologies की ओर ले जाने के लिए है, ताकि पुरानी hardware compatibility इसकी प्रगति में बाधा न बने
APT में Rust code शामिल करने की योजना
- APT में Rust code और hard dependency को मई 2026 के बाद शामिल किया जाएगा
- लागू होने का समय मई 2026 के बाद है; उससे पहले यह लागू नहीं होगा
- शुरुआती integration का दायरा Rust compiler, standard library, और Sequoia ecosystem तक सीमित है
code quality और safety बेहतर बनाने का उद्देश्य
.deb, .ar, .tar file parsing code और HTTP signature verification code Rust अपनाने के मुख्य लक्ष्य हैं
- स्पष्ट रूप से कहा गया है कि इन क्षेत्रों को memory-safe language और मजबूत unit testing framework के लाभ विशेष रूप से मिलेंगे
port maintainers के लिए आवश्यकताएँ
- जिन ports में Rust toolchain नहीं है, उन्हें 6 महीने के भीतर Rust environment तैयार करना होगा
- अन्यथा उन ports को बंद (sunset) किया जा सकता है
project की दिशा
- इस बात पर ज़ोर दिया गया है कि Debian project को आधुनिक tools और technologies का उपयोग करते हुए आगे बढ़ना चाहिए
- यह भी कहा गया है कि पुराने hardware या retro computing devices के अनुरूप बने रहने की कोशिश से प्रगति रुकनी नहीं चाहिए
अन्य जानकारी
- संदेश भेजने वाले Debian और Ubuntu core developer Julian Andres Klode हैं
- यह मेल Debian developer mailing list debian-devel पर पोस्ट किया गया था
- संलग्न फ़ाइल के रूप में PGP signature (
signature.asc) शामिल है
- अतिरिक्त technical details या schedule change का कोई उल्लेख नहीं है
1 टिप्पणियां
Hacker News राय
लगता है अब इसका समय आ गया है। अविश्वसनीय डेटा को पार्स करने वाला कोड अभी भी C में बनाए रखना समय के साथ बढ़ता हुआ तकनीकी कर्ज़ है
Rust को लिखना C से बहुत अधिक कठिन भी नहीं है, और अगर आज की कोड सुरक्षा तथा भाषा-डिज़ाइन की समझ के आधार पर C को फिर से बनाया जाए, तो शायद वही भाषा Rust जैसी दिखे
अगर व्यावहारिक कारणों से 32-बिट x86 सपोर्ट छोड़ा जा सकता है, तो इन आर्किटेक्चर के साथ भी वैसा ही होना चाहिए। अगर इन्हें सच में बनाए रखना है, तो Rust toolchain backend खुद बनाना होगा
Go कुछ हद तक करीब था, लेकिन systemd जैसे core system में इस्तेमाल होने लायक गंभीर चर्चा तक नहीं पहुँचा। सोचता हूँ कि C++, Python, Perl को जोड़ते समय भी क्या ऐसे ही विवाद हुए होंगे
क्या battle-tested code को छोड़कर नई compatibility problems और bugs बनाना सच में उचित है?
Rust में core system को फिर से लिखने की प्रवृत्ति मज़बूत है, लेकिन पुराने tools को rewrite करने से security वास्तव में बेहतर होती है या नहीं, इस पर संदेह है
यह समझ आता है कि नई systems लाना कठिन है, लेकिन फिर भी ऐसा लगता है जैसे अब भी telegraph युग के design decisions पर परत-दर-परत निर्माण बनाए रखा गया है
पहला, पुराने C/C++ codebase पर काम करना चाहने वाले नए contributors लगभग नहीं मिलते। Rust में ले जाने से नए developers को जोड़ना आसान हो जाता है
दूसरा, reliability का परीक्षण उपयोग की आवृत्ति से होता है, लेकिन security का परीक्षण केवल हमलों से होता है। यह मान लेना कठिन है कि पुराने code ने हर attack vector देख लिया है। इसलिए proactive security hardening का तर्क मज़बूत है
Debian mail thread के अनुसार, Rust पहले से ही Debian की अधिकांश release architectures पर अनिवार्य है
संबंधित मेल में केवल alpha, hppa, m68k, sh4 को अपवाद के रूप में बताया गया है। इन architectures का आगे क्या होगा, यह जानने की उत्सुकता है
Rust m68k के लिए Tier 3 target देता है, लेकिन बाकी architectures के लिए नहीं। इनके वास्तविक use cases जानना दिलचस्प होगा
32-बिट x86 और MIPS के हटने के बाद भी इनका बचे रहना थोड़ा आश्चर्यजनक है। व्यक्तिगत रूप से इसमें nostalgia तो है, लेकिन वास्तविक उपयोग का पता नहीं
पहले LLVM में DEC Alpha backend हुआ करता था, लेकिन वह बहुत पुरानी बात है
काश Rust community मौजूदा projects में घुसने के बजाय नई आधुनिक तकनीक खुद बनाकर साबित करती
Redox जैसे स्वतंत्र projects ऐसे उदाहरण हैं, इसलिए अफ़सोस है कि ऐसे प्रयासों को और आगे क्यों नहीं बढ़ाया जाता
बेशक “Rust में फिर से लिखो” कहने वाले अतिवादी fans होते हैं, लेकिन यह मामला वैसा नहीं है
Rust standard library का इस्तेमाल ठीक है, लेकिन एक साधारण deb parser build के लिए 500 cargo packages खींच लाना नहीं चाहिए
शायद Rust-for-GCC port के स्थिर होने तक इंतज़ार करना तर्कसंगत हो सकता है
kernel भी GCC support आने से पहले Rust को अनिवार्य नहीं बनाने वाला है।
कई implementations आने से भाषा कम अस्थिर लगेगी
लेकिन अगर अभी architecture support हटा दिया गया, तो बाद में Rust toolchain आने पर वापसी की प्रक्रिया जटिल हो सकती है
उल्टा rustc_codegen_gcc के पहले stable होने की संभावना ज़्यादा है
यह भी याद रखने लायक है कि Debian Rust discussion mail के लेखक keepassxc package maintainer हैं
अतीत में upstream developers और users के प्रति उनके कठोर व्यवहार का ज़िक्र करने वाली threads भी हैं
किसी एक व्यक्ति की राय बदलने की प्रक्रिया देखना दिलचस्प है। पुराना बयान
मुझे लगता है Rust सिर्फ hype है। embedded दुनिया में अब भी C ही राजा है।
मैंने अपने आसपास किसी को वास्तव में Rust इस्तेमाल करते या उस पर विचार करते नहीं देखा
performance और memory efficiency बनाए रखते हुए development speed भी तेज़ मिलती है।
एकमात्र कमी binary size है। मेरे हिसाब से Rust का भविष्य पहले ही काफ़ी मज़बूत हो चुका है
फिर भी आकर्षण सिर्फ memory safety नहीं, बल्कि पूरी language और toolchain की quality भी है
मुझे लगता है polyglot environment और ज़्यादा समस्याएँ पैदा करता है।
Python, Node, Go, Rust आदि के लिए अलग-अलग toolchains और package managers चाहिए, जिससे जटिलता बढ़ती है
Node से buffer overflow तो हट गया, लेकिन supply chain attacks बढ़ गए।
बेहतर है कि नई शुरुआत की जाए, और अगर Rust को पूरी तरह अपनाना है, तो Redox OS में योगदान करना ज़्यादा उचित है
सब कुछ एक ही भाषा में फिर से लिखना अव्यावहारिक है, और Redox को आगे बढ़ाने पर ज़ोर देना भी उल्टा अलाभकारी हो सकता है
Rust पहले से काफ़ी सिद्ध भाषा है, और C की तुलना में बदलाव करते समय खुद को उड़ा देने की संभावना कम रखने वाली compiled language के रूप में इसका मूल्य है
पुराने architectures को छोड़ देना भी कोई अनुचित बात नहीं
कौन-सी भाषा हटानी है, कौन-सी जोड़नी है, यह Debian maintainers का निर्णय होना चाहिए