Kotlin प्रोजेक्ट्स में कंट्रीब्यूट करना क्यों शुरू करें?
\n\nआप कुछ महीनों से Kotlin में कोड लिख रहे हैं। आप coroutines जानते हैं, extension-functions समझ गए हैं, और sealed-classes का उपयोग भी करते हैं। लेकिन लगता है कि आप ठहर गए हैं? यह आम बात है। Open source का मतलब "मुफ्त काम" नहीं है। यह आपकी ग्रोथ को 10 गुना तेज करने का तरीका है। जब आप रियल प्रोजेक्ट्स में योगदान देते हैं, तो आप:
\n\n- \n
- JetBrains और Google लेवल के डेवलपर्स से code review प्राप्त करते हैं; \n
- दूसरों का कोड पढ़ना और समझना सीखते हैं (जो सीनियर डेवलपर के 80% काम का हिस्सा है); \n
- अपने पोर्टफोलियो को सिर्फ सीखने वाले टास्क नहीं, बल्कि रियल केस स्टडीज से भरते हैं; \n
- कम्युनिटी में उपयोगी कनेक्शन बनाते हैं। \n
इस लेख में, मैं आपको पहला कदम उठाने का तरीका बताऊंगा। बिना डर के, बिना जटिल थ्योरी के — सिर्फ प्रैक्टिकल तरीका। हम देखेंगे कि टास्क कहां ढूंढें, पहला सार्थक PR कैसे लिखें, और गलतियों से कैसे बचें।
\n\nशुरुआत कहां से करें: अपने लेवल के अनुसार प्रोजेक्ट चुनें
\n\nशुरुआती लोगों की सबसे बड़ी गलती है — सीधे Kotlin Compiler या Ktor में योगदान देने की कोशिश करना। रुकिए। यह बर्नआउट का रास्ता है। आपको ऐसे प्रोजेक्ट्स चाहिए जहां:
\n\n- \n
good first issueयाhelp wantedलेबल हो; \n - Kotlin का नवीनतम वर्जन (1.9+) सपोर्ट हो; \n
- स्पष्ट
CONTRIBUTING.mdफाइल हो; \n - कम्युनिटी 1-3 दिनों के अंदर सवालों का जवाब देती हो। \n
Kotlin open source शुरू करने के लिए टॉप-5 प्रोजेक्ट्स
\n\nये वे रिपॉजिटरी हैं जिन्हें मैं देखने की सलाह देता हूं:
\n\n- \n
- detekt — स्टैटिक कोड एनालाइज़र। डॉक्यूमेंटेशन और सरल नियमों पर कई टास्क हैं; \n
- Kotlinx.serialization — JetBrains की लाइब्रेरी। शुरुआती के लिए
good first issueउपलब्ध हैं; \n - Ktor — सर्वर और क्लाइंट के लिए फ्रेमवर्क। डॉक्यूमेंटेशन और टेस्ट में अक्सर मदद चाहिए होती है; \n
- Exposed — Kotlin के लिए ORM। अगर आपने डेटाबेस के साथ काम किया है तो यह आदर्श है; \n
- Anko — हालांकि प्रोजेक्ट फ्रीज है, लेकिन डॉक्यूमेंटेशन से जुड़े कई open issues हैं। \n
महत्वपूर्ण: एक बार में सब कुछ न पकड़ें। एक ऐसा प्रोजेक्ट चुनें जिसमें आपकी सच्ची रुचि हो। अगर आपको टेस्ट लिखना पसंद है — Ktor जाएं। अगर आप कोड को साफ करना पसंद करते हैं — detekt आपके लिए है।
\n\nअपना पहला टास्क कैसे ढूंढें: GitHub Issues को समझें
\n\nमान लीजिए आपने एक प्रोजेक्ट चुन लिया। Issues सेक्शन में जाएं। आपका लक्ष्य ऐसा टास्क ढूंढना है जो:
\n\n- \n
good first issueयाbeginner friendlyलेबल से चिह्नित हो; \n - किसी और डेवलपर को असाइन न किया गया हो (कोई assignee न हो);
- एक्टिव हो (पिछली टिप्पणी 2 हफ्ते से पुरानी न हो)।
एक रियल उदाहरण। मैंने detekt रिपॉजिटरी में जाकर एक issue देखा: "Add documentation for new rule: MagicNumber"। टास्क था: एक नए नियम के लिए हिंदी या अंग्रेजी में डॉक्यूमेंटेशन लिखना। यह एक आदर्श पहला PR है — इसमें कोड की गहरी समझ की जरूरत नहीं, लेकिन आप रियल वैल्यू जोड़ रहे हैं।
\n\nFork, Clone, और एनवायरनमेंट सेटअप करें
\n\nजब टास्क चुन लिया जाए, तो इस प्रक्रिया का पालन करें:
\n\n- \n
- रिपॉजिटरी को fork करें (ऊपर दाएं कोने में Fork बटन); \n
- फोर्क को लोकल में clone करें:
git clone git@github.com:YOUR_USERNAME/detekt.git; \n - upstream जोड़ें:
git remote add upstream https://github.com/detekt/detekt.git; \n - एक नई ब्रांच बनाएं:
git checkout -b docs/add-magic-number-rule।
ब्रांच का नाम सार्थक होना चाहिए। प्रीफिक्स का उपयोग करें: डॉक्यूमेंटेशन के लिए docs/, बग फिक्स के लिए fix/, नई फीचर के लिए feat/।
कोड लिखें: Kotlin में रियल उदाहरण
\n\nमान लीजिए हमें Kotlinx.serialization लाइब्रेरी में एक बग मिला। Issue में लिखा है: "Serializer for LocalDate throws exception when year is negative"। आइए देखें कि इसे कैसे ठीक किया जा सकता है।
\n\nपहले, हम