روابط عمومی شرکت ایدکو (توزیعکنندهی محصولات کسپرسکی در ایران)؛ اپلیکیشنهای منبع باز خود را به طور جدی در سیستم کسب و کارهای بزرگ و متوسط تثبت کردهاند. با توجه به اینکه پایگاههای داده و تحلیل دادهها بر بخشهایی چون وب سرورها تسلط دارند اکنون همچنین میتوانند به طور گستردهای برای اصطلاحاً بارگنجبری[1]، فناوری یادگیری ماشین، DevOps و البته توسعه نرمافزار استفاده میشوند. بسیاری از کسب و کارها برای تسکهای غیر آیتی خود مانند سیآراِم، تولید محتوای بصری و نشر بلاگ به منبع باز روی آوردهاند. به نقل از گارتنر، بیش از 95 درصد کسب و کارهای بخش آیتی از راهکارهای منبع باز استفاده میکنند اما حتی میان شرکتهای غیر آیتی هم این رقم بالای 40 درصد (و رو به افزایش است) است. و این شامل بسیاری از موارد که در آن آرشیوهای منبع باز داخل اپهای اختصاصی استفاده میشوند نمیشود. انتخاب بین منبع باز و بسته آسان نیست: فقط بحث پولی در مقابل رایگان نیست یا پشتیبانی در مقابل عدم پشتیبانی. وقتی حرف از تصمیمگیری بر سر هر راهکار آیتی میشود، کسب و کارها باید کلی جنبههای مهم را در نظر گیرند.
هزینه و برنامه پیادهسازی
گرچه اغلب هیچ هزینه لایسنسی برای راهکارهای منبع باز وجود ندارد اما پیادهسازیاش رایگان نیست. بسته به میزان پیچیدگی هر راهکار ممکن است نیاز باشد بودجه زمان تیم آیتی را مدیریت کرده، مشاورین متخصصین بیاورید و حتی توسعهدهندگانی را استخدام کنید که مدام اپها را با نیاز کسب و کار شما سازگار کنند. همچنین مدل لایسنسینگ هیبرید هم وجود دارد که به شما اجازه میدهد تا از نسخه عمومی اپ بطور رایگان استفاده کنید اما نسخه ویژه آن که قابلیتهای سازمانی دارد هنوز نیازمند لاینس پولی است.
افزون بر این، بسیاری از محصولات منبع باز دارای اسناد به روز یا دورههای آموزشی برای کاربران نهایی نیستند. برای پیادهسازیهای بزرگ، این شکاف باید اصطلاحاً بطور درونخانگی پر شود- که هم هزینهبر است هم انرژیبر. مزیت منبع باز در فاز اجرایی این است که تست تمام عیار را در اختیار قرار میدهد. حتی اگر تصمیم داشته باشید راهکار منبع بازی را به عنوان میزبان مدیریتشده به کار ببندید یا با کمک پیمانکاری متخصص اثبات مفهوم خود را داشته باشید این بسیار به نسبت دموهای ویدیویی راهکارهای اختصاصی مؤثرتر عمل میکند. شما بلافاصله درخواهید یافت که چنین راهکاری چقدر برای کسب و کار ویژه شما کاربردی و مفید است. موقع مقایسه راهکارهای منبع باز و منبع بسته پیش از مرحله اجرایی مهم است درک کنید چقدر زمان برای تست باقی مانده و اینکه آیا گزینهای برای تغییر محصول در مراحل اولیهاش را دارید یا خیر. اگر ددلاینها شدید نیستند پاسخ به سوال دوم، بله است و از این جهت تست محصول منبع باز با عقل جور درمیآید.
حمایت مالی
پشتیبانی همه روزه و پیکربندی بسیاری از اپهای صنعتی منبع باز و نیز سازگاری آنها با ورکلودهای سنگین به دانش عمیق و تخصصی تیم آیتی نیاز دارد. اگر چنین دانشی در اختیار نیست باید به فکر استخدام متخصصین خارجی بود و یا باید از برونسپاری استفاده کرد. رایجترین نوع برونسپاری شامل کمک متخصصین در بخش اپ (فرمت کلاه قرمز) یا میزبانی مدیریتشده که برای راهکار آیتی خاص بهینهسازی شده (Kube Clusters، WP Engine یا فرمت مشابه) میشود. البته که پشتیبانی پولی همچنین برای راهکارهای اختصاصی نیز استاندارد است؛ در عین حال هزینهها میتوانند با هم مقایسه شوند. آنطور که تمارین نشان داده، پشتیبانی فنی برای یک اپ منبع باز سازمانی معمولی تنها 10 تا 15 درصد از راهکارهای اختصاصی ارزانتر بوده.
فیکس کردن باگ، قابلیتها و مقیاسبندی جدید
گرچه راهکارهای منبع باز بالغ مرتباً با قابلیتهای توسعهیافته و فیکسهایی برای باگ به روز میشوند اما اغلب این اتفاق میافتد که توسعهدهندگان باگی را که برای یک کسب و کار خاص مهم شناخته میشود اولویت قرار نمیدهد. این حتی در خصوص درخواستهای ویژگی نیز رایجتر است. اینجا یا باید بنشینید و صبورانه انتظار بکشید و یا از وقت گران توسعهدهنده درونسازمانی یا از بیرون استخدامشدهی خود مایه بگذارید تا کد لازم را بنویسد. نکته خوبش این است که به لحاظ تئوریک امکانپذیر است و نکته بدش این است که میتواند به هزینههای غیرقابلپیشبینی و بزرگ ختم شود. در نظر داشته باشید که میزبانی مدیریتشده نگرانی در بخش نصب و به روز کردن اپها را رفع میکند اما نمیتواند تنظیمات آنها را برعهده گیرد. شرکتی که چنین نیازی دارد در اصل وارد بازار توسعه میشود و باید فرمت افزونهای که ایجاد میکند را انتخاب کند: شاخهای از محصول نرمافزاری جدید یا افزونهای برای شاخه اصلی توسعه با مشارکت توسعهدهندگان اورجینال اپ. اینجاست که مزایای استراتژیک منبع باز وارد بازی میشود- منظور همان انعطافپذیری در کاربرد و سرعت نوآوری است.
ادغام و پشتیبانی بیناپلتفرمی
برای راهکارهای چند جزئی با مقیاس بالا که فعالانه در حال تبادل داده هستند، ادغام و سازگارپذیری با پلتفرمهای مختلف میتواند نقش مهمی در انتخاب محصول نرمافزاری ایفا کند. اولویت اینجا پشتیبانی از فرمتهای صنعت برای ذخیره و تبادل داده و نیز رابطهای درست برنامهریزیشدهی اپ (APIها) است. برخی اوقات یک راهکار تک برداری با کد منبع بسته میتواند بهتر از کلی راهکار منبع باز-حتی با کیفیت خیلی بالاتر- این الزامات را تأمین کند. اما همیشه خوب است که هزینه تغییر راهکار منبع باز را –اگر ملاکهای دیگر را دارد و فاز اثبات مفهوم را هم در کرده- برآورد کنید.
ریسکها، امنیت و انطباق
منبع باز اغلب مفهوم «امن» را در کنار خود دارد. از اینها گذشته اگر فردی بتواند کد منبع را ببیند و باگها را برطرف کند باید هم به نسبت پیشنهاد های بلک باکس اختصاصی امنتر باشد مگر نه؟ اما همانطور که همه میدانیم، واقعیت پیچیدهتر از این حرفهاست! اولاً، بسیاری از برنامههای متنباز دارای میلیونها خط کد هستند که هیچکس نمیتواند آنها را به طور کامل بررسی کند. تعداد زیاد به روز رسانی این کد فقط کار را پیچیده تر می کند. درست گفتهاند که کوچک به معنای ایمن نیست. به عنوان مثال، آسیب پذیری Shellshock مبتنی بر Bash به مدت 20 سال کشف نشد! دوم، مشکل وابستگی ها حاد است، زیرا برنامه ها و کدها زنجیره تامین خاص خود را دارند. یک برنامه منبع باز ممکن است از یک کتابخانه منبع باز طرفسوم استفاده کند که به نوبه خود به کتابخانه طرف سوم دیگری پیوند میخورد و کسانی که وظیفه بررسی خود برنامه را دارند بعید است همه آرشیوها را بررسی کنند. خطرات این زنجیره بارها نشان داده شده است: آسیبپذیری در آرشیو لاگ رایگان Log4j هزاران راهکار منبع باز بزرگ را تحت تأثیر قرار داد و بر بزرگانی مانند Amazon، Cloudflare و Elastic تأثیر گذاشت؛ حملهای که آرشیوهای NMP را با آرشیوهایی با همین نام اما مخرب روی اپل و مایکروسافت جایگزین کرد. و تصمیم یک توسعه دهنده مستقل برای پشتیبانی نکردن از آرشیو کوچک در مخزن npm بیش از هزار برنامه و سایت محبوب (از جمله فیسبوک) را برای چند ساعت از کار انداخت.
مشکل دیگری که این وابستگیها دارند، مجوز دادن است. لایسنسهای منبع باز بسیار خاص هستند و عدم پرداخت به این معنا نیست که کپیرایت ندارند. خود اپ و آرشیوهایش شاید لایسنسهای مختلف داشته باشند و نقض شدیدترین آنها (Copyleft) دعوی قضایی در پی خواهد داشت. مشابه با پروسه خوشساخت ممیزی امنیت آیتی و تخفیف آسیبپذیری، کاربران و توسعهدهندگان اصلی نرمافزارهای منبع باز باید پروسه مشابهی داشته باشند تا مرتباً انطباق لایسنسها را چک کنند- ایدهاْلش بررسی نیمه خودکار است. همه آنچه در فوق بدان اشاره کردیم بدین معنا نیست که منبع باز از دیدگاه امنیت اطلاعات انتخاب بدی است: فقط باید همه خطرات آن را بدانید: تیم پیادهسازی باید فرهنگ توسعه و تعداد دفعات به روزرسانیهای امنیت را در برنامههای رقیب ارزیابی کرده و وابستگیها و مجوزها را کنترل نماید. همچنین اگر شرکت شما دارد روی زمینه توسعه نرمافزاری کار میکند ایده خوب این است که همه پکهای منبع باز را برای آسیبپذیریها و کاراییهای مخرب اسکن کنید.
[1] containerization
منبع: کسپرسکی آنلاین (ایدکو)
کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز میشناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکی نام دارد.