بلاگ
دسامبر 11
اپن سورس (Open source) چیست

اپن سورس (Open source) چیست

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

Open source چیست؟

اگر در معنی لغوی کلمه open source دقت کنید به سادگی مفهوم اپن سورس را بیان می‌کند. بله درست است معنی لغوی این عبارت کد باز است. اجازه دهید کمی بیشتر توضیح دهیم! به طور کلی نرم‌افزارها و برنامه‌های قابل نصب روی کامپیوتر و گوشی به دو صورت رایگان و تجاری(غیررایگان) در اختیار افراد قرار می‌گیرند. معمولا در بیشتر نرم‌افزارها امکان دسترسی به کد برنامه و جزئیات آن وجود ندارد. اغلب نرم‌افزارهای تجاری به صورت کد بسته هستند زیرا شرکت با رفع باگ‌ها و افزودن موارد جدید در برنامه کاربران را تشویق به خرید لایسنس جدید می‌کند. برخی از نرم‌افزارها به صورت کد باز ارائه می‌شوند و برنامه نویسان می‌توانند کدهای برنامه را ویرایش کرده و تغییرات مورد نظر را اعمال کنند. نرم افزارهایی که اپن سورس هستند اغلب مشکلات و باگ‌های کمتری دارند زیرا باگ‌ها شناسایی شده و توسط افراد زیادی به روش‌های متفاوت حل می‌شود. از طرفی گسترش و رشد نرم افزارهای اپن سورس سریع‌تر است.

مزایای برنامه‌های اپن سورس

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

معایب برنامه‌های اپن سورس

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

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

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

انقلاب لینوکس

انقلاب لونیکس سرچشمه پیدایش نرم‌افزارهای اپن سورس است. در سال 1970 یونیکس توسط دو مهندس به نام‌های  کن تامپسون و دنیس ریتچی منتشر شد. به دلیل انطباق‌پذیری بالا به سرعت در مراکز آموزشی و تجاری توزیع شد و مورد استفاده قرار گرفت. کد سیستم‌عامل یونیکس در اختیار کاربران قرار نمی‌گرفت و بعد از مدتی کاربران ملزم به رعایت قوانین خاص و پرداخت هزینه هم شدند. ریچارد استالمن، دانشجوی دکترای آن زمان در دانشگاه MIT با تفکر دسترسی همه به کدهای سیستم‌عامل تیمی به نام GNU (گنو) را تشکیل داد تا سیستم‌عاملی شبیه به یونیکس را برای همگان بسازند. این تیم یک سیستم عامل کامل به نام گنو را در آزمایشگاه MIT درست کردند. در دانشگاه فشارهایی برای استفاده از رمز وجود داشت که خلاف نظرات استالمن بود. بعدها در دهه 70و 80 نرم‌فزارها به صورت کد بسته در اختیار کاربران قرار گرفت و دراوایل دهه 80 سیستم‌عامل‌ها نیز کد بسته شدند و کاربران در زمان خرید متعهد می‌شدند که آن را در اختیار دیگران قرار ندهند. اینجا بود که استالمن بنیاد نرم‌افزارهای آزاد (Free Software Foundation) را شکل داد . او هدفی کاملا متفاوت داشت. سیستم عاملی بسازد که کاربران را تشویق کند کد آن را در اختیار دیگران قرار دهند. این پروژه در سال 1984 کلید خورد. هدف آن‌ها ساخت سیستم‌عاملی شبیه یونیکس بود اما به کدهای آن دسترسی نداشتند و از صفر شروع به کار کردند. آنها دو هدف را در پیش گرفتند یکی ساخت سیستم عامل و دیگری ساخت نرم‌افزارهای اپن سورسی که کاربران استفاده کنند. بخشی از تیم گنو که روی هسته سیستم عامل کار می‌کردند به دلیل انتخاب روش میکروکرنل که پیچیدگی‌های زیادی داشت نتوانستند پروژه را به خوبی پیش ببرند. بخشی از تیم که روی نرم‌افزارهای اپن سورس کار می‌کردند موفق بودند و توانستند نرم‌افزارهای اپن سورس را در اختیار کاربران قرار دهند. حتی افرادی که از سیستم عامل گنو استفاده نمی‌کردند علاقه زیادی به نرم‌افزارهای کد باز نشان دادند. در همین زمان  شخص دیگری به نام لینوس توروالدس از هلسینکی، پایتخت فلاند، بصورت مستقل و از همه مهم‌تر به تنهایی در حال توسعه یک هسته سیستم عامل بود که بعدها لینوکس نامیده شد. او کد سیستم عامل را با کامپایلر C گروه گنو و در سیستم عامل MINIX توسعه داده بود و این چنین انقلاب لینوکس و سرچشمه نرم‌افزارهای اپن سورس شکل گرفت.

سخن آخر این است که نرم‌افزارهای اپن سورس یک راه ارتباطی برای برنامه‌نویسان است. آنهایی که به کدها عشق می‌ورزند و ایده‌های نو در سر دارند! نرم‌افزارهای اپن سورس این امکان را می‌دهند که برنامه‌ها را برای خود شخصی سازی کنید و در اختیار دیگران نیاز قرار دهید.

 

 

 

 

 

دیدگاه نوشتن

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