CodeGym /وبلاگ جاوا /Random-FA /نرم افزار متن باز چیست و آیا ارزش امتحان کردن را دارد؟
John Squirrels
مرحله
San Francisco

نرم افزار متن باز چیست و آیا ارزش امتحان کردن را دارد؟

در گروه منتشر شد
با رشد سریع OSS، یک نرم‌افزار متن‌باز، هرکسی که می‌خواهد در حوزه فناوری اطلاعات موفق شود، باید با این جریان آشنا شود و بفهمد که چه چیزی پشت آن است. همانطور که از نام آن پیداست، نرم‌افزار متن‌باز چیزی است که مردم می‌توانند آن را بازرسی، اصلاح کنند، ارتقا دهند و به اشتراک بگذارند، زیرا این نرم‌افزار برای عموم قابل دسترسی است. نرم افزار متن باز  چیست و آیا ارزش امتحان کردن را دارد؟  - 1به عبارت دیگر، این یک کد منبع باز است که هر کسی می تواند آن را ببیند، اشکالات را برطرف کند، ارتقا دهد و در بین دیگران توزیع کند. معمولاً با تکیه بر نظرات و همکاری برنامه نویسان دیگر به صورت مشترک توسعه می یابد. و از آنجایی که نرم‌افزار متن‌باز توسط جوامع به‌جای یک نویسنده یا یک شرکت نرم‌افزاری واحد ایجاد می‌شود، طبیعتاً ارزان‌تر، انعطاف‌پذیرتر و در بیشتر موارد، طول عمر بیشتری نسبت به همتایان اختصاصی خود دارد.

چه زمانی همه چیز شروع شد؟

اگر فکر می کنید که منبع باز یک حرکت نسبتاً جدید است، شگفت زده خواهید شد. ریشه ها به دهه 1950 و 1960 باز می گردد، زمانی که محققان شروع به توسعه پروتکل های شبکه اینترنت و مخابرات کردند. این فناوری ها بر اساس تحقیقات باز و مشارکتی بودند و این اصل بعدها پایه و اساس اینترنت شد. در مورد نرم افزار منبع باز که امروزه آن را می شناسیم، در سال 1983 زمانی که ریچارد استالمن، برنامه نویس MIT، کد منبع را به صورت رایگان در دسترس قرار داد، سرچشمه گرفت. او معتقد بود که باید برای برنامه نویسان در سرتاسر جهان در دسترس باشد تا بتوانند آن را هر طور که می خواهند تغییر دهند و پیشرفت دهند. رویکرد او عملی شد و به تدریج منجر به تشکیل ابتکار منبع باز در سال 1998 شد.

نرم افزار متن باز در مقابل انواع دیگر نرم افزار

در زیر، ما برخی از جنبه های کلیدی نرم افزار منبع باز و انواع دیگر نرم افزار را با هم مقایسه می کنیم:

کنترل

همانطور که از بالا، ممکن است قبلا حدس زده باشید که تفاوت اصلی بین OSS و سایر نرم افزارهای نوع این است که کد منبع آن فقط برای هر کسی که مایل به مشاهده، کپی یا تغییر آن است در دسترس است. در مورد نرم افزار «اختصاصی»، تنها یک فرد یا تیم کنترل انحصاری روی آن را حفظ می کند. به همین دلیل است که گاهی اوقات به آن نرم افزار "منبع بسته" نیز می گویند که معمولاً از شما می خواهد مجوزی را بپذیرید که لازم است هیچ کاری با کد منبع انجام ندهید. همانطور که گفته شد، نرم افزارهای منبع باز نیز معمولا دارای مجوز هستند. با این حال، شرایط قانونی آن به شدت با مجوزهای اختصاصی متفاوت است. آنها به کاربران رایانه اجازه می دهند تا از نرم افزار برای هر هدفی که می خواهند استفاده کنند. به‌علاوه، برخی از مجوزهای منبع باز بیان می‌کنند که هر کسی که برنامه یا کدی را تغییر می‌دهد باید آن را با دیگران بدون دریافت هزینه مجوز نیز به اشتراک بگذارد. به عبارت دیگر، آنها مردم را تشویق می کنند تا دستاوردهای خود را توزیع کنند.

هزینه

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

امنیت

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

طرح

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

ضمانتنامه

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

محبوب ترین OSS

  • موزیلا فایرفاکس
  • وب سرور آپاچی
  • گنو/لینوکس
  • پخش کننده رسانه VLC
  • SugarCRM
  • VNC
  • GIMP
  • LibreOffice
  • جی کوئری

OSS چگونه کار می کند؟

در واقع، فقط هر بار که صفحات وب را مشاهده می کنید، ایمیل چک می کنید، موسیقی پخش می کنید، ویدیو تماشا می کنید، بازی های ویدیویی انجام می دهید یا با دوستان چت می کنید، رایانه شخصی، کنسول بازی یا دستگاه تلفن همراه شما با استفاده از نرم افزار منبع باز برای انتقال به یک شبکه جهانی متصل می شود. داده ها به دستگاه های "محلی". چه کسی این همه کار می کند؟ رایانه های "راه دور" که عموماً در مکان های دور قرار دارند (کاربران آنها را نمی بینند و دسترسی فیزیکی به آنها ندارند). به این معنا که افراد هنگام انجام کارهای روزانه به رایانه های راه دور متکی هستند. برخی این فرآیند را «رایانش ابری» می‌نامند، زیرا شامل فعالیت‌های مختلفی (ذخیره فایل‌ها، اشتراک‌گذاری عکس‌ها، گوش دادن به آهنگ‌های صوتی یا تماشای ویدیو) است که رایانه‌های محلی و یک شبکه جهانی از رایانه‌های راه دور را در خود جای داده است. برخی از برنامه های ابری، مانند Google cloud، اختصاصی هستند. در حالی که سایرین مانند OpenStack یا Nextcloud منبع باز هستند.

مزایای اصلی استفاده از OSS

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

چرا حتی شرکت های بزرگ اغلب از راه حل های نرم افزار منبع باز استفاده می کنند؟

نه تنها کاربران معمولی یا برنامه نویسان به راه حل های OSS پایبند هستند. حتی شرکت های بزرگ اغلب از OSS استفاده می کنند. گرفتاری چیست؟ توان مالی. بسیاری از شرکت‌ها به نرم‌افزار متن‌باز روی می‌آورند، زیرا دلیلی برای صرف هزینه‌های گزاف برای نرم‌افزارهای اختصاصی نمی‌بینند. به علاوه، هیچ هزینه اضافی برای نگهداری و به روز رسانی نرم افزار وجود نخواهد داشت زیرا مشارکت کنندگان آنها را به صورت رایگان ارائه می دهند. قابلیت سفارشی سازی بالا از آنجایی که نرم افزار منبع باز کد منبع خود را به اشتراک می گذارد، سازمان ها همیشه می توانند یک برنامه نویس ماهر را استخدام کنند که آن را با نیازهای خاص تطبیق دهد. نیازی به تماس با فروشنده نیست. هیچ زمان اضافی برای انتظار ویژگی های اضافی مورد نیاز نیست (که گاهی اوقات برای همیشه طول می کشد). سازگاری. نرم افزار OSS دامنه کاربرد گسترده ای دارد که به معماری خاصی محدود نمی شود. به همین دلیل است که شانس بیشتری برای عملکرد خوب در سناریوهای مختلف، حتی پیچیده ترین، دارد. علاوه بر این عوامل، شرکت‌ها به امنیت قوی و پشتیبانی بهتر نیز اهمیت می‌دهند. با این حال، آنها باید در نظر داشته باشند که اگر نرم افزار تحت مجوز منبع باز دریافت کنند، می توانند آزادانه از آن نرم افزار برای مقاصد تجاری استفاده کنند. با این حال، همیشه این بدان معنا نیست که سازمان‌ها می‌توانند محدودیت‌های بیشتری را برای افرادی که بعد از آن از نرم‌افزار استفاده می‌کنند، اعمال کنند. هنگامی که شرکت نرم افزار را توزیع می کند، باید همان الزامات مجوزی را که تحت آن دریافت کرده است، رعایت کند.

چگونه بخشی از نرم افزار منبع باز شویم

آیا می خواهید بخشی از این داستان جذاب شوید؟ سپس، می توانید به راحتی به یک پروژه منبع باز بپیوندید. از همه مهارت ها استقبال می شود. برای انجام این کار، می توانید در لیست پستی در وب سایت های رسمی یا صفحات GitHub مشترک شوید (می توانید با دنبال کردن پیوند "Trending" به داغ ترین پروژه ها برسید). آنچه جالب است، افراد تازه کار کامل یا حتی غیر برنامه نویس می توانند برای پروژه های OSS نیز بسیار مفید باشند. با نوشتن، به‌روزرسانی، ترجمه اسناد، یا فقط پاسخ دادن به سؤالات و راهنمایی افراد تازه وارد، سهم بزرگی خواهید داشت. در مورد مبتدیان جاوا، آنها می توانند پروژه ها را فورک کنند، تغییراتی در کد ایجاد کنند و در صورت نیاز درخواست های کششی ارسال کنند. کمک و تضمین کیفیت همیشه قدردانی می شود!

نتیجه

همانطور که می بینید، پروژه های نرم افزاری منبع باز ممکن است مزایای زیادی هم برای شرکت کنندگان و هم برای کاربران به همراه داشته باشد. نه تنها هر تجربه OSS برای رزومه شما عالی خواهد بود، بلکه می توانید مهارت های خود را با همکاری با افراد همفکر خود تقویت کنید. یک برد-برد واقعی!
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION