1 पॉइंट द्वारा GN⁺ 2 시간 전 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Commit message तकनीकी जानकारी के लिए होती है, और “Assisted by blabot” जैसे वाक्य टूल या कंपनी के नाम को उजागर करने वाला विज्ञापन बन जाते हैं
  • भले ही open source projects को उन कंपनियों से कोई पैसा न मिलता हो, फिर भी subscription fee देने वाले users का commit के भीतर प्रचार वाक्य डालना एक समस्या है
  • AI tool का इस्तेमाल किया गया है या नहीं, यह ज़रूरत हो तो merge request में बताया जा सकता है, और commit में “generated by an LLM” जैसी सामान्य अभिव्यक्ति अधिक उपयुक्त है
  • ऐसे tools जो commit, email, या अन्य messages में अपने-आप विज्ञापननुमा वाक्य जोड़ देते हैं, खराब tools हैं; असली समस्या tool के इस्तेमाल से ज्यादा metadata के प्रदूषण की है
  • “Co-authored-by” जैसे formats भी अगर तकनीकी सहयोग जानकारी से आगे बढ़कर किसी खास bot या service को उजागर करें, तो वे मुफ्त विज्ञापन स्थान बन जाते हैं

Commit messages तकनीकी जानकारी के लिए होने चाहिए

  • Commit message में “Assisted by blabot”, “co-authored-by: slopgpt”, “sent from my fartphone” जैसे वाक्य जोड़ना कंपनी या tool के नाम को उजागर करने वाला विज्ञापन बन जाता है
  • भले ही open source project को उन कंपनियों से कोई पैसा न मिलता हो, फिर भी subscription fee देने वाले users द्वारा commit के भीतर कंपनी-प्रचार वाक्य डालने की संरचना ही समस्या है
  • इससे यह विरोधाभास पैदा होता है कि लोग ad blocker तो इस्तेमाल करते हैं, लेकिन commit में विज्ञापन डालते हैं
  • commit तकनीकी जानकारी रखने की जगह है, किसी खास tool या company के प्रचार की नहीं

AI tool उपयोग का खुलासा कैसे करें

  • ज़रूरत होने पर AI tool के उपयोग का खुलासा merge request में किया जा सकता है
  • commit में किसी खास company या product name की जगह “generated by an LLM” जैसी सामान्य अभिव्यक्ति छोड़ना अधिक उचित है
  • किसी खास company का नाम commit में डालना उसे मुफ्त विज्ञापन स्थान देने जैसा है
  • ऐसा भी चुना जा सकता है कि ऐसे tools का उपयोग ही न किया जाए

Tools के लिए मानदंड

  • जो tools commit, email, या अन्य messages में अपने-आप विज्ञापननुमा वाक्य जोड़ते हैं, उन्हें खराब tools माना जा सकता है
  • समस्या का मूल tool का इस्तेमाल होना नहीं, बल्कि generated output के metadata या messages में company-प्रचार वाक्य का घुस आना है
  • “Co-authored-by” जैसे formats भी अगर तकनीकी सहयोग जानकारी से आगे बढ़कर किसी खास bot या service को उजागर करने में इस्तेमाल हों, तो वह विज्ञापन बन जाता है

संबंधित दृष्टिकोण

1 टिप्पणियां

 
GN⁺ 2 시간 전
Lobste.rs की राय
  • यह बात सही है कि commit या email जैसे messages में विज्ञापन जोड़ने वाले tools सच में बुरे tools हैं, लेकिन समाधान यह नहीं है कि ऐसे बुरे tools का इस्तेमाल पकड़ा जाना मुश्किल बना दिया जाए, बल्कि यह है कि ऐसे tools का इस्तेमाल ही न किया जाए
    निजी तौर पर मुझे यह भी अच्छा लगता है कि ऐसा करने वाले लोग खुद ही अपनी पहचान जाहिर करना चाहते हैं

    • सहमत हूँ, लेकिन अच्छा होगा अगर लोग एक बार रुककर यह सोचें कि आखिर उन्हें अचानक क्यों लगने लगा कि ऐसा व्यवहार स्वीकार्य है
      आखिरकार असली समाधान यही है कि output में विज्ञापन डालने वाले tools का इस्तेमाल न किया जाए
  • बहुत से लोग LLM-generated code से बचना महत्वपूर्ण मानते हैं, इसलिए LLM इस्तेमाल का खुलासा कम करने की दिशा सही नहीं लगती
    अगर यह जानकारी commit message में हो, तो slopcheck जैसे tools से यह अपने आप पहचानना भी आसान हो जाता है कि codebase में LLM-generated code शामिल है या नहीं
    लेकिन महत्वपूर्ण बात यह नहीं है कि कौन-सा LLM इस्तेमाल हुआ, बल्कि यह है कि LLM इस्तेमाल हुआ। अगर ऐसे tools के उपयोगकर्ता उसी दिशा में बदलें, तो किसी खास product के विज्ञापन से होने वाला नुकसान कम किया जा सकता है और disclosure की जरूरत भी पूरी हो सकती है

    • सही बात। अगर बस इतना लिखा हो कि “यह LLM ने generate किया”, तो शायद ठीक है, लेकिन अभी लोग इन कंपनियों के लिए मुफ्त विज्ञापन कर रहे हैं
  • बात पूरी तरह समझ में आती है, लेकिन एक हिस्से पर मेरी राय थोड़ी अलग है
    AI कंपनियों को पूरी तरह मुफ्त विज्ञापन मिल रहा है, और open source software में इनके घुसपैठ करने का तरीका मुझे सच में पसंद नहीं
    लेकिन मैं सिर्फ merge request में disclosure करने के पक्ष में नहीं हूँ। हर कोई merge request नहीं देखता, और अगर यह जानना है कि इस commit पर भरोसा किया जा सकता है या नहीं, तो git history के अलावा किसी और चीज़ पर निर्भर नहीं होना चाहिए

    • Protobuf जैसे cases में अगर tool deterministically code generate करता है, तो code के भीतर tool का नाम होना debugging और upgrade management के लिए उपयोगी होता है
      लेकिन LLM-generated code में उसका मतलब मुझे समझ नहीं आता। Dependabot जैसे tool का commit पर sign करना ठीक है, क्योंकि कुछ गलत होने पर समस्या ठीक करने और दोबारा होने से रोकने में वह उपयोगी जानकारी बनती है
  • तो फिर “Proudly typed in nano” जैसा कुछ कैसा रहेगा? :D

    • “edited with sed - the modern stream editor for filtering and transforming text”
    • “Sent from my iPhone”
    • मैं कभी-कभी समस्या समझने के लिए अपने पालतू छिपकलियों से बात करता हूँ, इसलिए अक्सर सोचता हूँ कि “assisted-by: my pet lizards” जोड़ दूँ
    • एक मिनट! कुछ FOSS projects तो पहले से ही nano users पर रोक लगाना चाहते हैं। आप अभी वही संभव करने का तरीका सुझा रहे हैं
    • इसकी जरूरत नहीं। सब जानते हैं कि ed(1) ही standard text editor है, इसलिए यह एक implicit fact है और bytes की बर्बादी है
  • अगर Visual Studio मेरे commits में “Made using Visual Studio” जोड़ना शुरू कर दे, तो मुझे काफ़ी गुस्सा आएगा

    Sent using
    Firefox 140.10.2esr (64-bit)
    Debian GNU/Linux 13 (trixie) x86_64
    Linux 6.12.86+deb13-amd64
    Using locally sourced electricity from free range waterfalls

    • जैसे-जैसे LLM और ज़्यादा integrated होते जाएंगे, हो सकता है एक दिन हम यह भी देखें:
      Method names suggested by Microsoft IntelliSense (R) and Pyright (TM)\
      Grammar and spelling corrections by Apple Intelligence (R)
  • शायद वही वजह हो, जिसकी वजह से लोग “Nike” या “Adidas” लिखा हुआ shirt पहनते हैं

    • मुझे कभी समझ नहीं आया कि लोग खुशी-खुशी, बल्कि कई बार उत्साह से भी ऐसा क्यों करते हैं
    • मैंने अपने दादाजी से पूछा था कि वे logo वाले कपड़े बिल्कुल क्यों नहीं पहनते, तो उन्होंने कुछ ऐसा जवाब दिया: “अगर किसी को मुझसे विज्ञापन करवाना है, तो पैसे देने चाहिए”
    • ऐसे कपड़े मुझे भी बिल्कुल समझ नहीं आते। वे अच्छे दिखने वाले भी नहीं होते
    • अभी मैं “London Perl Workshop 2017” लिखा हुआ shirt पहने हूँ, और अभी एहसास हुआ कि उस साल के event के बारे में मुझे कुछ खास याद ही नहीं
      शायद sportswear पहनना उससे बेहतर होगा
  • अगर मैं किसी के साथ pair programming कर रहा हूँ और मैं commit करूँ, तो उस व्यक्ति का नाम co-authored-by में जाता है
    जब मैं programming करता हूँ, तो मुझे लगता है कि LLM का contribution इतना बड़ा होता है कि commit में उसे credit दिया जा सके। code मैं commit करता हूँ और जिम्मेदारी भी मेरी होती है, लेकिन मैं उस code का अकेला लेखक नहीं हूँ

    • यह किसी असली इंसान को credit देना नहीं, बस कंपनी का विज्ञापन करना है
    • मुझे समझ नहीं आता कि LLM का contribution vim, IDE autocomplete, या Google search results के contribution से कैसे अलग है
      फिर भी मैंने किसी को यह कहते नहीं देखा कि “इसे लिखते समय मैंने Google देखा था और xcode में tab completion 4 बार दबाया था”, इसलिए इसे commit में जोड़ना चाहिए
    • यह अभी की बहस से बिल्कुल मेल खाता है या नहीं, पक्का नहीं
      आप Spring project bootstrap कर सकते हैं, या Go में echo या cobra CLI से कुछ generate कर सकते हैं, या Laravel boilerplate बना सकते हैं। कई languages में generators होते हैं
      फिर भी हम “co-authored by X tool” नहीं जोड़ते
      पूरी तरह एक जैसा तो नहीं है, लेकिन मिलता-जुलता ज़रूर है। आप change set में tool metadata डाल रहे हैं। इसकी जरूरत नहीं है। संबंधित business concepts डालिए, और technical decisions के बारे में notice दीजिए
      tool का ज़िक्र करने की जरूरत नहीं
  • पता नहीं webserver overloaded है, configuration गलत है, या उसने मुझे bot मान लिया है, लेकिन HTTPS connection के लिए मुझे लगभग 30 सेकंड इंतज़ार करना पड़ता है

  • मुझे तो यह उल्टा एक अच्छा signal लगता है। इससे देखना आसान होता है कि code में कितना effort, या effort की कमी, डाली गई है

  • मैं विज्ञापन के बहुत खिलाफ हूँ, लेकिन वजह यह नहीं है कि मैं चाहता हूँ कि consumer products को कोई जाने या इस्तेमाल न करे
    बल्कि इसलिए कि मैं चाहता हूँ लोग consumer products के बारे में सही और बिना पक्षपात वाली जानकारी पाएँ
    मुझे नहीं लगता कि commit में यह जानकारी डालने से bias पैदा होता है। चाहे Claude हो, Copilot हो या कुछ और, अगर उसने उस commit को पूरा करने में भूमिका निभाई है, तो यह साफ़ तौर पर एक तथ्य है, और बहुत से लोगों की उस संदर्भ में इसे जानने में वाजिब रुचि है। दूसरी तरफ committer ने Emacs इस्तेमाल किया या नहीं, यह दिलचस्प जानकारी नहीं है। यह बिना किसी वजह के डाली गई चीज़ नहीं है
    अगर पसंद न हो, तो user agent को यह output न करने के लिए configure किया जा सकता है

    • लेकिन हम दूसरी metadata और tool information नहीं जोड़ते। उदाहरण के लिए, commit में यह भी नहीं डालते कि Emacs इस्तेमाल किया गया था