نرم افزارهای اپن سورس

نرم افزار یا برنامه های اپن سورس open source یا متن باز

نرم افزار یا برنامه های اپن سورس open source یا متن باز

 

معنی اصطلاح منبع باز یا متن باز(اپن سورس، Open-Source) چیست؟

 

اصطلاح متن باز(Open-Source) به برنامه و نرم افزارهای گفته می شود که افراد می توانند آن را تغییر داده و به اشتراک بگذارند زیرا طوری طراحی شده اند که برای عموم قابل دسترسی باشد.

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

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

نرم افزارهای متن باز:

نرم افزارهای open sources

نرم افزار های متن باز، به نرم افزارهایی گفته میشود که هرکس می تواند کد های سازنده آن نرم افزار را بازرسی، تغییر و یا بهتر کند.

 

کد منبع، قسمتی از نرم افزار است که بسیاری از کاربران هیچ وقت آن را نمی بینند؛ این کدی است که برنامه نویسان میتوانند آن را برای تغییر نحوه کار قسمتی از نرم افزار یا برنامه تغییر دهند.

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

تفاوت بین نرم افزارهای منبع باز و دیگر نرم افزارها در چیست؟

 

 

تفاوت برنامه های cpyleft , و برنامه های copyright

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

 

فقط نویسندگان اصلی نرم افزارهای اختصاصی می توانند به طور قانونی آن نرم افزار را کپی، بازرسی و تغییر دهند.

کاربران برای استفاده از نرم افزارهای اختصاصی می بایست توافق نامه‌ای که توسط نویسندگان اصلی تنظیم شده را تایید و امضا کنند که بدون اجازه نویسنده نرم افزار هیچ تغییراتی را در نرم افزاری مربوطه به وجود نخواهند آورد. نرم افزارهای آفیس و فتوشاپ از این دسته هستند.

اما نویسنده نرم افزارهای اپن سورس، کدهای نرم افزار را در دسترس عموم قرار داده و هرکس که بخواهد میتواند آن را کپی کند، تغییر دهد، به اشتراک بگذارد و یا از آن یاد بگیرد.

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

مجوزهای نرم افزارهای متن باز میتواند بر روی نحوه استفاده، مطالعه، تغییرات و توزیع، تاثیر گذار باشد. در کل، مجوزهای برنامه های متن باز به کاربر اجازه میدهد که نرم افزار مورد نظر را برای هر هدفی که در نظر دارد استفاده کند.

بعضی از مجوزهای متن باز هستند که به آنها مجوزهای کپی‌لفت (copyleft) می گویند.

 

کپی لفت چیست؟

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

این مجوز قید میکند که هر کس که یک برنامه منبع باز اصلاح شده را منتشر میکند، باید کد منبع آن را نیز به همراه برنامه منتشر کند. علاوه بر این، بسیاری از مجوزهای منبع باز شرط می کنند، هرکسی که برنامه ای را تغییر می دهد و با دیگران به اشتراک می بگذارد، باید کد منبع آن برنامه را بدون گرفتن هزینه صدور برای آن به اشتراک بگذارد.

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

آیا نرم افزارهای منبع باز فقط برای برنامه نویسان اهمیت دارد؟

 

خیر، فناوری و تفکر منبع باز برای افراد برنامه نویس و غیر برنامه نویس مفید است.

از آنجایی که مخترعین اولیه، بسیاری از اینترنت را بر پایه فناوری منبع باز ساخته اند( مانند سیستم عامل لینوکس و برنامه وب سرور آپاچی )، هرکسی که امروز از اینترنت استفاده می کند از نرم افزار منبع باز بهره‌ مند می شود.

هربار که کاربران، صفحات وب را مشاهده میکنند، با دوستان خود صحبت می کنند، بصورت آنلاین موسیقی گوش می کنند یا بازیهای ویدیویی را به صورت چند نفره انجام میدهند؛

کامپیوتر، تلفن همراه یا کنسول های بازی آنها به یک شبکه جهانی متشکل از کامپیوترها که وصل می شوند که با استفاده از نرم افزارهای منبع باز اطلاعات را به دستگاه مورد نظر ارسال می کنند.

کامپیوترهایی که این کارهای مهم را انجام می دهند معمولاً در مکان های دوردستی واقع شده‌اند که کاربران واقعاً آنها را نمی بیند و یا نمی توانند به آنها دسترسی فیزیکی داشته باشند، به همین دلیل برخی افراد این کامپیوترها را کامپیوتر از راه دور(Remote Computers)  می نامند.

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

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

بسیاری از از افراد به رایانش از راه دور، رایانش ابری (Cloud Computing) نیز می گویند. زیرا شامل فعالیت هایی(مانند ذخیره فایل ها، به اشتراک گذاری عکس ها یا دیدن ویدیوها)  میشود که نه تنها دستگاه های محلی، بلکه شبکه جهانی کامپیوترهای از راه دور را به هم پیوند می دهد، که یک جو(atmosphere) را اطراف آن تشکیل می دهد(به همین دلیل به ابر تشبیه می شود).

رایانش ابری یک جنبه مهم از زندگی روزمره با دستگاه های متصل به اینترنت است. برخی از برنامه های رایانش ابری مانند گوگل اپ (google app) به صورت انحصاری هستند و بقیه آنها مانند ownCloud و Nextcloud به صورت متن باز ارائه شده‌اند.

برنامه های رایانش ابری به عنوان نرم افزار اصلی اجرا می شوند، این مسئله باعث می شود که به نرم افزارهای اضافی کمک کنند تا به صورت روان و کارآمد کار کنند؛ به همین دلیل اغلب افراد میگویند، نرم افزارهای زیر برنامه رایانش ابری به عنوان پلتفرم برای ان برنامه ها عمل میکنند و سیستم عامل های رایانش ابری می توانند منبع باز یا بسته باشند.

Open stack یکی از پلتفرم های منبع باز رایانش ابری است.

 

 

چرا افراد ترجیح می دهند که از نرم افزارهای متن باز استفاده کنند؟

 

افراد به چند دلیل نرم افزارهای متن باز را به نرم افزارهای انحصاری ترجیح می دهند، این دلایل شامل موارد زیر است،

 

کنترل برنامه های اپن سورس:

 

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

این نرم افزارها برای کاربرانی که برنامه نویس نیستند نیز منفعت دارد زیرا میتوانند از نرم افزار مورد نظر برای هر هدفی استفاده کنند؛ در صورتی که از نرم افزارهای انحصاری می بایست فقط در جهت اهداف مشخص شده توسط سازنده برنامه استفاده شود.

 

تمرین و آموزش به کمک برنامه های متن باز :

 

دلیل علاقه بسیاری از افراد به نرم افزار منبع باز این است که این نرم افزارها به آنها کمک میکند که برنامه نویس بهتری شوند. از آنجایی که کد برنامه های منبع باز برای عموم قابل دسترسی است، دانشجویان میتوانند با مطالعه آنها یاد بگیرند که نرم افزارهای بهتری بسازند.

همچنین دانشجویان می توانند کار خود را با دیگران به اشتراک بگذارند و با استفاده از نظرها و انتقادهای دیگران، مهارت های خود را بهبود بخشند.وقتی افراد اشتباهات را در کد منبع برنامه ها کشف می کنند، میتوانند این اشتباهات را با دیگران در میان بگذارند تا به آنها کمک کنند که دیگر این اشتباهات تکرار نشوند.

 

امنیت نرم افزارهای متن باز :

 

بسیاری از افراد نرم افزارهای متن باز را ایمن تر و پایدارتر از نرم افزارهای انحصاری در نظر می گیرند. زیرا هر کسی میتواند کد نرم افزار منبع باز را مشاهده و اصلاح کند، همچنین ممکن است فردی، خطاها یا حذفیاتی را که نویسندگان اصلی برنامه از دست داده اند، شناسایی و اصلاح کند.

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

ثبات برنامه های اپن سورس:

 

بسیاری از کاربران ترجیح میدهند از نرم افزارهای متن باز برای پروژه های مهم و بلند مدت استفاده کنند.

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

جامعه استفاده کنندگان از برنامه های اپن سورس:

 

نرم افزارهای اپن سورس اغلب باعث ایجاد انگیزه‌ای بین کاربران و توسعه دهندگان میشود تا پیرامون آن جامعه‌ای را تشکیل دهند.

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

 

آیا “منبع باز” فقط به معنای رایگان بودن چیزی نیست؟

 

خیر. این یک سوء برداشت عمومی در خصوص مفهوم نرم افزارهای متن باز است.

برنامه نویسان میتوانند بابت نرم افزار متن بازی که خود ساخته‌اند یا در آن سهیم هستند، پول دریافت کنند. اما برخی از برنامه نویسان به این نتیجه رسیده‌اند که دریافت هزینه جهت خدمات و پشتیبانی نرم افزار سود بیشتری نسبت به فروش آن نرم افزار دارد؛

 

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

 

 

[/vc_column_text][/vc_column][/vc_row]
بستن