اوپنسورس یا منبعباز، اصطلاحی است که در چند سال اخیر به مراتب بسیار زیادی به آن برخوردهایم. در این مطلب قصد داریم به این سوال پاسخ دهیم که اوپن سوریس چیست و چه اهمیتی در عصر امروزی دارد؟
صنعت توسعه شاهد رشد نرمافزارهایی است که بهطور آشکار در دسترس عموم مردم قرار میگیرند و از اختصاصیبودن اجتناب میکنند. برای توسعهدهندگان جدید، دلایل این امر میتواند کمی گیجکننده باشد. پس بیایید به تجزیه همهچیز در دنیای منبعباز بپردازیم.
یک نرمافزار منبعباز، نرمافزاری است که کد منبعاش در دسترس همگان قرار گرفته تا آن را ببینند، در آن مشارکت کنند و نیازهای مختلف را رفع کنند. برای مثال، اگر کنجکاو هستید که فایرفاکس چگونه کار میکند، میتوانید به سادگی از صفحه کد منبع آن بازدید کنید و خودتان نگاهی بیندازید؛ البته با فرض اینکه دانش اولیه توسعه را دارید و قادر به درک مبانی کدها هستید.
از طرف دیگر، شما نمیتوانید کد منبع نرمافزارهایی همچون مایکروسافت آفیس را پیدا کنید، یا حتی iOS. این نرمافزارها و سیستمعاملها با پسوند اختصاصی یا منبعبسته شناخته میشوند. شرکتهایی که این نرمافزارها را مینویسند، سالها و حتی دههها، تحقیق و توسعه را برای صیقل دادن آن صرف کردهاند. بههمین سبب، از دیدگاه آنها، انتشار کد بهصورت عمومی تصمیم خوبی نخواهد بود.
تفاوت بین نرمافزار منبعباز و منبعبسته بسیار ساده و آشکار است؛ اما فراتر از تفاوتهای فلسفی، آنها به مدلهای تجاری و استراتژیهای کسب درآمد بسیار متفاوتی منجر میشوند. تصویر رایج در میان بسیاری از مردم این است که نرمافزارهای پولی بهتر هستند. به هر حال، شرکتها معتقدند که تولید نرمافزار باید سودآوری داشته باشد و بههمین دلیل، انگیزهای برای بهتر کردن در آنها بهوجود میآید تا افراد بیشتری را به خرید محصولات و نرمافزارهایشان تشویق کنند. این مشوقها به سادگی در جامعه منبعباز وجود ندارند؛ خط فکری بسیار منطقی که در بسیاری از موارد صادق است اما همواره درست نیست.
بیایید لینوکس را بهعنوان مثال در نظر بگیریم. لینوکس یک سیستمعامل دسکتاپ است درست مانند ویندوز و MacOS؛ دو سیستمعامل محبوب در جامعه امروزی. ویندوز و MacOS مستقیماً از مصرفکنندگان نهایی درآمد کسب میکنند درحالی که لینوکس برای استفاده و تغییر به صورت رایگان در دسترس باقی کاربران قرار گرفته است. وقتی صحبت از سهم بازار سیستمعامل برای سرورهای وب بهمیان میآید، لینوکس به خوبی بر این صنعت تسلط دارد و زمانی که صحبت از ابررایانهها میشود، لینوکس تنها گزینه ممکن است چراکه عملکرد شگفتانگیزی از خود نشان میدهد. بدیهی است که قیمت در اینجا عامل بزرگی است چراکه شرکتها میخواهند در هزینههای مجوزی خود صرفهجویی کنند اما دلایل دیگری مانند افزایش امنیت و قابلیت اطمینان بودن لینوکس نیز وجود دارد که آن را بسیار رقابتی میکند. بهطور مشابه، پایگاههای داده منبعباز مانند MySQL و Postgres نزدیک به 50% از بازار پایگاههای داده را بهخود اختصاص میدهد؛ این تعداد در دهه گذشته بهطور مداوم درحال افزایش بوده است.
طرز فکر غالب در میان جامعه منبعباز این است که نرمافزار فقط بهدلیل تعداد توسعهدهندگانی که روی پروژه کار میکنند، قابل اعتمادتر است. این تفکر اندکی عجیب است اما ایده کلی حوزه منبعباز را تشکیل میدهد. کدها بهطور آشکار در دسترس عموم قرار میگیرند و اگر اشکالی در سیستم وجود داشته باشد، دیر یا زود کسی آن را شناسایی کرده و آن را برطرف میکند. این کد برای همه در دسترس است تا آن را بررسی و تجزیهوتحلیل کنند.
حال سوال اصلی اینجا است که نرمافزارهای منبعباز دقیقاً چگونه درآمد کسب میکنند؟ پاسخ به این سوال به عوامل مختلفی بستگی دارد. بدیهی است که اکثر افرادی که در نرمافزار منبعباز مشارکت میکنند، هیچ درآمدی بهدست نمیآورند. اگر قرار بود فردا یک وصله به یک کتابخانه منبعباز ارسال کنید، این کار را بهقصد پول درآوردن انجام نمیدهید، بلکه بهعنوان راهی برای بازپرداخت به اکوسیستم توسعه درنظر میگیرید. هزاران نرمافزار منبعباز توسط توسعهدهندگانی که در اوقات فراغت خود روی آنها کار میکنند، پشتیبانی میشوند.
با این حال، این بدان معنا نیست که توسعهدهندگان عاشق چشم و ابروی نرمافزارهای منبعباز هستند؛ برای مثال، شرکتهایی مانند Red Hat با فروش خدمات پشتیبانی و تخصصی فنی در نرمافزارهای منبعباز، کسبوکارهای چند میلیاد دلاری را ایجاد کردهاند. شرکتها نه با فروش نرمافزارهای زیربنایی بلکه از زیرساختهای اطرف آن مانند خدمات میزبانی یا آموزشهای فنی در این حوزه، کسب درآمد میکنند.
علاوه بر این، شرکتهای فناوری رفتهرفته وابستگی فزایندهای به نرمافزارهای منبعباز پیدا کردهاند و علاقمندان نیز با ورود به این حوزه، سعی دارند تا در زمینه ایمن بودن و توسعه نرمافزار، بهروز بمانند. برای برخی از شرکتها غیرمعمول نیست که توسعهدهندگان را فقط برای پشتیبانی از توسعه نرمافزار منبعباز خود استخدام کنند. این امر بهطور مؤثر برخی از تلاشهای توسعه را به جامعه برونسپاری میکند، اما در ازای آن، نرمافزار را در دسترس همگان قرار میدهد که یک موقعی بردبرد بهحساب میآید.
صنعت فناوری شاهد تغییر گستردهای بهسمت نرمافزارهای منبع إاز است و صرف نظر از اینکه در چه جایگاه شغلیای قرار دارید، لازم است درک فلسفی پشت آن را بدانید. امیدواریم این پست از این حیث بهشما کمک کرده باشد. اگر موضوع خاص دیگری وجود دارد که مایلید در مورد آنها بنویسیم، در بخش کامنت با ما بهاشتراک بگذارید.