- Ghostty GitHub से किसी दूसरे collaborative code repository पर migrate कर रहा है
- Mitchell Hashimoto ने फरवरी 2008 में GitHub user #1299 के रूप में साइन अप किया था और तब से लगभग हर दिन इसका इस्तेमाल किया है, और एक समय GitHub को वह जगह मानते थे जिसने उन्हें सबसे ज़्यादा खुशी दी
- पिछले एक महीने में service reliability में गिरावट से काम प्रभावित होने वाले दिन लगभग रोज़ दर्ज हुए, और यह लेख लिखे जाने वाले दिन भी GitHub Actions outage के कारण लगभग 2 घंटे तक PR review नहीं कर सके
- GitHub अब आनंददायक जगह नहीं रहा, और 18 साल इस्तेमाल करने के बाद उन्होंने इसे छोड़ने का फैसला किया है, लेकिन अगर real results and improvements दिखते हैं तो वापस लौटने की संभावना खुली है
- Ghostty का migration कई commercial और FOSS provider से चर्चा करते हुए incremental तरीके से किया जा रहा है, और GitHub पर read-only mirror छोड़ने की योजना है
Ghostty और GitHub उपयोग की पृष्ठभूमि
- उनका मौजूदा मुख्य प्रोजेक्ट Ghostty है, जो एक terminal emulator है और speed तथा mature software की श्रेणी में “interesting new wrinkles” जोड़ने वाला प्रोजेक्ट है
- Ghostty development के लिए वे GitHub का उपयोग करते रहे हैं, और Mitchell Hashimoto ने फरवरी 2008 में GitHub user #1299 के रूप में साइन अप करने के बाद से लगभग हर दिन इसका इस्तेमाल किया है
- GitHub “वह जगह थी जिसने उन्हें सबसे ज़्यादा खुशी दी,” और यह ऐसा service था जिससे उन्हें इतना लगाव था कि honeymoon के दौरान भी उन्होंने इसके लिए समय निकाला
- social media पर doom scrolling करने के बजाय वे लंबे समय से GitHub issues देखते रहे, और छुट्टियों में भी GitHub projects के source code, OSS process और maintainer responses का अध्ययन करते थे
रोज़ाना काम रोक देने वाली रुकावटें
- हाल के समय में GitHub के प्रति उनकी भावना बहुत बदल गई है, और अब GitHub उन्हें रोज़ विफल कर रहा है तथा यह समस्या उन्हें व्यक्तिगत रूप से महसूस होती है
- इसका मुख्य कारण service reliability में गिरावट है, और पिछले एक महीने में जब-जब GitHub outage ने उनकी काम करने की क्षमता पर नकारात्मक असर डाला, उन्होंने अपनी diary में “X” दर्ज किया
- उस diary में लगभग हर दिन “X” था, और यह लेख लिखे जाने वाले दिन भी GitHub Actions outage की वजह से वे लगभग 2 घंटे तक PR review नहीं कर सके
- यह लेख 28 अप्रैल के उस incident से कुछ दिन पहले लिखा गया था, जब Elasticsearch SNAFU के कारण pull request पूरा नहीं हो सका
- अगर ऐसी रुकावटें हर दिन कई घंटों तक काम रोकती हैं, तो GitHub अब “serious work” के लिए जगह नहीं रहा
development flow और भावनात्मक दूरी
- GitHub अब आनंददायक जगह नहीं रहा, और “I want to ship software and it doesn't want me to ship software” जैसी भावना के अनुसार यह software ship करने से रोकने वाली चीज़ बन गया है
- वे चाहते हैं कि GitHub सुधरे, लेकिन साथ ही उन्हें code भी लिखना है, और GitHub के साथ अब वे coding जारी नहीं रख सकते
- 18 साल इस्तेमाल करने के बाद वे इस निष्कर्ष पर पहुँचे हैं कि अब उन्हें जाना होगा, और अगर real results and improvements दिखें तो वापसी की संभावना बनी रहेगी
- GitHub पर लौटने की शर्त सिर्फ बातें या वादे नहीं, बल्कि वास्तविक नतीजे और सुधार हैं
Ghostty का migration कैसे होगा
- Ghostty को किसी दूसरे collaborative code locker पर ले जाने का काम चल रहा है
- कई provider से चर्चा हो रही है, जिनमें commercial provider और FOSS provider दोनों शामिल हैं
- GitHub dependency पूरी तरह हटाने में समय लगेगा, और इसे जितना संभव हो incremental तरीके से किया जाएगा
- GitHub पर Ghostty का read-only mirror छोड़ा जाएगा, और उनके personal projects Microsoft-owned service पर बने रहेंगे
- Ghostty वह project है जिस पर खुद उन्हें, maintainers को और open source community को सबसे बड़ा असर पड़ता है, इसलिए यही इस बदलाव का केंद्र है
GitHub की स्थिति और Microsoft संदर्भ
- Microsoft द्वारा GitHub acquisition के बाद यह चिंता थी कि वह Redmond-केंद्रित ऐसा service बन सकता है जो Windows या Azure ecosystem से बाहर के developers के लिए कम सुविधाजनक हो
- वह चिंता बड़े पैमाने पर सच नहीं हुई, और GitHub code पर काम करने और उसे साझा करने की de facto place बन गया
- Hashimoto का अनुभव दिखाता है कि यह स्थिति डगमगा सकती है, और यह उस समय के साथ भी मेल खाता है जब Microsoft ने Windows has serious quality problems को स्वीकार किया
- Windows quality issues के एक कारण के रूप में बहुत सारे tools में AI को ज़बरदस्ती ठूँसना बताया गया, और Hashimoto के अनुसार GitHub में बढ़ती अस्थिरता भी Microsoft की AI obsession वाले इसी दौर में दिखाई दी
1 टिप्पणियां
Hacker News की राय
जिस समय कंपनी CircleCI से GitHub Actions पर सब कुछ माइग्रेट कर रही थी, ठीक उसी समय GitHub की स्थिरता टूट गई, इससे बहुत गुस्सा आता है
सबसे हास्यास्पद बात यह है कि Azure Repos/Pipelines इससे बेहतर था
यह भी सुना है कि GitHub अभी भी Azure इंफ्रास्ट्रक्चर पर माइग्रेट हो रहा है, इसलिए शायद बीच की अजीब अवस्था में है, लेकिन इससे भरोसा नहीं बनता
यह बहाना भी हो सकता है, लेकिन सुनने में काफ़ी plausible लगता है
Forgejo जैसा कुछ इस्तेमाल करना भी अच्छा लगेगा, लेकिन डेवलपर लगभग 12 हैं और सच कहूँ तो इसे सिर्फ़ मैंने ही इस्तेमाल किया है
यह सच में बहुत basic है, इसलिए टूटने लायक चीज़ें कम हैं, और इसी वजह से उसका ticket system भी मुझे बहुत पसंद है
उसमें सिर्फ़ ज़रूरी features हैं, और managers उसमें लाखों fields जोड़कर reporting या burndown chart जैसी चीज़ों से परेशान नहीं कर सकते
https://news.ycombinator.com/item?id=47616242
https://isolveproblems.substack.com/p/how-microsoft-vaporize...
GitLab भी कोई ख़ास बेहतर नहीं है
लगता है कि releases में गंभीर bugs को नज़रअंदाज़ किया जाता है, जबकि बेवकूफ़ी भरे UI changes के लिए अनंत budget है, जिनसे वास्तविक सुधार शून्य है
लगभग 8~9 साल पहले जब मैंने पहली बार GitLab इस्तेमाल करना शुरू किया था, तब यह मुझे बहुत पसंद था, और कुछ साल बाद जब कंपनी GitHub पर गई तो वह बड़ा downgrade लगा
GitLab में कई छोटे UX convenience features थे, कुछ rough edges थे, लेकिन कुल मिलाकर यह अच्छी तरह designed लगता था
लेकिन उसके बाद हालात बहुत बिगड़ गए, UX अनगिनत बार बदला गया और हर बार जैसे और खराब हुआ
rough edges ठीक नहीं हुए, बस नए rough edges जुड़ते गए
पिछले कुछ सालों में कोई उपयोगी feature जोड़ा गया हो या सुधरा हो, ऐसा याद करना मुश्किल है, और चूँकि GitHub भी बिखरा हुआ है, इसलिए चाहता था कि GitLab साफ़ तौर पर बेहतर विकल्प बनकर बाज़ार ले जाए, लेकिन अफ़सोस ऐसा नहीं हुआ
कई दिनों तक कारण समझ नहीं आया, फिर अगले update में जाकर समस्या की चेतावनी मिली, तब repair command चलाकर सब ठीक किया
यह बहुत छोटा server था, लगभग 10 users और अधिकतम 50 repositories
GitHub, Bitbucket, Codeberg वगैरह पर सब ठीक था, लेकिन GitLab में बहुत bugs थे, Firefox में SSH key update करना असंभव था, और यह भी साफ़ नहीं दिखता था कि यह GitLab-Firefox compatibility bug है
नई SSH key upload को Chrome में आज़माने का ख़याल आने में लगभग एक घंटा लग गया, और उसके बाद मैंने तय कर लिया कि GitLab को फिर हाथ नहीं लगाऊँगा
Ghostty अब GitHub छोड़ने वाला नया प्रोजेक्ट बन गया है, तो अब अगला कौन जाएगा यह जानने की उत्सुकता है
मुझे नहीं लगता कि सब लोग अगले बुधवार तक GitHub छोड़कर अपना Forgejo server खड़ा कर देंगे, लेकिन यह कि लोग अब सच में GitHub से बाहर जाने पर विचार करना शुरू कर रहे हैं, GitHub को इस पर चिंता करनी चाहिए
औसत software engineer को VCS या forge में कोई ख़ास रुचि नहीं होती, और दोनों के बारे में उसकी समझ भी बहुत उथली होती है
जो लोग बस अपना काम करके अपनी ज़िंदगी में लौटना चाहते हैं, उनके लिए यह उतना महत्वपूर्ण नहीं है
क्या सिर्फ़ मुझे ऐसा लग रहा है, या MSFT acquisition के बाद issues बहुत बदतर हो गए हैं?
तब से यह कितना बढ़ा होगा? 10x? 100x? उससे भी ज़्यादा?
जब कोई कंपनी कुछ खरीदती है, तो अगला सवाल होता है कि उसका मालिकाना किसके पास है
नई कंपनी के भीतर कौन “इसे अच्छा बनाए रखने” की ज़िम्मेदारी लेगा, यही असली बात है, और acquisition के बाद पहले से यह काम कर रहे लोग रुक भी जाएँ तो motivation का सवाल अलग है
Microsoft में गंभीर समस्याएँ हैं
ऐसा लगता है जैसे कम से कम 10 कंपनियों को गोंद से चिपकाकर Microsoft नाम दे दिया गया हो, और इसमें reputational risk भी बड़ा है कि Xbox division का outage tools division को प्रभावित करे या उसका उल्टा हो
बहुत सी चीज़ों में focus की कमी है, और press release बंद करने के बाद इस Everest-जैसे technical debt को ठीक करने वाला “service pack 2” जैसा क्षण चाहिए था
Embrace, extend, and extinguish
वह कहता है “GitHub user 1299, फरवरी 2008 में जुड़ा”, तो कोई यह कैसे जानता है कि वह GitHub user # कौन सा है?
curl [https://api.github.com/users/YOUR_USER_HERE](<https://api.github.com/users/YOUR_USER_HERE>)चलाइए, फिर payload में id देखिए"id": 2851या avatar HTML source देख सकते हैं: https://avatars.githubusercontent.com/u/2851?v=4
सच कहूँ तो मुझे लगा था कि यह कई million में होगा
/u/#फ़ॉर्म में होता हैमेरा लगभग 4 million range में है
पिछले लगभग 20 सालों में जमा की गई user activity stats के आधार पर, मुझे यक़ीन है कि लगातार और लंबे समय तक काम करने तथा रोज़ाना ऐसा software लिखने के हिसाब से जिसे दूसरे लोग सच में इस्तेमाल करते हैं, मैं top 1% users में हूँ या उसके आसपास हूँ
मैं भी GitHub का काफ़ी शुरुआती user हूँ, हालांकि बिलकुल शुरुआती नहीं, और GitHub metrics खराब होने पर भी मैं अभी भी ship कर रहा हूँ
क्योंकि software लिखने के लिए GitHub की ज़रूरत नहीं होती
Hashimoto की टिप्पणी अस्थिर लगती है और उम्मीद है कि उन्हें शांति मिले, लेकिन अगर वह वही व्यक्ति न होते तो यह टिप्पणी पढ़कर मैं सोचता कि कोई समस्या है, इसलिए मुझे लगता है कि वास्तव में है भी
अगर ऐसा नहीं है, तो outage की शिकायत करने वालों को judge करना काफ़ी दखलअंदाज़ी भरा और असहज लगता है
ऐसी चीज़ें ज़्यादातर Reddit पर देखने को मिलती हैं
“यह तो आपकी मशीन पर coding करने से नहीं रोकता” कहकर मुद्दा चूक जाने वाले लोग इतने अनुमानित हैं कि मूल blog post में भी उस बिंदु को पहले से संबोधित किया गया था
किसी की mental health पर इस तरह का घिनौना personal attack नहीं करना चाहिए
लेकिन पोस्ट पढ़ने के बाद लगा कि उनकी भावनात्मक प्रतिक्रिया हालात के अनुपात में नहीं थी
फिर भी project के आकार के हिसाब से issue handling, review processing वगैरह GitHub full-time job बन सकते हैं, और PR descriptions व comments को commit message की जगह documentation के हिस्से की तरह इस्तेमाल करना भी असामान्य नहीं है
इसलिए GitHub availability कई कंपनियों के लिए सच में बड़ा अवरोध बन सकती है
इसी समय भी GitHub API की समस्या चल रही है
असली सवाल यह है कि सबसे अच्छा alternative क्या है
free version होने पर भी कोई बड़ी शिकायत नहीं है
public code को वहाँ mirror करना भी ठीक है
अगर tests चलाने की जगह चाहिए, तो अपना infrastructure बना लीजिए
यह अब पहले से कहीं आसान है, फिर ऐसे black box पर निर्भर क्यों रहना?
GitLab से काफ़ी तेज़ है