5 افسانه درباره نرم افزار های متن باز (Open Source Software)

آفلاین
user-avatar
عرفان حشمتی
17 بهمن 1399, خواندن در 7 دقیقه

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

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

یک پروژه توسعه یافته به صورت متن باز پروژه‌ای کاملا باز است

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

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

نرم افزار مبتنی بر پروژه‌های متن باز به طور خودکار متن باز است

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

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

استفاده از نرم افزار متن باز کاملا رایگان است

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

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

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

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

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

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

در واقع کد باز به این معنی است که احتمال بیشتری برای کاربران با تجربه به منظور شناسایی آسیب پذیری‌های احتمالی و بررسی امنیت وجود دارد. علاوه بر این، جوامع OSS به دنبال بهبود کد به ویژه برای حفظ اعتبار هستند.

کیفیت نرم افزارهای متن باز بد است؛ زیرا هرکسی می‌تواند برای آن کد بنویسد

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

به علاوه در برخی از انجمن‌ها (مثلا جامعه پیرامون توسعه هسته لینوکس) یک اصل سفت و سخت وجود دارد: فقط بهترین کد تست شده و بدون نقص در هسته اصلی پذیرفته می‌شود. تلاش برای افزودن تغییرات با کیفیت پایین رد خواهد شد و تلاش دوم با از دست دادن اعتبار شخص یا شرکت مشارکت کننده همراه است.

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

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

جمع بندی

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

منبع

چه امتیازی به این مقاله می دید؟
خیلی بد
بد
متوسط
خوب
عالی

دیدگاه‌ها و پرسش‌ها

برای ارسال دیدگاه لازم است، ابتدا وارد سایت شوید.

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

آفلاین
user-avatar
عرفان حشمتی @heshmati74
مهندس معماری سیستم های کامپیوتری، طراح و توسعه دهنده وب سایت
دنبال کردن

گفتگو‌ برنامه نویسان

بخشی برای حل مشکلات برنامه‌نویسی و مباحث پیرامون آن وارد شو