تصور کنید یکی از تاثیرگذارترین مهندسان تاریخ، امروز اعلام کند که دیگر کد نمینویسد. لینوس توروالدز در جریان اجلاس Open Source Summit India ۲۰۲۶ در گفتگو با دیرک هاندل، دوست قدیمی خود، این واقعیت را فاش کرد: «من دیگر یک برنامهنویس نیستم.»
به نقل از این گفتگو، خالق لینوکس توضیح داد که تمرکز او اکنون از پیادهسازی مستقیم کد به نقش یک مدیر توسعه (Development Lead) تغییر یافته است؛ یعنی جایی که اولویت با تعیین «قصد» (Intent) و طراحی معماری سطحبالاست تا پیادهسازی خام کد. او توضیح داد که این گذار به معنای کنار گذاشتن برنامهنویسی نیست، بلکه تغییر در سطح انتزاع فعالیتهای اوست تا بر استراتژی و ساختار کلی متمرکز شود.
این تغییر در حالی رخ میدهد که هسته لینوکس وارد مرحلهای از پیشرفتهای تدریجی و پایدار شده است. توروالدز از انتشار نسخههای «پر زرقوبرق» (Blockbuster) دوری میکند و ترجیح میدهد چرخه ثابتی از بهبودها را هر ۹ تا ۱۰ هفته یکبار اعمال کند. او تاکید کرد که از زمان خلق سامانه کنترل نسخه گیت (Git)، پروژه لینوکس از مدل معرفی ویژگیهای بزرگ و نمایشی فاصله گرفته است. در دنیایی که وسواس خاصی روی «تحول سریع» و گسستهای تکنولوژیک دارد، هسته لینوکس مسیر منضبط، آرام و استواری را برای تضمین ثبات سیستم دنبال میکند.
برای یک مدیر کسبوکار مدرن، تکامل نقش توروالدز شبیه عبور از اجرای تاکتیکی به نظارت استراتژیک است؛ مثل معمار ارشدی که دیگر خودش آجر نمیچیند، اما مطمئن میشود نقشه بینقص است و مهندسان دقیقاً طبق آن پیش میروند. این دقیقاً همان روشی است که مدیریت هسته لینوکس اکنون بر اساس آن عمل میکند.
تغییر در گردش کار
توروالدز اعتراف کرد که اکنون بهندرت کد میخواند، مگر زمانی که مجبور شود، مثلاً در اثر شکست در بیلد (Build Break) یا تداخل در ادغام کدها (Merge Conflict). تعامل اصلی او با پایگاه کد (Codebase) اکنون از طریق درخواستهای ادغام (Pull Requests) صورت میگیرد. او برای تایید هر تغییر، توضیحات باکیفیتی میخواهد تا بتواند «تصویر کلی» تغییر را درک کند و سپس آن را تایید نماید.
او اشاره کرد که در طول این سالها چنان دفعات زیادی تداخلات کد (Conflict Resolution) را حل کرده است که احتمالاً میتواند در خواب هم این کار را انجام دهد. جالب این است که اغلب در همین لحظاتِ «توجه اجباری» است که او متوجه مسائل عمیقتر و ریشهای در کد میشود. او میگوید وقتی مجبور است برای حل یک تداخل عمیق شود، تازه متوجه میشود که در لایههای پایینتر چه اتفاقی افتاده است.
به گزارش منابع حاضر در این اجلاس، الگوی کاری او در پنجرههای ادغام هسته بسیار سختگیرانه است. او در یک بازه دو هفتهای حدود ۲۰۰ مورد ادغام را انجام میدهد. با وجود اعتمادی که به نگهداران (Maintainers) دارد، در مورد زمانبندی بسیار سختگیر است. او تغییرات لحظه آخری را با شدت پس میزند و اصرار دارد که اگر اصلاحی حیاتی نباشد، باید برای انتشار بعدی در صف قرار گیرد. استدلال او این است که یک اصلاح کوچک ممکن است ارزش ریسکِ احتمالیِ وارد کردن یک مشکل جدید به سیستم را نداشته باشد.
او حتی وقتی وصلههای (Patch) کوچکی مینویسد، آنها را «پیشنهاد» مینامد نه دستورات قطعی. او به صراحت میگوید که این کدها اغلب بدون تست هستند و صرفاً راهنمایی میباشند. او انتظار دارد نگهداران کد، این پیشنهادات را بازبینی، اصلاح و در نهایت نسخه نهایی را بازگردانند. این رویه، یک لایه تایید انسانی بین «ایده رهبری» و «کد تولیدی» ایجاد میکند تا از ورود خطاهای احتمالی به کد نهایی جلوگیری شود.
پارادوکس هوش مصنوعی در توسعه هسته
هوش مصنوعی فضای توسعه هسته را تحت فشار دوگانه قرار داده است. از یک سو، مدلهای زبانی بزرگ (LLM) — مثل کتابخانهداری که میلیاردها صفحه را خوانده و حالا با همان لحن کتابها جواب میدهد — باگهای امنیتی «خیرهکنندهای» را پیدا میکنند که شاید ۲۰ سال در کد پنهان بودند. برخی از این حفرهها چنان شدیدند که تنها دو روز پس از کشف، تیتر خبرگزاریهای فناوری میشوند. این تلاش برای شناسایی نقاط ضعف امنیتی با ابتکارات گستردهتری در اکوسیستم لینوکس همراه شده است، چنانکه بنیاد لینوکس برای رفع سریعتر نقصهای امنیتی در پروژههای متنباز، پروژه Akrites را شکل داد.
اما از سوی دیگر، این ابزارها جامعه توسعهدهندگان را با گزارشهای «زباله» (Junk Reports) بمباران میکنند. توروالدز اشاره کرد که گزارشهای ناشی از توهم (Hallucination) — وقتی مدل با اطمینانت چیزی میگوید که اصلاً وجود ندارد — فشار شدیدی به منابع انسانی وارد میکند. توسعهدهندگان ساعتها وقت صرف بررسی گزارشی میکنند تا در نهایت بفهمند آن گزارش کاملاً ساختگی و پوچ بوده است. او این فرآیند را «پر اصطکاک» توصیف کرد، زیرا تلاش انسانی زیادی لازم است تا متوجه شوند گزارش صرفاً یک توهم ماشینی بوده است و هیچ باگی در واقعیت وجود ندارد.

برای مقابله با این وضعیت، نگهداران لینوکس اکنون تنها با خروجی LLM قانع نمیشوند. آنها هر گزارش را با یک وصله پیشنهادی و حضور یک انسان میخواهند که بتواند به عنوان تاییدکننده در یک گفتگو (Back-and-forth) عمل کند. توروالدز معتقد است که صرفاً پرتاب یک گزارش ماشینی به سمت توسعهدهندگان کافی نیست. او مشاهده کرد که اگرچه بهرهوری اکنون احتمالاً به نقطهای رسیده که بیشتر تولید میکند تا مصرف، اما حجم زبالههای تولید شده تا اوایل سال جاری میلادی بسیار طاقتفرسا بود.
وصلههای تولید شده توسط AI اغلب «چسبهای بیهدف» (Mindless Band-aids) توصیف میشوند. به باور توروالدز، این کدها شاید علامت ظاهری را درمان کنند، اما باگ اصلی «در راهرو منتظر است تا از جای دیگری به شما ضربه بزند». این وصلهها سطح را اصلاح میکنند نه منطق را، و در نتیجه آسیبپذیری سیستمیک همچنان پابرجا میماند و فقط مکان بروز خطا تغییر میکند.
شکاف منطقی بین C و Rust
برخلاف هیجان صنعت پیرامون زبان رست (Rust)، توروالدز همچنان طرفدار پرپشت زبان سی (C) است. او C را ابزاری سادهتر و خامتر میبیند و معتقد است Rust درمان قطعی (Panacea) برای منطق برنامهنویسی ضعیف نیست. هرچند Rust برایش «بسیار جذاب» است، اما باور ندارد که این زبان «دنیا را تسخیر کند».
تمایزهای فنی کلیدی:
- حافظه در برابر منطق: Rust برخی باگهای ساده و رایج حافظه در C را برطرف میکند، اما خطاهای منطقی را نه. اگر برنامهنویس منطق غلطی بنویسد، زبان مورد استفاده بیاهمیت است؛ نتیجه نهایی همچنان غلط خواهد بود.
- شکاف ادغام: در پایگاههای کد ترکیبی، تضمینهای امنیتی Rust فقط در بخشهای مربوط به خود Rust اعمال میشود. به محض اینکه Rust با کدهای اصلی C در هسته تعامل داشته باشد، «تمام احتمالات باز است» و تضمینها از بین میروند.
- ابزارهای تایید: توروالدز بیشتر روی ابزارهای تایید C هیجانزده است، مانند تایید خودکار وصلهها و ابزارهای بررسی ایمیل خودکار مانند Sashiko.
- کیفیت کد: او معتقد است کدهای C اصلی در هسته اغلب کیفیت بالاتری دارند، زیرا طی دههها در هر محیط ممکنی تست شدهاند و پایداری آنها به اثبات رسیده است.
او اشاره کرد که برخی از برجستهترین باگهای اخیر هسته، خطاهای منطقی بودهاند؛ یعنی صرفاً «برنامهنویسی بد» که حتی در زیرسیستمهای امن و با دقت نگهداری شده رخ داده است. برای توروالدز، قدرت خام و ساده C جایی است که در آن بیشترین احساس راحتی را دارد و خود را فردی از نوع «حمله-و-برش» (Hack-and-slash) میبیند.
پاکسازی موزه
توروالدز بهشدت در حال حذف کدهای منسوخ برای کاهش بار نگهداری است. او میگوید نسبت به تکنولوژی احساساتی نیست و معتقد است در نقطهای، حمایت از سختافزارهای مرده به باری بیش از حد تبدیل میشود و سرعت توسعه را میگیرد.
جزئیات حذف میراث:
- اعشار x86: در نسخه ۷.۲، لینوکس دیگر از ماشینهای بدون سختافزار اعشاری x86 پشتیبانی نمیکند؛ این مورد به طور خاص پردازندههای 486 SX را هدف قرار میدهد که دقیقاً بیش از ۳۰ سال پیش عرضه شدند.
- استانداردهای شبکه: پشتیبانی از استانداردهای منسوخ مانند ISDN و ATM متوقف میشود.
- زیرسیستم NTFS: زیرسیستم NTFS مایکروسافت یک «کود problem child» (دردسرساز) بوده است. در حال حاضر دو گروه مختلف در حال نگهداری از دو نسخه متفاوت NTFS هستند؛ توروالدز اجازه داده تا آنها «بجنگند» تا مشخص شود کدامیک پیروز میشود یا اینکه هر دو باقی میمانند.
- فلسفه سختافزار: او قلباً معتقد است تا زمانی که کاربر فعال وجود دارد باید پشتیبانی سختافزاری باقی بماند، اما سختافزارهایی که فقط در «محیطهای موزهای» استفاده میشوند را پشتیبانی نخواهد کرد.
در حالی که او تا زمان وجود کاربران فعال پشتیبانی را حفظ میکند، انتشار نسخه ۷.۲ یک خط قرمز برای «محیطهای موزهای» است. این بدان معنای آن است که هر کسی که هنوز لینوکس را روی پردازندههای 386 اجرا میکند، باید برای فعال نگه داشتن سیستم خود از نسخههای قدیمیتر هسته استفاده کند، زیرا نسخههای جدید دیگر این سختافزارها را پشتیبانی نمیکنند.
عنصر انسانی
جالب است که توروالدز مسائل انسانی را استرسزاتر از مسائل فنی میبیند. او میگوید کد جدید یک مشکل فنی است که میتوان آن را حل کرد، اما «اختلافات شخصیتی» به هیچ وجه به این سادگی حل نمیشوند. او حتی پذیرفت که در گذشته خودش باعث برخی از این تنشهای شخصیتی شده است، اگرچه برای بهبود آن تلاش کرده است.
جعبهابزار شخصی او بهشدت مینیمال است. در حالی که دیگران از ابزارهای مختلف AI و مدیریت برای بررسی وصلهها استفاده میکنند، توروالدز تقریباً فقط به گیت و ایمیل تکیه میکند و گوگل را فقط برای جستوجوهای گاهبهگاه به کار میبرد. او صراحتاً میگوید: «من با آدمها کار میکنم، نه ابزارها.» او معتقد است ابزارها نباید جایگزین ارتباط مستقیم انسانی در مدیریت پروژه شوند.
تحلیل تحریری: محدودیتهای خودمختاری AI
دیدگاه توروالدز یک روایت واقعبینانه در برابر کلیشه «AI جایگزین برنامهنویسان میشود» ارائه میدهد. او با تفکیک بین «کدنویسی» (سینتکس و پیادهسازی) و «برنامهنویسی» (منطق و قصد)، دقیقاً سقفی را شناسایی میکند که مدلهای زبانی فعلی در آن شکست میخورند. او حتی ادعای قبلی خود درباره بهرهوری «۱۰ برابری» LLMها را پس گرفت و آن را عدد «ساختگی و غیرعلمی» (Pulled out of my ass number) نامید که بر اساس دادههای دقیق نبوده است.
برای سازمانهای تجاری، این بدان معنای آن است که اگرچه AI میتواند فاز «حمله-و-برش» در پروتوتایپینگ را سرعت ببخشد — درست همان کاری که توروالدز برای پروژههای تفننیاش، مثل اضافه کردن گودزیلا به عکسهای خانوادگی در اولین سفرش به هند انجام میدهد — اما نمیتواند جایگزین قضاوت معماری سطحبال یک مدیر ارشد شود. این دیدگاه با چشماندازهای جسورانهتری که گرگ بروکمن در مورد حذف رابطهای کاربری و جایگزینی اپلیکیشنها با عاملهای هوشمند دارد در تضاد است؛ چرا که توروالدز همچنان بر ضرورت نظارت سختگیرانه انسانی تاکید میکند. AI میتواند کد تولید کند، اما نمیتواند «قصد» استراتژیک پشت آن کد را درک یا مدیریت کند.
نقش AI در تضمین کیفیت
توروالدز اذعان کرد که برخی از مسائل یافته شده توسط AI «به طور مطلق، خیرهکننده و به شکلی دردناک، جالب» بودهاند. او اشاره کرد که در ماههای اخیر، LLMها چندین باگ مرتبط را شناسایی کردهاند که در حالی ظاهر شدند که افراد مختلف در حال تکرار روی بخشهای یکسانی از هسته بودند. این امر باعث شد سه یا چهار باگ بهشدت مرتبط در بازهای چند هفتهای به خبرهای بزرگی تبدیل شوند و لایههای پنهان کد را به چالش بکشند.
او با وجود این شرمساریها، فردی نیست که «پیامآور را بکشد». او معتقد است جامعه توسعهدهندگان با یافتن باگهایی توسط LLM که باید ۲۰ سال پیش کشف میشدند، سود میبرد. با این حال، او تاکید میکند که برای اصلاحات در سطح هسته، LLMها هنوز به سطح پیچیدگی مورد نیاز نرسیدهاند تا بتوانند بدون نظارت انسانی، وصلههای ایمن و منطقی ارائه دهند.
چشمانداز بلندمدت
«تخلیه منابع» ناشی از توهمات AI نشان میدهد که با افزایش کدهای تولید شده توسط ماشین، هزینه تایید انسانی ممکن است افزایش یابد، نه کاهش. اگر حجم زبالهها بیشتر از سرعت تشخیص آنها باشد، بار کاری روی انسانها بیشتر میشود. در نهایت، مدل لینوکس نشان میدهد که آینده نرمافزارهای حساس، اتوماسیون کامل نیست، بلکه تایید «انسان در حلقه» (Human-in-the-loop) است؛ جایی که AI سوزن را پیدا میکند، اما انسان تعیین میکند که آیا این واقعاً یک سوزن است یا فقط یک نقص در ماتریس.
برای دیدن اینکه چگونه این خطاهای منطقی به آسیبپذیریهای واقعی تبدیل میشوند، یادداشتهای انتشار هسته ۷.۲ و لیست دقیق سختافزارهای منسوخ شده را دنبال کنید تا متوجه شوید کدام بخشهای قدیمی از تاریخ لینوکس پاک میشوند.




گفتگو