आप कैसे वाक्यांश "यह खुला स्रोत है, एक पैच जमा करें" ताकि यह अनुकूल हो?


18

"यह खुला स्रोत है, एक पैच सबमिट करें" के लिए कैनोनिकल रिटॉर्ट के जवाब में क्या है? , कई लोगों ने राय व्यक्त की कि बस लोगों को एक पैच प्रस्तुत करने के लिए कहना अभिमानी और अशिष्ट है।

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

दूसरी ओर, आप असभ्य के रूप में दूर आकर (संभावित) योगदानकर्ताओं को डराना नहीं चाहते हैं।

तो आप कैसे कहेंगे "कृपया सुविधाओं के लिए पूछने के बजाय पैच सबमिट करें" दोस्ताना तरीके से?

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

(परियोजना-विशिष्ट चीजें जैसे परीक्षण कैसे लिखें, कोड संकलित करें, और पैच जमा करें फिर भी निश्चित रूप से दस्तावेज करने की आवश्यकता है, लेकिन मुझे लगता है कि उन तकनीकी मुद्दों को वैसे भी CONTRIBUTING.txt में जाना चाहिए।)


10
यदि आप पैच स्वीकार करने का इरादा नहीं रखते हैं, तो बहुत महत्वपूर्ण है, यह अनुरोध न करें! यही है, यदि आप कहते हैं "एक पैच जमा करें" तो आपको एक साफ, अच्छी तरह से लिखा पैच स्वीकार करने के लिए तैयार होना चाहिए।
eda-qa mort-ora-y

1
@ eda-qa - जरूरी नहीं कि हर साफ-सुथरी लिखी हुई पैच - लेकिन अगर आप नई सुविधाओं को वीटो करने की संभावना रखते हैं, तो आपके पास शायद एक ऐसा तरीका होना चाहिए कि लोग आपके लिए उन विशेषताओं को प्रस्तावित कर सकते हैं जो शायद बहुत सारे निवेश करने से पहले आपको उत्तर नहीं दे सकते हैं। उन्हें विकसित करने का समय।
स्टीव 314

@ सच कहो, मेरा मतलब अनचाहे पैच से नहीं है , वे एक अलग कहानी है। मेरा मतलब है कि विशेष रूप से सवाल के रूप में, यदि आप किसी को एक पैच प्रस्तुत करने के लिए कहते हैं।
edA-qa मोर्ट-ओर-वाई

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

जवाबों:


8

तुम नहीं।

अब तक मैं इसे अनुभव कर रहा हूं, उम्मीदवार योगदानकर्ता टिंकर हैं, और केवल अनुरोध करके यह सुविधा का अनुरोध प्रस्तुत नहीं करेंगे। वे आम तौर पर पहले से ही भागीदारी के कुछ स्तर के साथ इसका अनुरोध करेंगे:

  • क्या यह प्यारा नहीं होता अगर [...]? यह ए, बी और सी करना संभव हो सकता है (यह इसके लिए चारा है: मेरे पास समय नहीं है लेकिन यदि आप ऐसा करते हैं तो यहां एक कल्पना विचार होगा।)
  • यहाँ करने के लिए एक पैच है / यहाँ के लिए एक तय है [...]।
  • मैं करने के लिए एक पैच लिखने के बारे में सोच रहा हूँ [...] और प्रतिक्रिया का उपयोग कर सकता है / किसी को भी मदद करने में दिलचस्पी है।
  • आदि।

कोडर, जो एक सुविधा अनुरोध को एकमुश्त जमा करते हैं, आमतौर पर एक कारण के लिए ऐसा करते हैं। उनमें से कुछ में शामिल हैं (और मैं इस तथ्य के लिए जानता हूं कि आखिरी दो वर्डप्रेस में होते हैं, उदाहरण के लिए):

  • वे अन्य खुले स्रोत परियोजनाओं में गहरी गर्दन हैं, अर्थात कोई समय नहीं है।
  • वे मुक्त-सवार हैं और इस तरह से चीजें रखने का इरादा रखते हैं।
  • यह उनके कौशल स्तर से परे है / ऐसी भाषा में लिखा गया है जिसके बारे में वे कुछ नहीं जानते हैं।
  • वे एक बेहतर विकल्प की कमी से सॉफ्टवेयर का उपयोग करते हैं, और batsh * t ^ / पीई कोड के एक बदबूदार ढेर से निपटना नहीं चाहते हैं।
  • उन्हें अब परेशान नहीं किया जा सकता है क्योंकि उनके पूर्व पैच को अनदेखा / अस्वीकार कर दिया गया था, अर्थात उन्हें अपना समय बर्बाद करना होगा।

अधिक आम तौर पर, फ़ीचर अनुरोध एंड-यूज़र्स से आएंगे जो पैच का योगदान नहीं कर सकते थे, भले ही वे चाहते थे। खासकर जब टिकटिंग सिस्टम के बाहर जमा किया जाता है।


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


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

9

संक्षेप में, आप समझाते हैं कि आपके पास मुफ्त में अपना काम करने के लिए असीमित समय नहीं है। (आप 'मुफ्त के लिए बिट' को छोड़ सकते हैं), और वे किसी भी समय अपनी पसंद के अनुसार योगदान कर सकते हैं, यह "आपका" प्रोजेक्ट नहीं है, इसकी सभी की परियोजना है।

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

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


यह मुझे पंसद है। शायद यह वास्तव में कुछ सबसे अच्छा दस्तावेज में डाल दिया है ताकि आप हर बार जब आप इसे समझाने की जरूरत है, तो इसे कॉपी-पेस्ट न करें। और फिर आप बस कहते हैं "क्या आप एक पैच योगदान करना चाहेंगे? Http: //.../#contributing"
जो लिस

@ जॉइस: अवैयक्तिक ध्वनि के लिए आप मेरे जवाब के आलोचक थे; आप यह कैसे पूछते हैं कि एक हाइपरलिंक को अक्सर पूछे जाने वाले प्रश्न के लिए कॉपी-पेस्ट करना बेहतर है? यदि आप डिब्बाबंद प्रतिक्रिया का उपयोग करने जा रहे हैं, तो एक का उपयोग करें जो या तो सहानुभूति दिखाता है या पेशेवर (या दोनों) लगता है। शॉर्टकट के लिए यह विचार न तो है; वास्तव में यह ठीक उसी प्रकार की अशिष्टता है जिस पर मूल प्रश्न शिकायत कर रहा था।
आरा

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

6

विनम्र बने रहें, और स्थिति को स्पष्ट रूप से समझाएं। क्या कुछ के बारे में की तरह:

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

देखें, आप बस यह नहीं कह सकते हैं कि "आप मुझे अपने अनुरोधों से क्यों परेशान कर रहे हैं? मैं यहाँ आपके लिए मुफ्त में काम करने के लिए नहीं हूँ; यदि आप इस सुविधा को चाहते हैं, तो स्वयं इसे लागू करें"। व्यक्ति एक गैर-डेवलपर हो सकता है, उत्पाद को विकसित करने के लिए इस्तेमाल की जाने वाली भाषा आदि को नहीं जानता होगा।

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


अशिष्ट न होने का एक और तरीका कुछ भी नहीं कहना है। यदि आपके पास एक वेबसाइट है जहां आपके एप्लिकेशन के उपयोगकर्ता नई सुविधाओं का सुझाव दे सकते हैं और बग की सूचना दे सकते हैं, तो आप आइटम को उनकी प्राथमिकता के आधार पर क्रमबद्ध करना चाह सकते हैं: उदाहरण के लिए यदि कोई सुविधा 10 000 उपयोगकर्ताओं द्वारा मांगी जाती है, और दूसरा केवल 10 द्वारा अनुरोध किया जाता है , संभावना है कि पहले वाले को पहले लागू किया जाएगा।

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


5

आपके अनुरोध के लिए धन्यवाद। हमने इसे अपने प्रोजेक्ट बैकलॉग में शामिल किया है और शीघ्र ही इसकी समीक्षा करेंगे।

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

वास्तव में, क्या यह इतना कठिन था?


+1 उत्कृष्ट; अच्छा, पेशेवर प्रतिक्रिया। @ जू लिस: ध्यान रखें कि ज्यादातर लोग केवल सॉफ्टवेयर का उपयोग करना चाहते हैं , न कि अपने जीवन को इसके लिए समर्पित करना।
स्टीवन ए। लोव

मुझे इसका सार पसंद है, लेकिन मुझे व्यक्तिगत रूप से लगता है कि टोन थोड़ा बहुत अवैयक्तिक है। आप आमतौर पर ग्राहक सेवा करने वाली कंपनी नहीं हैं, आप सिर्फ एक डेवलपर से बात कर रहे हैं। यहां तक ​​कि 37signals पर लोग इस प्रकार की भाषा से बचते हैं
जो लिस

@JoLiss आप ग्राहक सेवा कर रहे हैं, चाहे आप इस पर विश्वास करना चाहते हैं या नहीं। और आपने "साथियों" के बारे में कुछ नहीं कहा। यह संभव है कि आप जिस व्यक्ति से बात कर रहे हैं वह एक डेवलपर है, लेकिन जब तक आप यह नहीं जानते कि एक तथ्य के लिए, मुझे नहीं लगता कि यह बनाने के लिए एक उपयुक्त धारणा है (जब तक आप डेवलपर टूल पर काम नहीं कर रहे हैं, लेकिन आपने निर्दिष्ट नहीं किया है इस सवाल में)। अंत में, 37 संकेतों पर लोग बुलश * टी का गठन करने के बारे में बात कर रहे हैं ... विडंबना है, कम से कम कहने के लिए।
हारून ने

हम्म। मुझे यकीन नहीं है कि मैं यह धारणा देना चाहूंगा कि मैं ग्राहक सेवा कर रहा हूं ... आपकी बात यह है कि उपयोगकर्ता जरूरी नहीं हैं कि अच्छी तरह से सह लिया जाए। पुन: 37signals, यहां एक और ब्लॉग पोस्ट है जो टोन के बारे में बात करता है - मुझे लगता है कि बिंदु इतना नहीं है कि आपको बकवास नहीं करना चाहिए, लेकिन यह कि आप एक फेसलेस कॉर्पोरेशन की तरह नहीं आना चाहिए। मेरे विचार में यह एक अच्छी रणनीति है, और यह ओपन सोर्स प्रोजेक्ट्स के लिए और भी सही है।
जो लिस

2
@ जॉयलिस: यदि आप इससे अधिक व्यक्तिगत होना चाहते हैं, तो महान, यह सब करने की शक्ति - मेरे लिए, यह न्यूनतम मानक है जिसे आपको शिष्टाचार के संदर्भ में मिलना चाहिए। सिर्फ यह मत कहो कि "एक पैच सबमिट करें" - समझाएं कि आप व्यस्त हैं, आलसी या उदासीन नहीं; स्वीकार करें कि वे वास्तव में एक पैच प्रस्तुत करने में सक्षम नहीं हो सकते हैं, और यदि वे हैं, तब भी वे आपको उपकार करके उपकार करेंगे।
एरोन

4

केवल "एक पैच सबमिट करें" कहने के बजाय, आपको थोड़ा और विस्तृत करना चाहिए।

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

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

3

यहाँ मैं आमतौर पर क्या कहना है ...

"यह एक दिलचस्प सुझाव है और अगर यह FooBarLib कर सकता है तो यह अच्छा होगा। दुर्भाग्य से, FooBarLib मेरे लिए सिर्फ एक खाली समय परियोजना है, इसलिए यह संभावना नहीं है कि मैं निकट भविष्य में ऐसा करने के लिए गोल हो जाऊंगा। मैं FooBarLib में स्वागत करता हूं। इसलिए यदि आप इसे स्वयं कार्यान्वित करने में सक्षम हैं, तो एक पैच सबमिट करने के लिए स्वतंत्र महसूस करें (सुनिश्चित करें कि आपने हमारे "FooBarLib में योगदान कैसे करें" दिशानिर्देशों को पहले पढ़ें)।


2

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

यदि आप संभावित डेवलपर्स को सहायता प्रदान करते हैं, तो वे सहायता प्रदान करने के लिए तैयार होने से अधिक होंगे। इसका मतलब है अच्छा कोड प्रलेखन, अच्छा विकी पृष्ठ जो प्रवाह (या एक अच्छा यूएमएल / व्हाइटबोर्ड आरेख) की व्याख्या करता है, और पैच स्वीकार करने का एक आसान तरीका है।


-2

मैं वास्तव में उस तरह से प्यार करता हूं जिस तरह से प्रोजेक्ट को कांटा करने के लिए दूसरों को प्रोत्साहित किया जाता है। एक ही परियोजना के कई संस्करण विभिन्न उपयोगकर्ता खातों के अंतर्गत मौजूद हो सकते हैं। यदि आप उस दिशा को पसंद नहीं करते हैं जो मैं प्रोजेक्ट कर रहा हूं तो कृपया इसे कांटा करें। आप आसानी से पुल अनुरोध प्रस्तुत कर सकते हैं लेकिन इसे स्वीकार करने के लिए मेरे इंतजार में नहीं अटके हुए हैं।

तो मेरा जवाब अक्सर होता है, बस इसे कांटा।

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