تقریبا از هر ۵ برنامهنویس، ۴ نفر از نرمافزارهای منبعباز برای توسعه برنامههای خود استفاده میکنند. برای درک این موضوع کافیست چهار پلتفرم Linux, Apache, MySQL, PHP را در نظر بگیرید که با توجه به میزان کاربرد آنها نمیتوان انکار کرد در دنیای امروز فناوری اطلاعات، تفکر اوپن سورس یک مدعی قدرتمند است. باید بیان داشت که ۱۰ اصطلاحی که در ادامه ذکر میشود تنها مختص نرمافزارهای منبعباز نیستند، بلکه بخشی از زبان شما هستند که باید بدانید.
منبعباز
منبعباز یا متنباز به نرمافزارهایی اطلاق میشود که برای استفاده عموم افراد آزاد هستند. در واقع سورس کد نرمافزار برای استفاده و یا تغییر، در دسترس عموم قرار میگیرد. بنابراین نرمافزار در انحصار شرکتی نیست و هر برنامهنویسی به وسیله آن میتواند به توسعه آن نرمافزار بپردازد و محدودیتی را به دنبال نخواهد داشت. پلتفرمهای منبعباز از جمله منابعی بودهاند که توسعهدهندگان به دنبال استفاده از آن هستند زیرا مزیتهای بسیاری در آن نهفته است و دست توسعهدهنده را باز میگذارد. همین امر موجب افزایش محبوبیت تفکر اپن سورس هم شده است.
شاید فکر کنید منظور اصلی ما رایگان بودن نرمافزار است، اما در حقیقت چنین نیست. توسعهدهندگان به طور جمعی سعی میکنند مشکلات و حفرههای محصولات متنباز را از بین برده و کارایی محصولات را بهبود بخشند. در نظر داشته باشید فرآیند بروزرسانی نرمافزارهای منبعباز در مدت زمان کوتاهی انجام میگیرد که در مقایسه با یک نرمافزار شرکتی فرآیند بسیار سریعتری دارد. برای مثال اگر یک نرمافزار، شرکتی باشد و منبعباز محسوب نشود، برای رفع مشکل باید منتظر ماند تا شرکت مادر با انتشار آپدیت امنیتی مشکل را برطرف کند. اما با منبعباز بودن محصول، هر توسعهدهندهای قادر به رفع مشکل پیش از انتشار آپدیت اصلی شرکت سازنده است.
کد منبع
هر نرمافزار به یکی از زبانهای برنامهنویسی نوشته شده است، به متن این برنامهها کد منبع (سورس کد) میگویند. نرمافزارهای تجاری در نسخهٔ کامپایل شده عرضه میشوند. معمولا کاربر از طریق رابط کاربری به نرمافزار دسترسی دارد و سورس کدها غیرقابل دسترس هستند و تنها سازندگان یا همان توسعهدهندگان میتوانند به آن دست پیدا کنند. بنابراین کاربر معمولی قادر نیست این سورس کدها را مشاهده کند یا به تغییر آن بپردازد. در مقابل یک برنامه منبعباز در نسخهٔ نهایی، شامل سورس کد میباشد. بنابراین توسعهدهندگان میتوانند به آن دسترسی داشته و اصلاحاتی انجام دهند.
توزیع آزاد
در حقیقت منبعباز تنها دسترسی رایگان به کد منبع نیست. نه تنها میتوانید از کد منبع برای توسعه یک برنامه سفارشی استفاده کنید، بلکه میتوانید برنامه خود را به طور آزاد در اختیار کاربران قرار دهید. اساساً مجوزهای اپن سورس شما را در فروش یا واگذاری نرمافزار محدود نمیکند.
پیشگامان منبعباز
OSI یک سازمان غیرانتفاعی ست که با ماموریت آموزش و مشاوره به جامعه اپن سورس تشکیل شده است. OSI نرمافزارهای منبع باز را چنین تعریف میکند:
- نرمافزار باید بدون نیاز به حق امتیاز یا هرگونه پرداختی برای فروش، امکان توزیع به صورت آزاد را داشته باشد.
- کد منبع باید در دسترس باشد.
- اعمال تغییرات امکانپذیر باشد و برنامههای جدید را باید بتوان تحت همان شرایط برنامهٔ اولیه و نرمافزار اصلی تکثیر کرد.
- نگهداری تمامیت کد منبع اولیه ممکن باشد.
- هیچگونه تبعیض و تمایزی بین اشخاص و گروهها وجود نداشته باشد.
- هیچگونه تبعیض و تمایزی بین هر فعالیتی که در راستای استفاده از نرمافزار انجام میگیرد، وجود نداشته باشد.
- اجازهنامه باید به هر کسی که یک کپی از برنامه را دریافت میکند، نیز اختصاص یابد.
- اجازهنامه نباید به محصول یا توزیع خاصی اختصاص داشته باشد.
اجتماع
وقتی برنامهنویسان نرمافزاری رو به صورت منبعباز توزیع میکنند، به دنیای بسیار گستردهای وارد میشوند. جامعهای تقریبا سازمانیافته از مشارکتکنندگان، در سراسر جهان که تلاش میکنند یک نیاز مشترک را برآورده کنند و با همکاری توسعهدهندگان، نرمافزار را بهبود میبخشند و آنچه را که یاد گرفتهاند به اشتراک میگذارند. یک جامعه فعال و آگاه برای سلامتی و موفقیت یک برنامه منبعباز بسیار مهم است.