GitHub परियोजना को त्यागने के लिए मुझे (अधिकतर) योगदान कैसे करना चाहिए?


43

मैं हाल ही में GitHub में खुले स्रोत सहयोग में आने की कोशिश कर रहा हूं और ऐसी स्थिति में चला गया हूं जिसके लिए मैं उत्सुक हूं कि आगे बढ़ने का पसंदीदा तरीका क्या है।

लगभग एक महीने पहले, मुझे एक लाइब्रेरी के लिए GitHub पर एक प्रोजेक्ट मिला जिसे मैं पहले से ही कुछ समय के लिए उपयोग कर रहा था और जिसमें मुझे कुछ कीड़े मिले (और तय किए गए थे)।

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

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

यह सिर्फ एक महीने पहले था, और पुल अनुरोध वहाँ बैठे हैं, अछूता, जब से। जिस उपयोगकर्ता का रेपो मैंने कांटा था, वह बहुत सक्रिय नहीं लगता है, जिसने पिछले वर्ष में GitHub पर केवल 7 कुल योगदान दिया है, और उस रेपो का कोई कमिट नहीं है क्योंकि मैंने जो पहला अनुरोध किया था।

तो मेरा सवाल:

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

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

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


4
जब आपको यह सवाल दिलचस्प लगता है, तो आप एक नए ओपन सोर्स स्टैकएक्सचेंज साइट के प्रस्ताव में भी दिलचस्पी ले सकते हैं ।
फिलीपिंस

केवल उत्सुक दर्शकों के लिए ईमेल वार्तालाप से क्या हुआ, इसे साझा करने की देखभाल करें? :)
विंकब्रेस

@winkbrace अभी तक, कुछ भी नहीं। मुझे कोई प्रतिक्रिया नहीं मिली है, लेकिन मैंने केवल दो दिन पहले ई-मेल भेजा है। अगर कुछ विकसित होता है तो मैं आप सभी को बता दूंगा।
JLRishe

जवाबों:


39

मेरे पास अभी तक यह स्थिति नहीं है, लेकिन मैं यही कोशिश करूंगा:

स्वामी से संपर्क करने का प्रयास करें

हो सकता है कि उन्होंने वास्तव में रुचि खो दी हो, लेकिन परियोजना को किसी और को हस्तांतरित करने के लिए तैयार हैं, विशेष रूप से किसी ऐसे व्यक्ति ने जो पहले से ही प्रतिबद्धता दिखा रहा है।

लेकिन शायद वे सिर्फ कुछ और (काम, छुट्टियों, बीमारी, अन्य परियोजनाओं) के साथ कब्जा कर रहे हैं और आपके पीआर को संभालने के लिए समय नहीं है, लेकिन बाद में ऐसा करने की योजना बनाएं।

या हो सकता है कि उन्होंने वास्तव में जो भी कारण से परियोजना पर स्थायी रूप से काम करना बंद कर दिया हो।

बिना पूछे, आपको यह पता नहीं चलेगा।

समुदाय के साथ संपर्क में रहें

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

मैं अंत में आप वास्तव में परियोजना पर ले जा रहा हूँ, आप उनके समर्थन चाहते हो सकता है। और उन्हें यह जानने की जरूरत है कि नया मास्टर भंडार कहां है।

अच्छा पुल अनुरोध जारी रखें

यह स्वामी और समुदाय दोनों को दिखाता है कि आप इसके बारे में गंभीर हैं, और चलो उन्हें आपके योगदान का न्याय करते हैं।


1
धन्यवाद। थोड़ी और खोज करने के बाद, ऐसा लगता है कि यह सलाह npm संकुल के साथ इस तरह की स्थिति के लिए उपलब्ध दिशानिर्देशों के समान है । मैंने बस मालिक को ई-मेल किया है और देखेंगे कि वह क्या जवाब देता है।
JLRishe

किसी विशेष रेपो के लिए पीआर को मंजूरी देने की क्षमता के साथ किसी को ढूंढना बहुत मुश्किल है जब रेपो का "मालिक" वास्तव में दर्जनों उपयोगकर्ताओं के साथ एक संगठन है।
काउललाइनर

15

यदि मूल रेपो का मालिक कहीं नहीं मिलता है और काफी के लिए अनुपस्थित है, तो मैं अपनी खुद की रिपोजिटरी को परियोजना के एक अलग संस्करण के रूप में प्रकाशित करूंगा।

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


1
हां, बस forkपरियोजना और में README.md, मूल मालिक को एक संदर्भ और "धन्यवाद" छोड़ दें।
जारेड बुर

आपके उत्तर के लिए धन्यवाद (+1)। आप निश्चित रूप से कुछ अच्छे अंक बनाते हैं। मैं अंततः इसका सहारा ले सकता हूं, लेकिन अभी के लिए, मैं ओफ़्फ़ की सलाह का पालन करूंगा और देखूंगा कि क्या मैं ई-मेल के माध्यम से रेपो के मालिक से संपर्क कर सकता हूं।
JLRishe

बेशक, बस रिपॉजिटरी को गुमनामी में न पड़ने दें। Github में बहुत सारे अच्छे कोड कहीं छिपे होने चाहिए क्योंकि मूल मालिक अब और नहीं हैं।
क्लैम्च

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

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

0

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

मान लें कि मूल रेपो चालू है https://github.com/someUserX/projectY/, तो प्रक्रिया इस तरह दिख सकती है:

  1. ("मैनुअल") अलग-अलग तरीकों से मूल लेखक से संपर्क करें, कम से कम उसके गिट कमिट ईमेल और एक मुद्दे (यदि सक्षम है) के माध्यम से।

    प्राप्त अनुमति या कुछ हफ्तों के भीतर कोई प्रतिक्रिया नहीं होने की स्थिति में, कोई भी स्क्रिप्ट चला सकता है जो होस्टर्स वेब एपीआई का उपयोग इन जैसे चरणों को करने के लिए करेगा:

  2. नामक एक नया (GitHub) संगठन बनाते हैं projectY, और इसमें मूल रेपो -> फोर्क होता हैhttps://github.com/projectY/projectY/

  3. संगठन प्रशासकों के रूप में मूल लेखक और पुल अनुरोधों के सभी लेखकों (पहले से ही विलय और अभी भी खुले) को जोड़ें
  4. नए कांटे में मूल रेपो से सभी (खुले) पुल-अनुरोधों को फिर से बनाएं
  5. (खुले) मुद्दों के साथ भी ऐसा ही करें
  6. नए रेपो के सभी प्रवेशों को सूचित करता है
  7. पुराने रेपो के लिए एक अंतिम पुल अनुरोध बनाएँ, "छोड़ा" / "संग्रहीत" नोटिस और README के ​​शीर्ष पर नए रेपो से लिंक करें

मुख्य मुद्दा जो मैं इस दृष्टिकोण के साथ देख रहा हूं, वह यह है कि कुछ "खराब" योगदानकर्ताओं को व्यवस्थापक एक्सेस मिल सकती है, लेकिन जैसा कि फ्री सॉफ्टवेयर इंजीलवादी पीटर पीटर हिंजेन्स बताते हैं (उदाहरण के लिए इस बात में) , बुरे कमिट्स को केवल वापस किया जा सकता है, और कोई थ्रेड नहीं है एक परियोजना जो जीवित है, और समय के साथ बुरे कमिटेटर को एक अच्छा बनने में मदद कर सकती है।
होइजुई
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.