उत्पादन के लिए एक ओपन सोर्स प्रोजेक्ट कब तैयार है?


16

जब आप एक नया ओपन सोर्स लाइब्रेरी / प्रोजेक्ट पाते हैं, तो इसे अपने सोर्स बेस में शामिल करने से पहले आप क्या मापदंड देखते हैं।

  • क्या आपको कानूनी सवालों के जवाब देने की ज़रूरत है?

  • क्या आप विकास वेग की एक निश्चित राशि की तलाश करते हैं?

  • क्या समुदाय एक अच्छा पर्याप्त कारण है?

  • यदि आप परियोजना के लिए लाइन पर हैं तो क्या आपका निर्णय बदल जाता है?

  • क्या डोमेन या कोड की जटिलता आपके सोचने के तरीके को बदल देती है?

जवाबों:


19

यहाँ परियोजना परिपक्वता के बारे में मेरी जाँच सूची है:

क्या परियोजना अपने प्रारंभिक मील के पत्थर तक पहुंच गई है?

मैं किसी भी कोड को जोड़ने से बचता हूं अगर यह अपने आप में प्रारंभिक मील का पत्थर वर्णित नहीं है। मेरा यह सुझाव नहीं है कि आपको हमेशा यह दावा करने वाले किसी डेवलपर पर भरोसा करना चाहिए कि उसकी परियोजना तैयार है और हमेशा ऐसे दावों का मूल्यांकन करने की कोशिश करें, लेकिन आपको उस पर भरोसा करना चाहिए जब वह आपको इसका नहीं बताता है, अर्थात सॉफ़्टवेयर को संस्करण 0.x के रूप में लेबल कर रहा है। अल्फा, बीटा, रिलीज उम्मीदवार और इतने पर।

क्या पर्याप्त दस्तावेज हैं?

एक सही परियोजना की पेशकश करेगा:

  • उपयोगकर्ता गाइड उदाहरणों से भरा है
  • एक पुस्तकालय है, तो एक एकीकरण / विस्तार गाइड
  • एपीआई प्रलेखन
  • पूरी तरह से प्रलेखित स्रोत कोड
  • एक सार्वजनिक मुद्दा ट्रैकर

क्या डेवलपर्स अभी भी परियोजना के लिए प्रतिबद्ध हैं?

आप यह कभी नहीं बता सकते हैं कि डेवलपर्स भविष्य में प्रतिबद्ध रहेंगे, जब तक कि यह एक आधार / कंपनी समर्थित परियोजना नहीं है। लेकिन आप लगभग हमेशा बता सकते हैं कि क्या वे अभी के लिए प्रतिबद्ध हैं:

  • हाल की प्रतिबद्ध गतिविधि
  • हाल की सुविधाएँ (न सिर्फ बग फिक्स)
  • हाल ही में प्रलेखन गतिविधि (डॉक्स अपडेट, ब्लॉग पोस्ट आदि)

परियोजना की परिपक्वता का एक अच्छा संकेतक डेवलपर्स की एक दूसरी पीढ़ी है, सक्रिय डेवलपर्स जो प्रारंभिक मील के पत्थर के बाद शामिल हो गए।

क्या डेवलपर्स उपलब्ध हैं?

  • क्या वे बगों का जवाब देते हैं?
  • क्या वे जेनेरिक इश्यू ट्रैकर के अलावा संपर्क के अन्य साधन प्रदान करते हैं? यह चेकलिस्ट पर एक छोटी सी वस्तु है, लेकिन एकल डेवलपर परियोजनाओं के लिए संपर्क के वैकल्पिक साधन "लापता डेवलपर के मामले" जैसे मामलों में मदद कर सकते हैं ।

अब, आपके अधिक विशिष्ट प्रश्नों के लिए:

वेग

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

लाइसेंस संगतता

कानूनी मुद्दों के लिए, अपने कोडबेस में एक ओपन सोर्स प्रोजेक्ट को कभी भी एकीकृत न करें यदि आप 100% निश्चित नहीं हैं कि इसका उपयोग आपके लाइसेंस के अनुकूल है। यदि संदेह है, तो आप हमेशा परियोजना के डेवलपर्स से पूछ सकते हैं, या यहां तक ​​पूछ सकते हैं।

सामुदायिक प्रचार

आपको हमेशा प्रचार का मूल्यांकन करना चाहिए। साथी डेवलपर्स से सिफारिशें लगभग हमेशा परियोजना परिपक्वता का एक अच्छा पर्याप्त संकेतक हैं।

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


3

Yannis Rizos द्वारा बताए गए उत्तर के अलावा, यदि संभव हो तो मैं इसे शॉर्ट साइड या टेस्ट प्रोजेक्ट में आज़माऊंगा। इससे आप किसी भी महत्वपूर्ण उत्पाद के दांव पर लगने से पहले किसी उत्पाद के बारे में जान सकते हैं। प्रोजेक्ट बहुत छोटा नहीं होना चाहिए, क्योंकि यह बहुत अधिक कोडबेस को अस्पष्टीकृत कर देगा। एक स्पिन के लिए यह देखें कि क्या आप ऐसा कर सकते हैं जो आप बिना किसी परेशानी के बहुत से चाहते हैं। यदि आप दस्तावेज़ और दो या प्रोजेक्ट समुदाय की सहायता से अपने दम पर काम करने वाली मूल बातें नहीं प्राप्त कर सकते हैं, तो आप अधिक उपयुक्त समर्थित कोडबेस पर विचार करना चाह सकते हैं। यदि प्रारंभिक परीक्षण आपके लिए काम करता है, तो आप इसे वास्तविक के लिए उपयोग करना शुरू कर सकते हैं। मुझे अतीत में इस समस्या से निपटना पड़ा है, और पहले दो बार के बाद, मैंने इसे उत्पादन में लेने से पहले नई चीजों का परीक्षण करने के लिए खुद के लिए एक नियम बनाया है,

बीपी वार: नए सामान की शुरुआत किसी तैयारी / सीखने के चरण के बिना कभी नहीं की जानी चाहिए।

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