2 पॉइंट द्वारा GN⁺ 2024-08-21 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • 2019 के मध्य में नौकरी तलाशते समय Google Goteam और Sourcegraph के बीच चुनना था
  • Sourcegraph चुनने की वजह उसकी वह संस्कृति थी जिसमें सब कुछ खुले तौर पर बनाया जा सकता था
  • सभी दस्तावेज़ डिफ़ॉल्ट रूप से सार्वजनिक थे, और technical तथा product RFC, PR/FAQ आदि सार्वजनिक Google Drive फ़ोल्डरों में रखे जाते थे
  • सभी product implementation सार्वजनिक GitHub repository में किए जाते थे
  • अब sourcegraph/sourcegraph repository को private कर दिया गया है
  • यह Sourcegraph की आकर्षक संस्कृति को नष्ट करने वाला फ़ैसला था
  • Sourcegraph ने sourcegraph/sourcegraph-public-snapshot नाम का एक सार्वजनिक snapshot छोड़ा है

संदर्भों को बनाए रखना

  • Sourcegraph में काम करते समय engineering blog पर कई लेख लिखे थे
  • उन कई लेखों में संदर्भ के रूप में संबंधित सार्वजनिक code के लिंक इस्तेमाल किए गए थे
  • अब ये सभी लिंक टूट चुके हैं
  • एक कहावत है, "कूल URI बदलते नहीं हैं"
  • जानकारी को यथासंभव सुरक्षित रखने की कोशिश की जा रही है ताकि लिंक अचानक न टूटें
  • sourcegraph/sourcegraph को efritz/sourcegraph में fork किया गया
  • fork pull request को inherit नहीं करता, और branch में सीधे संदर्भित न होने वाले commit दिखाई नहीं देते
  • GitHub दस्तावेज़ों के अनुसार, public repository को private करने पर भी fork बना रहता है
  • लेकिन मूल repository private होने पर main branch के बाहर के commit गायब हो सकते हैं

संबंधित commit scrape करना

  • सभी commit खोजने के लिए एक Go program चलाया गया
  • इस program ने 2,645 pull request metadata files बनाई
  • jq का उपयोग करके JSON payload पढ़ा गया और डेटा निकाला गया
  • pr_ids.txt, commits.txt, replace_pairs.txt फ़ाइलें बनाई गईं
  • दूसरा program चलाकर हर pull request के non-merged commit सूचीबद्ध किए गए
  • इस program ने commits.txt फ़ाइल में commit जोड़े

commit को नए repository network में इम्पोर्ट करना

  • हर संबंधित SHA को शामिल करने वाली branch बनाकर उन्हें fork में इम्पोर्ट किया गया
  • Bash script का उपयोग करके git कार्य क्रमवार किए गए

संदर्भों का पुनर्लेखन

  • अब हर reference को fork के target से लिंक किया जा सकता है
  • xargs का उपयोग कर automation process लागू की गई
  • सीधे commit reference को fork की ओर rewrite किया गया, और pull request reference को merge commit में rewrite किया गया

GN⁺ की संक्षिप्त टिप्पणी

  • Sourcegraph के private होने से open source संस्कृति पर बड़ा प्रभाव पड़ा
  • engineering blog के कई reference links टूट गए, और उन्हें सुरक्षित रखने के लिए काफ़ी मेहनत करनी पड़ी
  • GitHub fork और scripts का उपयोग करके references rewrite किए गए और commit सुरक्षित रखे गए
  • यह लेख open source projects की sustainability और reference links के महत्व को रेखांकित करता है

1 टिप्पणियां

 
GN⁺ 2024-08-21
Hacker News की राय
  • Sourcegraph CEO की राय:

    • आंतरिक codebase को private करने का कारण फोकस बनाए रखना है
    • open source और public state बनाए रखने से बहुत अतिरिक्त काम और जोखिम पैदा होते हैं
    • ग्राहकों के लिए बेहतरीन code search/intelligence product बनाने पर फोकस करना चाहिए
    • फिर भी developer और OSS community के लिए बहुत काम किया जा रहा है
      • लोकप्रिय public code search service प्रदान करना
      • काफ़ी open source code maintain करना
    • अगर दूसरे founders code को public रखना है या नहीं, इस पर सोच रहे हैं, तो उनसे सलाह-मशविरा किया जा सकता है
  • दूसरे user की राय:

    • Sourcegraph को developer culture को अच्छी तरह समझने वाली कंपनी माना जाता था, लेकिन हाल के बदलाव निराशाजनक हैं
    • public roadmap खोजने की कोशिश की, लेकिन ज़्यादातर दस्तावेज़ private कर दिए गए
    • पहले public handbook को Notion पर ले जाया गया, और उसके ज़्यादातर महत्वपूर्ण हिस्से private Google docs से link किए गए
  • एक और user की राय:

    • हाल ही में Sourcegraph का public search index गायब हो गया
    • GitHub के search feature में सुधार होने से पहले Sourcegraph का काफ़ी इस्तेमाल किया जाता था
    • अब GitLab repositories और कई GitHub repositories index से गायब हो गए हैं
    • भरोसेमंद न रहने वाली search functionality की वजह से GitHub पर लौटना पड़ रहा है
  • दूसरे user की राय:

    • open source version को fork करके telemetry हटाई, updates disable किए, proprietary code हटाया, Docker image बनाई, और हल्का Oauth2 authentication implement किया
    • लंबे समय तक इसे Oauth2-Proxy के पीछे चलाने की योजना है
    • यह बहुत भरोसेमंद software है
  • एक और user की राय:

    • macOS reverse engineering काम में Sourcegraph का बहुत उपयोग किया गया
    • Sourcegraph search की वजह से कई projects मौजूद हैं
    • उम्मीद है कि आगे चलकर search feature गायब नहीं होगा
  • एक और user की राय:

    • सभी development work को private बना देना अजीब और उलझन भरा है
    • सिर्फ़ license restrictions से ही business goals हासिल किए जा सकते थे, फिर private क्यों किया गया, यह सवाल है
  • दूसरे user की राय:

    • Sourcegraph का काफ़ी इस्तेमाल किया, लेकिन वास्तव में कितने लोगों ने इसके लिए पैसे चुकाए होंगे, यह सवाल है
    • open source company चलाना मुश्किल काम है
    • कंपनी के mature होने पर समझ आता है कि कुछ चीज़ें मुफ्त में नहीं दी जा सकतीं
  • दूसरे user की राय:

    • Software Heritage project ने Sourcegraph के ज़्यादातर repositories archive कर लिए हैं
    • आख़िरी crawling 2024 के जुलाई के मध्य में हुई थी
  • एक और user की राय:

    • Sourcegraph अब open source नहीं है, इस बारे में पहले की एक घटना का ज़िक्र किया गया
  • दूसरे user की राय:

    • Sourcegraph का बहुत हवाला दिया और उसे recommend भी किया, लेकिन कभी वास्तव में पैसे नहीं चुकाए
    • open source छोड़ने की वजह जानने की जिज्ञासा है, लेकिन यह चौंकाने वाला नहीं है