- 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 टिप्पणियां
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 की जरूरत भी पूरी हो सकती है
बात पूरी तरह समझ में आती है, लेकिन एक हिस्से पर मेरी राय थोड़ी अलग है
AI कंपनियों को पूरी तरह मुफ्त विज्ञापन मिल रहा है, और open source software में इनके घुसपैठ करने का तरीका मुझे सच में पसंद नहीं
लेकिन मैं सिर्फ merge request में disclosure करने के पक्ष में नहीं हूँ। हर कोई merge request नहीं देखता, और अगर यह जानना है कि इस commit पर भरोसा किया जा सकता है या नहीं, तो git history के अलावा किसी और चीज़ पर निर्भर नहीं होना चाहिए
लेकिन LLM-generated code में उसका मतलब मुझे समझ नहीं आता। Dependabot जैसे tool का commit पर sign करना ठीक है, क्योंकि कुछ गलत होने पर समस्या ठीक करने और दोबारा होने से रोकने में वह उपयोगी जानकारी बनती है
तो फिर “Proudly typed in nano” जैसा कुछ कैसा रहेगा? :D
अगर 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
Method names suggested by Microsoft IntelliSense (R) and Pyright (TM)\
Grammar and spelling corrections by Apple Intelligence (R)
शायद वही वजह हो, जिसकी वजह से लोग “Nike” या “Adidas” लिखा हुआ shirt पहनते हैं
शायद sportswear पहनना उससे बेहतर होगा
अगर मैं किसी के साथ pair programming कर रहा हूँ और मैं commit करूँ, तो उस व्यक्ति का नाम co-authored-by में जाता है
जब मैं programming करता हूँ, तो मुझे लगता है कि LLM का contribution इतना बड़ा होता है कि commit में उसे credit दिया जा सके। code मैं commit करता हूँ और जिम्मेदारी भी मेरी होती है, लेकिन मैं उस code का अकेला लेखक नहीं हूँ
फिर भी मैंने किसी को यह कहते नहीं देखा कि “इसे लिखते समय मैंने 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 किया जा सकता है