- QEMU समुदाय ने हाल ही में अपनी नीति में संशोधन किया। AI code generators (जैसे Copilot, ChatGPT आदि) के उपयोग और उन टूल्स के माध्यम से code submission पर प्रतिबंध लगाया गया है
define policy forbidding use of AI code generators
- हाल के दिनों में AI code generators के उपयोग में रुचि तेज़ी से बढ़ी है, लेकिन इन टूल्स के output की license interpretation को उद्योग में व्यापक रूप से स्वीकार नहीं किया गया है
- प्रमुख vendors का दावा है कि कोई समस्या नहीं है और license का स्वतंत्र रूप से चयन किया जा सकता है, लेकिन इनमें हितों का टकराव मौजूद है
- चूँकि AI code generators विभिन्न licenses के तहत प्रशिक्षित data पर आधारित होते हैं, इसलिए output के license issues पर उद्योग-स्तरीय सहमति अभी मौजूद नहीं है
- QEMU, DCO (Developer Certificate of Origin) में यह अपेक्षा करता है कि contributor के पास project license के तहत code contribute करने का स्पष्ट अधिकार हो
- यह भी स्पष्ट रूप से कहा गया है कि AI code generator से बने code के मामले में DCO की b/c clauses के अनुपालन को साबित करना कठिन है
- इसलिए यदि AI code generator का उपयोग स्पष्ट रूप से हुआ हो या उस पर संदेह हो, तो QEMU project में code contribution की अनुमति नहीं देने की नीति लागू की गई है
नीति की लचीलापन और अपवाद प्रबंधन
- AI-सहायित software development अभी शुरुआती चरण में है, इसलिए भविष्य में कानूनी मुद्दों के सुलझने की संभावना अधिक है
- टूल्स के विकसित होने के साथ भविष्य में कुछ टूल्स open source projects में सुरक्षित रूप से उपयोग योग्य हो सकते हैं
- फिलहाल सख्त और सुरक्षित नीति को प्राथमिकता दी गई है, और आवश्यकता पड़ने पर भविष्य में इसे नरम किया जा सकता है
- अपवाद अनुरोधों की समीक्षा अलग-अलग मामलों के आधार पर की जाएगी और उसी के अनुसार अनुमति का निर्णय होगा
1 टिप्पणियां
Hacker News की राय
CONTRIBUTING.mdमें LLM code contribution policy के रूप में यह डालने वाला हूँLLM-Generated Contribution Policy
Color library एक ऐसी library है जिसमें complex math और सूक्ष्म decision-making भरा हुआ है। हर issue या PR submitter की अपनी गहरी समझ के आधार पर लिखा जाना चाहिए, और खासकर PR के मामले में developer को हर commit के लिए DCO certify करना होगा। अगर PR लिखने में LLM की मदद ली गई है, तो commit message और PR में इसे स्पष्ट रूप से बताना होगा। बिना सबूत के LLM सहायता detect होने पर PR reject होगा। LLM द्वारा बनाए गए content को बिना review submit करना हर हाल में reject किया जाएगा
SECURITY.md में भी LLM-Generated Security Report Policy डालकर, LLM द्वारा जनरेट की गई security reports को हर हाल में स्वीकार न करने की योजना है
अकेले project की जिम्मेदारी उठाने वाले व्यक्ति के रूप में मैं संतुलन बनाने की कोशिश करता हूँ, लेकिन व्यक्तिगत रूप से LLM code contributions पसंद नहीं करतायह कल्पना करना भी मुश्किल है कि कोई व्यक्ति अपना ही code समझे बिना PR submit कर सकता है। ऐसे लोगों की वजह से policies बनें और फिर मुझे autocomplete स्तर पर LLM इस्तेमाल करने पर भी रोक लगे, यह थोड़ी खटकती है।
मैं Copilot से automated refactoring जैसे काम करवाना चाहता हूँ, लेकिन प्रयोगों में अक्सर यह बुरी तरह चीजें बिगाड़ देता है, और पूरे block नए सिरे से generate करने की प्रवृत्ति के कारण मेरे हाथ से करने से भी धीमा साबित होता है।
दिलचस्प बात यह है कि अगर मैं typing के दौरान कोई bug लिख रहा हूँ, तो Copilot अक्सर उसी bug को भी पूरा कर देता है। variable name की typo जैसी साफ़ context-based गलतियाँ भी यह वैसे की वैसे autocomplete कर देता है
जो high-level काम मैं करता हूँ, वह मैं कभी AI को नहीं सौंप सकता, लेकिन repetitive और कम-गंभीर काम AI लेकर speed बढ़ा देता है। उदाहरण के लिए, अगर Claude Code को database benchmark results की CSV files देकर कहा जाए कि तरह-तरह के graphs और outlier analysis जोड़ दे, तो conceptually आसान लेकिन libraries ढूँढने और setup में समय लेने वाला काम यह जल्दी पूरा कर देता है
मैं code “समझने” के मतलब पर सोच रहा हूँ। मेरा एक project मौजूदा VM orchestration system में पूरी तरह नया storage backend जोड़ने का है। मौजूदा code को न जानने की स्थिति में, implementation खुद लिखने का समय निकालना मुश्किल है, लेकिन test cluster बनाकर और कई scenarios चलाकर, design और testing के नज़रिये से बड़ी तस्वीर को मैं पर्याप्त रूप से समझ रहा हूँ
मैं भी एक open source maintainer हूँ, इसलिए यह कल्पना कर सकता हूँ कि कम-गुणवत्ता वाले LLM “slop” PRs आना कितना तनावपूर्ण होता होगा। आखिरकार author code समझता हो या नहीं, maintainer को तो हर हाल में code review करना ही पड़ता है।
आगे चलकर हमें इन tools का सही उपयोग और submit किए गए code की गुणवत्ता का स्तर दूसरे developers को signal करने के तरीके तलाशने होंगे। शुरुआती Linux ZFS port में मिले सूक्ष्म bugs से मैंने यह सीखा कि इंसानों द्वारा line-by-line review और authorship जितनी महत्वपूर्ण है, उतनी ही thorough testing भी है
Dotnet Runtime AI को सक्रिय रूप से अपना रहा है। बाहर वाले भले इसका मज़ाक उड़ाएँ, लेकिन Stephen Toub और David Fowler जैसे बेहतरीन engineers इसके समर्थक हैं, यह ध्यान देने की बात है।
कंपनियों को सलाह है कि अगली बार जब IBM AI services बेचने आए, तो वे कोई सच में future-oriented partner तलाशें।
North Carolina का होने के नाते, मैं बस चाहता हूँ कि IBM और RedHat सही दिशा पकड़ें
legal risk के कारण AI से बचने वालों को मैं समझता हूँ, लेकिन ज़रूरत से ज़्यादा डरना भी सही है या नहीं, यह सवाल है। जो सच में मानता है कि उसने किसी संभावना को 0 कर दिया है, उसने शायद अभी पर्याप्त नहीं सोचा
मेरा दिमाग भी असल में बहुत सा closed source code सीख चुका है, इसलिए AI copyright debate को पश्चिमी शैली के NIMBY रवैये के रूप में भी देखा गया। चिंता यह है कि अगर ऐसे कानूनी “क्या पता” के बहाने शानदार tech को ठुकराया गया, तो पश्चिमी सभ्यता खुद कमजोर पड़ सकती है
AI contributions पर रोक से अलग, यह भी ज़रूरी है कि स्पष्ट रूप से बताया जाए कि “इन हिस्सों में AI का उपयोग किया जा सकता है।” उदाहरण के लिए, QEMU का CI setup कोई core security-critical क्षेत्र नहीं है। दिलचस्प और नए test cases या environments के लिए contributions को कुछ शर्तों के तहत AI के साथ अनुमति देना पूरी तरह संभव लगता है
इसलिए “फिलहाल स्वीकार न करना” सभी के लिए कम जटिल और कम नाटकीय विकल्प है
संदर्भ के लिए QEMU license और non-free licenses list के लिंक जोड़े गए
लेकिन यह सवाल है कि AI-generated code और कहीं से नकल किए गए human-written code के बीच व्यावहारिक अंतर कैसे पहचाना जाएगा। open source में तो कोई भी contribute कर सकता है, इसलिए इंसान भी code में बाहरी प्रभाव लेकर आते ही हैं
मौजूदा नज़रिये से, AI-generated code अपने-आप में कोई स्वतंत्र पहचान नहीं रखता; वह अधिकतर इंसान के हाथ का tool लगता है
और अब यह महसूस हुआ कि यह उपमा भी शायद ज़रूरत से ज़्यादा खिंच चुकी है
यह कुछ वैसा है जैसे मैंने stick figure बनाई हो और कोई कहे, “शायद यह किसी और की stick figure की नकल है, इसलिए तुम्हें इसे submit करने का अधिकार नहीं।”
policy का असली मकसद शायद बस यह है कि जब कभी भविष्य में कोई AI code और non-AI code का मिला-जुला patch भेज दे, तब वे कह सकें, “हम क्या कर सकते थे।” policy बनाने वालों को भी शायद पता है कि यह अंततः अर्थहीन है
legal issues के अलावा भी AI code इस्तेमाल करने पर कई दूसरी समस्याएँ स्पष्ट रूप से मौजूद हैं