اخیراً در بلغارستان قانونی به تصویب رسیده است که طبق آن تمام کدهای توسعه یافته برای دولت باید اپن سورس باشند. شاید در ابتدا به نظر برسد این یک مسئله داخلی برای کشور بلغارستان باشد، ولی در واقع چنین نیست. این تصمیم و نتایج آن بر روی سیاست های نرم افزارها در مقیاس جهانی تأثیر محسوسی خواهد داشت. ولی چطور؟ برای یافتن پاسخ به این سوال، با سکان آکادمی همراه باشید.
حدودا 1 ماه پیش، بلغارستان حکمی صادر کرد که مطابق با آن اپن سورس بودن تمام کدهایی که برای دولت این کشور توسعه یافته اند الزامی می شود. در ابتدا به نظر می رسید که بلغارستان با شرکت های بزرگی مانند مایکروسافت و اوراکل سر شاخ می شود و دیگر نمی تواند حضور آن ها در کشورش را تحمل کند، ولی حقیقت چیز دیگری بود.
چیزی که باعث می شود این رفتار بلغارستان سوء تعبیر شود، دقیقاً همان چیزی است که باعث شده این اقدام بلغارستان از سوی بسیاری از دولت های جهان مورد توجه قرار گیرد. در واقع این حرکت بلغارستان چنان تأثیر گذار بود که تمایل دولت های کشورهای مختلف برای اجرای قوانینی مشابه بسیار زیاد شده است. در نتیجه، این اقدام دولت بلغارستان از نظر افراد زیادی توجیه پذیر به نظر می رسد. با توجه به این که دولت آمریکا نیز پس از این حکم، اجرای قوانینی مشابه را در نظر گرفته است، می توان به گستردگی تغییر سیاست های نرم افزاری در مقیاس جهانی پی برد.
اقدام جنجالی بلغارستان دقیقاً چه بود؟
بگذارید به طور دقیق تر به آن چه که در قوانین جدید بلغارستان مطرح شده است، نگاهی بیندازیم. قوانین جدید دولت بلغارستان در مورد توسعه برنامه های کامپیوتری شامل دو اصل کلی می شود:
اول آن که برنامه های کامپیوتری باید معیارها و استاندارد های لازم برای یک نرم افزار اپن سورس را رعایت کنند؛
و دوم این که تمام کپی رایت و حقوق دیگر در مورد آن برنامه کامپیوتری، طراحی رابط کاربری (GUI) و دیتابیس ها باید از قوانین تعیین شده پیروی کنند و هیچ گونه محدودیتی در استفاده، اصلاح و توزیع آن قائل نشوند!
مهم ترین مسئله ای که باید در این جا به آن توجه کرد آن است که این قوانین تنها به توسعه کد برای دولت بلغارستان مربوط می شوند. طبق گفته بوزانوف، مشاور معاون نخست وزیر بلغارستان:
این قوانین به این معنی نیست که تمام کشور باید برنامه های خود را به Linux و LiberOffice ببرند. همچنین دولت از مایکروسافت و اوراکل درخواست ارائه سورس محصولاتش را نمی کند. محصولات موجود در حال حاضر بر اساس قوانین لیسانس خریداری شده اند و بدون تغییر باقی می مانند.
این صحبت آقای بوزانوف به این معنی است که بلغارستان همچنان نرم افزارهای تحت مالکیت شرکت های دیگر را خریداری می کند ولی با این تفاوت که دیگر علاقه ای به کدهایی از جنس Custom Code ندارد. آقای بوزانوف در ادامه ی صحبت هایش به این نکته اشاره کرده است که:
یعنی نرم افزارهای شخصی سازی شده ای که دولت به دست می آورد برای همه قابل مشاهده و قابل دسترس خواهند بود. هر چه که باشد این نرم افزارها با پول مالیات دهندگان خریداری شده است و آن ها هم باید قادر به دسترسی به آن باشند و از آن بهره بگیرند.
به هر حال این استدلال هم در نوع خود منطقی به نظر می رسد که قطعاً به مذاق شرکت های فعال در زمینه اپن سورس که تا پیش از این آزادی بی حد و حصر داشتند، خوش نمی آید.
اپن سورس دستور دولت بلغارستان است یا ترجیح آن؟
این مسئله کاملاً قانع کننده و قابل درک است که هیچ دولتی دوست نداشته باشد درگیر محدودیت ها و قید و بند های شرکت های مختلف (و قوانین لایسنس های آن شرکت ها) شود. از طرف دیگر، هر دولتی حق دارد آزادانه هر نرم افزاری که با نیازها و سیاست هایش مطابقت دارد را خریداری کند. بنابراین باید حق را به دولت بلغارستان داد اما با تمام این احوال، شاید این سیاست در یک نگاه کلی، چندان هم عاقلانه به نظر نرسد. خرید نرم افزارهای اپن سورس، آن هم فقط و فقط به این دلیل که این نرم افزارها اپن سورس هستند سیاست قوی و خوبی به نظر نمی رسد!
داشتن ترجیحات مختلف باعث به وجود آمدن و حفظ انعطاف پذیری لازم جهت پیدا کردن ابزارهایی برای رفع نیاز می شود و در عین حال تمایل به استفاده از اپن سورس را هم افزایش می دهد. این در حالی است که اعمال هر نوع حکم، زور و اجبار باعث به وجود آمدن نافرمانی و جریان های مخالف می گردد.
جهت گیری بلغارستان در این مورد کاملاً واقع گرایانه است و نمی توان آن را یک حکم و اجبار کلی دانست. البته شاید اصرار بیش از حد آن ها برای اپن سورس بودن تمامی کدها کمی افراط به نظر برسد. چرا؟ به دلیل آن که مثلاً ممکن است کدهای شخصی سازی شده توسعه یافته توسط یک شرکت لازم باشد تحت همان قوانین لیسانسی باشد که برای نرم افزار اصلی تعریف شده است که باعث پیچیدگی شرایط و محدودیت های زیادی می شود. البته این مسئله بستگی به تعامل و ارتباط کد شخصی سازی شده با پکیج های نرم افزار دارد.
به غیر از این ها، برخی از دلایلی که برای استفاده از اپن سورس از سوی دولت بلغارستان مطرح شده است هم چندان قانع کننده به نظر نمی رسند. بوزانوف در ادامه ی صحبت هایش گفته است:
با اپن سورس کردن کدها امیدواریم بتوانیم جلوی حوادث و مشکلات امنیتی را بگیریم و روش های نامناسب امینت اطلاعات که در فرآیند توسعه ایجاد شده اند را پیش از آن که دیر شود، تشخیص دهیم.
با آن که این صحبت ها در تئوری جالب و درست به نظر می رسند، ولی متاسفانه ارتباط چندان زیادی با واقعیت ندارند. ما از هارت بلید (Heartbleed) و دیگر باگ های بزرگ و مهم یاد گرفته ایم که اپن سورس بودن به هیچ وجه به معنی امنیت بیشتر یک نرم افزار نیست. البته اپن سورس بودن به تسهیل فرآیند رفع باگ ها کمک می کند. هر چند که پیش از برطرف کردن باگ، باید اول قادر باشیم آن ها را پیدا کنیم.
به هر حال این اقدام جنجالی بلغارستان و همچنین اعمال قوانین جدیدش توجه بسیاری را به خود جلب کرده و نتایج آن می تواند بسیار مهم باشد. کشورهای دیگر مانند آمریکا نیز به دقت عملکرد دولت بلغارستان را زیر نظر دارند و نقاط قوت و ضعف، عوامل شکست و موفقیت و ... را مورد بررسی قرار می دهند تا بتوانند قوانینی مشابه را در کشور خود پیاده کنند.
حال نوبت به نظر شما است. آیا اتخاذ چنین سیاست هایی از جانب دولت ایران نیز کمک به امنیت بیشتر سایبری کشورمان خواهد کرد؟ نظرات خود را با سایر کاربران سکان آکادمی به اشتراک بگذارید.