کد نوشته‌شده با هوش مصنوعی اکنون در مخزن اصلی QGIS ممنوع است

pasqualepillitteri.it

انتشار در منبع: انتشار در سایت ما:

مقاله اصلی · English

QGIS، نرم‌افزار رایگان و متن‌باز برای ساخت و تحلیل نقشه‌ها، اکنون استفاده از کد نوشته‌شده با کمک هوش مصنوعی را در مخزن اصلی خود ممنوع کرده است. این قانون با عنوان QEP 428 شناخته می‌شود؛ QEP مخفف «پیشنهاد ارتقای QGIS» است، همان سندی که پروژه از آن برای تعیین سیاست‌های خود استفاده می‌کند. این پیشنهاد در ۷ اکتبر ۲۰۲۶ تصویب شد. QGIS هیچ مشارکت کدی را که با کمک مدل‌های زبانی بزرگ، هوش مصنوعی یا عامل‌ها انجام شده باشد نمی‌پذیرد و حتی کدهایی که پیش‌تر ارائه شده‌اند ممکن است بازگردانده شوند؛ همچنین برای مشارکت‌کنندگان متخلف مجازات‌هایی در نظر گرفته شده است.

برای کسانی که با QGIS آشنایی ندارند، QGIS یک سامانه اطلاعات جغرافیایی (GIS) است؛ نرم‌افزاری برای ترسیم، لایه‌بندی و تحلیل نقشه‌ها و داده‌های مکانی، از مرزهای شهری گرفته تا بررسی‌های مربوط به عوارض زمین. دانشگاه‌ها، سازمان‌های دولتی، شرکت‌ها و متخصصان از آن استفاده می‌کنند. کد این پروژه در گیت‌هاب و در مخزن qgis/QGIS قرار دارد؛ جایی که هر کسی می‌تواند تغییر پیشنهادی خود را ارائه کند و جامعه توسعه‌دهندگان پروژه، زیر نظر نهادی به نام کمیته راهبری پروژه (PSC)، آن را هدایت می‌کند.

اینکه پروژه‌ای با چنین گستره‌ای، نه یک نرم‌افزار کوچک و تخصصی، درهای خود را به روی این نوع کدنویسی می‌بندد، دلیل اصلی داغ شدن بحث‌هاست؛ صفحه پیشنهاد در گیت‌هاب بیش از ۲۰ نظر دارد، در حالی که متن نهایی سیاست بسیار کوتاه است.

QGIS با قانون QEP 428 کد نوشته‌شده با هوش مصنوعی را در مخزن اصلی خود ممنوع کرده است
QEP 428 به‌اختصار؛ درِ مخزن qgis/QGIS به روی کد تولیدشده با کمک هوش مصنوعی بسته شده است

QEP 428 دقیقاً چه چیزی را ممنوع می‌کند؟

QEP 428 هرگونه مشارکت کدی را که در مخزن qgis/QGIS، یعنی محل نگهداری کد برنامه اصلی، با کمک یک LLM (مدل زبانی مانند ChatGPT یا Claude)، هوش مصنوعی یا یک عامل نوشته شده باشد، ممنوع می‌کند. هر مشارکت‌کننده‌ای که چنین کاری از او سر بزند، ممکن است با بازگردانی کد ارائه‌شده و از دست دادن حقوق مشارکت در پروژه روبه‌رو شود.

این سند را می‌توان در کمتر از نیم دقیقه خواند. متن سیاست فقط چهار خط دارد و شامل یک ممنوعیت و یک مجازات است. در آن توضیحی درباره معنای «با کمک» ارائه نشده، هیچ ابزار مشخصی نام برده نشده، هیچ استثنایی وجود ندارد و دامنه آن نیز فقط به مخزن اصلی محدود است. این محدود بودن دامنه تصادفی نیست. نیال داوسون، از مشارکت‌کنندگان اصلی پروژه که به کد مرکزی دسترسی دارد و پیشنهاد را نوشته است، در بحث‌ها توضیح داد که PSC عمداً همین دامنه محدود را خواسته است. مستندات، گزارش‌های باگ، دیدگاه‌ها و ترجمه‌ها در این متن قرار نمی‌گیرند.

از اعتماد تا بستن در

تا چند هفته پیش، سیاست متفاوتی اجرا می‌شد. متن قبلی، QEP 408، به نام ایون روئو، یکی از توسعه‌دهندگان پروژه، و با تاریخ ۳۱ ژانویه ۲۰۲۶ ثبت شده بود. این سیاست بر مبنای «انسان در حلقه» بود. مشارکت‌کنندگان می‌توانستند از هر ابزاری که می‌خواستند استفاده کنند، به شرط آنکه همه چیز را دوباره بررسی کنند، مسئولیت کدی را که تحویل می‌دهند بپذیرند و استفاده از هوش مصنوعی را با درج عبارتی در قالب Assisted-by در پیام commit اعلام کنند. تنها مورد مستثنا، عامل‌هایی بودند که بدون تأیید انسان در فضای پروژه فعالیت می‌کردند؛ مانند عامل @claude در گیت‌هاب.

داوسون در ۲۲ ژوئن در فهرست ایمیل توسعه‌دهندگان نوشت که قوانین باید سخت‌گیرانه‌تر شوند. دلیل او درگیری‌های اخیر در جامعه PostGIS بود؛ PostGIS افزونه جغرافیایی پایگاه داده PostgreSQL است و داوسون می‌خواست از بروز چنین اختلاف‌هایی در QGIS جلوگیری کند. الگویی که باید دنبال می‌شد GDAL بود؛ کتابخانه‌ای جغرافیایی که استفاده از هوش مصنوعی را فقط برای تکمیل خودکار بهبودیافته یا ویرایش‌های مکانیکی و تکراری مجاز می‌داند و مشارکت‌های «vibe-coded» را، یعنی کدهایی که عملاً به‌طور کامل توسط مدل نوشته شده‌اند، ممنوع می‌کند.

سه ماه بعد، موضع نهایی از پیشنهاد اولیه نیز سخت‌گیرانه‌تر شد. داوسون در ۲۴ سپتامبر درخواست تغییر QEP 408 را باز کرد و توضیح داد که قانون قبلی کارآمد نبوده است؛ فرایندی که در آن تعیین شده بود در عمل رعایت نمی‌شد و پروژه دست‌کم یکی از مشارکت‌کنندگان بسیار ارزشمند خود را از دست داده بود. بنابراین تصمیم گرفته شد فعلاً درها کاملاً بسته شوند و بعداً مشخص شود تا چه اندازه می‌توان آنها را باز کرد. در ۵ اکتبر پیشنهاد به رأی گذاشته شد و در ۷ اکتبر با رأی موافق چهار توسعه‌دهنده، از جمله روئو، تصویب آن اعلام شد. بلافاصله پس از آن دو رأی مثبت دیگر نیز ثبت شد، در حالی که یک مشارکت‌کننده رأی +۰ داد و اعلام کرد پیشنهادی برای بازگشایی دوباره این موضوع ارائه خواهد کرد.

چرا ممنوعیت؟ کد بیش از حد و نیروی انسانی ناکافی برای بررسی

به گفته نگهدارندگان پروژه، مسئله اصلی کیفیت متوسط یک وصله کد منفرد نیست؛ مسئله حجم کدهاست. نگهدارنده‌ای با نام haubourg نوشت که حجم مشارکت‌های انجام‌شده با کمک هوش مصنوعی اکنون از ظرفیتی که افراد برای بررسی دقیق آنها دارند فراتر رفته است. در نتیجه یا صف درخواست‌های بررسی‌نشده دائماً بزرگ‌تر می‌شود، یا کدی که فقط به‌طور ناقص بررسی شده وارد پروژه می‌شود. یک آمار هم در بحث مطرح شد: از زمانی که پروژه سامانه مربوط به گزارش‌های امنیتی را راه‌اندازی کرده، تمام گزارش‌های دریافت‌شده با هوش مصنوعی نوشته شده‌اند؛ هرچند بیشتر این گزارش‌ها به وب‌سایت‌های پروژه مربوط می‌شوند، نه خود برنامه.

در سوی دیگر، شهادت یکی از مشارکت‌کنندگانی قرار دارد که دو اصلاح برای رفع پسرفت‌های نرم‌افزاری را با کمک هوش مصنوعی نوشته و ارسال کرده بود. این مشارکت‌کننده در بحث گفت در آن زمان متوجه آسیبی که ایجاد می‌کرده نشده بود. به گفته او، مدل‌ها این تصور را ایجاد می‌کنند که می‌توان یک باگ در پروژه‌ای پیچیده را با چند توکن حل کرد؛ در حالی که چنین رویکردی پیمان نانوشته‌ای را که بر اساس آن مشارکت‌کنندگان باید بدانند چه کاری انجام می‌دهند، نقض می‌کند. این مشارکت‌کننده به ممنوعیت رأی داد.

روئو، نویسنده متنی که اکنون جایگزین شده است، این اقدام را راهکاری موقت می‌داند. او می‌پذیرد که این سیاست ممکن است به حذف استفاده‌های مفید از هوش مصنوعی همراه با موارد نامطلوب منجر شود، اما معتقد است تا زمانی که پیامدهای آن روشن نشده، دلیلی برای مجاز دانستن هوش مصنوعی وجود ندارد. از نظر او شاید لازم باشد منتظر ترکیدن حباب هوش مصنوعی بمانیم تا مشخص شود کدام نوع استفاده منصفانه و قابل قبول است. حتی شرکت‌هایی که هوش مصنوعی را عرضه می‌کنند نیز اکنون بر این نکته تأکید دارند که هوش مصنوعی به‌تنهایی کافی نیست؛ برای نمونه، Emergent مهندسان انسانی را به‌صورت پولی برای پرداخت و اصلاح کدنویسی موسوم به vibe coding ارائه می‌کند.

تردیدهای کسانی که کد می‌نویسند

نخستین ایرادی که منتقدان مطرح کردند، خود واژه «با کمک» بود که از نظر آنها بیش از حد گسترده و مبهم است. یکی از توسعه‌دهندگان نمونه‌هایی از مواردی را فهرست کرد که متن سیاست درباره آنها توضیح روشنی نمی‌دهد:

  • تکمیل خودکار مبتنی بر یک LLM؛
  • مدل‌های یادگیری ماشینی که سال‌هاست پیشنهادهای رتبه‌بندی‌شده را در ویرایشگرهای JetBrains ارائه می‌کنند؛
  • ایده‌پردازی درباره طراحی با ChatGPT؛
  • خواندن اتفاقی پاسخ Google AI هنگام جست‌وجوی یک پیام خطا؛
  • پیدا کردن یک باگ با کمک Claude و سپس اصلاح دستی آن؛
  • ترجمه یک اصطلاح به زبان انگلیسی.

مشارکت‌کننده دیگری یادآوری کرد که هوش مصنوعی مزایای فنی نیز دارد و پرسید آیا هدف از این سیاست، کاهش بار کاری بررسی‌کنندگان است یا صرفاً اعلام موضعی علیه هوش مصنوعی. فرد دیگری پیشنهاد کرد ممنوعیت به مستندات، گزارش‌ها، بحث‌ها و توضیحات درخواست‌های تغییر نیز گسترش یابد، زیرا از نظر او این موارد حتی از کد، متن بیشتری دارند و خواندنشان بار بیشتری ایجاد می‌کند.

داوسون پاسخ داد که این قانون قطعی و تغییرناپذیر نیست. پروژه فعلاً با این رویکرد آغاز می‌کند که «بیایید با درِ بسته شروع کنیم» و سپس افراد، موردبه‌مورد، پیشنهاد دهند که برای مواردی مانند تکمیل خودکار یا ترجمه، شکافی در این در ایجاد شود. توسعه‌دهنده دیگری معیار رعایت قانون را این‌گونه بیان کرد: آنچه اهمیت دارد این است که فرد بتواند با وجدان آسوده بگوید کد را خودش نوشته است، زیرا هیچ‌کس نمی‌تواند داخل رایانه او را ببیند.

اما اگر کسی با وجود این قانون اقدام به چنین کاری کند چه می‌شود؟ در ۱۴ اکتبر، یعنی یک هفته پس از تصویب، یکی از مشارکت‌کنندگان پرسید این قانون چگونه اجرا خواهد شد. توسعه‌دهنده دیگری در دو کلمه پاسخ داد: بر اساس اعتماد. این پاسخ شوخی نیست، زیرا تشخیص کد نوشته‌شده توسط ماشین، بدون رضایت فردی که آن را تحویل داده، کار بسیار دشواری است. ماجرای Strata که تاریخچه گیت‌هاب را بازنویسی کرد و ۵۹۵ امضای Claude را از بین برد، نشان می‌دهد حذف ردپاها تا چه اندازه آسان است. درباره متن نیز پیش‌تر توضیح داده‌ایم که textGrain، واترمارک نامرئی OpenAI چگونه کار می‌کند و کدام چت‌بات‌ها متن‌های خود را علامت‌گذاری می‌کنند.

بعد چه اتفاقی می‌افتد؟

فعلاً در کاملاً جوش داده نشده است. در ۹ اکتبر، دو توسعه‌دهنده QEP 429 را باز کردند که پیشنهاد می‌کند برای مشارکت‌کنندگان مورداعتماد، یعنی افرادی با سابقه اثبات‌شده در پروژه، استثنا در نظر گرفته شود؛ در حالی که در برای تازه‌واردان همچنان بسته بماند و آنها ابتدا باید تعهد و آشنایی خود با کد پروژه را نشان دهند. به گفته پیشنهاددهندگان، این طرح سازشی است که می‌خواهد صف درخواست‌ها را از کد کم‌کیفیت تولیدشده با هوش مصنوعی دور نگه دارد و در عین حال آزادی بیشتری به باتجربه‌ترین مشارکت‌کنندگان بدهد.

در ۱۱ اکتبر، QEP 430 در جهت مخالف مطرح شد. این پیشنهاد خواستار ممنوعیت کامل متن تولیدشده با هوش مصنوعی در تمام مخازن، صفحات و ویکی‌های سازمان QGIS در گیت‌هاب است، اما کد را کنار می‌گذارد، زیرا QEP 408 از قبل درباره آن تعیین تکلیف کرده است. دلیل اعلام‌شده، تردید درباره این است که چه کسی واقعاً متن را نوشته است. وقتی دیدگاه‌ها و توضیحات توسط ماشین نوشته شوند، تشخیص اینکه واقعاً یک انسان در طرف دیگر قرار دارد دشوار می‌شود و خوانندگان نیز ممکن است به همه چیز بی‌اعتماد شوند. تا ۱۶ اکتبر، هر دو پیشنهاد همچنان باز هستند.

پرسش‌های متداول

۱. آیا این ممنوعیت شامل افزونه‌های QGIS هم می‌شود؟

متن قانون فقط مخزن qgis/QGIS را نام می‌برد. افزونه‌ها پروژه‌هایی با نویسندگان مستقل خود هستند، این سند اشاره‌ای به آنها ندارد و نگهدارندگان هر افزونه قوانین مربوط به استفاده از هوش مصنوعی را خودشان تعیین می‌کنند. داوسون توضیح داده است که PSC عمداً دامنه این سیاست را محدود خواسته بود.

۲. آیا کسانی که قبلاً کد نوشته‌شده با هوش مصنوعی ارسال کرده‌اند در معرض خطر هستند؟

این سند چنین چیزی را مشخص نمی‌کند. متن از مجازات برای هر فردی که گرفتار شود صحبت می‌کند، اما تاریخی را برای آغاز اجرای قانون تعیین نکرده است؛ بنابراین روشن نیست کدی که پیش از ۷ اکتبر پذیرفته شده، مشمول این قانون می‌شود یا نه.

۳. آیا برای کسانی که فقط از QGIS استفاده می‌کنند و توسعه‌دهنده نیستند، چیزی تغییر می‌کند؟

در بحث‌های انجام‌شده هیچ نشانه‌ای از پیامد برای کاربران دیده نمی‌شود. این قانون به نحوه نوشته‌شدن کد مربوط است، نه نحوه استفاده از برنامه. هیچ‌کس نگفته است که با کاهش تعداد مشارکت‌ها، این سیاست چه اثری بر سرعت رفع مشکلات خواهد داشت.

۴. آیا این قانون از مقررات GDAL و سایر پروژه‌ها سخت‌گیرانه‌تر است؟

بله، زیرا هیچ نوع استفاده‌ای را مجاز نمی‌داند. همان‌طور که داوسون اشاره کرده، GDAL استفاده محدود از هوش مصنوعی، مانند تکمیل خودکار و ویرایش‌های مکانیکی تکراری، را مجاز می‌داند و افشای این استفاده را الزامی می‌کند. راهنمای Godot از مشارکت‌کنندگان می‌خواهد فقط چیزی را ارسال کنند که آن را درک می‌کنند و بخش‌هایی را که دستی نوشته نشده‌اند مشخص کنند. QGIS اما از افشای استفاده از هوش مصنوعی به سمت ممنوعیت کامل حرکت کرده است.

در بسته است، اما کلید کنار آن آویزان است

درست یا نادرست؟ چهار خط مقررات که معیار قابل‌اجرایی ندارند و رعایتشان به حسن نیت افراد وابسته است، بیشتر یک بیانیه‌اند تا یک ابزار اجرایی. با این حال، یک مزیت دارند: به‌روشنی می‌گویند هزینه هوش مصنوعی بر دوش کسی است که کد را بررسی می‌کند، نه کسی که آن را تولید می‌کند. در همین حال، دنیای متن‌باز در حال دو قطبی شدن است. برخی هوش مصنوعی را به موتور اصلی کار خود تبدیل کرده‌اند؛ مانند توسعه‌دهنده‌ای که هفت کلون رایگان از محصولات Adobe را با Claude Opus 5.5 نوشته و منتشر کرده است. برخی دیگر، مانند QGIS، در را می‌بندند. فعلاً در بسته است؛ اما کلید همچنان کنار آن آویزان است.