انتخاب میان نرمافزار بومی و خارجی یکی از تصمیمهای مهم مدیران فناوری اطلاعات در ایران است. خیلی وقتها این بحث با شعار پیش میرود: یک طرف میگوید «خارجی همیشه بهتر است» و طرف دیگر میگوید «بومی یعنی امنیت». هیچکدام از این دو حکم کلی درست نیست. یک محصول بومی هم ممکن است ضعف امنیتی جدی داشته باشد، و یک محصول خارجی شناختهشده هم ممکن است به خاطر تحریم یکشبه از دسترس خارج شود. در این مقاله، دو گزینه را در چهار محور اصلی یعنی امنیت، پشتیبانی، هزینه و کارایی کنار هم میگذاریم و در پایان چارچوبی عملی برای انتخاب درست ارائه میکنیم.
منظور از نرمافزار بومی و خارجی چیست؟
پیش از مقایسه، بهتر است تعریفها روشن شود، چون مرز این دو دسته همیشه واضح نیست:
- نرمافزار بومی: محصولی که توسعه، نگهداری و پشتیبانی آن را تیمی داخل کشور انجام میدهد و کد منبع و دانش فنی آن در اختیار همان تیم است. خیلی از محصولات بومی روی پروژههای متنباز (Open Source) جهانی ساخته شدهاند.
- نرمافزار خارجی: محصولی که مالک و توسعهدهنده آن خارج از کشور است. در ایران معمولاً این نرمافزارها یا بدون مجوز رسمی استفاده میشوند یا از طریق واسطهها تهیه میشوند.
- حالت ترکیبی: نرمافزار متنبازی که خارج از کشور توسعه یافته اما تیمی داخلی آن را سفارشیسازی و پشتیبانی میکند. در عمل، بخش بزرگی از راهکارهای موفق در همین دسته قرار میگیرند.
اگر با مفهوم کلی بومیسازی و اهمیت آن آشنا نیستید، پیشنهاد میکنیم ابتدا مقاله بومیسازی سیستمها چیست و چرا برای امنیت ملی و سازمانی حیاتی است؟ را بخوانید.
محور اول: امنیت
امنیت مهمترین و در عین حال پرسوءبرداشتترین بخش این بحث است. برای مقایسه درست باید امنیت را به چند بخش جدا تقسیم کرد.
امنیت کد و بلوغ فرایند توسعه
محصولات خارجی بزرگ معمولاً سالها زیر نگاه محققان امنیتی، برنامههای باگبانتی (Bug Bounty) و میلیونها کاربر بودهاند. این تعداد زیاد بررسیکننده باعث میشود آسیبپذیریها زودتر پیدا و برطرف شوند. در مقابل، کیفیت امنیتی محصولات بومی بسیار متفاوت است. بعضی تیمها چرخه توسعه امن (Secure SDLC) و ممیزی کد مستقل دارند و بعضی تیمها هیچکدام را ندارند. پس «بومی بودن» بهتنهایی نشانه امنیت نیست.
امنیت زنجیره تأمین و نسخههای غیررسمی
در این بخش، نرمافزار خارجی در شرایط ایران یک مشکل جدی دارد. وقتی دسترسی رسمی به محصول ممکن نیست، سازمانها سراغ نسخههای کرکشده، مخازن غیررسمی یا لایسنسهای واسطهای میروند. این کار خطر بدافزار، درِ پشتی (Backdoor) و دریافت نکردن وصلههای امنیتی را بالا میبرد. در چنین شرایطی، حتی امنترین محصول جهانی هم ممکن است به نقطه ضعف تبدیل شود.
کنترل داده و شفافیت
در سرویسهای ابری خارجی، دادهها روی سرورهایی نگهداری میشوند که سازمان کنترلی بر آنها ندارد. ارسال تلهمتری (Telemetry) هم معمولاً کاملاً شفاف نیست. محصول بومی و خودمیزبان (Self-hosted) کنترل بیشتری روی محل و نحوه نگهداری دادهها میدهد، به شرطی که خود سازمان بتواند آن را درست ایمن کند.
نکته کلیدی: امنیت به برچسب «بومی» یا «خارجی» بستگی ندارد. آنچه اهمیت دارد این است که فرایند توسعه، بهروزرسانی و استقرار تا چه حد قابل اثبات و قابل ممیزی است.
صرفنظر از منشأ محصول، پیش از استقرار باید آن را آزمود. تست نفوذ مستقل و بررسی بر اساس استانداردهایی مانند OWASP برای وباپلیکیشن و API از کارهای ضروری هر پروژه به شمار میروند.
محور دوم: پشتیبانی و تداوم خدمت
شاید بزرگترین مزیت راهکار بومی در همین بخش باشد. پشتیبانی فقط پاسخ دادن به تیکت نیست. پشتیبانی یعنی سازمان بتواند در ده سال آینده هم روی محصول حساب کند.
- دسترسی و زبان: تیم داخلی در ساعت کاری ایران، به زبان فارسی و گاهی بهصورت حضوری در دسترس است.
- سفارشیسازی: تطبیق با تقویم جلالی، قوانین مالیاتی، الزامات نهادهای نظارتی و فرایندهای خاص سازمان در محصول بومی معمولاً بسیار سادهتر است.
- ریسک قطع سرویس: محصول خارجی ممکن است به دلیل تحریم، مسدود شدن حساب یا قطع لایسنس از کار بیفتد. این موضوع را در مقاله تحریم، قطع سرویس و وابستگی فناوری به تفصیل بررسی کردهایم.
- ریسک تداوم شرکت داخلی: شرکتهای کوچک داخلی هم ممکن است تعطیل شوند، نیروهای کلیدی خود را از دست بدهند یا محصول را رها کنند. این ریسک واقعی است و نباید آن را نادیده گرفت.
به همین دلیل، در قرارداد با تأمینکننده داخلی بندهایی مانند امانتسپاری کد منبع (Source Code Escrow)، مستندسازی کامل و تعهد سطح خدمت (SLA) اهمیت زیادی دارند.
محور سوم: هزینه کل مالکیت
مقایسه قیمت خرید یا لایسنس بهتنهایی گمراهکننده است. معیار درست، هزینه کل مالکیت (TCO – Total Cost of Ownership) در یک بازه چندساله است که این اقلام را در بر میگیرد:
- هزینه لایسنس یا اشتراک و نحوه پرداخت آن (ریالی یا ارزی)
- هزینه سختافزار و زیرساخت لازم
- هزینه پیادهسازی، مهاجرت داده و یکپارچهسازی
- هزینه آموزش کاربران و تیم فنی
- هزینه پشتیبانی و نگهداری سالانه
- هزینههای پنهان: دور زدن محدودیتها، واسطهها و ریسک از دست رفتن سرمایه در صورت قطع سرویس
- هزینه خروج (Exit Cost): تبدیل دادهها و مهاجرت به گزینه دیگر در آینده
نرمافزار خارجی بدون مجوز در ظاهر «رایگان» است، اما هزینههای پنهان آن یعنی ریسک حقوقی، نبود بهروزرسانی و خطرات امنیتی ممکن است در نهایت از هر گزینه دیگری گرانتر تمام شود. از سوی دیگر، پرداخت ریالی محصول بومی سازمان را از نوسان نرخ ارز تا حد زیادی مصون نگه میدارد. البته قیمتگذاری شرکتهای داخلی هم معمولاً با تورم و نرخ ارز تغییر میکند و باید آن را در قرارداد پیشبینی کرد.
محور چهارم: کارایی و قابلیتها
در بسیاری از حوزهها مانند پایگاهدادههای پیشرفته، ابزارهای طراحی مهندسی و برخی راهکارهای امنیتی پیچیده، محصولات خارجی از نظر قابلیت، اکوسیستم افزونهها و مقیاسپذیری اثباتشده جلوتر هستند. در مقابل، در حوزههایی که نیاز محلی پررنگ است، مانند سامانههای مالی و حسابداری، اتوماسیون اداری، منابع انسانی و پیامرسان سازمانی، محصولات بومی اغلب با نیاز کاربر ایرانی سازگارترند.
کارایی در عمل به شرایط شبکه هم بستگی دارد. سرویسی که روی سرور داخلی یا داخل سازمان اجرا میشود، در اختلالات اینترنت بینالملل همچنان در دسترس میماند و تأخیر (Latency) کمتری دارد. سرویس ابری خارجی در همین شرایط ممکن است عملاً از کار بیفتد.
جدول مقایسه نرمافزار بومی و خارجی
جدول زیر جمعبندی کلی است و برای هر محصول مشخص باید جداگانه ارزیابی شود:
| معیار | نرمافزار بومی | نرمافزار خارجی |
|---|---|---|
| بلوغ امنیتی کد | متغیر؛ به تیم توسعه و ممیزی مستقل بستگی دارد | در محصولات شناختهشده معمولاً بالا |
| امنیت زنجیره تأمین در ایران | قابل کنترلتر | خطر نسخههای غیررسمی و نبود وصلههای امنیتی |
| کنترل و محل نگهداری داده | کامل یا نزدیک به کامل | محدود، بهویژه در سرویسهای ابری |
| پشتیبانی | فارسی، در دسترس، امکان حضور | رسمی ممکن نیست یا از طریق واسطه |
| ریسک قطع سرویس | ریسک تعطیلی یا رها شدن محصول توسط شرکت | ریسک تحریم و قطع لایسنس یا حساب |
| سفارشیسازی و انطباق با قوانین داخلی | آسان | دشوار یا ناممکن |
| هزینه | ریالی و قابل پیشبینیتر | ارزی، همراه با هزینههای پنهان و ریسک حقوقی |
| قابلیتها و اکوسیستم | در حوزههای تخصصی اغلب محدودتر | معمولاً گستردهتر |
| کارایی در اختلال اینترنت | پایدار (در استقرار داخلی) | وابسته به اتصال بینالمللی |
معیارهای انتخاب درست برای سازمانها
به جای تصمیم کلی «همهچیز بومی» یا «همهچیز خارجی»، توصیه میشود هر سامانه را جداگانه با یک چارچوب امتیازدهی ارزیابی کنید.
۱. میزان حساسیت و حیاتی بودن سامانه
سامانههایی که داده محرمانه نگه میدارند یا توقفشان کسبوکار را متوقف میکند، مانند هسته بانکی، کنترل صنعتی، احراز هویت و ایمیل سازمانی، باید در اولویت بومیسازی یا استقرار داخلی باشند. برای ابزارهای کمخطر مثل ویرایشگرهای گرافیکی میتوان انعطاف بیشتری داشت.
۲. ارزیابی امنیتی قابل اثبات
از تأمینکننده بخواهید گزارش تست نفوذ مستقل، گواهیهای امنیتی معتبر داخلی و سابقه رسیدگی به آسیبپذیریها را ارائه کند. ادعای «امن است چون بومی است» کافی نیست.
۳. پایداری تأمینکننده
سابقه شرکت، تعداد مشتریان فعال، اندازه تیم فنی و برنامه توسعه محصول را بررسی کنید. امانتسپاری کد منبع و حق دسترسی به مستندات را در قرارداد بگنجانید.
۴. استانداردهای باز و قابلیت خروج
محصولی را انتخاب کنید که از فرمتها و پروتکلهای استاندارد پشتیبانی میکند و خروجی کامل داده میدهد. این کار از وابستگی به یک فروشنده (Vendor Lock-in) جلوگیری میکند، چه آن فروشنده داخلی باشد و چه خارجی.
۵. هزینه کل مالکیت در افق سه تا پنج ساله
همه اقلام فهرست TCO را با سناریوهای بدبینانه مانند جهش ارزی یا قطع سرویس محاسبه کنید.
۶. تطابق با معماری امنیتی سازمان
محصول انتخابی باید با سیاستهای امنیتی موجود سازگار باشد. برای مثال، باید با رویکرد معماری Zero Trust یکپارچه شود، از احراز هویت چندعاملی پشتیبانی کند و لاگهای قابل ممیزی تولید کند.
رویکرد ترکیبی: راه میانه واقعبینانه
تجربه بسیاری از سازمانها نشان میدهد بهترین نتیجه معمولاً از ترکیب این سه روش به دست میآید:
- بومیسازی یا استقرار داخلی برای سامانههای حیاتی و حساس
- استفاده از نرمافزار متنباز معتبر با پشتیبانی تیم داخلی برای زیرساختها
- استفاده کنترلشده از ابزارهای خارجی در حوزههای کمریسک، همراه با برنامه جایگزین (Plan B)
سوالات متداول
آیا نرمافزار بومی همیشه امنتر از نرمافزار خارجی است؟
خیر. بومی بودن ریسکهایی مثل تحریم، نسخههای غیررسمی و خروج داده را کاهش میدهد، اما کیفیت کد و فرایند توسعه امن را تضمین نمیکند. امنیت هر محصول باید با تست نفوذ و ممیزی مستقل سنجیده شود.
استفاده از نسخه کرکشده نرمافزار خارجی چه خطری دارد؟
نسخههای کرکشده ممکن است بدافزار یا درِ پشتی داشته باشند، معمولاً وصله امنیتی دریافت نمیکنند و سازمان را با ریسک حقوقی روبهرو میکنند. هزینه پنهان آنها اغلب از هزینه یک راهکار قانونی بیشتر است.
برای مقایسه هزینه دو گزینه از چه معیاری استفاده کنیم؟
از هزینه کل مالکیت (TCO) در بازه سه تا پنج ساله استفاده کنید. این معیار شامل لایسنس، زیرساخت، پیادهسازی، آموزش، پشتیبانی، هزینههای پنهان و هزینه خروج است.
چطور از وابستگی به یک شرکت داخلی هم جلوگیری کنیم؟
محصولاتی را انتخاب کنید که از استانداردهای باز پشتیبانی میکنند و خروجی کامل داده میدهند. در قرارداد هم امانتسپاری کد منبع، مستندسازی کامل و SLA مشخص را بگنجانید.
جمعبندی
در مقایسه نرمافزار بومی و خارجی، برنده همیشگی وجود ندارد. نرمافزار خارجی معمولاً در بلوغ فنی و گستردگی قابلیتها جلوتر است. نرمافزار بومی در پشتیبانی، کنترل داده، پیشبینیپذیری هزینه و تداوم خدمت در شرایط تحریم برتری دارد. تصمیم درست از ارزیابی جداگانه هر سامانه بر اساس حساسیت، امنیت قابل اثبات، پایداری تأمینکننده، استانداردهای باز و هزینه کل مالکیت به دست میآید. به بیان دیگر، به جای پرسیدن «بومی یا خارجی؟» باید پرسید «کدام گزینه برای این سامانه مشخص، ریسک کمتری دارد و ارزش بیشتری ایجاد میکند؟»