تعریف نرم افزارهای Open Source و Free Software وتفاوت انها با هم

تعریف نرم افزارهای Open Source و Free Software و تفاوت آنها

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

اصطلاح در بحث گسترش نرم افزار برای تعیین یه رویکرد خاص برای ایجاد برنامه های کامپیوتری مطرح شد. حالا، با این حال، “متن باز” یه مجموعه گسترده تر از ارزش ها رو تعریف میکنه – آنچه که ما اون رو “راه متن باز” می نامیم. پروژه ها، محصولات یا ابتکارات متن باز، مبانی مبادله باز، مشارکت مشارکتی، مثال سازی با سرعت، شفافیت، شایستگی و گسترش انسانی رو در نظر گرفته میگیرن.

نرم افزار متن باز (Open Source) چیه؟

نرم افزار متن باز
نرم افزار متن باز

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

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

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

بعضی از نرم افزار دارای کد منبع است که فقط فرد، تیم یا سازمان که اون رو ایجاد کرده و کنترل منحصربفردی داره- میتواند تغییر کنه. مردم این نوع از نرم افزار “خاص” یا “نرم افزار منبع بسته” رو می خوانند.

تنها نویسندگان اصلی نرم افزار خاص می توانند به طور قانونی نسخه ای، تصحیح و تغییر این نرم افزار رو قانونی کنن. و برای بکار بردن نرم افزار خاص، یوزر ها کامپیوتر باید با اونها موافق باشن. Microsoft Office و Adobe Photoshop مثال هایی از نرم افزار خاص هستن.

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

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

مجوزهای برنامه های متن باز

مجوزهای متن باز بر روش استفاده، مطالعه، اصلاح و توزیع نرم افزار اثر پذیری میگذارند. به طور کلی، مجوزهای منبع مجاز به یوزر ها اجازه بکار بردن نرم افزار منبع باز رو برای هر هدف مورد نظر اجازه میدن. بعضی از مجوزهای منبع باز – همون چیزی که بعضی از اونها مجوزهای “copyleft” نامیده میشه – تعیین میکنه که هر کسی که یه برنامه منبع باز اصلاح شده رو منتشر کنه، باید کد منبع اون برنامه رو هم در کنار اون منتشر کنه. علاوه بر این، بعضی از پروتکل های متن باز تصریح می کنن که هر کسی که برنامه رو با بقیه تغییر و به اشتراک می گذارد، باید منبع این برنامه رو هم بدون پرداخت هزینه مجوز برای اون به اشتراک بذاره.

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

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

شماره تکنولوژی منبع باز و تفکر منبع باز هر 2 به برنامه نویسان و غیر برنامه نویسان کمک میکنه.

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

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

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

بعضی از یوزر ها کامپیوتر محاسبات دور رو “محاسبات ابری” می نامند، چون دارای کار هایی مثل ذخیره سازی فایل ها، اشتراک گذاری عکس ها یا تماشای فیلم ها میشه که دارای نه تنها دستگاه های محلی است، بلکه یه شبکه جهانی از رایانه های راه دور است که “اطراف” اونها رو تشکیل میدن.

رایانش ابری متن باز

رایانش ابری متن باز
رایانش ابری متن باز

محاسبات ابر، جنبه فزاینده ای از زندگی روزمره با دستگاه های متصل به اینترنت است. بعضی از برنامه های کاربردی محاسبات ابری مثل Google Apps، خاص هستن. بقیه، مثل ownCloud و Nextcloud، متن باز هستن.

برنامه های ابر محاسباتی “روی” نرم افزار اضافی رو اجرا می کنن که به اونها کمک میکنه تا خیلی ساده و به درد بخور عمل کنن، پس مردم اغلب می گویند که نرم افزاری که در زیر “برنامه های رایانش ابری” عمل میکنه به عنوان یه “پلتفرم” برای این برنامه ها عمل میکنه. سیستم عامل های رایانش ابری می توانند منبع باز یا منبع بسته باشن. OpenStack مثال ای از پلت فرم محاسبات ابر با منبع باز است.

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

به دلیل ها متفاوت، نرم افزار متن باز رو به نرم افزار خاص ترجیح میدن، از جمله:

کنترل:

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

آموزش:

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

امنیت:

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

ثبات:

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

“متن باز” همون رایگان نیست!

نه این یه فکر غلط رایج در مورد آنچه که “متن باز” به اون اشاره داره، و مفاهیم مفهومی نه تنها اقتصادی است.

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

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

نرم افزار رایگان (یا Free Software)

واژه های زیادی برای توصیف نرم افزارهای رایگان وجود داره ، واژه اصلی به زبان انگلیسی Free Software است و معروفترین واژه ای که از ترکیب این 2 واژه بیرون می آید واژه Freeware یا نرم افزاری که شما در ازای اون پولی پرداخت نمی کنین است. به هر حال این همه ماجرا نیست ، حرکتی یا بهتر بگیم انقلابی که به وسیله Free Software ها یا Freeware ها ایجاد شد به معنی واقعی به معنای رایگان بودن نرم افزارها است ، یعنی اگه شخصی یه نرم افزار Freeware رو گسترش بده و بابت اون هیچ هزینه اولیه ای نکرده باشه ، قانون Freeware به اون اجازه میده که هر کاری با نرم افزار رایگان موجود انجام بده اما در آخر نرم افزاری که پس خروجی این تغییرات است هم باید بصورت Freeware بیان بشه.اما در کنار Open Source که در اون همه کد یه نرم افزار بصورت کاملا رایگان بیان میشه ما در نرم افزارهای رایگان یا Free Software ها روشی محدود تر از Open Source برای به اشتراک گذاری کدهای برنامه ها داریم . در Open Source ما همه کد رو در اختیار همگان قرار می دهیم اما در Freeware ها نوشتن کد بر روی نرم افزار تحت قوانین و شرایط خاصی تعریف میشه تا در آخر بتوان از نرم افزار خروجی بصورت قانونی استفاده و مراحل توزیع رو انجام داد.

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

یکی دیگه از مزایایی که موجب شده طرفداری از Free Software ها یا نرم افزارهای رایگان بیشتر از Open Source ها یا متن باز ها باشه اینه که حالا شرکت های بزرگ نرم افزارهای تستی و آزمایشی خودش رو در پوسته نرم افزارهای Open Source به بازار بیان میده و در واقع هیچ ویژگی های خاصی بر روی این نرم افزارها قرار نمی بدن. شما نرم افزار Open Source رو تهیه می کنین و از اون استفاده می کنین اما زمانیکه قرار باشه از ویژگی های واقعی اون استفاده کنین با ماژول های اصلی اون رو استفاده کنین باید برای اون هزینه پرداخت کنین . یعنی هسته اصلی نرم افزار بصورت رایگان بیان میشه اما به ازای هر ماژول یا ویژگی های بایستی هزینه پرداخت بشه و این روند تقریبا در همه شرکت های تولید کننده نرم افزارهای متن باز حالا باب شده. برای مثال نرم افزار امنیتی یا بهتر بگیم سیستم مدیریت یکپارچه تهدیداتی به نام Endian وجود داره که بصورت Open Source در اینترنت قابل دانلود و استفاده است اما شما به ازای هر کدام از ماژول ها یا خرید نرم افزار اصلی باید هزینه پرداخت کنین ، بگذریم از اینکه زیادی از شرکت هایی که در ایران فایروال ها و UTM های بومی بیان میدن از همین قبیل محصولات استفاده می کنن و صرفا رابط کاربری رو فارسی سازی می کنن.

به هر حال شما در Open Source معمولا برای گرفتن نسخه قابل اعتماد و کاربردی نرم افزار هزینه پرداخت کنین. بر خلاف Open Source در Free Software شما اجازه این رو ندارید که به عنوان تولید کننده یا تغییر دهنده نرم افزار از اون استفاده تجاری کنین ، البته اینها همه در کلام است و ممکنه بعضی این قوانین رو رعایت نکنند. مهمترین رقیب نرم افزارهای رایگان و Open Source نرم افزارهای شرکتی و Closed Source هستن.


Deprecated: DateTime::__construct(): Passing null to parameter #1 ($datetime) of type string is deprecated in /home/u434423823/domains/iliana.ir/public_html/blog/wp-content/plugins/wp-shamsi/lib/Date/Jalali.php on line 87

Deprecated: DateTime::__construct(): Passing null to parameter #1 ($datetime) of type string is deprecated in /home/u434423823/domains/iliana.ir/public_html/blog/wp-content/plugins/wp-shamsi/lib/Date/Jalali.php on line 87

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *