در جمعهای برنامه نویسی معمولا از اصطلاح متن باز یا Open Source زیاد استفاده میشود. شما هم حتما این واژه را در مورد نرم افزارهایی مثل لینوکس شنیده اید. اما آیا تابه حال از خود پرسیده اید متن باز چیست؟ باید بدانید که متن باز بودن یا نبودن یک نرم افزار نه تنها برای برنامه نویسان، که بنا به دلایلی برای کاربران نیز بسیار مهم است. پس تا پایان این مطلب همراه ما باشید تا با این اصطلاح پرکاربرد بیشتر آشنا شوید.
نرم افزار متن باز یا Open Source چیست؟
به زبان ساده اگر یک نرم افزار اپن سورس یا متن باز باشد، کد آن آزادانه و رایگان در اختیار همه قرار دارد. یعنی چه کاربر آن نرم افزار باشید چه نباشید، میتوانید آزادانه این کد را دریافت یا ویرایش کرده و نسخه مخصوص به خودتان را منتشر کنید. کاربران حتی میتوانند نرم افزار و نسخههای مختلف آن را به هر تعداد که میخواهند منتشر کنند. هرکس میتواند نرم افزار را برای هر هدفی که میخواهد استفاده کند. در یک جمله: هیچ هزینه لایسنسی برای نرم افزار متن باز وجود ندارد!
به عنوان مثال سیستم عامل لینوکس اوبونتو یک سیستم عامل متن باز است. شما میتوانید سیستم عامل اوبونتو را دانلود کرده و به هر تعداد که دلتان میخواهد از آن کپی بگیرید. حتی میتوانید کپیهای خود را به هر تعداد از دوستانتان که میخواهید بدهید! میتوانید اوبونتو را روی هر تعداد سیستمی که نیاز دارید نصب کنید. اگر دلتان بخواهد میتوانید سورس کد اوبونتو یا نرم افزارهای آن را دریافت و با دستکاری اش تغییرات دلخواه خودتان را روی آن نرم افزار اعمال کنید. تمام نرم افزارهای متن باز به شما اجازه میدهند تمام این کارها را آزادانه انجام دهید!
برای لمس بهتر موضوع پیام رسان تلگرام را به خاطر آورید. تلگرام نیز مانند اوبونتو یک نرم افزار متن باز است و سورس کد آن در اختیار همگان قرار داده شده. همه روزه نسخههای مختلف فرعی با ویژگیهای متفاوت از این اپلیکیشن موبایلی ساخته و در مارکتهای اپلیکیشن در معرض دانلود کاربران قرار میگیرد.
در مقابل نرم افزارهای متن باز، نرم افزارهای متن بسته (Closed Source) قرار دارند. این نرم افزارها دارای لایسنسی هستند که اجازه دسترسی کاربر به سورس کد برنامه را نمیدهند. به عنوان مثال مرورگرهای فایرفاکس و کروم، نرم افزار OpenOffice و تلگرام و سیستم عاملهای اندروید و لینوکس نمونههای معروف نرم افزارهای متن باز هستند. از طرف دیگر سیستم عامل ویندوز یک نمونه مشهور از نرم افزارهای متن بسته است.
مزایای نرم افزارهای متن باز
نرم افزارهای متن باز دارای محبوبیت بسیاری در میان کاربران و برنامه نویسان هستند. در تمام این مطلب به رایگان و آزاد بودن نرم افزارهای متن باز اشاره کردیم. اما به نظر نمیرسد که تمام این محبوبیت ناشی از رایگان بودن این نرم افزارها باشد. چرا که ویژگیهای یک نرم افزار خوب چیزی بیش از رایگان بودن صرف است. در ادامه به برخی ویژگیها و مزایایی میپردازیم که به محبوبیت روز افزون نرم افزارهای متن باز کمک میکنند.
امنیت
نرم افزارهای متن باز روزانه در حال تست شدن توسط جامع برنامه نویسی هستند. کدهای این نرم افزارها در دسترس همه برنامه نویسان قرار دارد و نقاط ضعف این نرم افزارها بیشتر و سریعتر کشف میشود. همینطور پس از کشف این نقاط ضعف، افراد بیشتری روی رفع آن کار میکنند. بنابراین این گونه اشکالات امنیتی زودتر برطرف میشوند.
قابلیت سفارشی سازی
همانطور که در بالا اشاره کردیم هرکسی میتواند کدهای یک نرم افزار متن باز را دریافت کرده و به تناسب سلیقه خود تغییر دهد. بنابراین شما همیشه در این گونه نرم افزارها برای سفارشی سازی آزادید!
کیفیت
نرم افزارهای متن باز توسط برنامه نویسان بسیاری از سراسر دنیا مورد بهبود قرار میگیرند. در واقع تغییرات کیفی به تناسب نیاز کاربران بسیار سریع روی این نرم افزارها ایجاد میشود؛ چرا که برنامه نویسان تغییراتی را روی این نرم افزارها اجرا میکنند که کاربران میخواهند.
جمع بندی
مبحث لایسنس نرم افزارها یکی از مباحث داغ در بین برنامه نویسان است. در این بین نرم افزارهای متن باز در بین کاربران و برنامه نویسان از محبوبیت زیادی برخوردارند. این محبوبیت علاوه بر رایگان بودن به خاطر مزایای بسیاری است که این گونه نرم افزارها در اختیار کاربران میگذارند. پیام رسان تلگرام یکی از نرم افزارهای متن بازی است که این روزها بازار داغی در میان کاربران ایرانی دارد. همانطور که میبینید همه روزه نسخههای مختلفی از این پیام رسان محبوب در مارکتهای موبایل در معرض دانلود قرار میگیرد. تجربه شما از استفاده از نرم افزارهای متن باز چیست؟ از خواندن نظرات دلگرم کننده شما خوشحال میشویم!
۹ دیدگاه
zahra nosrati۲۶ اسفند ۱۳۹۹، ۰۷:۱۴
سلام خسته نباشید یک سوال داشتم.
آیا نرم افزار ازاد الزاما متن باز نیز هست؟
و
آیا متن باز الزاما نرم افزار ازاد نیز هست؟
نازنین کریمی مقدم۲۶ اسفند ۱۳۹۹، ۰۹:۴۷
درود.
در هردوحالت جوابتون خیر هست.
در بیشتر مواقع نرم افزار رایگان متن باز هست، اما باز هم یک نرم افزار میتونه به دلایل مختلفی رایگان باشه اما متن باز نباشه، به این معنی که توسعه دهنده کد و شیوه ویرایشش رو به صورت مستقیم قرار نداده باشه و هنگام نصب در لایسنس شرایط رو قید میکنه. برای توضیح بیشتر میتونید به <a href="https://www.quora.com/What-software-is-open-source-but-not-free-as-in-freedom" target="_blank" rel="noopener nofollow ugc">بحث برنامههای متن باز غیر رایگان در کوئرا</a> بپیوندید.
خیلی از نرم افزارهای متن باز هم رایگان نیستند و درحقیقت حق ویرایش خودشون رو به کاربران میفروشند. یعنی تا پول پرداخت نشه، کاربر اجازه دسترسی به کد رو نداره. در این مورد هم میتونید <a href="https://softwareengineering.stackexchange.com/questions/21907/open-source-but-not-free-software-or-vice-versa" target="_blank" rel="noopener nofollow ugc">جوابهای این پست استک </a> رو مطالعه کنید.
علی۱۴ بهمن ۱۳۹۸، ۱۶:۵۴
همه جا گفته میشه کد نرم افزار open source رو میشه دید و ویرایش کرد، ولی چجوری؟؟؟ الان همین برنامه هایی که تو متن بهش اشاره شده چجوری میشه سورس رو پیدا کرد و مشاهده بشه؟؟؟؟؟
Amir۲۲ تیر ۱۳۹۸، ۰۶:۴۶
بحث امنیت هنوز برام تایید شده نیست ! درسته هر کسی میتونه مشکلات برنامه نوشته شده رو پیدا کنه ولی اگر یک هکر این مشکل و باگ رو پیدا کنه و کسی جز اون خبر نداشته باشه، اونوقت میتونه از این به صود خودش استفاده کنه !! به نظر شما این یک ضعف نیست ؟
محمد محبتی۲۶ اردیبهشت ۱۳۹۸، ۱۵:۱۴
مفید بود
تشکر
hashem۱۷ اردیبهشت ۱۳۹۸، ۱۳:۱۶
سلام وقتتون بخیر
خیلی ممنون بابت اطلاعات خوبی که در اختیارمون قرار میدین
میخواستم بدونم تولید کنندههای نرم افزارهای متن باز چطور کسب درآمد میکنن از در اختیارقراردادن تولید نرم افزارشون بین عموم ؟
زهرا فرحمند۱۹ اردیبهشت ۱۳۹۸، ۰۶:۲۶
سلام وقتتون به خیر
معمولا دیدی که به این نرم افزارها هست تجاری نیست.
اما میتونن با donation کمک مالی داشته باشن
و یا اینکه قسمت هایی از نرم افزار open source نباشه مثلا پلاگین هایی به نرم افزار اضافه کنن و اونها رو فروشی کنن
و یا آموزش کار با نرم افزارهاشون رو بفروشن
می تونن قراردادهای پشتیبانی بفروشن
و...
علی۱۷ اردیبهشت ۱۳۹۸، ۱۲:۱۶
کروم متن باز نیست !!!
۰۸ فروردین ۱۴۰۱، ۱۰:۴۲
بله درستترش کرومیوم هستش که خود کروم از اون استفاده میکنه .