و کاربرد نرم افزار منبع باز Open Source منبع یا متن باز چیست؟ بررسی انواع تعداد صفحات: 01 تهیه کننده

ساخت وبلاگ

و کاربرد نرم افزار منبع باز Open Source منبع یا متن باز چیست؟ بررسی انواع
تعداد صفحات: 01
تهیه کننده: مهندس شهربانو دوستی
BEYAMOOZ.COM
امروزه نرم افزارهای بسیاری جهت برآورده کردن نیاز کاربران در زمینه های مختلف توسعه داده
شده اند. شاید از نظر ما تفاوتی بین این نرم افزارها نباشد اما حقیقت آن است که حتی نحوه
توسعه نرم افزارها در دنیای امروز بسیار مورد توجه است به شکلی که تعاریف استانداردهایی در
این رابطه موجب به وجود آمدن جنبش ها و مفاهیمی نو در عرصه فناوری شده است. یکی از
این مفاهیم که از اهمیت بسیار زیادی برخورددار است مفهوم نرم افزارهای متن باز یا اوپن
و کاربرد نرم افزار منبع باز خواهیم Open Source سورس است که امروز به تشریح انواع
پرداخت.
چیست؟ Open Source مفهوم
منبع باز بودن یک برنامه به معنای دسترسی رایگان به کدهای آن برای کاربران است. کاربران و
هر کسی که که به نوعی به این نرم افزار دسترسی دارد قادر خواهد کدها را خوانده، آن ها را
ویرایش کند و حتی نسخه مختص به خود را از برنامه را منتشر کند. کاربران همچنین قادر به
کپی کردن از نرم افزار اصلی و توزیع آن بدون هیچ محدودیتی هستند. هر کسی می تواند از نرم
افزار برای هر هدفی استفاده کند و برای این کار نیاز به پرداخت هیچ هزینه ای نخواهد داشت.
در مقابل نرم افزارهای منبع باز گروهی دیگر از نرم افزارها وجود دارند که به نرم افزارهای منبع
معروف هستند. این نرم افزارها بر خلاف (closed-source software) بسته یا متن بسته
نرم افزارهای منبع باز محدودیت های مختلفی را برای کاربران خود قائل می شوند. در نرم
افزارهای متن باز فقط توسعه دهندگان اصلی می توانند به تغییر، ویرایش، کپی قانونی و توزیع
آن بپردازند.
BEYAMOOZ.COM
انواع نرم افزارهای متن باز
اکثر مردم فکر می کنند که نرم افزارهای متن باز فقط مورد علاقه برنامه نویسان هستند و در
واقع مفهومی مختص برنامه نویسان است. در حالی که در واقعیت به هیچ وجه اینطور نیست و
این را می توان با نگاهی کوتاه به لیست متنوع نرم افزار منبع باز متوجه شد. برای مثال از آنجا
که بسیاری از توسعه دهندگان مفهوم نرم افزارهای متن باز از افراد پیشرو در زمینه اینترنت هم
بودند بسیاری از سرویس های ارائه شده در اینترنت بر پایه همین مفهوم شکل گرفته است. به
طوری که می توان گفت که هر کسی از اینترنت استفاده می کند در واقع در حال استفاده از
نرم افزاری متن باز است.
هر موقع که کاربران کامپیوتر از اینترنت برای باز کردن یک صفحه وب، چک کردن ایمیل، چت
با دوستان، پخش یک موسیقی یا ویدیو و دیگر کارها استفاده می کنند در واقع به شبکه ای
جهانی از کامپیوترهای استفاده کننده از نرم افزارهای متن باز جهت مسیریابی و انتقال انواع
داده ها متصل شده اند. مثلا امروزه می توان بسیاری از فعالیت هایی نظیر پردازش کلمه، مدیریت
ایمیل ها و حتی پردازش تصاویر را از طریق سرویسی تحت عنوان محاسبات ابری انجام داد. این
سرویس یکی از بهترین نمونه های نرم افزارهای متن باز است. بنابراین می توان گفت که متن
باز بودن یک نرم افزار مساله ای نیست که فقط برای توسعه دهندگان دارای اهمیت باشد.
BEYAMOOZ.COM
مفهوم اوپن سورس حتی در توسعه سیستم عامل ها نیز بسیار مورد استفاده قرار می گیرد. برای
مثال لینوکس نسخه اوبونتو یکی از سیستم عامل های متن بازاست. شما می توانید اوبوتو را
دانلود کرد، نسخه های متفاوتی از آن را کپی نموده و به دوستان خود بدهید. همچنین می
توانید هر چند بار که می خواهید روی سیستم های مختلف ان را نصب کنید. حتی در صورت
علاقه مند بودن می توانید کد منبع این سیستم عامل را دانلود کرده و با تغییر و ویرایش آن
نسخه ای به نام خود از آن منتشر نمایید.
BEYAMOOZ.COM
فایرفاکس، کروم، اپن آفیس و اندروید مثال هایی دیگر از انواع نرم افزارهای متن باز هستند. در
حالی که ویندوز مایکروسافت شاید معروف ترین نمونه از گروه نرم افزارهای متن بسته باشد.
تفاوت نرم افزار متن باز با نرم افزار آزاد
این دو مفهوم بسیار نزدیک به هم هستند و گاهی اوقات آن ها را به جای هم نیز به کار می برند.
همانطور که گفته شد نرم افزارهای متن باز عموما به صورت رایگان در دسترس هستند و کاربران
برای ایجاد چند کپی و توزیع آن ها به دلخواه خود دارای محدودیتی نیستند. نرم افزارهای
BEYAMOOZ.COM
موسوم به نرم افزارهای آزاد هم ممکن است دارای چنین ویژگی هایی باشند. ولی اصطلاح نرم
افزار آزاد که پیشتر توسط ریچارد استالمن مطرح شده است بیش از همه به این نکته اشاره دارد
که نرم افزارها در همه حال باید به صورت رایگان در اختیار کاربران قرار گیرند و کاربر در اجرا،
ویرایش، توزیع و استفاده از آن با اهداف گوناگون هیچ محدودیتی احساس نکند.
نکته کلیدی تفاوت بین مفاهیم نرم افزار متن باز و نرم افزار آزاد در همین جا شکل می گیرد:
هزینه. ممکن است یک نرم افزار کد منبع خود را به صورت رایگان در اختیار کاربران قرار دهد.
بنابراین هر کسی می تواند آن را ویرایش کرده و نسخه ای با نام خودش از آن به بازار عرضه
کند و این کار را می تواند با قیمت گذاری روی آن هم انجام دهد. یعنی ایجاد یک نسخه
دستکاری شده از نرم افزاری متن باز و رایگان و توزیع آن با دریافت مبلغی مشخص )کاری که
بسیاری از شرکت های داخلی هم در حال حاضر آن را انجام می دهند(. اینجاست که قوانین نرم
افزارهای آزاد زیر پا گذاشته می شود.
در اهداف نرم افزار های آزاد، نرم افزار در هر مرحله ای از توسعه که باشد باید به صورت رایگان
در اختیار کاربران خود قرار گرفته باشد. در واقع می توان گفت که در مفهوم نرم افزار متن باز
بیشترین تاکید روی در دسترس بودن کد برنامه جهت ایجاد تغییرات دلخواه کاربران است در
حالی که در کمپین نرم افزارهای آزاد علاوه بر این موضوع روی در دسترس قرار گفتن نرم افزار
به صورت رایگان هم تاکید ویژه ای شده است. بنابراین به طور خلاصه باید گفت که یک نرم
BEYAMOOZ.COM
افزار آزاد حتما نرم افزاری متن باز هم است ولی یک نرم افزار متن باز را نمی توان لزوما نرم
افزاری آزاد هم به شمار آورد.
انواع لایسنس های نرم افزارهای متن باز
لایسنس های بسیاری برای توسعه نرم افزارهای متن باز وجود دارد و انتخاب آن ها بستگی به
از جمله محبوب ترین این GPL یا GNU سلیقه توسعه دهندگان دارد. لایسنس های عمومی
لایسنس ها است که در بساری از پروژه های متن باز مثل لینوکس از آن استفاده می شود. اگر
استفاده کند باید کد نرم افزار خود را هم در دسترس قرار GPL توسعه دهنده ای از لایسنس
دهد. در واقع تحت این لایسنس کسی نمی تواند نرم افزاری متن باز را تحویل گرفته و آن را
تبدیل به نرم افزاری متن بسته کند و باید تغییراتی را که در آن اعمال کرده است در دسترس
عموم قرار دهد.
محدودیت کمتری را در این رابطه قائل می شوند. اگر BSD برخی دیگر از لایسنس ها مثل
برنامه ای تحت این لایسنس منتشر شود هر کسی می تواند از کدهای آن در برنامه های دیگر
نیز استفاده کند. گرچه توسعه دهندگان نرم افزار مجبور به ارائه کدهایی که تغییر داده اند
نیستند.
فواید نرم افزارهای متن باز برای کاربران
BEYAMOOZ.COM
مهم ترین ویژگی نرم افزارهای متن باز این است که می توانند به رایگان در دسترس عموم قرار
گیرند. مثالی که پیش از این راجع به اوبونتو گفته شد می تواند این مساله را به روشنی مشخص
نماید در حالی که راجع به محصول ویندوز شرکت مایکروسافت چنین مساله ای صدق نمی کند.
این موضوع به خصوص در شبکه های از اهمیت زیادی برخوردار است. شما می توانید به راحتی
روی سرور از سیستم عامل لینوکس استفاده کنید یا روی ماشین های مجازی از چند کپی از
این سیستم عامل بهره ببرید و در این میان نیازی به نگران بودن راجع به قانونی یا اخلاقی نبودن
این کار خود نخواهید داشت. یک نرم افزار متن باز علاوه بر این نکات، انعطاف پذیر هم است.
برای مثال رابط کاربری ویندوز ۸ در هنگام انتشار بسیاری از کاربرانش را نامید کرد و به این
خاطر که ویندوز نرم افزاری منبع بسته است هیچ کدام از کاربران نمی توانستند تغییرات دلخواه
خود را در آن ایجاد کنند و برای مثال رابط کاربری ویندوز ۷ را جایگزین آن نمایند.
اما وقتی یک نسخه اوبونتو منتشر می شود که کاربرانش به هر دلیلی با رابط کاربری آن ارتباط
برقرار نکنند می توان به راحتی آن را طبق سلیقه و دلخواه خود تغییر داد. برای مثال وقتی
نسخه سوم گنوم عرضه شد بسیاری از کاربران ترجیح دادند رابط کاربری گنوم ۲ را جایگزین
آن کنند. در واقع آن ها می توانستند از امکانات گنوم ۳ با ظاهر سیستم عامل گنوم ۲ بهره
ببرند.
BEYAMOOZ.COM
علاوه بر همه این ها سیاست نرم افزارهای متن باز این است که اجازه توسعه نرم افزارهایی به
مراتب بهتر از خودشان را هم با استفاده از هسته و کد مرکزی آن ها بدهند. سیستم عامل های
اندروید و کروم مثال های خوبی در زمینه اوپن سورس هستند. هر دو این سیستم عامل ها از
لینوکس و دیگر نرم افزارهای متن باز توسعه یافته و راه خود را پیدا کرده اند. بنابراین به طور
کلی می توان مزایای نرم افزارهای متن باز برای کاربران مختلف را به شکل زیر بر شمرد:
کنترل :بسیاری از مردم این نرم افزارها را به دلیل کنترلی که نمی توانند روی آن ها داشته
باشند ترجیح می دهند. همانطور که پیش از این گفته شد تقریبا همه بخش های نرم افزارهای
متن باز در اختیار کاربران است و آن ها می توانند با استفاده از دانش، تخصص و سلیقه خود آن
ها را تغییر دهند.
پایداری :اگر پای یک پروژه بلند مدت در میان باشد اولین انتخاب افراد حرفه ای یک نرم افزار
متن باز برای پیشبرد کارهای پروژه خواهد بود. زیرا از انجا که برنامه نویسان بسیاری بر روند
توسعه هر کدام از قابلیت های این نرم افزار نظارت و همکاری داشته اند می توان گفت که هر
نرم افزار متن باز کار و وظیفه خود را عمدتا بدون اشکال و با ضریب اطمینان بسیار بالایی به
انجام می رساند. بنابراین استفاده زا آن ها در پروژه های بلند مدت معقولانه به نظر می رسد.
آموزش :خیلی از برنامه نویسان از این نرم افزارها جهت تقویت مهارت کد نویسی با زبان های
برنامه نویسی متن باز بهره می برند. از آنجایی که کد این برنامه ها در اختیار همگان است
دانشجویان و علاقه مندان به برنامه نویسی می توانند با بررسی آن ها و نیز اعمال تغییرات،
تمرینی عالی برای برنامه نویسی داشته باشند.
امنیت :نرم افزارهای متن باز از لحاظ امنیتی و پایداری بسیار محکم و قابل اطمینان هستند.
این به این دلیل است که هر کسی می تواند اشتباهات موجود در کدها را یافته و آن را تصحیح
کند و این کار تنها بر عهده یک گروه خاص نیست. از آن جا که برنامه نویس های مختلفی روی
BEYAMOOZ.COM
بخش های مختلف این نرم افزارها می توانند کار کنند تعمیر، به روز رسانی و تامین امنیت ان
به سادگی و البته سریع تر از دیگر نرم افزارها صورت می گیرد. به همین دلیل است که اکثر
سرورهای شبکه و نیز سازمان های بزرگ جهت تامین امنیت سیستم های خود ترجیح می دهند
از سیستم عامل لینوکس بهره ببرند.

وایرکات ) Wire cut )...
ما را در سایت وایرکات ) Wire cut ) دنبال می کنید

برچسب : نویسنده : paryaarang بازدید : 173 تاريخ : پنجشنبه 15 اسفند 1398 ساعت: 3:58