در مورد «باگ ۲۲ ساله» دبیان و حل آن در نسخه ۱۳ «Trixie» صحبتهای زیادی میشود. اما برای درک دقیق ماجرا، باید به گزارش باگ شماره ۱۸۶۰۸۵ نگاهی بیندازیم که پایه و اساس این بحث طولانی بوده است. این گزارش، باگ فنی به معنای رایج کلمه نبود، بلکه درخواست یک ویژگی (wishlist) بود که به بحثی عمیقتر در مورد فلسفه و ساختار توزیع دبیان منجر شد.
گزارش باگ شماره ۱۸۶۰۸۵: آغاز یک بحث طولانی
این گزارش توسط آندریاس تیل (Andreas Tille) در ۲۴ مارس ۲۰۰۳ ثبت شد و مربوط به بسته tasksel بود. tasksel ابزاری در دبیان است که به کاربران اجازه میدهد در طول نصب سیستم، مجموعههای خاصی از بستهها (معروف به «وظایف» یا tasks) را بر اساس کاربردشان (مثلاً دسکتاپ، سرور وب، یا محیط توسعه) نصب کنند.
درخواست اصلی تیل بسیار ساده بود: «لطفاً دبیان-مد (Debian-Med) را به لیست وظایف اضافه کنید.» او حتی فایل tasksel/med لازم را نیز به گزارش پیوست کرده بود که شامل اطلاعاتی مانند نام وظیفه (med)، بخش آن (user)، توضیحات (Debian med is a collection of Debian packages suitable for medical care) و لیست بستههای مربوطه بود. هدف او این بود که کاربران فعال در حوزه پزشکی و دندانپزشکی بتوانند به راحتی و به صورت رسمی، مجموعهی نرمافزاری دبیان-مد را از طریق نصبکننده اصلی دبیان نصب کنند.
پاسخها و بحثهای پیرامون
پس از ثبت گزارش، بحثها و پاسخهای متعددی شکل گرفت که نشاندهنده چالشهای عمیقتری بود:
- نگرانیهای جوی هس (Joey Hess) – مسئول نگهداری tasksel:در ۱۰ سپتامبر ۲۰۰۳، جوی هس پاسخ داد که در مورد نحوه ارتباط tasksel با «زیرتوزیعهای» دبیان (مانند دبیان-مد یا دبیان-جیآر – Debian-Jr که قبلاً اضافه شده بود) مطمئن نیست. او اشاره کرد که دبیان-جیآر (برای کودکان) پایگاه کاربری وسیعتری دارد و شاید استثنا باشد. هس نگران بود که اضافه کردن زیرتوزیعهای جدید به tasksel ممکن است اندازه دیسک نصب اولیه را به شدت افزایش دهد (دبیان-مد شامل بیش از ۹۰ مگابایت بستههای نرمافزاری بود). او همچنین پیشنهاد داد که شاید بهتر باشد برای این زیرتوزیعها، CDهای نصب سفارشی تولید شود.
- پاسخ آندریاس تیل: تیل در ۱۱ سپتامبر ۲۰۰۳ دلایل هس را پذیرفت اما تاکید کرد که دلیل اصلی درخواست او، «روانی» بود. او میخواست که دبیان-مد به صورت «رسمی» و قابل مشاهده در دبیان گنجانده شود تا کاربران حس کنند که این توزیع نیز بخشی از دبیان اصلی است. او همچنین اصطلاح «توزیعهای سفارشی دبیان» (Customized Debian Distributions – CDDs) را برای این دستهبندی پیشنهاد کرد.
چرا این بحث انقدر طول کشید؟ و مفهوم «حل شدن»
این گزارش باگ در ۲۳ ژوئن ۲۰۰۴ (حدود ۱۵ ماه پس از ثبت) توسط جوی هس بسته شد و اعلام شد که در tasksel نسخه ۲.۰۱ «رفع» شده است. اما این «رفع» به معنای اضافه شدن دبیان-مد نبود!
در واقع، tasksel در نسخه ۲.۰۰ به طور کامل بازنویسی شد و معیارهای سختگیرانهتری برای اضافه کردن وظایف جدید اتخاذ شد. نتیجه این معیارها، حذف برخی از وظایف موجود (مانند دبیان-جیآر و سایر دستههای توسعه) و عدم اضافه شدن دبیان-مد بود. یعنی به جای اضافه کردن دبیان-مد، سیاست کلی تغییر کرد که چنین زیرتوزیعهایی به طور پیشفرض در tasksel نباشند.
آندریاس تیل در ۲۵ ژوئن ۲۰۰۴ با نارضایتی به این موضوع واکنش نشان داد: «این باگ به روشی حل شد که ما واقعاً دوست نداریم. باگ برای اضافه کردن توزیعهای سفارشی که در tasksel نیستند ثبت شد، اما با حذف CDD (دبیان-جیآر) از tasksel حل شد. بنابراین اکنون همه CDDها به یک شکل مدیریت میشوند، اما این واقعاً کمکی نمیکند.»
بحث سپس به این سمت رفت که آیا توزیعهای سفارشی باید نسخههای خاص خود را از tasksel ارائه دهند یا باید روشی غیرتهاجمی برای نصب آنها از طریق ایمیجهای رسمی دبیان وجود داشته باشد.
بنابراین، «۲۲ سال» که به آن اشاره میشود، به معنای این نیست که خود این گزارش باگ برای ۲۲ سال باز مانده بود. بلکه به این نکته اشاره دارد که بحث و چالش اصلی در مورد چگونگی گنجاندن و قابل دسترس ساختن «توزیعهای سفارشی دبیان» برای کاربران، برای حدود دو دهه در جامعه دبیان ادامه داشته است. گزارش باگ ۱۸۶۰۸۵ صرفاً یکی از اولین و نمادینترین نقاط شروع این بحث بود.
اهمیت این «باگ» و نتیجه آن
اهمیت این گزارش باگ و بحثهای پیرامون آن در چند نکته کلیدی است:
- تجربه کاربری: برای کاربران متخصص (مانند پزشکان)، وجود دبیان-مد در
taskselبه معنای دسترسی آسانتر و حس «رسمی بودن» این توزیع بود. عدم وجود آن، کاربران را مجبور میکرد که بستههای لازم را به صورت دستی نصب کنند یا به دنبال ایمیجهای نصب خاص دبیان-مد باشند. - فلسفه دبیان در مورد توزیعهای سفارشی: این بحث نشان داد که دبیان چگونه با زیرتوزیعها یا «فلورهای» خود کنار میآید. آیا قرار است هسته اصلی سیستم نصب، برای همه موارد گسترش یابد یا زیرتوزیعها باید مسیرهای نصب جداگانه خود را داشته باشند؟ این بحث توازن بین جامعیت و سادگی را نشان داد.
- تغییرات در
tasksel: اگرچه دبیان-مد اضافه نشد، اما این بحث به بازنویسی و تعریف معیارهای سختگیرانهتر برایtaskselکمک کرد، که نحوه مدیریت وظایف نصب در دبیان را تغییر داد. - حل شدن در دبیان ۱۳ «Trixie»؟با توجه به اینکه این چالش بیش از دو دهه ادامه داشته، خبر حل شدن آن در دبیان ۱۳ «Trixie» بسیار مهم است. این بدان معناست که احتمالاً دبیان بالاخره راه حلی یکپارچه و کاربرپسند برای شناسایی و نصب آسان «توزیعهای سفارشی دبیان» از طریق نصبکننده اصلی پیدا کرده است، بدون اینکه هسته tasksel را بیش از حد سنگین کند یا به آن خدشه وارد کند. این میتواند شامل یک دسته بندی جدید، یک مکانیزم کشف هوشمند یا راه حل دیگری باشد که به خواسته اولیه آندریاس تیل، یعنی سهولت دسترسی و حس «شمولیت» برای CDDها، پاسخ میدهد.
این «باگ» یا بهتر بگوییم، این درخواست ویژگی، نمادی از یک گفتگوی طولانی در جامعه دبیان بود که سرانجام پس از سالها، به نظر میرسد به یک راه حل پایدار رسیده است.




Leave a Comment