एक खुला स्रोत परियोजना अच्छी तरह से forking


27

यह समय है।

आपने जिस ओपन सोर्स प्रोजेक्ट से प्यार किया है, उस पर अपनी दृष्टि को जोड़ने के लिए आपने लंबे समय तक कड़ी मेहनत की है, जिस पर आपने काम किया है, बहस की है और जिसके लिए आपने कोड और अंतर्दृष्टि की मात्रा में योगदान दिया है।

लेकिन यह मौजूदा डेवलपर्स के साथ काम करने वाला नहीं है।

आपको अंत में कोड को फोर्क करना होगा।

आप यह कैसे करते हैं और मौजूदा परियोजना के साथ सर्वोत्तम शर्तों पर बने रहते हैं? आप कैसे नहीं कहते हैं, " ओह, हाँ! कांटा आप! "

क्रॉस-पॉलिनेशन के मैकेनिकों के अलावा और यह मानते हुए कि फोर्किंग का तर्क ध्वनि, तार्किक और स्वीकार्य है, क्या मुद्दे उठते हैं ?

मुकाबला? संसाधन तड़क? उपयोगकर्ता अवैध शिकार?

जब तक आप पर्याप्त रूप से विविधतापूर्ण नहीं हो जाते, तब तक आप इस कठिन और लंबी प्रक्रिया से कैसे गुजरते हैं कि इन्हें समस्याओं के रूप में नहीं देखा जाता है?

निर्णय के पीछे के तर्क पर चर्चा करने के बजाय, कृपया यह मान लें कि आप पहले ही आश्वस्त हो चुके हैं कि कोड को सबसे अच्छा हल करना सबसे अच्छा उपाय है, और अब सबसे अच्छा तरीका संभव है।

-Adam

जवाबों:


20

आप कोड के अपने कांटे पर काम करना चाहते हैं या आप समुदाय को खंडित करना चाहते हैं?

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

मन, ये बहुत बड़ी परियोजनाएँ नहीं थीं, लेकिन यह जिस तरह से चलती हैं। हमने कुछ भी प्रकाशित नहीं किया है, एक साइट या जो कुछ भी होस्ट किया है। हम बस कोड आधार के बाकी हिस्सों के साथ स्रोत को नीचे की ओर धकेलते हैं।

देव मेलिंग सूची की तुलना में किसी भी अधिक सार्वजनिक फैशन में हमारे परिवर्तनों को "बढ़ावा" देने के लिए बस कोई कॉल नहीं था।

यदि आप मूल के साथ समानता बनाए रखना चाहते हैं, तो आपको पैच प्रबंधन, और विलय, और जो भी हो, पर आक्रामक होना होगा।

यदि आप परेशान नहीं करना चाहते हैं, तो ... नहीं। इसके बारे में सार्वजनिक बात करने का कोई कारण नहीं है जब तक कि यह सामान्य इरादे न हो, बल्कि आपकी अपनी परियोजनाओं के लिए केवल एक फोर्कड संस्करण की आवश्यकता हो।

स्रोत का उपयोग करना है, इसलिए इसका उपयोग करें।


8

अधिकांश ओपन सोर्स प्रोजेक्ट्स में, शब्द "कांटा" अक्सर ऐसा नहीं होता है जिसे गर्मजोशी से माना जाता है, मैंने व्यक्तिगत रूप से यह अनुभव किया है कि सुविधाओं के एक विशिष्ट सेट को विकसित करने के लिए "विषय शाखा" पर काम करने के लिए कहा जाता है।

और यह केवल समझ में आता है: "कांटे" प्रकृति के संभावित प्रतिद्वंद्वियों द्वारा हैं, जबकि "विषय शाखाएं" हैं-कम से कम डिजाइन द्वारा- इसका मतलब अंत में विलय / परियोजना में वापस योगदान करना है।


5

पहले कहो कि तुम सिर्फ कुछ प्रयोगात्मक refactoring करना चाहते हैं। तुम्हें पता है, बस कुछ विचारों के साथ आप खेलना चाहते हैं। लेकिन इन परिवर्तनों को परियोजना की मुख्य शाखा के साथ पिछड़ी संगतता को तोड़ने की आवश्यकता हो सकती है, इसलिए आप वहां परिवर्तन नहीं करना चाहते हैं।

फिर अपना कांटा बनाएं। बेशक आप एक जिम्मेदार डेवलपर हैं, इसलिए आप सभी कोड रिवीजन नियंत्रण में रखते हैं। लॉन्चपैड या सोर्सफॉगर या Google कोड या जो भी हो का उपयोग करें।

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

उस समय तक, आपके द्वारा सोचा गया लोग मूल परियोजना पर काम नहीं कर रहे थे, शायद वे भी चले गए होंगे, इसलिए कोई भी व्यक्ति अपमानित होने से बचेगा। आपके नए प्रोजेक्ट के अनुयायियों के रूप में मूल परियोजना गतिविधि में गिरावट आएगी।


पुनः कोडेलिक की टिप्पणी:

सही; मैं यह मान रहा था कि जिन लोगों को ओपी पीछे छोड़ना चाहता है, वे अपने दम पर इस परियोजना को बनाए रखने में सक्षम नहीं हैं।

मैंने सुना है कि यह कहा जाता है, "संगठन जीवित रहते हैं, लोग नहीं करते हैं।" अर्थात्, कोई भी व्यक्ति किसी परियोजना के लिए इतना महत्वपूर्ण नहीं है कि शेष टीम उस व्यक्ति के प्रस्थान के द्वारा छोड़े गए वैक्यूम की भरपाई नहीं कर सकती है।

हालांकि, खुले स्रोत में, कभी-कभी यह सच है कि संस्थापक के बिना किसी परियोजना को चलाने की इच्छाशक्ति, प्रतिभा और समय नहीं है।


IMHO, आपके उत्तर का अंतिम भाग बहुत अधिक अनुमानित है। यह सामान्य नहीं है कि एक लोकप्रिय परियोजना में कांटे के कारण गतिविधि में गिरावट आएगी।

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