ویرگول
ورودثبت نام
Sohrab Behdani
Sohrab Behdaniتوسعه دهنده Parch Gnu/Linux
Sohrab Behdani
Sohrab Behdani
خواندن ۶ دقیقه·۱ ماه پیش

چهار سال ساختن ابزاری که خودم به آن نیاز داشتم

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

شروع داستان

همه چیز از نوجوانی من شروع شد. اون موقع یک کله پر از باد داشتم و ایده‌های زیادی توی سرم می‌چرخید. بلاگ‌های مختلفی رو دنبال می‌کردم و کارهایی که توسعه‌دهنده‌ها انجام می‌دادن، منو مجذوب خودش کرده بود. خودم هم با توزیع‌های لینوکسی مشکل داشتم: فونت‌های فارسی که درست نمایش داده نمی‌شدن، مخازن نرم‌افزاری که به خاطر تحریم‌ها دردسرساز بودن، و هر بار که می‌خواستم سیستم رو شخصی‌سازی کنم، باید از صفر شروع می‌کردم. راستش ایده پارچ از یه جور گشادی خلاقانه شروع شد هر بار دیسترو عوض می‌کردم، حوصله نداشتم از اول همه‌چی رو تنظیم کنم از تم و aliasها گرفته تا سرویس‌ها و پکیج‌ها. یه روز گفتم خب بیام یه دیسترو بسازم که از همون اول مثل خونه‌م باشه. اون شد جرقه‌ی پارچ. این‌ها منو اذیت می‌کرد و فکر کردم چرا یک توزیع لینوکسی بسازم که این مشکلات رو برای کاربران ایرانی حل کنه؟ پارچ لینوکس از همین ایده ساده متولد شد یک توزیع مبتنی بر آرچ لینوکس، اما با تمرکز روی سادگی، پشتیبانی از زبان پارسی، و دور زدن محدودیت‌ها.

جستجوی بیس

در ابتدا، دنبال یک پایه (بیس) مناسب بودم. گزینه‌هایی مثل دبیان و فدورا رو بررسی کردم، اما فدورا با مخازن تحریم‌شده‌اش کار رو سخت می‌کرد و دبیان هم بعد از مدتی قدیمی می‌شد. توزیع فعلی‌ام آرچ بود، پس تصمیم گرفتم بر پایه اون بسازم. اسم "پارچ" رو انتخاب کردم که مخفف "پرشین آرچ" (Persian Arch) باشه ساده، به یاد ماندنی، و مرتبط با ریشه‌های ایرانی پروژه.

البته، اوایل یک نفر دیگه هم بود که کمک می‌کرد، اما حضورش کوتاه بود و مشارکت‌هاش در بازنویسی‌های بعدی حذف شد. پروژه رو روی یک لپتاپ قدیمی دل Inspiron 1564 با ۲ گیگ رم (که بعداً به ۴ گیگ ارتقا دادم) شروع کردم. تست کردن سخت بود؛ ماشین مجازی کار نمی‌کرد، پس باید روی گیت‌هاب بیلد می‌کردم، دانلود می‌کردم و تست می‌کردم. این چرخه تکراری، اما هیجان‌انگیز بود!

اولین نسخه پایدار

رسیدن به اولین نسخه پایدار، زمان زیادی برد. هسته سیستم باید پایدار می‌بود تا بتونیم روش بیلد کنیم. مشکلات زیادی داشتیم: لایو ایزو میزکار رو بالا نمی‌آورد، بسته‌بندی‌ها ایراد داشت، تم‌ها داغون بودن، پلاسما صدا نداشت... و از همه بدتر، کالامارس (نصاب سیستم) که هنوز هم باهاش مشکل داریم! این نرم‌افزار یکی از بدترین چیزهایی بود که توی توسعه دیدم.

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

امکانات اولیه و پیشرفت‌ها تا امروز

نسخه اول هیچ چیز خاصی نداشت فقط یک پایه ساده برای شروع. اما حالا پارچ یک توزیع کامل شده: رولینگ ریلیز (به‌روزرسانی مداوم)، سبک و کاربرپسند، با پشتیبانی از دسکتاپ‌های مختلف مثل پلاسما، گنوم و XFCE. ویژگی‌های کلیدی‌اش شامل فونت‌های فارسی پیش‌فرض، مخازن محلی برای دور زدن تحریم‌ها، و ابزارهایی در دست توسعه برای نصب آسان نرم‌افزارها هست. مثلاً، ما سیستم‌دی بوت رو با کمک تیم اندور او اس پیاده کردیم و مشکلات بزرگ رو با کچی او اس حل کردیم.

از زبون خودم بگم: پارچ حالا روی دستگاه‌های ARM مثل پاین‌فون کار می‌کنه، نسخه موبایل (با اسم رمز دماوند) در حال توسعه‌ست، و حتی پورت به معماری RISC-V و اپل سیلیکون (M1/M2) شروع شده. این‌ها چیزهایی هستن که چهار سال پیش حتی تصورشم نمی‌کردم!

لحظه‌های مهم

یکی از بهترین لحظات، وقتی بود که اولین مشارکت‌ها رو با پروژه‌های بزرگ‌تر کردیم:

1. رفع مشکل کیبورد در میزکار Phosh.

2. حل مشکل زبان فارسی در کالامارس.

3. ازسرگیری ترجمه پلاسما (که حالا من سرگروه ترجمه‌ام، و پارچ دلیل اصلی این کار بود).

4. مشارکت در گنوم و ترجمه‌اش.

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

همکاری‌ها

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

چالش‌ها

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

در مورد حاشیه‌ها، ترجیح می‌دم زیاد نگم، اما مدیریت جامعه گاهی انرژی‌گیر بود.

لحظات شیرین

جدای از تلخی‌ها، لحظات شیرینی مثل لیست شدن پارچ در دیستروواچ (بعد از چهار سال توسعه)، انتشار نسخه موبایل، جذب تیم جوان برای نسخه دبیانی، و ایجاد جامعه کاربری فعال در فروم پارچ منو مصمم‌تر کرد. صادقانه؟ وقتی پارچ توی Distrowatch لیست شد، حس قشنگی بود. یه چیزی بین غرور، شوک و خنده. حس کردم پروژه‌ای که یه روز از تنبلی شروع شد، الان رسماً یه دیسترو حساب می‌شه و بقیه دارن اسمش رو سرچ می‌کنن. یه لحظه از اون‌هایی بود که می‌گی "خب، انگار واقعاً شد!" همچنین، ویکی پارچ با کمک کاربران کامل‌تر شده و پیام‌های تشکرآمیز کاربران، بهترین پاداشه. جامعه‌مون الان چندصد نفره‌ست — از تازه‌کار تا کرنل‌هکر. از دیسکورس، تلگرام و ماتریکس برای مدیریت استفاده می‌کنم. سیاستم ساده‌ست: آزادی، ولی با نظم. نمی‌خوام پارچ یه گروه دیگه باشه، می‌خوام یه جامعه واقعی باشه که هرکسی حس کنه سهم داره.

تصمیمات سخت

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

آینده پارچ

آینده روشنه! تا جایی که بتونم ادامه می‌دم. جامعه کاربری بهتر شده، و من پخته‌ترم. منتظر رلیز تابستانه باشید که شامل هویت بصری جدید (لوگو، وبسایت، رابط کاربری)، بهینه‌سازی‌های فنی، و پشتیبانی از دستگاه‌های لمسی مثل تبلت‌ها. همچنین، مخزن جامعه برای نرم‌افزارهای آزاد ایرانی راه‌اندازی شده تا توسعه‌دهنده‌ها پروژه‌هاشون رو منتشر کنن. نسخه موبایل قراره واقعاً adaptive باشه، نه فقط یه دسکتاپ کوچیک‌شده. پشتیبانی از وی‌دروید و محیط‌های لمسی داره. از اون طرف، دارم روی پورت RISC-V و Apple Silicon هم کار می‌کنم، با QEMU و یه عالمه قهوه :))
می‌خوام پارچ بره سمت پایداری بیشتر، پشتیبانی از سخت‌افزارهای جدید و هوشمندسازی. مثلاً استفاده از AI برای مدیریت منابع، تشخیص خطا، یا حتی پیشنهاد پکیج‌ها.

حس شخصی من

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

تشکر ویژه

تشکر از تیم پارچ، به خصوص هیکاری که خیلی کمک کرد. همچنین، احمدرضا (طراح گرافیک)، عرفاکس، پارسا رنجبر، دانیال بهزادی، و همه دوستان. و تشکر بزرگ از جامعه پارچ که با وجود باگ‌ها و مشکلات، همراهمون بودید. با آرزوی دنیایی آزاد!

لینوکس
۲
۰
Sohrab Behdani
Sohrab Behdani
توسعه دهنده Parch Gnu/Linux
شاید از این پست‌ها خوشتان بیاید