احتمالا تا به امروز اصطلاح اپن سورس یا متنباز را بارها در فضای اینترنت شنیدهاید. اپن سورس در ظاهر یک مفهوم ساده دارد و احتمالا بارها از کنار آن، بدون این که از آن اطلاعاتی داشته باشید، گذشتهاید. اما آیا میدانید که مفهوم اپن سورس چیست و چه اهمیتی در دنیای فناوری امروز ما دارد؟
در این مقاله سعی میکنیم که جوابی به سوال Open Source چیست بدهیم و نگاه جزئیتری به مفهوم کلی متنباز و نرمافزارهای مربوط به آن بیاندازیم.
اپن سورس چیست؟
اپن سورس، اصطلاحی است که که برای نرمافزارهای متن باز به کار میرود که به اختصار آن را OSS (Open Source Software) خطاب میکنند. کدهای اپن سورس به گونهای طراحی شدهاند که عموم برنامهنویسها به آن دسترسی دارند تا بتوانند از جریان هسته یک نرمافزار مطلع شوند و در صورتی که دوست داشته باشند، برای پروژههای مختلفشان بتوانند تغییراتی روی آن انجام بدهند.
یکی از جذابیتهای اپن سورس بودن کد یک نرمافزار از نظر گروه تولید محتوای ایران هاست ( ارائه دهنده ی خدمات خرید هاست پایتون ) این است که توسعهدهندگان این کد میتوانند با همکاری کاربرها و دیگر توسعهدهندهها آن را بسط بدهند. مثلا اگر یک کد اپن سورس را در گیتهاب قرار بدهید، کاربرها و برنامهنویسهای دیگر میتوانند روی آن تغییراتی را اعمال کنند یا عملیات رفع ایراد را روی آن انجام بدهند که در نهایت به کمنقص شدن کد شما منجر میشود.
از زمانی که کدهای اپن سورسها به ترندی در دنیای برنامهنویسی تبدیل شده است، خیلی از کسبوکارهای بزرگ هم به این سمت و سو رفتهاند و از بزرگترین پلتفرمهایی که به صورت متنباز طراحی شدهاند، میتوان به سیستم عامل لینوکس اشاره کرد و حتی اگر کسبوکارهای به مراتب کوچکتر و شناختهشدهتر برای عموم را بخواهید، میتوان به ویدیوپلیر VLC نگاه داشت. یکی از نرم افزارهای مدیریت سرور اپن سورس آپاچی ( آپاچی چیست ) می باشد.
مزایای اوپن سورس
دلایل زیادی وجود دارد که چرا توسعهدهندگان نرمافزار و برنامهنویسها تصمیم میگیرند که کدهایشان را به صورت اپن سورس بنویسند و آن را در دسترس عموم مردم قرار بدهند که در ادامه نگاهی به آنها میاندازیم.
در ابتدا میتواند به بررسی شدن این کدها توسط برنامهنویسها و توسعهدهندههای دیگر اشاره کرد.
زمانی که کد شما به راحتی در دسترس دیگر افراد قرار بگیرد، به مرور زمان این کد توسط افراد دیگر بهبود پیدا میکند و کد شما همیشه زنده خواهد ماند. مثلا اگر یک ایده انقلابی را در قالب کد در دسترس عموم قرار دهید، این ایده همچنان در قالب کد ارتقا پیدا کند و افراد بیشتری روی آن کار کنند تا بتوانند ایده شما را به واقعیت و حتی فراتر از آن بدل کنند.
دلیل بعدی، قطعا شفاف بودن اعمال شما است. خیلی از کسبوکارهای مختلف که از کدهای متنبسته استفاده میکنند، همیشه مورد انتقاد کاربرها و رسانهها قرار میگیرند چون دقیقا کسی نمیداند که چه اتفاقی در پشت پرده کدهای نرمافزار شما میافتد.
اما زمانی که از کد متنباز استفاده کنید، هر کسی میتواند متوجه شود که شما در هسته کدهای خود چه دسترسیهایی را از کاربر نیاز دارید و چه اتفاقی در شبکه شخصی کاربر میافتد که این امر باعث اعتماد بیشتر کاربرها به شما میافتد.
منعطف بودن کدهای متنباز هم دلیل دیگری برای محبوبیت آن محسوب میشوند. افراد زیادی در دنیا هستند که علاقه زیادی به این مفهوم دارند و اگر کد خام خود را در اختیار آنها قرار بدهید و مشکل خود را در بابت این کد در میان بگذارید، این برنامهنویسها به شما کمک میکنند تا بتوانید مشکل کد خود را حل کنید.
این موضوع حتی در بین کسبوکارهای بسیار بزرگ هم اتفاق میافتد.
تمام مواردی که تا به حال ذکر کردیم، به یک نکته مثبت دیگر منتهی خواهد شد و آن هم کاهش هزینهها است. اگر به کمک برنامهنویسهای داوطلب زیاد بتوانید کد خود را کامل کنید، مشخصا لازم نیست که هزینه زیادی بابت پرورش دادن کد خود توسط برنامهنویسهای گرانقیمت پرداخت کنید و پول کمتری را در این راه پرداخت خواهید کرد.
معایب اپن سورس
به همان اندازهای که میتوانید نکته مثبت در استفاده از کدهای اپن سورس پیدا کنید، به همان اندازه هم میتوانید مشکلات و معایب را در این مفهوم پیدا کنید که شاید برای خیلیها چندان دلچسب نباشد و باعث مشکلات زیادی شود.
یکی از این مشکلات، یتیم بودن کد است که در کنار یتیم بودن کدهای متنباز، چند خوشه از مشکلات باز خواهد شد که گذر کردن از آنها کار چندان راحتی نیست. زمانی که کد یک نرمافزار به صورت متنبسته نوشته میشود، سازندگان و توسعهدهندگان آن اختصاصی هستند و تقریبا میتوانید مطمئن باشید که از نرمافزار مقصد، به خوبی پشتیبانی خواهد شد.
اما این اتفاق در نرمافزارهای متنباز کاملا اتفاقی است و در صورتی که کاربران دیگر قصد داشته باشند که کد شما را بهبود ببخشند، میتوانید انتظار پشتیبانی طولانی مدت را داشته باشید؛ البته این موضوع در بعضی موارد استثنا است و نرمافزارهای متنبازی هستند که در طولانیمدت و به خوبی پشتیبانی شدهاند که این موضوع به میزان کاربرهایی که از این نرمافزار و کدها استفاده میکنند، بستگی دارد.
مورد بعدی امنیت این نرمافزارها است؛ زمانی که یک کد به صورت متنباز در اختیار عموم قرار میگیرد، یعنی هکرها و دزدهای سایبری هم در کمین هستند و با دانستن هسته اصلی یک نرمافزار، میتوانند کارهای خطرناکی را انجام بدهند. این موضوع در نرمافزارهای متنباز به حداقل خود میرسد.
نکته منفی بعد در کدهای اپن سورس، شاید برای خیلیها چندان اهمیتی نداشته باشد اما اگر قصد داشته باشید که یک کسبوکار منحصربهفرد را پیادهسازی کنید، شاید کدهای اپن سورس بعضی اوقات به ضرر شما باشند. به خاطر این که این کدها در دسترس عموم قرار دارند، شما نمیتوانید مانور زیادی بدهید و هسته اصلی آن تغییر نخواهد کرد.
این موضوع باعث میشود که نرمافزار شما مشابه خیلی از نرمافزارهای دیگر باشد که در اینجا، پشتیبانی درست و البته اضافه کردن فیچرها و قابلیتهای مختلف به شما کمک ویژهای میکند اما در باطن، چندین نرمافزار دیگر مثل نرمافزار شما وجود دارد که همگی از یک منبع متنباز استفاده کردهاند.
آیا وردپرس اپن سورس است؟
یکی از محبوبترین سیستمهای مدیریت محتوا که کاربرها با آن میتوانند سایت خودشان را پیادهسازی کرده و محتوایی که دوست دارند را در سطح اینترنت قرار بدهند، وردپرس است که برای مدتی طولانی، بیرقیب در مسیر خود ادامه میدهد. یکی از دلایل محبوبیت زیاد این نرمافزار مدیریت محتوا، رایگان و اپن سورس بودن آن است.
زمانی که وردپرس برای اولین بار در دسترس عموم قرار داده شد، برنامهنویسهای آن از تعداد انگشتان یک دست هم کمتر بودند اما به مرور زمان و انتشار فیچرهای مختلف برای آن، برنامهنویسهای آن بیشتر و بیشتر شدند و هر توسعهدهنده، یک ویژگی را به این نرمافزار اضافه کرد.
وردپرس یکی از همان استثناها است که پشتیبانی منظم و مناسب به لطف برنامهنویسهای دیگر و البته محبوبیت بالای این نرمافزار در بین کاربرها، برای آن ممکن شد. حتی تا امروز هم وردپرس به صورت منظم و مداوم بهروزرسانیهای جدید دریافت میکند و با هر بهورزرسانی یک ویژگی جذاب جدید به آن اضافه میشود.
آیا رمزارزها اپن سورس هستند؟
زمانی که رمزارزها به میدان آمدند توانستند بعد از مدتی، محبوبیت زیادی به دست بیاورند. یکی از دلایل محبوبیت ارزها دیجیتال، به خاطر اپن سورس بودن آنها بود. اوپن سورس بودن ارزهای دیجیتال هم تفاوت زیادی به دیگر مواردی که ذکر کردیم ندارد. اپن سورس بودن رمزارزها، یعنی این که کاربرها میتوانند آنها را ببینند، آنها را تغییر بدهند و از این قبیل موارد؛ اما نمیتوانند ادعای تصاحب این رمزارزها را کنند. این نکته بسیار اهمیت دارد که در تیتر بعدی بیشتر راجع به آن توضیح میدهیم.
بعضی از بزرگترین ارزهای دیجیتال مثل اتریوم و حتی بیتکوین که جزئی از ارزشمندترین ارزهای دیجیتال هستند هم به صورت متنباز به کاربرها ارائه میشوند و تجربه نشان داده است که کاربرها به رمزارزهای متنباز، اعتماد بیشتری میکنند و سعی میکنند که از این رمزارزها برای فرصت سرمایهگذاری استفاده کنند.
تفاوت متن باز و متن آزاد در چیست؟
زمانی که کدهای متنآزاد به میان آمدند، همه تعاریف آن همانند کدهای متنباز بود. یعنی کدهایی که کاربرها بتوانند هسته اصلی آن را مشاهده کنند و با توجه به نیازهای خود آن را تغییربدهند و از آن استفاده کنند. اما بعد از چند دهه، نام این کدها برای همیشه به کدهای متنباز تغییر کرد که دلیل منطقی برای آن وجود داشت.
زمانی که برنامهنویسها با مفهوم متنهای آزاد آشنا شدند، یک سوتفاهم به وجود آمد و همه فکر میکردند که متن آزاد یعنی این که میتوانند از آن استفاده کنند و آن را به تصاحب خود در بیاورند. این موضوع باعث شد تا مشکلات حقوقی به وجود بیاید و به خاطر همین، نام کدهای متن آزاد به متنباز تغییر کرد که دوباره چنین مشکلاتی وجود نیاید.
نمونههای اپن سورس
حالا که با نرمافزارهای اپن سورس آشنا شدهاید، بد نیست بدانید که خیلی از سرویسهایی که همین حالا در حال استفاده از آن هستید، نرمافزارهای اپن سورس هستند. بعضی از این نرمافزارها بسیار ساده هستند و عموم یوزرها از آنها استفاده میکنند و بعضیهای دیگر کمی پیچیده. Tomcat یکی از وب سرورهای اپن سورس موجود است.
به عنوان مثال، زبان برنامهنویسی پایتون یکی از همین نرمافزارهای اوپن سورس است که امروزه استفادههای زیادی دارد و یکی از بزرگترین دستاوردهای امروز دنیای فناوری یعنی ربات هوش مصنوعی چت جی پی تی هم بر اساس زبان برنامهنویسی پایتون است.
برای مثالهای ساده هم، میتوان به سراغ مرورگر Brave حتی Firefox رفت که هر دوی این مرورگرها از کدهای متنباز استفاده میکنند. این نشان میدهد که اپن سورس یکی از مفاهیم محبوبی است که با نیازهای امروزه کاربرها که شامل ما هم میشود، گره خورده است.
این مقاله توسط ایران هاست ( ارائه دهنده ی خدمات خرید vps ) ارائه شده است امیدواریم توانسته باشد پاسخگوی نیاز شما باشد.