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