मेरा अनुभव यह है कि हासिल करने के लिए एक संतुलन है।
अभी, मैं एक डेवलपर के साथ काम कर रहा हूं (बिना किसी कोड को देखे, विकास के सुझाव देने के अर्थ में) एक डेवलपर के साथ जो एक बहुत ही रोमांचक FOSS प्रोजेक्ट है जो कोड का उपयोग करता है जो मैंने लिखा है। सार्वजनिक रिलीज़ को डिज़ाइन परिवर्तनों के अहसास से बार-बार देरी हुई है जो परियोजना को लंबे समय में बेहतर बनाएगी, लेकिन इसके लिए कोड के महत्वपूर्ण पुनर्लेखन की आवश्यकता है जो पहले से ही लिखा गया है और जो पहले से ही "काम कर रहा था"। मेरा विचार यह है कि, एक कामकाजी लेकिन अपूर्ण रिलीज की गई थी जैसे ही दिखाने के लिए कुछ काम करना था, बदलाव के लिए विचार (और वास्तविक पैच) उस व्यापक समुदाय से आ सकते थे जो इस परियोजना में दिलचस्पी रखते थे, बजाय इसके कि यह आगे बढ़े मुद्दों की सतह धीरे-धीरे, एक बार में, जैसा कि डेवलपर उनके बारे में सोचता है और अपने और समुदाय के अन्य इच्छुक सदस्यों से डिजाइन प्रतिक्रिया मांगता है। इसलिए इस दृष्टिकोण से, "बहुत जल्दी रिलीज, अक्सर रिलीज" के लिए मैं एक वकील हूं।
दूसरी ओर, कम-गुणवत्ता वाले रिलीज़ एक नई परियोजना को खराब कर सकते हैं इससे पहले कि यह जमीन पर भी उतर जाए। मैंने देखा है कुछ नुकसान:
- इंटरफ़ेस परिभाषाओं के साथ कंकाल के पेड़ लेकिन कोई कोड नहीं।
- कोड जो किसी और के लिए नहीं बल्कि डेवलपर के लिए सफलतापूर्वक संकलित करता है।
- प्रोग्राम को बनाने / चलाने के लिए कोई निर्देश नहीं।
- किन पहलुओं से काम करने की उम्मीद की जा सकती है, इसका कोई दस्तावेज नहीं।
- कार्यक्रम क्या करता है या क्या करेगा, इसका अस्पष्ट विवरण।
- उपयोगिता के किसी भी प्रदर्शन का अभाव।
अंतिम बिंदु के लिए, मैं चीजों की तरह सोच रहा हूं:
- कंपाइलर / दुभाषिया जो एक हैलो-वर्ल्ड टाइप प्रोग्राम को भी संकलित / चला नहीं सकता है।
- एमुलेटर जो कम से कम किसी प्रकार का नमूना कार्यक्रम नहीं चला सकता है या अन्यथा प्रदर्शित करता है कि यह कुछ कर रहा है।
- इमेज प्रोसेसिंग टूल जो कुछ भी नहीं कर सकता है लेकिन अनमॉडिफाइड इमेज को लोड और रेज़र्व करता है।
- एक शीर्षक स्क्रीन के अलावा कुछ भी नहीं के साथ खेल।
इस प्रकार की समस्याएं एक "वेपरवेयर" छवि को उधार देती हैं जो तब तक हिलाना मुश्किल हो सकता है जब तक कि आप शुरू करने के लिए काम करने वाले कोड की कमी के बारे में बहुत खुले नहीं होते।
अंत में, अपने वर्जन नंबरों को समझ में आता है। अपने प्रोजेक्ट "1.0" को तब तक कॉल न करें जब तक कि यह ऐसा न हो कि उपयोगकर्ता इसे बिना दुर्घटनाग्रस्त होने की उम्मीद करें। मुझे हमेशा प्रारंभिक सार्वजनिक रिलीज के लिए "0.5" के आसपास संस्करण संख्याओं का उपयोग करने और वहां से जाने के साथ किस्मत मिली है, लेकिन मैंने "0.1" या "0.10" जैसी चीजों को भी देखा है जो समझ में आते हैं।