क्या शौकिया तौर पर ओपन-सोर्स प्रोजेक्ट से जुड़ना बुरा है?


17

मैंने अब लगभग छह महीने के लिए सोचा है कि मुझे ऑब्जेक्टिव-सी में अपने कौशल को सुधारने के लिए एक ओपन-सोर्स iPhone या iPad प्रोजेक्ट में शामिल होना चाहिए, लेकिन हर बार जब मैं ऐसा करने जाता हूं तो मुझे बड़ी परियोजनाओं पर कोड की हजारों लाइनें दिखाई देती हैं, जिन्हें मैं अपने आप को समझाना मैं कभी नहीं समझ पाऊंगा। मैं हमेशा सोचता हूं कि मेरे कमिटमेंट प्रोजेक्ट कमिंस और अधिक वरिष्ठ योगदानकर्ताओं के लिए परेशानी का सबब बन जाएंगे, इसलिए मैं हमेशा दूसरे नंबर पर रहता हूं।

मेरा सवाल अनिवार्य रूप से है, क्या यह परेशानी है जब एक अंतर-अनुभवी प्रोग्रामर एक ओपन-सोर्स प्रोजेक्ट में शामिल होता है?


1
मैके का उत्तर अधिक विस्तृत है, लेकिन आपके प्रश्न का संक्षिप्त उत्तर है: नहीं।
क्रिस ब्राउन

1
@ क्रिसबोर्न: अच्छी बात है। मैंने मैच के लिए अपना उत्तर संपादित कर दिया है। :)
मैके

जवाबों:


15

नहीं यह नहीं।

यदि आपके द्वारा देखे जाने वाले प्रोजेक्ट्स का कोड-आधार बहुत अधिक चुनौतीपूर्ण है, तो विचार करें:

  • के साथ काम करने के लिए एक (भी) छोटी परियोजना का चयन
  • परियोजना के भीतर एक छोटा कार्य चुनें:
    • किसी चीज़ के लिए एक उदाहरण / ट्यूटोरियल / डेमो लिखें
    • अद्यतन और ठीक प्रलेखन (सभी परियोजनाओं, ओएस या नहीं, बेहतर डॉक्स की आवश्यकता)
    • कई कम प्राथमिकता तय करें, लेकिन बग को ठीक करना आसान है (कोड के लिए महान जोखिम, देवता आमतौर पर खुश हैं, कम जोखिम)
  • मुख्य स्रोत तक पहुंच के बिना योगदान करने के तरीके हैं, जैसे:
    • पैच प्रस्तुत करना, जिस पर टिप्पणी की जा सकती है।
    • पुल अनुरोधों को देखना और सबमिट करना (ऊपर देखें)
    • फोर्किंग और अपने दम पर काम करना, बस यह देखना है कि यह आपको कहां ले जाता है। यदि आप खुश हैं, तो देवों से पूछें कि आपने जो कुछ भी किया है, उस पर एक नज़र डालें यदि यह समझ में आता है।

अपने कमिट्स को स्वीकार न करने के अपने "डर" को दूर करने के लिए, पहले सुरक्षित बिंदुओं पर जाएं। यह आपके और देव-टीम दोनों को आपके संबंध में विश्वास हासिल करने और एक-दूसरे के सोचने के तरीके को सीखने की अनुमति देगा। जैसे-जैसे आप अपने OS प्रोजेक्ट की टीम के कौशल, अनुभव, कोड की गुणवत्ता और समझ दोनों में सुधार करते हैं (यह गतिशीलता है) आप कम परेशानी का सामना करते हुए अधिक से अधिक कार्य करने में सक्षम होंगे।

यह उपयुक्त शुरुआती बिंदुओं को पूछने में भी मदद करता है, और देखें कि टीम को आपके लिए उपयुक्त क्या मिल सकता है।

एक उदाहरण के रूप में, मैंने वर्षों में बिल्डबॉट में थोड़ा योगदान दिया है। मैंने बस कुछ छोटे मुद्दों को ठीक करना शुरू किया, फिर मैंने कुछ चमक वाले कीड़े को ठीक करके मरकरी स्रोत के चरणों की गुणवत्ता को टक्कर दी। अंत में, मैंने अधिकांश वेब-पेजों को फिर से लिखा और टेम्पलेट आधारित HTML पीढ़ी के समाधान के लिए कोड में HTML-चिपकाने की अदला-बदली की। बाद वाला कुछ महीनों के परिश्रम से कुछ सौ कमिट था।

मैंने कुछ मर्क्यूरियल कार्य भी किए हैं, लेकिन वे लोग अधिक योग्य हैं और तकनीक अधिक जटिल है, इसलिए मैंने अभी तक कोर में कोई सुधार नहीं किया है। मैंने कुछ बग रिपोर्ट की हैं और कुछ छोटे एक्सटेंशन लिखे हैं, लेकिन मैंने इस समय वहां कुछ भी बड़ा नहीं किया है।

आशा करता हूँ की ये काम करेगा।


बिल्डबॉट के लिए +1 - यह एक शानदार परियोजना है, जिसमें बहुत अच्छे, सहायक अनुचर हैं। यदि आप एक अच्छी परियोजना शुरू करना चाहते हैं, तो यह निश्चित रूप से देखने लायक है।
नैट

पूर्ण एमेच्योर के बारे में क्या? वे लोग जिनके पास कम प्रोग्रामिंग स्तर है और कोई आधिकारिक शिक्षा नहीं है?
रॉय

1
@ इस मामले में, मैं इसे शुरू करने से स्रोत के साथ छेड़छाड़ और सिर्फ छेड़छाड़ करके शुरू करूंगा। उस बिंदु पर पहुँचना जहाँ आप प्रभावी रूप से योगदान करते हैं, थोड़ा और समय लेते हैं। आप शायद अपने आप से कुछ अच्छे ट्यूटोरियल का अनुसरण करके शुरू करने से बेहतर हैं (परियोजना के लिए और यह चौखटे / पुस्तकालय हैं) और अपने ज्ञान का निर्माण करें ताकि आप जान सकें कि योगदान कहाँ और कैसे करना है। गेम मॉड (और प्लगइन्स) सैंडबॉक्स में अकेले होने और कोर देवों के स्तर के बीच में एक उत्कृष्ट हो सकता है।
मैके

4

कुछ समय के लिए विकास सूचियों की निगरानी करें और जब आप सहज महसूस करें तो अपना परिचय दें। बग-फिक्सिंग या डॉक्यूमेंटेशन में कई प्रोजेक्ट्स में कुछ आसान जॉब्स हैं, जिन्हें रेगुलर करने के लिए आपको इशारा करना होगा। अधिकांश परियोजनाएं नए हाथों के लिए काफी अनुकूल हैं, और वे आपको तेजी से खरोंच करने के लिए लाएंगे ताकि आप परियोजना के लिए एक वास्तविक संपत्ति बन सकें।

थोड़ी देर के बाद आप संरचना और कोड आधार के सबसे महत्वपूर्ण भागों से परिचित होंगे। कोड को इस तरह समझना सीखना प्रोग्रामिंग का एक बहुत महत्वपूर्ण हिस्सा है, और इसे सीखने के लिए खुला स्रोत एक शानदार तरीका है।


2

इसका लाभ उठाएं। वहाँ शुरुआती के टन वही कर रहा है। प्रोजेक्ट लीड आपको काम करने में मदद कर सकती है जो आपके लीग से बाहर नहीं हैं। आप धीरे-धीरे बाकी हिस्सों में बढ़ते हैं।

ओह, और सिर्फ इसलिए कि आप कोड को नहीं समझते हैं इसका मतलब यह नहीं है कि यह अच्छा है । मैंने कुछ गंभीर रूप से भयानक कोड देखे हैं। इसे समझना कुछ कठिन है क्योंकि यह खराब लिखा गया है और इससे कहीं अधिक जटिल होना चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.