0 से 1 तक: Apache APISIX का Apache Way
API7.ai
December 16, 2019
Apache APISIX एक बहुत ही युवा प्रोजेक्ट है, जो इस साल जून में ओपन सोर्स हुआ, जुलाई में CNCF पैनोरामा में शामिल हुआ, और अक्टूबर में Apache Incubator में प्रवेश किया। इसलिए, मैं आपके साथ साझा करूंगा कि APISIX कैसे 0 से 1 तक पहुंचा और Apache Incubator में प्रवेश किया।
Apache APISIX के पास अब 17 कमिटर हैं, जो 16 अलग-अलग कंपनियों से हैं, और यह एक बहुत ही समुदाय-आधारित प्रोजेक्ट है। प्रत्येक कमिटर के पास एक वोट होता है और वे रिलीज, नए कमिटर और PPMC के चुनाव जैसे प्रमुख मामलों पर निर्णय लेते हैं।
Apache Way
Apache Way एक ऐसी अवधारणा है जिससे हम सभी परिचित हैं: कोड से ज्यादा समुदाय। खराब कोड को बदला जा सकता है, और Apache के मेंटर्स आपको यह नहीं सिखाते कि उच्च स्तर का कोड कैसे लिखा जाए, वे इस बात की परवाह करते हैं कि समुदाय स्वस्थ और विकसित हो रहा है या नहीं, और जब तक एक अच्छा समुदाय है, खराब कोड को उच्च स्तर के लोगों द्वारा बेहतर कोड में रिफैक्टर किया जाएगा। इसलिए जब तक समुदाय है, प्रोजेक्ट जीवित रहेगा, और यह Apache में सबसे महत्वपूर्ण बात है।
मेलिंग लिस्ट प्राथमिकता एक और महत्वपूर्ण बिंदु है, जो मेलिंग लिस्ट में प्रकट नहीं हुए हैं उन्हें अस्तित्वहीन माना जाता है। यह चीन में वास्तव में एक बहुत बड़ी चुनौती है, लोग सांस्कृतिक और आदतन ईमेल का उपयोग करना पसंद नहीं करते हैं: पहला, समय पर्याप्त नहीं है, शायद ईमेल भेजने के 1-2 दिन बाद जवाब मिलता है; दूसरा, मेलिंग लिस्ट में कई चीजें सार्वजनिक होती हैं, कुछ लोग निजी तौर पर चैट करना पसंद करते हैं; तीसरा, मेलिंग लिस्ट के अंदर केवल अंग्रेजी प्रकट हो सकती है, लेकिन वास्तव में चीनी लोगों की अंग्रेजी खराब नहीं है, हम अधिकांश अन्य देशों की अंग्रेजी से बेहतर हैं। आखिरकार, हमने कई सालों तक अंग्रेजी सीखी है, और विभिन्न अनुवाद सॉफ्टवेयर हैं, भले ही व्याकरणिक त्रुटियां हों, यह कोई बड़ी समस्या नहीं है।
तीसरा है अभिजात शासन, जहां Apache समुदाय में हर कोई अधिक आवाज पाने के लिए योगदान देता है, और उच्च पदों का मतलब अधिक प्रतिबद्धता और जिम्मेदारी है।
चौथा है लोकतंत्र, हर कोई Apache वोट में भाग ले सकता है, भले ही आप Apache समुदाय में न हों, लेकिन हर किसी का वोट मान्य नहीं होता है। उदाहरण के लिए, जब APISIX Apache Incubator में प्रवेश किया, तो मैं प्रोजेक्ट के लिए वोट कर सकता था, लेकिन मुझे बाद में no binding लिखना पड़ा ताकि यह दर्शाया जा सके कि मैं प्रोजेक्ट का समर्थन और अनुसरण करता हूं, लेकिन मैं एक पर्यवेक्षक था, लेकिन यह वोट इस बात के लिए निर्णायक नहीं था कि प्रोजेक्ट Apache में प्रवेश कर सकता है या नहीं। केवल वे लोग जिन्होंने इन्क्यूबेटर में योगदान दिया है और समुदाय द्वारा मान्यता प्राप्त हैं, यानी Apache इन्क्यूबेटर के PMC, उनके वोट मान्य हैं, यह Apache समुदाय का लोकतंत्र है।
ओपन सोर्स समुदायों के लिए शासन मॉडल
हम जानते हैं कि कई ओपन सोर्स प्रोजेक्ट फाउंडेशन के अंतर्गत हैं और कुछ नहीं हैं। फाउंडेशन के अंतर्गत प्रोजेक्ट, जैसे Linux Foundation और Apache Foundation, में एक शासन मॉडल है जिसे "समुदाय सहमति" कहा जाता है, जिसके लिए समुदाय के भीतर चर्चा और सहमति के बाद वोट की आवश्यकता होती है, न कि सीधे वोट की। यदि कोई चर्चा और सहमति नहीं है, तो वोट का कोई मतलब नहीं है। यह दक्षता बहुत धीमी हो सकती है, लेकिन जब तक पूरा समुदाय सहमत नहीं होता है, तब तक पीछे कोई असहमति नहीं होगी।
दूसरा है वाणिज्यिक कंपनी सहमति, जब तक वाणिज्यिक कंपनी के लोग सहमत हो जाते हैं, तब PR या फीचर को मर्ज किया जा सकता है, और समुदाय की आवाज बेकार होती है क्योंकि यह वाणिज्यिक कंपनी द्वारा नियंत्रित प्रोजेक्ट है, और यदि आप वाणिज्यिक कंपनी को कोड योगदान करते हैं, तो मर्ज होने का निर्णय वाणिज्यिक कंपनी के हाथ में होता है। यह व्यक्तिगत डेवलपर्स के लिए मायने नहीं रख सकता है, लेकिन प्रोजेक्ट में शामिल कंपनियों के लिए यह मायने रखता है। आमतौर पर कंपनियों के पास निजी संस्करण होते हैं, और वे अपने फीचर्स को समुदाय में वापस योगदान करना चाहते हैं, लेकिन वाणिज्यिक कंपनियां उन्हें अस्वीकार कर सकती हैं क्योंकि वे अपने स्वयं के वाणिज्यिक संस्करणों के साथ संघर्ष करते हैं।
तीसरा प्रकार है दयालु तानाशाह, सबसे विशिष्ट रूप से Python, जहां व्यक्ति ओपन सोर्स प्रोजेक्ट के विकास का निर्णय लेता है।
उपरोक्त ओपन सोर्स समुदायों के तीन मॉडल हैं, यदि यह एक व्यवसाय है तो प्रोजेक्ट चुनने के लिए, आम तौर पर हम Apache, Linux Foundation प्रोजेक्ट्स की सिफारिश करेंगे, यह पहले कानूनी रूप से कोई छिपा खतरा नहीं है, और दूसरा यह एक समुदाय सहमति है, हम इस तरह से समुदाय में योगदान करके अधिक आवाज प्राप्त कर सकते हैं, ताकि एक सकारात्मक चक्र बन जाए।
Apache Incubator में कैसे प्रवेश करें
Apache के पास अब लगभग 50 इन्क्यूबेटर प्रोजेक्ट हैं, जिनमें से 10 चीन से हैं। APISIX अब घरेलू स्टार्टअप से Apache में प्रवेश करने वाला एकमात्र प्रोजेक्ट है, जबकि कई अन्य बड़ी कंपनियों जैसे Huawei, Ali, और Baidu से हैं।
एक प्रोजेक्ट के Apache Incubator में प्रवेश करने के लिए निम्नलिखित शर्तों और चरणों को समझने की आवश्यकता है:
- Champion: वह आपके प्रोजेक्ट का परिचयकर्ता है, जो सबसे महत्वपूर्ण भूमिका है जिसे आपको पहले संपर्क करने की आवश्यकता है, और उसे आप और प्रोजेक्ट से परिचित होना चाहिए।
- Mentor: प्रोजेक्ट का मेंटर, प्रोजेक्ट के Apache Incubator में प्रवेश करने के बाद, Champion मेंटर की भूमिका में बदल जाता है। मेंटर प्रोजेक्ट को इन्क्यूबेटर में एक प्रोजेक्ट से Apache के शीर्ष-स्तरीय प्रोजेक्ट में मार्गदर्शन करेगा, जिसमें Apache संस्करण जारी करना, ब्रांड प्रबंधन, समुदाय को बढ़ाना आदि शामिल हैं। यदि यह शीर्ष-स्तरीय प्रोजेक्ट बन जाता है, तो प्रोजेक्ट समुदाय स्वायत्त हो जाएगा।
- Proposal: Champion और Mentor को ढूंढने के बाद, अगला कदम Proposal लिखना है, यानी एक प्रस्ताव जो बताता है कि मैं कौन हूं, मैं किन समस्याओं को हल करता हूं, मैं Apache में क्यों शामिल होना चाहता हूं, प्रोजेक्ट के वर्तमान कोड फाइल्स Apache लाइसेंस के साथ संघर्ष करते हैं या नहीं, प्रारंभिक कमिटर कौन हैं, वे किन कंपनियों से हैं, कोई संभावित जोखिम हैं या नहीं, बाद में कैसे विकसित होगा, आदि।
- Discuss: फिर एक चर्चा ईमेल शुरू की जाएगी ताकि यह देखा जा सके कि कितने लोग इसमें रुचि रखते हैं, और इस स्तर पर कुछ रुचि रखने वाले PMCs को मेंटर मेंटरिंग प्रोग्राम में शामिल किया जा सकता है।
- Vote: अंत में, एक वोट होता है, और यदि वोट पास हो जाता है, तो प्रोजेक्ट Apache इन्क्यूबेटर में प्रवेश कर सकता है।
Apache Way और घरेलू ओपन सोर्स संस्कृति का टकराव
चीन में Apache प्रोजेक्ट को कई अलग-अलग चुनौतियों का सामना करना पड़ेगा, जो घरेलू और विदेशी ओपन सोर्स वातावरण और संस्कृति से संबंधित हैं।
उदाहरण के लिए, घरेलू इंजीनियर बहुत व्यस्त महसूस करेंगे, अक्सर 996 ओवरटाइम होता है, इसलिए ओपन सोर्स करने के लिए समय और ऊर्जा नहीं होती है। लेकिन वास्तव में, कई इंजीनियर काम में भी ओपन सोर्स प्रोजेक्ट्स का उपयोग करते हैं, ओपन सोर्स प्रोजेक्ट्स के लिए फीचर लिखते हैं, लेकिन वे सक्रिय रूप से PR सबमिट नहीं करते हैं, और समुदाय में चर्चा शुरू करने से पहले कोड नहीं लिखते हैं, यह बहुत सांस्कृतिक अंतर है।
संचार के मामले में, Apache मेलिंग लिस्ट में खुली चर्चा की वकालत करता है, लेकिन चीन में कई डेवलपर्स गैर-सार्वजनिक तरीकों से संवाद करना पसंद करते हैं, जैसे WeChat, QQ, और फोन। विशेष रूप से यदि किसी प्रोजेक्ट का PPMC ज्यादातर एक ही कंपनी से है, तो एक फीचर सुबह की मीटिंग के दौरान अंतिम रूप दिया जा सकता है, लेकिन यह मेलिंग लिस्ट में प्रकट नहीं होता है, जो Apache की संस्कृति के अनुरूप नहीं है।
वोटिंग के संबंध में, कई डेवलपर्स को लग सकता है कि उनकी अंग्रेजी अच्छी नहीं है या लोग कमजोर हैं, और वे मेलिंग लिस्ट पर अपनी राय व्यक्त करने के लिए अनिच्छुक हैं और वोटिंग में भाग नहीं लेते हैं। फिर वे अंत में अनदेखा कर दिए जाएंगे। इसलिए आपको कुछ "योगदान" जमा करने की आवश्यकता है ताकि दूसरों की मदद कर सकें और धीरे-धीरे अपना प्रभाव बढ़ा सकें। Apache व्यक्तियों से बना एक फाउंडेशन है। हर किसी का व्यवहार केवल स्वयं का प्रतिनिधित्व करता है, कंपनी का नहीं। प्रत्येक PMC का वोट समान है।
Title के संबंध में, Apache में, सर्वोच्च पद को Apache Foundation Chair कहा जाता है, और प्रत्येक प्रोजेक्ट के प्रबंधक को VP कहा जाता है, फिर PMC (Project Management Council), Committer, Contributor, जिनका हमारे कॉर्पोरेट पदोन्नति के समान पथ है। लेकिन Apache में, भले ही आपका पद उच्च हो जाए, इसका मतलब यह नहीं है कि आपके पास अधिक वोटिंग शक्ति है, यह अधिक एक दायित्व है, उदाहरण के लिए, Apache APISIX वोट के लिए एक नए कमिटर का चुनाव करने के लिए, इन्क्यूबेटर चेयर का वोट और मेरा वोट समान है। Title Apache में अधिक एक सम्मान है। Apache Foundation एक गैर-लाभकारी संगठन है जो योगदान पर जोर देता है, और यहीं पर संस्कृति का टकराव होता है।
कॉपीराइट मुद्दे
कॉपीराइट एक बहुत ही महत्वपूर्ण मुद्दा है, और कुछ समय पहले हुई Nginx लेखक की गिरफ्तारी कॉपीराइट मुद्दों के कारण हुई थी। एक प्रोजेक्ट के Apache Incubator में आधिकारिक रूप से शामिल होने से पहले, सभी कमिटर और कंपनियों को एक CLA पर हस्ताक्षर करना होगा जो बताता है कि वे प्रोजेक्ट के सभी कॉपीराइट को Apache Foundation को दान कर देंगे। Apache Incubator में शामिल होने के बाद, सबसे महत्वपूर्ण मील का पत्थर पहला Apache रिलीज जारी करना है, जो लाइसेंस में जोखिमों को साफ करने के लिए है ताकि उपयोगकर्ता इसे विश्वास के साथ उपयोग कर सकें। इसलिए, वाणिज्यिक कंपनियों को Apache के प्रोजेक्ट्स का उपयोग करने में कॉपीराइट के अस्पष्ट होने की समस्या नहीं होगी।
अंत में, Apache APISIX एक ओपन सोर्स प्रोजेक्ट है जो तेजी से विकसित हो रहा है, मुझे आशा है कि आप इसमें भाग लेंगे और अधिक योगदान देंगे, धन्यवाद।