7روز هفته و 24 ساعت روز یمتوانید سفارش خود را ثبت نمایید

نرم افزار OPEN SOURCE

نرم افزار OPEN SOURCE

عبارت open source به چیزی که افراد می توانند آن را تغییردهند یا به اشتراک بگذراند اشاره می کند زیرا طراحی آن به طور عمومی در دسترس است.

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

نرم افزار open source چیست؟

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

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

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

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

ویژگی های نرم افزار OPEN SOURCE

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

توزیع آزادانه

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

توزیع مجدد کد منبع

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

هیچ تبعیضی وجود نداشته باشد

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

مجوز آزاد

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

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

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

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

نرم افزارهای open source متفاوت هستند. تولیدکنندگان این نرم افزارها کد آن را در اختیار کسانی که مایلند کد را مشاهده کنند و کپی کنند، از آن یاد بگیرند، آن را تغییر دهند یا آن را به اشتراک بگذارند، قرار می دهند. GNU Image Manipulation Program وLiber Office نمونه هایی از نرم افزارهای open source هستند.

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

مجوزهای open source بر نحوه استفاده، مطالعه، اصلاح و توزیع نرم افزار تأثیر میگذارند. به طور کلی، مجوزهای متن باز به کاربران رایانه ای اجازه استفاده از نرم افزار متن باز را برای هر هدفی که می خواهند می دهند. برخی ازمجوز های open source -که برخی آن ها را copyleft می نامند- بیان می کند که هرکس که یک برنامه open source را اصلاح و منتشرمی کند باید کد آن را نیز همراه برنامه منتشر کند. علاوه بر این، برخی از مجوز های open source ، تصریح می کنند که هر کسی که برنامه را با دیگران تغییر می دهد و آن را با دیگران به اشتراک می گذارد، باید بدون درنظر گرفتن هزینه مجوز، کد اصلی این برنامه را نیز به اشتراک بگذارد.

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

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

خیر. تکنولوژی open source و تفکر open source هم به برنامه نویسان و هم به غیر برنامه نویسان کمک می کند.

مخترعان اولیه، بسیاری از بخش های اینترنت را بر روی فن آوری های open source ساخته اند – مانند سیستم عامل لینوکس و وب سرور آپاچی، هر کسی که امروزه از اینترنت استفاده می کند از نرم افزار open source بهره می برد.

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

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

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

رایانش ابری بخش بسیار مهمی از زندگی امروزه ما با دستگاه های متصل google Apps به اینترنت است.برخی از برنامه های رایانش ابری مانند Owncloud و Nextcloud نرم افزار خصوصی هستند اما برخی دیگر مانندنرم افزارهای open source هستند.

برنامه های رایانش ابری به منظور کنترل نرم افزارهای دیگر اجرا می شوند و به آن ها کمک می کند تا به خوبی کار کنند. به همین خاطر مردم اغلب می گویند که نرم افزار هایی که در پس زمینه اجرا میشوند، می توانند عملیات های اپلیکیشن را به عنوان یک پلت فرم برای آن ها عمل کنند. پلتفرم های رایانش ابری می توانند open source یا closed source باشند. open stack نمونه ای از پلت فرم رایانش ابری open source است.

چرا مردم استفاده از نرم افزارهای OPEN SOURCE را ترجیح می دهند؟

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

کنترل

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

امنیت

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

پایداری

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

منظور از open source فقط رایگان بودن است؟

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

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

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

مزایای استفاده از نرم افزار OPEN SOURCE

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

معایب استفاده از نرم افزار OPEN SOURCE

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

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

مقالات مرتبط

سبد خرید
There are no products in the cart!
ادامه خرید
0