چه نیازی به «شمسا» داریم؟

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

چرا شمسا؟
چرا شمسا؟

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

«شمسا» چه نیست؟

برداشت من از متن محمد ارایه راه‌کاری صرفا حقوقی است و نه ترغیب دولت یا سایر نهادهای حاکمیتی به سرمایه‌گذاری در یک پروژه ملی جدید. به بیانی دیگر «شمسا» صرفا یک شرکت ملی است که وظیفه توسعه پشتیبانی و نگهداری یک محصول زیربنایی را بر عهده دارد. در این پیشنهاد هیچ اشاره‌ای به موارد زیر نشده:

  • توسعه یک سیستم‌عامل بومی
  • توسعه از بستر یک سکوی نرم‌افزاری
  • فارسی‌سازی لینوکس یا ویندوز
  • توسعه جاسوس‌افزار
  • سیستم‌عامل متن‌بسته
  • اجبار همگان به استفاده از سیستم‌عامل بومی
  • تعریف پروژه ملی
  • تخصیص اعتبارات از بودجه عمومی

مستقل از اینکه موارد فوق به صورت ضمنی در نوشته محمد یا در اندیشه‌هایش وجود داشته یا خیر اساس متن اشاره مستقیمی به آن‌ها ندارد در نتیجه می‌توان فارغ از حب و بغض‌ها این پیشنهاد را بررسی کرد.

سیستم‌عامل ایمن یا امنیت سیستم‌عامل

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

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

اما زیربنایی بودن سیستم‌عامل یک نکته مهم در خود نهفته دارد. آن‌هم وابستگی استراتژیک. دوستانی که به مقولات امنیتی علاقمند هستند قاعدتا با اصطلاحاتی نظیر Kill Switches, ECHELON و نظایر آن آشنایی دارند. اگر هم کاربر حرفه‌ای لینوکس باشید حتما با SELinux آشنا هستید. تاکنون دقت کرده‌اید که توسعه‌دهنده اصلی و پشتیان SELinux کیست؟ NSA (آژانس امنیت ملی آمریکا) همان آژانسی که کلید امنیتیش در ویندوز NT 4 لو رفت. قاعدتا هیچ گربه‌ای محض رضای خدا موش نمی‌گیرد پس انتظار نداشته باشید که چتر امنیتی اشلون برای امنیت ما گسترده شده باشد.

بدیهی است متن‌باز بودن سیستم‌عامل نسبت به بسته بودن آن امنیت بیشتری ارایه می‌کند چرا که امکان بررسی کد را برای همگان فراهم می‌آورد اما انصافا چندنفر از شما تاکنون کرنل لینوکس محبوب را مطالعه کرده‌اید؟ سال‌ها پیش پروژه‌ای در ایزایران تعریف شده بود تحت عنوان لینوکس سامان با کاربرد نظامی نمی‌دانم هنوز هم وجود دارد یا نه اما به واسطه آن پروژه مطالعه عمیقی در لایه شبکه کرنل ۲.۶ لینوکس و کرنل BSD داشتم. گزارشی از خلل امنیتی کرنل ۲.۶ تهیه کردیم که آن زمان موجب تغییر مسیر پروژه شد. چندسال پیش هم پروژه دیگری در پژوهشگاه ارتباطات تعریف شد برای کشف خلل امنیتی برخی محصولات cisco و juniper در کمال ناباوری گزارشات جالبی از آن پروژه بیرون آمد. اما آیا این موضوع قابل تصور است که گروهی از کاربران از روی ذوق و علاقه و بدون چشم‌داشت مالی هربار کرنل و پچ‌های آن را مطالعه کنند و خلل امنیتی آن را گزارش کنند؟

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

انتظار نداشته باشیم که امنیت سیستم‌عامل به یک سیستم‌عامل ایمن سپرده شود؛ چراکه:

Security is a joke.

چرا دولت باید دخالت کند؟

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

در توییتر دیدم که یکی از دوستان با تمسخر متن محمد، از فنلاند مثال زده بود که توسعه لینوکس از آنجا شروع شده و دولت کاری در این زمینه انجام نداده است. فنلاند کشوری است در اتحادیه اروپا در نتیجه به دلیل اتحاد استراتژیک اعضای این اتحادیه، نیازی نبوده تا مستقیما کاری انجام دهد اما سیستم‌عامل sailfish با شعار سیستم‌عامل موبایل برای شرکت‌ها و دولت‌ها با بودجه مستقیم اتحادیه اروپا و با همکاری Nokia و MeeGo در فنلاند مورد توسعه قرار گرفته. چرا راه دوری برویم روی این لینک کلیک کنید تا با پروژه‌های سیستم‌عامل مورد حمایت مستقیم اتحادیه اروپا (با تزریق مستقیم بودجه) آشنا شوید. دیدن این لینک هم خالی از لطف نیست که سرمایه‌گذاری اتحادیه اروپا بر روی یک سیستم‌عامل امن مبتنی بر یونیکس را مطرح می‌کند.

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

اساسا وقتی سرمایه اجتماعی کشور درحد صفر است و جامعه اعتمادی به محصولات ایرانی ندارد (مخصوصا اگر دولت یا سایر نهادهای حاکمیتی در آن دخالت داشته باشند) چگونه یک شرکت خصوصی یا گروه علاقمند می‌تواند به موفقیت تجاری برسد؟

البته نمی‌توان به مردم خرده گرفت. سال‌ها رفتار‌های غلط دولت‌مردان، رانت‌خواری‌ها، دزدی‌ها و اختلاس‌ها باعث صفرشدن سرمایه اجتماعی شده اما چه می‌توان کرد؟ دست روی دست بگذاریم و شاهد تاراج ثروت ملی از سوی داخلی و خارجی باشیم؟

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

چه سیستم‌عاملی؟

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

با توجه به تجربیات قبلی گمان نمی‌کنم در دوره فعلی هیچ‌کدام از دولتمردان قصد توسعه از بستر یک سیستم‌عامل را داشته باشند و این موضوع بر همگان (به جز ۲ گیگ اینترنت معروف) مبین و مبرز شده که این عمل نشدنی و خسرالدنیا و الاخره است.

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

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

کلام آخر

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

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

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


همراه شو عزیز، همراه شو عزیز
تنها نمان به درد، کاین درد مشترک
هرگز جدا جدا، درمان نمی‌شود
دشوار زندگی، هرگز برای ما
بی‌رزم مشترک، آسان نمی‌شود