इस दस्तावेज़ में एंड्रॉइड ओपन सोर्स प्लेटफ़ॉर्म (एओएसपी) के बारे में सामान्य प्रश्नों के उत्तर शामिल हैं।
ओपन-सोर्स प्रश्न
Google ने Android सोर्स कोड क्यों खोला?
मोबाइल ऐप्स लॉन्च करने के हमारे अपने अनुभवों के जवाब में Google ने AOSP शुरू किया। हम यह सुनिश्चित करना चाहते थे कि कैरियर, ओईएम और डेवलपर्स के लिए अपने नवीन विचारों को वास्तविकता बनाने के लिए उपयोग करने के लिए हमेशा एक खुला मंच उपलब्ध रहेगा। हम विफलता के किसी भी केंद्रीय बिंदु से बचना चाहते थे, ताकि कोई भी उद्योग खिलाड़ी किसी अन्य के नवाचारों को प्रतिबंधित या नियंत्रित न कर सके। एओएसपी के साथ हमारा सबसे महत्वपूर्ण लक्ष्य यह सुनिश्चित करना है कि ओपन-सोर्स एंड्रॉइड सॉफ़्टवेयर को सभी के लाभ के लिए यथासंभव व्यापक और संगत रूप से लागू किया जाए।
एंड्रॉइड किस प्रकार का ओपन-सोर्स प्रोजेक्ट है?
Google मुख्य AOSP के विकास की देखरेख करता है और मजबूत डेवलपर और उपयोगकर्ता समुदाय बनाने के लिए काम करता है। अधिकांश भाग के लिए, एंड्रॉइड स्रोत कोड को कॉपीलेफ्ट लाइसेंस के बजाय अनुमेय अपाचे लाइसेंस 2.0 के तहत लाइसेंस प्राप्त है। हमने Apache 2.0 लाइसेंस को चुना क्योंकि हमारा मानना है कि यह व्यापक रूप से Android सॉफ़्टवेयर अपनाने को प्रोत्साहित करता है। विवरण के लिए, लाइसेंस देखें।
Google Android का प्रभारी क्यों है?
सॉफ़्टवेयर प्लेटफ़ॉर्म लॉन्च करना जटिल है। किसी प्लेटफ़ॉर्म की दीर्घकालिक सफलता के लिए खुलापन महत्वपूर्ण है, क्योंकि खुलापन डेवलपर्स से निवेश आकर्षित करता है और समान अवसर सुनिश्चित करता है। प्लेटफ़ॉर्म को उपयोगकर्ताओं के लिए एक आकर्षक उत्पाद भी होना चाहिए।
Google ने यह सुनिश्चित करने के लिए आवश्यक पेशेवर इंजीनियरिंग संसाधन प्रतिबद्ध किए हैं कि Android एक पूर्ण प्रतिस्पर्धी सॉफ़्टवेयर प्लेटफ़ॉर्म है। Google एंड्रॉइड प्रोजेक्ट को एक पूर्ण-स्तरीय उत्पाद विकास ऑपरेशन के रूप में मानता है और यह सुनिश्चित करने के लिए आवश्यक व्यावसायिक सौदे करता है कि एंड्रॉइड पर चलने वाले महान उपकरण बाजार में पहुंचें।
यह सुनिश्चित करके कि एंड्रॉइड उपयोगकर्ताओं के बीच सफल हो, हम एक प्लेटफॉर्म और ओपन-सोर्स प्रोजेक्ट के रूप में एंड्रॉइड की जीवन शक्ति सुनिश्चित करने में मदद करते हैं। आख़िरकार, किसी असफल उत्पाद का स्रोत कोड कौन चाहता है?
हमारा लक्ष्य एंड्रॉइड के आसपास एक सफल पारिस्थितिकी तंत्र सुनिश्चित करना है। हमने एंड्रॉइड स्रोत कोड खोला ताकि कोई भी अपनी जरूरतों को पूरा करने के लिए सॉफ़्टवेयर को संशोधित और वितरित कर सके।
Android उत्पाद विकास के लिए Google की समग्र रणनीति क्या है?
हम प्रतिस्पर्धी बाज़ार में बेहतरीन डिवाइस जारी करते हैं। फिर हम अपने द्वारा किए गए नवाचारों और संवर्द्धनों को अगले संस्करण के रूप में मुख्य मंच में शामिल करते हैं।
व्यवहार में, इसका मतलब यह है कि एंड्रॉइड इंजीनियरिंग टीम कम संख्या में "फ्लैगशिप" उपकरणों पर ध्यान केंद्रित करती है और उन उत्पाद लॉन्च का समर्थन करने के लिए एंड्रॉइड सॉफ़्टवेयर का अगला संस्करण विकसित करती है। ये प्रमुख उपकरण अधिकांश उत्पाद जोखिम को अवशोषित करते हैं और व्यापक ओईएम समुदाय के लिए एक राह बनाते हैं, जो नई सुविधाओं का लाभ उठाने वाले अधिक उपकरणों का अनुसरण करते हैं। इस तरह, हम यह सुनिश्चित करते हैं कि एंड्रॉइड प्लेटफ़ॉर्म वास्तविक दुनिया के उपकरणों की ज़रूरतों के अनुसार विकसित हो।
एंड्रॉइड सॉफ्टवेयर कैसे विकसित किया जाता है?
एंड्रॉइड के प्रत्येक प्लेटफ़ॉर्म संस्करण (जैसे 1.5 या 8.1) की ओपन-सोर्स ट्री में एक संबंधित शाखा होती है। सबसे नवीनतम शाखा को वर्तमान स्थिर शाखा संस्करण माना जाता है। यह वह शाखा है जिसे निर्माता अपने उपकरणों में पोर्ट करते हैं। इस शाखा को हर समय रिहाई के लिए उपयुक्त रखा जाता है।
इसके साथ ही, एक वर्तमान प्रायोगिक शाखा भी है, जहां अगली पीढ़ी की बड़ी सुविधाओं जैसे सट्टा योगदान विकसित किए जाते हैं। बग फिक्स और अन्य योगदानों को प्रायोगिक शाखा से वर्तमान स्थिर शाखा में उपयुक्त के रूप में शामिल किया जा सकता है।
अंत में, Google एक फ्लैगशिप डिवाइस विकसित करने के साथ-साथ एंड्रॉइड प्लेटफ़ॉर्म के अगले संस्करण पर काम करता है। यह शाखा प्रायोगिक और स्थिर शाखाओं से आवश्यकतानुसार परिवर्तन लाती है।
कोडलाइन, शाखाओं और रिलीज़ के बारे में विवरण के लिए, Android सॉफ़्टवेयर प्रबंधन देखें।
एंड्रॉइड के कुछ हिस्सों को निजी तौर पर क्यों विकसित किया गया है?
किसी उपकरण को बाज़ार में लाने में आम तौर पर एक वर्ष से अधिक समय लगता है। और, निःसंदेह, डिवाइस निर्माता नवीनतम सॉफ़्टवेयर शिप करना चाहते हैं जो वे कर सकते हैं। इस बीच, डेवलपर्स ऐप्स लिखते समय प्लेटफ़ॉर्म के नए संस्करणों को लगातार ट्रैक नहीं करना चाहते हैं। दोनों समूह उत्पादों की शिपिंग और पीछे न रहने की इच्छा के बीच तनाव का अनुभव करते हैं।
इसे संबोधित करने के लिए, कोर प्लेटफ़ॉर्म एपीआई सहित एंड्रॉइड के अगले संस्करण के कुछ हिस्सों को एक निजी शाखा में विकसित किया गया है। ये एपीआई एंड्रॉइड के अगले संस्करण का निर्माण करते हैं। हमारा उद्देश्य प्लेटफ़ॉर्म का अगला संस्करण बनाते समय एंड्रॉइड स्रोत कोड के वर्तमान स्थिर संस्करण पर ध्यान केंद्रित करना है। यह डेवलपर्स और ओईएम को केवल भविष्य के अधूरे काम को ट्रैक किए बिना एकल संस्करण का उपयोग करने की अनुमति देता है। एंड्रॉइड सिस्टम के अन्य भाग जो ऐप संगतता से संबंधित नहीं हैं, खुले में विकसित किए गए हैं। हम समय के साथ इनमें से और अधिक हिस्सों को खुले विकास में स्थानांतरित करने का इरादा रखते हैं।
सोर्स कोड रिलीज़ कब किये जाते हैं?
जब वे तैयार हों. सोर्स कोड जारी करना काफी जटिल प्रक्रिया है। एंड्रॉइड के कुछ हिस्से खुले में विकसित किए गए हैं, और वह स्रोत कोड हमेशा उपलब्ध रहता है। अन्य भागों को पहले एक निजी ट्री में विकसित किया जाता है, और अगला प्लेटफ़ॉर्म संस्करण तैयार होने पर वह स्रोत कोड जारी किया जाता है।
कुछ रिलीज़ में, कोर प्लेटफ़ॉर्म एपीआई काफी पहले से तैयार होते हैं ताकि हम डिवाइस के रिलीज़ से पहले स्रोत कोड को प्रारंभिक रूप से देख सकें। अन्य रिलीज़ों में, यह संभव नहीं है। सभी मामलों में, हम प्लेटफ़ॉर्म स्रोत तब जारी करते हैं जब हमें लगता है कि संस्करण स्थिर है, और जब विकास प्रक्रिया अनुमति देती है।
नए Android संस्करण के लिए स्रोत कोड जारी करने में क्या शामिल है?
एंड्रॉइड प्लेटफ़ॉर्म के नए संस्करण के लिए स्रोत कोड जारी करना एक महत्वपूर्ण प्रक्रिया है। सबसे पहले, सॉफ़्टवेयर को डिवाइस के लिए सिस्टम छवि में बनाया जाता है और प्रमाणीकरण के विभिन्न रूपों के माध्यम से रखा जाता है, जिसमें उन क्षेत्रों के लिए सरकारी नियामक प्रमाणीकरण भी शामिल है जहां फोन तैनात किए जाएंगे। कोड ऑपरेटर परीक्षण से भी गुजरता है। यह प्रक्रिया का एक महत्वपूर्ण चरण है, क्योंकि यह सॉफ़्टवेयर बग का पता लगाने में मदद करता है।
जब रिलीज़ को नियामकों और ऑपरेटरों द्वारा अनुमोदित किया जाता है, तो निर्माता बड़े पैमाने पर उपकरणों का उत्पादन शुरू कर देता है, और हम स्रोत कोड जारी करना शुरू कर देते हैं।
बड़े पैमाने पर उत्पादन के साथ-साथ, Google टीम ओपन-सोर्स रिलीज़ तैयार करने के लिए कई प्रयास शुरू करती है। इन प्रयासों में अंतिम एपीआई परिवर्तन करना, दस्तावेज़ीकरण को अद्यतन करना (उदाहरण के लिए योग्यता परीक्षण के दौरान किए गए किसी भी संशोधन को प्रतिबिंबित करना), नए संस्करण के लिए एसडीके तैयार करना और प्लेटफ़ॉर्म संगतता जानकारी लॉन्च करना शामिल है।
हमारी कानूनी टीम कोड को ओपन सोर्स में जारी करने के लिए अंतिम साइन-ऑफ करती है। जिस तरह ओपन-सोर्स योगदानकर्ताओं को अपने योगदान के बौद्धिक संपदा स्वामित्व को प्रमाणित करने वाले एक योगदानकर्ता लाइसेंस समझौते पर हस्ताक्षर करने की आवश्यकता होती है, उसी तरह Google को यह सत्यापित करना होगा कि योगदान करने के लिए स्रोत को मंजूरी दे दी गई है।
जिस समय से बड़े पैमाने पर उत्पादन शुरू होता है, सॉफ़्टवेयर रिलीज़ प्रक्रिया में आमतौर पर लगभग एक महीने का समय लगता है, इसलिए स्रोत कोड रिलीज़ अक्सर उसी समय होता है जब डिवाइस उपयोगकर्ताओं तक पहुंचते हैं।
एओएसपी एंड्रॉइड संगतता कार्यक्रम से कैसे संबंधित है?
AOSP Android सॉफ़्टवेयर का रखरखाव करता है, और नए संस्करण विकसित करता है। क्योंकि यह ओपन-सोर्स है, इस सॉफ़्टवेयर का उपयोग किसी भी उद्देश्य के लिए किया जा सकता है, जिसमें ऐसे डिवाइस विकसित करना भी शामिल है जो समान स्रोत पर आधारित अन्य डिवाइसों के साथ संगत नहीं हैं।
एंड्रॉइड संगतता कार्यक्रम का कार्य एंड्रॉइड के आधारभूत कार्यान्वयन को परिभाषित करना है जो डेवलपर्स द्वारा लिखे गए तृतीय-पक्ष ऐप्स के साथ संगत है। जो डिवाइस एंड्रॉइड संगत हैं वे Google Play सहित एंड्रॉइड पारिस्थितिकी तंत्र में भाग लेने के लिए पात्र हैं; जो उपकरण संगतता आवश्यकताओं को पूरा नहीं करते हैं वे उस पारिस्थितिकी तंत्र के बाहर मौजूद हैं।
दूसरे शब्दों में, एंड्रॉइड संगतता कार्यक्रम यह है कि हम एंड्रॉइड-संगत उपकरणों को उन उपकरणों से कैसे अलग करते हैं जो केवल स्रोत कोड के डेरिवेटिव चलाते हैं। हम एंड्रॉइड स्रोत कोड के सभी उपयोगों का स्वागत करते हैं, लेकिन एंड्रॉइड पारिस्थितिकी तंत्र में भाग लेने के लिए, प्रोग्राम द्वारा एक डिवाइस को एंड्रॉइड-संगत के रूप में पहचाना जाना चाहिए।
मैं एंड्रॉइड में कैसे योगदान दे सकता हूं?
आप बग की रिपोर्ट कर सकते हैं, Android के लिए ऐप्स लिख सकते हैं, या AOSP में स्रोत कोड योगदान कर सकते हैं।
हम जिस प्रकार के कोड योगदान स्वीकार करते हैं, उसकी कुछ सीमाएँ हैं। उदाहरण के लिए, कोई व्यक्ति वैकल्पिक ऐप एपीआई, जैसे पूर्ण C++-आधारित वातावरण, का योगदान करना चाह सकता है। हम उस योगदान को अस्वीकार कर देंगे, क्योंकि एंड्रॉइड एआरटी रनटाइम में ऐप्स चलाने के लिए प्रोत्साहित करता है। इसी तरह, हम जीपीएल या एलजीपीएल लाइब्रेरी जैसे योगदान स्वीकार नहीं करेंगे जो हमारे लाइसेंसिंग लक्ष्यों के साथ असंगत हैं।
हम किसी भी काम को शुरू करने से पहले एंड्रॉइड समुदाय में सूचीबद्ध चैनलों के माध्यम से हमसे संपर्क करने के लिए स्रोत कोड में योगदान करने में रुचि रखने वालों को प्रोत्साहित करते हैं। विवरण के लिए, योगदान करना देखें।
मैं एंड्रॉइड कमिटर कैसे बनूँ?
AOSP के पास वास्तव में कमिटर की कोई धारणा नहीं है। सभी योगदान (Google कर्मचारियों द्वारा लिखे गए सहित) गेरिट नामक एक वेब-आधारित प्रणाली के माध्यम से जाते हैं जो एंड्रॉइड इंजीनियरिंग प्रक्रिया का हिस्सा है। यह प्रणाली स्रोत कोड योगदान को साफ़-सुथरे ढंग से प्रबंधित करने के लिए Git स्रोत कोड प्रबंधन प्रणाली के साथ मिलकर काम करती है।
एक नामित अनुमोदनकर्ता को सभी प्रस्तुत परिवर्तनों को स्वीकार करना होगा। अनुमोदनकर्ता आम तौर पर Google कर्मचारी होते हैं, लेकिन वही अनुमोदनकर्ता मूल की परवाह किए बिना सभी प्रस्तुतियों के लिए जिम्मेदार होते हैं।
विवरण के लिए, पैच सबमिट करना देखें।