«من دیگر برنامهنویس نیستم»
لینوس توروالدز از تنها دو ابزاری که اکنون استفاده میکند میگوید
در اجلاس متنباز در بمبئی، توروالدز درباره دردسر و قدرت هوش مصنوعی در هسته لینوکس صحبت میکند و توضیح میدهد که چرا لینوکس دیگر از فناوریهای «موزهای» پشتیبانی نمیکند.
مومبای — در اجلاس متنباز هند ۲۰۲۶، لینوس توروالدز، خالق لینوکس، به همراه دوستش دیرک هوندل (از مدیران ارشد سابق اینتل و یکی از چهرههای شناختهشده در دنیای متنباز) درباره وضعیت فعلی لینوکس و مسیر آینده آن گفتوگو کردند.
لینوکس ۷.۱: آرام و پیوسته، نه پرزرقوبرق
مکالمه با این سؤال هوندل شروع شد که توروالدز درباره انتشار نسخه ۷.۱ لینوکس چه نظری دارد. توروالدز پاسخ داد که اصلاً به انتشارهای پرزرقوبرق فکر نمیکند:
با این حال، هوش مصنوعی روی این روند کاری فشار آورده است. توروالدز اضافه کرد: «اخیراً اوضاع کمی سختتر شده، چون هوش مصنوعی دارد باگهای جالبی پیدا میکند و همین موضوع باعث استرس در جامعه توسعهدهندگان لینوکس شده است.» با وجود این، هسته لینوکس همچنان برنامه انتشار منظم خود را هر ۹ تا ۱۰ هفته یکبار حفظ کرده است.
پنجرههای ادغام، رفعباگها و باگهای شخصیتی
توروالدز الگوی کاری خود را در طول پنجرههای ادغام هسته توضیح داد (پنجرههای ادغام، دورههای دو هفتهای هستند که تغییرات بزرگ در هسته اعمال میشود): «طی دو هفته، تقریباً ۲۰۰ ادغام انجام میدهم. این یک عدد بسیار تقریبی است.»
حتی با وجود اعتماد دهسالهای که به نگهدارندگان دارد (نگهدارندگان، توسعهدهندگانی هستند که مسئولیت بخشهای خاصی از کد را بر عهده دارند)، او در مقابل تغییرات لحظهآخری مقاومت میکند: «اگر یک رفعباگ واقعاً مهم نیست، لطفاً آن را برای انتشار بعدی بگذارید به جای اینکه رفعباگهای لحظهآخری برای من بفرستید، چون رفعباگها ممکن است ارزش ریسک کوچک ایجاد مشکل جدید را نداشته باشند.»
بار فنی به اندازه مسائل انسانی او را آزار نمیدهد: «کد جدید یک مشکل فنی است… ما میتوانیم آنها را برطرف کنیم… چیزی که معمولاً به من استرس وارد میکند این است که گاهی اوقات مشکلات شخصیتی داریم، و باور کنید، کد بهراحتی قابل رفع است. شخصیت همیشه بهراحتی قابل رفع نیست.» توروالدز اعتراف میکند که خودش هم بعضی از آن مشکلات را ایجاد کرده، هرچند که روی بهبود آن کار کرده است.
«من برنامهنویس نیستم، من رهبر توسعه هستم»
اینجا نکته دیگری است که تغییر کرده: توروالدز دیگر خود را یک برنامهنویس نمیداند. «بیایید کاملاً صادق باشیم. من بهندرت کد میخوانم. من برنامهنویس نیستم، من یک رهبر توسعه هستم.»
او هنوز وصلههای کوچک مینویسد، اما بیشتر بهعنوان راهنما هستند تا دستور: «من هنوز کد مینویسم به این معنا که برای مردم وصله میفرستم… اما بعد بهوضوح میگویم که هی، این یک پیشنهاد است. این تست نشده… انتظار دارم نگهدارندگان کد، کسانی باشند که رفعباگ را برای من بفرستند. بنابراین خیلی به ندرت پیش میآید که خودم کد خودم را ثبت نهایی کنم.»
آنچه برای او بیش از همه مهم است، درک نیت است: «وقتی یک درخواست ادغام انجام میدهم، میخواهم تصویر بزرگتر را درک کنم. این یکی از دلایلی است که درخواستهای ادغام را با توضیحات خیلی خوب میخواهم: من آنها را میخوانم. میخواهم بفهمم چه اتفاقی دارد میافتد.»
او گفت که وقتی چیزی توجهش را جلب کند، مثل خرابیهای ساخت یا تداخلهای ادغام، به عمق کد میرود: «من در طول سالها آنقدر تداخلها را حل کردهام که احتمالاً حتی در خواب هم میتوانم انجامشان دهم… خیلی اوقات در آن نقطه، وقتی به کد نگاه میکنم، گاهی مشکلاتی پیدا میکنم.»
NTFS و پاکسازی قطعات موزهای
در مورد زیرسیستم NTFS مایکروسافت که سالها دردسرساز بوده، توروالدز شوخی کرد که «NTFS در طول سالها یه جور بچهی مشکلساز بوده، که پیدا کردن کسی برای نگهداری از آن گاهی سخت شده است.»
او ادامه داد: «ما دو گروه مختلف داریم که دو نسخه متفاوت از NTFS را نگهداری میکنند، و هر دو کار میکنند، و من فقط میگذارم با هم بجنگند و ببینم کدام پیروز میشود، یا شاید، شاید هردو برای مدت طولانی باقی بمانند.»
توروالدز اضافه کرد: «من از نظر فناوری خیلی احساساتی نیستم. ما کمی فعالتر شدهایم در تلاش برای حذف پشتیبانی از سختافزاری که واقعاً کسی جز در محیطهای موزهای از آن استفاده نمیکند.»
اگرچه او بهشدت به حفظ پشتیبانی سختافزاری تا زمانی که کاربر داشته باشیم اعتقاد دارد، اما استدلال میکند که «در نقطهای، هزینه حفظ پشتیبانی از سختافزار قدیمی تبدیل به یک بار بیش از حد میشود،» و به تصمیمگیری اشاره کرد که «در نسخه ۷.۲ دیگر از ماشینهایی که ممیز شناور سختافزاری روی معماری x86 نداشتند پشتیبانی نمیکنیم،» مثل پردازنده ۴۸۶ SX که بهمعنای واقعی بیش از ۳۰ سال پیش عرضه شد.
این بخشی از تلاش گستردهتر برای حذف کدهای منسوخ از لینوکس است. بهعنوان مثال، پشتیبانی از استانداردهای شبکه مانند ISDN و ATM نیز در حال حذف شدن است. با این حال، اگر هنوز از فناوری قدیمی استفاده میکنید ــ بیشک هنوز کسی هست که لینوکس را روی یک پردازنده ۳۸۶ در جایی اجرا میکند ــ میتوانید با هستههای قدیمیتر به این کار ادامه دهید.
گیت، سی، راست و «هکاند اسلش»
در مورد نحوه انجام کارش، توروالدز بهسادگی گفت: «گیت و ایمیل تنها دو ابزاری هستند که واقعاً استفاده میکنم. از گوگل بهعنوان راهی برای جستجو استفاده میکنم.» او افزود: «من غیرعادی هستم؛ بیشتر نگهدارندگان دیگر از ابزارهای بیشتری استفاده میکنند، و فکر میکنم بسیاری از آنها شروع به استفاده از ابزارهای هوش مصنوعی برای بررسی وصلهها کردهاند،» در حالی که او «در سطح بالاتری کار میکند. من با مردم کار میکنم، نه ابزارها.»
وقتی درباره راست هم در گیت و هم در هسته سؤال شد، او در مقابل هیاهو ایستاد: «من مطمئن نیستم که راست قرار است جهان را تسخیر کند. من هنوز راست را بسیار جالب میدانم، [اما] هنوز سی را ابزاری بسیار سادهتر مییابم.»
توروالدز ادامه داد: «من خیلی بیشتر از ابزارهایی که برای تأیید صحت سی داریم هیجانزده هستم،» از جمله «ابزارهای تأیید خودکار وصله» و «ابزارهای بررسی خودکار ایمیل برای وصلهها مثل ساشیکو.» (ساشیکو اشاره به ابزاری برای بررسی خودکار وصلهها در هسته لینوکس دارد)
توروالدز در جمعبندی به حضار بمبئی گفت: «من بیشتر آدم هکاند اسلش هستم (یعنی روش خشن، سریع و بیپیرایه در کدنویسی)، و هنوز قدرت خام و ساده سی را دوست دارم، و فکر نمیکنم این تغییر کند.»
راست شما را از باگهای منطقی نجات نمیدهد
توروالدز همچنین هشدار داد که نباید مزایای راست را دستبالا گرفت: «راست چند باگ سادهای که در سی میتوانید ایجاد کنید را برطرف میکند، اما خطاهای منطقی را برطرف نمیکند، درست است؟ برای شما فکر نمیکند، و وقتی کد نادرست مینویسید، زبان مهم نیست. نتیجه نهایی نادرست خواهد بود.»
در مورد پایگاههای کد ترکیبی سی/راست، او اشاره کرد که تضمینها محدود هستند: «تضمینهایی که راست به شما میدهد فقط در بخشهای راستمحض کد شما اعمال میشود، و هرجا با کد سی تعامل دارید، همهچیز بیاعتبار میشود،» با این توضیح که بیشتر کد راست در لینوکس با «کد هسته اصلی سی» ارتباط دارد که «کیفیت بسیار بهتری دارد… چون آن کد در هر محیطی تست شده است.»
او اضافه کرد که «برخی از باگهای بزرگ و پرمخاطب اخیر هسته، باگهای منطقی بودهاند… این فقط برنامهنویسی بد بود، که متأسفانه حتی در زیرسیستمهای با دقت نگهداریشده و هستههای مهمی که قرار است بسیار امن باشند هم اتفاق میافتد.»
هوش مصنوعی، مدلهای زبانی بزرگ و «آشغال» در برابر باگهای واقعی
در نهایت، بعد از ۲۶ دقیقه صحبت بدون اشاره به هوش مصنوعی و مدلهای زبانی بزرگ، هوندل و توروالدز وارد این بحث شدند. برای شروع، توروالدز اظهارات اخیر خود درباره مدلهای زبانی بزرگ را اصلاح کرد و تأکید کرد که رقم «۱۰ برابر» بهرهوری که گفته بود «علمی نبود… و آشکارا از هر جایی درآمده بود، مشخصاً.»
او ادامه داد که امروز، «ما در نقطهای هستیم که امیدواریم بیشتر از آنکه بگیرد، بهرهوری ایجاد کند،» اما «ما قطعاً آشغالهای بیشتری تولیدشده توسط مدلهای زبانی بزرگ دیدیم تا کد مفید تا اوایل امسال.» یک نقطه درد بزرگ، گزارشهای جعلی بود. «گزارشهای باگی دریافت میکنید که کاملاً معتبر به نظر میرسند، و در واقع میتواند تلاش زیادی ببرد تا بفهمید که فقط توهم بوده است، و میتواند واقعاً منابع را به شدت تحلیل ببرد وقتی انسانها تلاش زیادی میکنند تا بفهمند که هی، این گزارش ماشینی درست نبوده است.»
حتی الان هم، او گفت، «بیشتر موارد خوب به چیزی فراتر از مدل زبانی بزرگ نیاز دارند،» چون «ما مجبور شدهایم تا حد زیادی عقبنشینی کنیم… اگر با یک مدل زبانی بزرگ باگی پیدا کردید، فقط این کافی نیست که از مدل زبانی بزرگ بخواهید یک گزارش باگ بسازد و آن را برای ما پرت کند. ما میخواهیم یک وصله پیشنهادی ببینیم؛ میخواهیم انسانی که مدل زبانی بزرگ را اجرا کرده، بهعنوان یک واسطه رفتوبرگشتی عمل کند.»
توروالدز بسیاری از وصلههای تولیدشده توسط هوش مصنوعی را «وصلههای بیفکر چسبزخمی» توصیف کرد… «ممکن است مشکل فوری را برطرف کنند، اما آن نوع باگ همچنان باقی میماند، و فقط در راهرو منتظر است تا جای دیگری به شما بزند.»
او در مورد پروژههای شخصی خودش از مدلهای زبانی بزرگ بهعنوان نمونهساز استفاده میکند: «من از آنها بهعنوان راهی برای نمونهسازی سریع استفاده میکنم… خیلی اوقات کد به آن شکل قابل استفاده نیست، اما راهی عالی برای امتحان کردن چیزی است،» در حالی که تأکید کرد برای رفعباگهای سطح هسته، «مدلهای زبانی بزرگ، به تجربه من، هنوز به آن سطح نرسیدهاند.»
باگهای خجالتآور و تیراندازی نکردن به پیامرسان
توروالدز پذیرفت که برخی از مشکلات پیدا شده توسط هوش مصنوعی «کاملاً، بهطرز خیرهکنندهای، یعنی جالب بهشکل دردناک» بودهاند، بهویژه مشکلات امنیتی که «دو روز بعد در رسانههای فنی ظاهر میشوند.»
با وجود خجالت، او گفت: «من اصلاً آدم تیراندازی به پیامرسان نیستم. فکر میکنم خیلی بهتر است که مدلهای زبانی بزرگ باگها را پیدا کنند، حتی وقتی خجالتآور هستند، و چیزهایی هستند که احتمالاً باید بیست سال پیش پیدا میکردیم.»
در ماههای اخیر، او اضافه کرد، «مدلهای زبانی بزرگ چندین باگ را اشاره کردهاند که همه مرتبط بودند،» چون افراد مختلف روی همان بخشهای هسته کار تکراری انجام داده بودند، و «بههمین دلیل ما سه یا چهار باگ بسیار نزدیک به هم داشتیم که ظرف چند هفته به خبرهای بزرگ تبدیل شدند.»