مفهوم برنامههای متن باز (Open Source) و نرمافزار آزاد چیست؟
11 مهر 1401 1401-07-28 12:06مفهوم برنامههای متن باز (Open Source) و نرمافزار آزاد چیست؟
مفهوم برنامههای متن باز (Open Source) و نرمافزار آزاد چیست؟
Open Source در جمعهای برنامه نویسی معمولا از اصطلاح متن باز یا Open Source زیاد استفاده میشود. شما هم حتما این واژه را در مورد نرم افزارهایی مثل لینوکس شنیده اید. اما آیا تابه حال از خود پرسیده اید متن باز چیست؟
باید بدانید که متن باز بودن یا نبودن یک نرم افزار نه تنها برای برنامه نویسان، که بنا به دلایلی برای کاربران نیز بسیار مهم است. پس تا پایان این مقاله از تدریس24 همراه ما باشید تا با این اصطلاح پرکاربرد بیشتر آشنا شوید.
نرم افزار متن باز یا Open Source چیست؟
Open Source به زبان ساده اگر یک نرم افزار متن باز باشد، کد آن آزادانه و رایگان در اختیار همه قرار دارد. یعنی چه کاربر آن نرم افزار باشید چه نباشید، میتوانید آزادانه این کد را دریافت یا ویرایش کرده و نسخه مخصوص به خودتان را منتشر کنید.
کاربران حتی میتوانند نرم افزار و نسخههای مختلف آن را به هر تعداد که میخواهند منتشر کنند. هرکس میتواند نرم افزار را برای هر هدفی که میخواهد استفاده کند. در یک جمله: هیچ هزینه لایسنسی برای نرم افزار متن باز وجود ندارد!
به عنوان مثال سیستم عامل لینوکس اوبونتو یک سیستم عامل متن باز است. شما میتوانید سیستم عامل اوبونتو را دانلود کرده و به هر تعداد که دلتان میخواهد از آن کپی بگیرید. حتی میتوانید کپیهای خود را به هر تعداد از دوستانتان که میخواهید بدهید!
میتوانید اوبونتو را روی هر تعداد سیستمی که نیاز دارید نصب کنید. اگر دلتان بخواهد میتوانید سورس کد اوبونتو یا نرم افزارهای آن را دریافت و با دستکاری اش تغییرات دلخواه خودتان را روی آن نرم افزار اعمال کنید. تمام نرم افزارهای متن باز به شما اجازه میدهند تمام این کارها را آزادانه انجام دهید!
برای لمس بهتر موضوع پیام رسان تلگرام را به خاطر آورید. تلگرام نیز مانند اوبونتو یک نرم افزار متن باز است و سورس کد آن در اختیار همگان قرار داده شده. همه روزه نسخههای مختلف فرعی با ویژگیهای متفاوت از این اپلیکیشن موبایلی ساخته و در مارکتهای اپلیکیشن در معرض دانلود کاربران قرار میگیرد.
در مقابل نرم افزارهای متن باز، نرم افزارهای متن بسته (Closed Source) قرار دارند. این نرم افزارها دارای لایسنسی هستند که اجازه دسترسی کاربر به سورس کد برنامه را نمیدهند. به عنوان مثال مرورگرهای فایرفاکس و کروم، نرم افزار OpenOffice و تلگرام و سیستم عاملهای اندروید و لینوکس نمونههای معروف نرم افزارهای متن باز هستند. از طرف دیگر سیستم عامل ویندوز یک نمونه مشهور از نرم افزارهای متن بسته است.

مزایای نرم افزارهای متن بازOpen Source
Open Source نرم افزارهای متن باز دارای محبوبیت بسیاری در میان کاربران و برنامه نویسان هستند. در تمام این مطلب به رایگان و آزاد بودن نرم افزارهای متن باز اشاره کردیم. اما به نظر نمیرسد که تمام این محبوبیت ناشی از رایگان بودن این نرم افزارها باشد. چرا که ویژگیهای یک نرم افزار خوب چیزی بیش از رایگان بودن صرف است. در ادامه به برخی ویژگیها و مزایایی میپردازیم که به محبوبیت روز افزون نرم افزارهای متن باز کمک میکنند.
- امنیت
نرم افزارهای متن باز روزانه در حال تست شدن توسط جامع برنامه نویسی هستند. کدهای این نرم افزارها در دسترس همه برنامه نویسان قرار دارد و نقاط ضعف این نرم افزارها بیشتر و سریعتر کشف میشود. همینطور پس از کشف این نقاط ضعف، افراد بیشتری روی رفع آن کار میکنند. بنابراین این گونه اشکالات امنیتی زودتر برطرف میشوند.
- قابلیت سفارشی سازی
همانطور که در بالا اشاره کردیم هرکسی میتواند کدهای یک نرم افزار متن باز را دریافت کرده و به تناسب سلیقه خود تغییر دهد. بنابراین شما همیشه در این گونه نرم افزارها برای سفارشی سازی آزادید!
- کیفیت
نرم افزارهای متن بازOpen Source توسط برنامه نویسان بسیاری از سراسر دنیا مورد بهبود قرار میگیرند. در واقع تغییرات کیفی به تناسب نیاز کاربران بسیار سریع روی این نرم افزارها ایجاد میشود؛ چرا که برنامه نویسان تغییراتی را روی این نرم افزارها اجرا میکنند که کاربران میخواهند.
نقاط قوت برنامه های متن بازOpen Source
Open Source این روش هم مانند همه ی راه های دیگر، دارای خوبی ها و کمبود هایی است. برای آشنایی بهتر با برنامه های Open Source باید با نقاط قوت و ضعف آنها هم آشنا باشید.
- رایگان بودن
اولین و بهترین خصوصیت این نرم افزار ها، رایگان بودنشان است. هر اپلیکیشنی که بصورت متن باز تولید و ارائه میشود، رایگان در دسترس عموم قرار میگیرد. در برخی قوانین که برای این برنامه ها وجود دارد، حتی نرم افزار هایی که از روی این برنامه ها ساخته میشوند و روانه بازار میگردند نیز باید رایگان باشند. همچنین همه قادر خواهند بود تا به کدهای اصلی (کدهای منبع که به آنها Source Code گفته میشود) دسترسی داشته باشند.
- خلاقیت جمعی
Open Source وقتی توسعه دهندگان زیادی روی یک برنامه کار کنند، مطمئنا خلاقیت و نتیجه ی بهتری حاصل میشود. این موضوع مسلم است که چند مغز، بهتر از یک مغز کار میکنند. درباره نرم افزار ها هم همین موضوع صادق است. معمولا کسانی که به ویرایش نرم افزار اقدام میکنند، برنامه نویس ها و توسعه دهندگان حرفه ای هستند. شرکت صاحب نرم افزار هم این اپلیکیشن های دستکاری شده را بررسی میکند و از نکات مثبت آنها برای به روز رسانی های بعدی استفاده میکند.
در این فرآیند ممکن است بخش های خلاقانه ای به نرم افزار اصلی افزوده شود که تیم سازنده آن اصلا در مورد آن حتی فکر هم نکرده بودند.
- افزونه (پلاگین) های بیشتر و بهتر
یکی از فعالیت هایی که توسعه دهندگان برای نرم افزار های متن باز انجام میدهند، درست کردن افزونه (Plugin) برای آنهاست. پلاگین ها بسته های کوچک نرم افزاری هستند که برای افزودن یک قابلیت جدید، یا برطرف کردن یک کمبود در برنامه اصلی ایجاد میشوند.
به عنوان مثال ممکن است مرورگر اینترنت شما، توانایی استفاده مستقیم از مدیریت دانلود جداگانه ای که خودتان نصب کرده اید را نداشته باشد. این مشکل با اضافه کردن یک افزونه به مرورگر حل میشود. (مثلا برای IDM، باید افزونه IDM Integration Module را روی مرورگر نصب کنید).
Open Source یکی از کارهای توسعه دهندگان این است که برای اپلیکیشن های متن باز، افزونه های مختلف تولید کنند. معمولا شرکت های معتبر این افزونه ها را بعد از بررسی و تایید، روی سرور های خود قرار میدهند تا برای همه در دسترس باشند.
- رفع بهتر باگ ها
Open Source باگ داشتن یکی از ویژگی های همه ی اپلیکیشن های جدید است. بسیار کم پیش می آید که یک نرم افزار جدید دارای باگ نباشد. به همین دلیل معمولا شرکت های نرم افزاری، قبل از ارائه رسمی، نسخه آزمایشی محصول خود را در اختیار توسعه دهندگان و برنامه نویس ها قرار میدهند. آنها وظیفه دارند که همه ی قسمت ها را بررسی کنند و اگر اشکالی مشاهده کردند به شرکت گزارش دهند. این مرحله یک گام اساسی و حساس برای تست امنیت محصول هم به حساب می آید.
Open Source این فعالیت برای برنامه های متن باز به صورت بسیار گسترده تر انجام میشود. یعنی کد اصلی در اختیار همه ی کاربران قرار میگیرد. هرکدام از آنها اگر مشکلی را مشاهده کنند، آنرا با استفاده از سرویس های Feedback به اطلاع سازنده میرسانند. پس شرکت میتواند به سرعت از مشکلات موجود با خبر شده و آنها را برطرف نماید.
نقاط ضعف برنامه های متن بازOpen Source
بعد از اینکه نکات مثبت را درباره این روش بررسی کردیم، باید از ضعف هایی که در این نوع از اپلیکیشن ها مشاهده میشود نیز بشناسیم.
- نبود پشتیبانی فنی
پشتیبانی فنی از نرم افزار های متن باز مشکل، و در بسیاری از موارد غیرممکن است. زیرا هر لحظه، هر کاربر، هر جای کره زمین، در حال تغییر و به روز رسانی این نرم افزار ها هستند. مطمئنا شرکت سازنده نمیتواند همه ی این تغییرات را پوشش دهد و بررسی کند. به همین دلیل پشتیبانی فنی از طرف سازنده معنی خود را از دست میدهد.
- امکان سو استفاده و کاهش امنیت
Open Source وقتی کد منبع یک برنامه در اختیار همه قرار داشته باشد، با کمی بی اخلاقی میتوان از آنها سو استفاده کرد. این مورد مخصوصا در اپلیکیشن هایی که با اطلاعات مهم کاربران سر و کار دارند بیشتر مشاهده میشود. به عنوان مثال نرم افزار تلگرام دارای کلاینت (نسخه های غیر رسمی مثل موبوگرام و طلاگرام و …) های زیادی در ایران است. اصلا بعید نیست که یک نسخه غیر رسمی دارای اشکالات امنیتی باشد و بتواند مشکلاتی را ایجاد بکند.
پست های مرتبط
VDI چیست و چه کاربردی دارد؟
مزایا و معایب اس ام اس مارکتینگ چیست؟
فریم ورک چیست؟
توپولوژی مش چیست؟
دلایل عدم اتصال دامنه جدید به هاست چیست؟
اعضا
-
Active ماه 5, 2 هفته قبل
-
Active ماه 9, 2 هفته قبل
-
Active ماه 9, 3 هفته قبل
-
Active ماه 10, 3 هفته قبل
-
Active 1 سال, ماه 1 قبل
بروز رسانی
سمیرا مردانی's بروزسانی مشخصات انجام شد 1 سال, ماه 6 قبل
محمد جواد محمدی's بروزسانی مشخصات انجام شد 1 سال, ماه 6 قبل
مریم نوری's بروزسانی مشخصات انجام شد 1 سال, ماه 6 قبل
محمد امین طاهری's بروزسانی مشخصات انجام شد 1 سال, ماه 6 قبل
نگار حجتی's بروزسانی مشخصات انجام شد 1 سال, ماه 6 قبل