ओपन सोर्स सॉफ्टवेयर का चयन करते समय मुझे कौन सी चेतावनी के झंडे देखने चाहिए? [बन्द है]


13

जब ओपन सोर्स प्रोजेक्ट्स की तुलना कमर्शियल सॉफ्टवेयर, या अन्य ओपन सोर्स प्रोजेक्ट्स से की जाती है, तो क्या परिस्थितियाँ लाल झंडा उठाती हैं और आपको इजेक्ट बटन को हिट करने और कहीं और देखने का कारण बनती हैं?

जवाबों:


17

खुला स्त्रोत

प्रोजेक्ट वेब साइट देखें

  • प्रलेखन को देखें
  • मेलिंग सूची अभिलेखागार को देखें
  • SCM (svn, git, hg, आदि) देखें

ऐसा करने में, निम्नलिखित बिंदुओं पर उठाएँ ...

  • सॉफ्टवेयर कितना परिपक्व है
  • उपयोगकर्ता-आधार आकार (बहुत सारे लोग? 3 लोग?)
  • उपयोगकर्ता-आधार (कॉर्पोरेट, होम उपयोगकर्ता, लघु व्यवसाय, आदि) में कौन लोग हैं
  • क्या विकास सक्रिय है? यह कब से सक्रिय है?
  • मेलिंग सूची अभिलेखागार भी डेवलपर्स के बीच "टीम भावना" के बारे में बहुत सी जानकारी लीक करता है, अन्य बातों के अलावा। क्या यह स्वस्थ, शत्रुतापूर्ण, ऊब आदि लगता है?
  • क्या दस्तावेज सभ्य है?
  • क्या पैकेज / प्रोजेक्ट को किसी डिस्ट्रो में जैसे फेडोरा, डेबियन, आरएचईएल, एसएलईएस, उबंटू आदि में स्वीकार किया गया है? यदि ऐसा है - तो यह अच्छी बात है - कम से कम एक से अधिक अन्य व्यक्ति को परियोजना में विश्वास है।
  • क्या साइट में उचित टिकटिंग सिस्टम है? यदि हां - 5 साल पहले कितने टिकट खुले हैं? यह एक और संकेत है कि परियोजना कैसे "लाइव" है।

इसके अलावा, सुनिश्चित करें कि आप उस लाइसेंस पर ध्यान दें जिसके तहत सॉफ्टवेयर वितरित किया गया है। कुछ आपकी आवश्यकताओं के लिए उपयुक्त नहीं हो सकते हैं।

उपक्रम सॉफ्टवेयर

मुझे यहाँ के अलावा और कुछ कहने की ज़रूरत नहीं है ...

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

आप एक कार्यक्रम की परिपक्वता कैसे निर्धारित करते हैं? यह संस्करण संख्याओं की तरह कुछ भी नहीं है, और बहुत सारी परियोजनाएं व्यापक उपयोग में वर्षों के लिए विषम संस्करण संख्या में बैठती हैं। (मैं आपको NetworkManager देख रहा हूँ)। अपरिपक्वता का लाल झंडा क्या होगा?
jugugger

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

7
  • गतिविधि का अभाव। यदि प्रोजेक्ट ने नया कोड जारी नहीं किया है, तो बहुत सारे अछूता बग (या बग जो बहुत नए पुराने बग के साथ पुराने हैं) दिखाते हैं, या ऐसे उपयोगकर्ता फ़ोरम हैं जिनके पास बहुत अधिक स्पैम-टू-पोस्ट अनुपात है, जो एक निश्चित गंध है क्षयकारी कोडबेस। सक्रिय परियोजनाओं में नियमित रूप से रिलीज़, बग-मंथन होता है जो इंगित करता है कि नए खुलने वाले पुराने बंद किए गए, और दैनिक गतिविधि वाले उपयोगकर्ता फ़ोरम की जगह नहीं ले रहे हैं। इन तीनों कोड को जीवित रखने के लिए महत्वपूर्ण हैं और अच्छी तरह से रिलीज, फीसबैक, और डिबगिंग / रिफैक्टरिंग, एक पूर्ण लूप बनाते हैं।

  • गतिविधि कोडबेस के आकार, जटिलता और परिपक्वता के लिए आनुपातिक है। प्रोग्राम / प्रोजेक्ट जितना बड़ा होगा, पॉइंट-रिलीज़ उतना ही अधिक होगा, लेकिन पॉइंट रिलीज़ की एक निरंतर स्ट्रीम होनी चाहिए। सांबा जैसी परियोजना के लिए, एक बड़े जटिल कोड आधार के साथ, एक या एक महीने के बाद बिंदु रिलीज़ की उम्मीद करें। Gcc जैसी परियोजना के लिए, जो अधिक रूढ़िवादी डिज़ाइन लक्ष्यों के साथ एक परिपक्व कोडबेस है, बिंदु रिलीज़ अब बीच-बीच में होते हैं, लेकिन बड़े होते हैं। कोड की बहुत कम मात्रा में तेजी से बढ़ते लक्ष्य भी संभावित मुद्दों को दिखाते हैं - यह हो सकता है कि डेवलपर्स अभी भी बग से जूझ रहे हैं या अभी तक कोड किए गए सभी लक्ष्यों / सुविधाओं के पास नहीं हैं।

  • स्रोत कोड आसानी से सुलभ होना चाहिए। रिक्त स्थान, अगर यह सच्चा खुला स्रोत है, तो स्रोत कोड को देखने के लिए कोई भी जादुई हाथ मिलाना, वूडू प्रसाद, या कैंडलिट इनकंटेशन नहीं होना चाहिए। इससे कोई फर्क नहीं पड़ता कि यह CVS, SVN, Git, Mercurial, या यहां तक ​​कि वाहक कबूतर के माध्यम से सुलभ है, बशर्ते कि आप इसे क्लिक-रैप लाइसेंस समझौते के बिना प्राप्त कर सकें। यदि आप एक छूट, एनडीए पर हस्ताक्षर करते हैं, या कुछ अन-सुनी लाइसेंस योजना से सहमत हैं, तो आप खुले स्रोत के साथ काम नहीं कर रहे हैं, आप एक वाणिज्यिक विक्रेता के साथ काम कर रहे हैं जो आपके स्रोत को आपके लिए खोलने के लिए सहमत हो गया है - एक कीमत के लिए ।


गतिविधि आवश्यकताओं के लिए ++।
श-बीटा

6

बहुत सारे हैं, वास्तव में।

भ्रामक लाइसेंसिंग - बहुत से समाधान मुझे बाहर निकालने और मुझे मौत के लिए प्रेरित करने की कोशिश कर रहे हैं। पैकेज की लागत X है, लेकिन यदि आप विज्ञापित विकल्प 1, 2 और 3 चाहते हैं, तो यह प्रति विकल्प $ 500-1500 अधिक होगा। नहीं धन्यवाद।

कोई भी इसका उपयोग नहीं करता है - या कम से कम, Google किसी के बारे में बात नहीं कर सकता है। यह या तो बिल्कुल नया है (जिस स्थिति में, आप गिनी पिग हैं) या इतना बुरा कि हर कोई बेहतर जानता है

यह कई कांटों की जड़ है - अगर किसी चीज को कई बार खत्म कर दिया गया है, तो शायद इसके लिए एक अच्छा कारण है, और एक कांटे ने संभवतः समस्या को स्रोत से बेहतर हल कर दिया है। इसके बजाय उन लोगों की जांच करें।

लगातार खराब इंटरफ़ेस डिजाइन - मेरा मतलब केवल जीयूआई नहीं है। पागल, अज्ञात, या सीएलआई झंडे या विकल्प मुझे पागल कर देते हैं

यह काम नहीं करता है - या यह दिखावा करता है कि ऐसी स्थिति को हल करने की आवश्यकता नहीं है (या नहीं) मौजूद नहीं है, और इसलिए इसे संबोधित नहीं करता है


1

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


1

यदि आप अपनी कंपनी के लिए सॉफ्टवेयर देख रहे हैं, तो इसे बेचने, इसे बदलने आदि के लिए सबसे महत्वपूर्ण पहलू लाइसेंस है। WLAN राउटर पर बिजीबॉक्स को शामिल करने और कानूनी कार्रवाइयों का पालन करने पर, कंपनियों को लगता है कि "ओपन सोर्स = जो कुछ भी आपको पसंद है"।

कुछ अन्य बातें: मैं अंतिम अद्यतन और सक्रिय समुदाय की तारीख भी ढूंढ रहा हूं, इसलिए मंच, शायद अन्य पृष्ठ जिनके विषय के रूप में सॉफ्टवेयर है।


1

लिनक्स पर, मैं यह देखने के लिए जाँच करूँगा कि आपके डिस्ट्रो द्वारा कौन सा सॉफ़्टवेयर पैक किया गया है। पैकेज्ड सॉफ्टवेयर सिर्फ ओपनसोर्स / जीपीएल तक ही सीमित नहीं है - उबंटू, जेंटो और एसएलईएस न्यूनतम अपनी पैकेज सूचियों में प्रोप्राइटरी सॉफ्टवेयर शामिल करते हैं। जबकि इस बात की कोई गारंटी नहीं है कि ये पैकेज डिस्ट्रो में कोर सॉफ्टवेयर के रूप में प्रभावी रूप से काम करेंगे - किसी ने पैकेज तैयार करने के लिए समय और प्रयास का निवेश किया है।


1

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

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

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