उपयोगकर्ता सीधे Issue क्यों नहीं बना सकते
(github.com/ghostty-org)- Ghostty repository में उपयोगकर्ता सीधे Issue नहीं बना सकते, और पहले GitHub Discussions में चर्चा शुरू करनी होती है
- प्रोजेक्ट bug या feature request पर चर्चा के लिए Issue tracker का उपयोग नहीं करता, और सभी चर्चाएँ Discussions में होती हैं
- जब चर्चा पर्याप्त रूप से स्पष्ट होकर कार्रवाई योग्य आइटम में व्यवस्थित हो जाती है, तब maintainer उसे Issue में बदलता है
- यह तरीका maintainer और contributor को वास्तव में काम किए जा सकने वाले issues जल्दी खोजने में मदद करने वाली संरचना है
- अधिकांश रिपोर्टें उपयोगकर्ता environment की समस्या, गलतफहमी, या अभी तक implement न हुई feature request होती हैं, इसलिए यह प्रक्रिया प्रोजेक्ट की quality management के लिए महत्वपूर्ण है
Issue निर्माण प्रतिबंध नीति
- Ghostty repository में उपयोगकर्ता सीधे Issue नहीं बना सकते
- इसके बजाय पहले GitHub Discussions में समस्या या सुझाव साझा करना होता है
- maintainer चर्चा की समीक्षा करके यदि उसे स्पष्ट रूप से reproduce की जा सकने वाली समस्या मानता है, तो उसे Issue में बदल देता है
- यह तरीका Issue tracker में केवल वास्तव में काम किए जा सकने वाले आइटम बनाए रखने के लिए है
- क्योंकि सभी Issues पहले से ही ठोस रूप ले चुके होते हैं, contributors तुरंत काम शुरू कर सकते हैं
Issue tracker संचालन सिद्धांत
- Ghostty Issue tracker का उपयोग चर्चा या feature request के लिए नहीं करता
- feature request या सामान्य प्रश्न Discussions में संभाले जाते हैं
- Issue में केवल स्पष्ट रूप से परिभाषित bug या कार्रवाई योग्य कार्य आइटम शामिल होते हैं
- यह दृष्टिकोण open source project maintenance के अनुभव के आधार पर बना संचालन सिद्धांत है
- पिछले अनुभव के अनुसार, उपयोगकर्ता रिपोर्टों में 80~90% वास्तविक bug नहीं बल्कि गलतफहमी या environment समस्या थीं
- बाकी अधिकांश अभी implement न हुई feature requests थीं, जिनके लिए अक्सर अतिरिक्त specification की ज़रूरत होती थी
maintenance दक्षता में सुधार
- Discussions चरण से गुजरने पर maintainer केवल सत्यापित समस्याओं को ही Issue के रूप में प्रबंधित कर सकता है
- अनावश्यक duplicate reports या गलत bug reports कम हो जाती हैं
- Issue सूची तुरंत काम किए जा सकने वाले आइटमों के आधार पर व्यवस्थित रहती है
- उपयोगकर्ता वैध समस्या मिलने पर भी कोई अतिरिक्त काम करने की आवश्यकता नहीं होती
- maintainer स्वयं उसे Issue में बदलकर संभाल लेता है
संदर्भ दस्तावेज़
- विस्तृत प्रक्रिया और contribution guidelines CONTRIBUTING.md फ़ाइल में देखी जा सकती हैं
- उस दस्तावेज़ में Discussions में भाग लेने का तरीका और Issue में बदलने के मानदंड स्पष्ट किए गए हैं
3 टिप्पणियां
Hacker News की राय
100% सहमत। अगर यह किसी और का प्रोजेक्ट है, तो issue क्या माना जाए इसका अधिकार पूरी तरह उसी व्यक्ति का है
प्रोजेक्ट जितना बड़ा होता है, उतने ही ज़्यादा ऐसे लोग मिलते हैं जो message नहीं पढ़ते, अजीब requests करते हैं, यहाँ तक कि AI से CVE को बढ़ा-चढ़ाकर पेश करने के मामले भी आते हैं
user को error का मतलब न पता हो, तब भी कम-से-कम कौन-सा error आया था यह बताना चाहिए
पहले testing के दौरान मैंने साफ़ तौर पर “broken pipe error” लिखा था, लेकिन engineer ने “reproduce नहीं हो रहा” कहकर बंद कर दिया, और फिर उसी error को वजह बताकर कहा कि reproduce नहीं हो रहा
ज़्यादातर trackers में “unconfirmed” जैसी status classification हो सकती है, लेकिन Github सिर्फ़ एक discussion system है, इसलिए manage करना मुश्किल है
मैंने 4 घंटे तक code और evidence देकर उसका खंडन किया, लेकिन जवाब में बस “shrugs AI” मिला
“Facebookization” ने यह धारणा बना दी कि कुछ clicks में सब हो जाता है, और अब “LLMization” से यह और बढ़ेगा ऐसा लगता है
professional software के लिए यह approach सही नहीं है, लेकिन expectations अब वैसी ही बन चुकी हैं
Ghostty का discussions के ज़रिए requests को classify करना एक अनोखा लेकिन असरदार approach है
memory leak की जाँच कई platforms पर बिखरी हुई है
X लिंक1, X लिंक2, चर्चा1, चर्चा2
इसे अभी तक official issue में promote नहीं किया गया है
8GB system पर भी terminal कुछ ही बार चलाने से memory shortage हो जाती थी
Foot में features कम थे, लेकिन वह काफ़ी ज़्यादा stable था
दूसरा लिंक सिर्फ़ बहस शुरू करने की कोशिश जैसा लगता है
Claude Code और logs का analysis करके मैंने अस्थायी रूप से fix किया, और अब यह 10 में 1 बार ही reproduce होता है
उम्मीद है कि कोई आगे जाँच करे तो यह मददगार होगा
integrated GPU पर भी समस्या आती है, लेकिन हर बार blame GTK या Nvidia पर डाल दिया जाता है
मुझे “Issues” और “Discussions” का विभाजन अकुशल लगता है
duplicate search करनी पड़ती है, और tickets को move भी नहीं किया जा सकता
email से follow-up करो तो notifications टूट जाते हैं
इसलिए मैंने अपने प्रोजेक्ट में Discussions बंद कर दिए
अगर सच में bug हो, तब उसे issue में बदल सकते हैं
admin अगर “bug” label लगा दे तो काफ़ी है
discussion साफ़ हो जाए, तब issue बनाया जा सकता है
notifications भी बनी रहती हैं
Python community के कुछ बड़े projects भी यही तरीका अपनाते हैं
लेकिन power users के नज़रिए से bug report process झंझटभरा है
“हमारा project परफेक्ट है” जैसा रवैया अहंकारी लगता है
ज़्यादातर drive-by bug reports बेकार होती हैं, बल्कि noise बढ़ाती हैं
अगर सच में योगदान देना है, तो पहले से defined bugs को fix करना बेहतर है
report करने के तरीक़े पर सीमाएँ रखना स्वाभाविक है
“हर issue काम शुरू करने के लिए पूरी तरह तैयार होना चाहिए” इस दावे पर,
सवाल उठा कि “तो फिर ‘ready-to-be-worked-on’ tag लगा दें, वही काफ़ी नहीं?”
यह system काफ़ी ज़्यादा सफल रहा
इसलिए developers के लिए अलग space और users के लिए अलग space बनाया गया
Issues scale बढ़ने पर manage नहीं हो पाते
Discussions को filter की तरह इस्तेमाल करना असरदार है
Github के ये दोनों features लगभग एक जैसे UI वाले हैं
बस Discussions में upvote feature है
curl/curl/issues
कुछ लोगों का मानना है कि यही default setting होनी चाहिए
community discussions संभाले और contributors issues — ऐसी संरचना आदर्श है
GitHub का label system भी इसे ठीक से संभाल सकता है
GitHub label management दस्तावेज़
जैसे Natural experiment
user submission policy से मैं सहमत हूँ
बंद discussions को देखें तो वे बंद issues जैसे ही लगते हैं, लेकिन कम-से-कम issue tab का noise घटता है
Ghostty बंद discussions की सूची
बहुत-सी discussions उस चरण तक नहीं पहुँचतीं, फिर भी user की समस्या हल हो जाती है
मुझे यह अलगाव वाली संरचना काफ़ी स्मार्ट डिज़ाइन लगती है
असल में “issue नहीं खोला जा सकता” कोई GitHub feature नहीं है,
बल्कि यह सिर्फ़ template में लिखा guidance है: “नई issue न खोलें, Discussions का उपयोग करें”
मैंने दूसरे projects में भी यह तरीका देखा है,
discussion को शुरुआती बिंदु बनाने वाली संरचना काफ़ी तर्कसंगत लगती है
लेकिन अभी भी बहुत-से projects ने GitHub Discussions सक्षम नहीं किया है
उस discussion में issue से अलग क्या है? Issue सिर्फ “bug” नहीं होता। चाहे bug हो, feature suggestion हो, या PR… अगर चर्चा करने लायक कुछ है, तो वह issue है.
अगर उस पर चर्चा करने की ज़रूरत नहीं है, तो उसे बंद किया जा सकता है।
ऐसा नहीं है कि discussion और issue में कोई बुनियादी फर्क है, बल्कि शायद अलग टैब में बाँटना उनकी पसंद के हिसाब से ज़्यादा सही लगा होगा.
Issue टैब में एक तरह की todo list और discussion दोनों पोस्ट करके उन्हें tag से मैनेज करना
vs
Issue टैब को सिर्फ todo list के लिए, और discussion को सिर्फ discussion के लिए इस्तेमाल करना