Bootstrappable builds
बूटस्ट्रैपेबल बिल्ड, सॉफ्टवेयर को संकलित करने की एक प्रक्रिया जो (संकलक) द्विआधारी पर निर्भर नहीं करती है जो इस प्रक्रिया द्वारा स्रोत से नहीं बनाई जाती है। यह प्रक्रिया संकलक के पिछले दरवाजों से बचा सकती हैः यदि निर्माण प्रक्रिया द्विआधारी कोड पर निर्भर नहीं है जिसका लेखा-परीक्षण करना मुश्किल है, तो एक संकलक के पिछले दरवाजे को अब संकलक द्विआधारी में छिपाया नहीं जा सकता है। तरीके एक सॉफ्टवेयर वितरण के लिए समस्या से निपटने का एक तरीका वितरण को बूटस्ट्रैप करने के लिए उपयोग किए जाने वाले द्विआधारी के आकार को कम करना है जब तक कि अब इसकी आवश्यकता नहीं है या आकार इतना छोटा है कि मनुष्यों द्वारा आसानी से समीक्षा की जा सकती है। विभिन्न प्रोग्रामिंग भाषाओं के लिए कई संकलक उस भाषा में लिखे जाते हैं जिसे वे लक्षित करते हैं। उदाहरण के लिए आधिकारिक गो कंपाइलर (जी. सी.) गो में लिखा जाता है। इसलिए जी. सी. सी. जैसे वैकल्पिक संकलक के बिना जो किसी अन्य प्रोग्रामिंग भाषा (यहाँ सी और सी + + में) में लिखे गए हैं, गो संकलक को बनाने के लिए गो संकलक द्विआधारी के पिछले संस्करण के द्विआधारी की आवश्यकता होगी। बूटस्ट्रैपेबल बिल्ड के लिए, संकलक के पुराने संस्करणों को ढूंढना अक्सर संभव होता है जिन्हें स्रोतों से बनाया जा सकता है, और उससे, हाल के संस्करण होने तक संकलक के अगले संस्करण को स्वचालित रूप से बनाने के लिए कोड लिखें। यह पहचानना कि कौन सा संस्करण कौन से संस्करणों का निर्माण कर सकता है, अक्सर तुच्छ नहीं होता है और जिसके परिणामस्वरूप अक्सर बूटस्ट्रैप प्रक्रिया के लिए बहुत लंबा संकलन समय होता है। कभी-कभी इसके लिए पुराने संकलक संस्करणों को बनाए रखने और इन संरचनाओं को बूटस्ट्रैप करने में सक्षम होने के लिए पुराने संकलक संस्करणों पर नए सीपीयू संरचनाओं के लिए समर्थन का समर्थन करने की भी आवश्यकता होती है। इस प्रक्रिया को बूटस्ट्रैप संकलकों के अन्य तरीकों से भी बदला या जोड़ा जा सकता है। उदाहरण के लिए किसी भाषा के लिए एक नया संकलक लिखना भी संभव है, जो किसी अन्य भाषा में लिखा जाता है। इन तकनीकों का उपयोग वितरण को बूटस्ट्रैप करने के लिए उपयोग किए जाने वाले द्विआधारी के आकार को कम करने के लिए किया जा सकता है। जहां तक पहले संकलक के निर्माण की बात है जो बाद के संकलक का निर्माण कर सकता है, आकार को एक एकल द्विआधारी तक कम करना संभव है जो 1 किलोबाइट से कम है और इससे सी संकलक बनाने में सक्षम होने के लिए बूटस्ट्रैपिंग प्रक्रिया में कई चरणों का उपयोग किया जाता है, और उससे अन्य संकलक या सॉफ्टवेयर का निर्माण किया जाता है। बूटस्ट्रैपेबल बिल्ड का इतिहास 2016 में पुनरुत्पादक बिल्ड परियोजना के एक स्पिन-ऑफ के रूप में शुरू किया गया था। रिप्रोड्युसिबल बिल्ड संदर्भ बाहरी लिंक bootstrappable.org संकलन उपकरण भी देखें।