معرفی پروتکل های اپن سورس؛ جذابیت دنیای منبع بازها
در حال حاضر در دنیایی زندگی میکنیم که هر چه بیشتر به سمت غیرمتمرکزسازی و دسترسی عموم به منابع در حرکت است. این جنبش با ظهور اینترنت و پروتکل های اپن سورس (منبع باز) آغاز شده و با مفهوم بلاکچین و رمز ارزها در حال ادامه یافتن است. اولین پروتکلهایی که به سمت این جنبش کشیده شدند، لینوکس و گیت هاب بودند که با توسعه پروتکلی منبع باز به برنامهنویسان اجازه اصلاح و بهبود نرمافزار را میدادند. در این مقاله به معرفی پروتکل های اپن سورس (Open Source)، تاریخچه و کاربردهای آنها میپردازیم و با مزایا و معایب این نرمافزارها آشنا میشویم. با ما همراه باشید.
پروتکل های اپن سورس چیست؟
پروتکل اپن سورس اصطلاحی است که در اصل به نرمافزار متن باز (OSS) اطلاق میشود. پروتکل منبع باز کدی است که به گونهای طراحی شده که برای عموم قابل دسترسی باشد و هر کسی میتواند کد را به دلخواه خود ببیند، تغییر دهد یا توزیع کند.
پروتکل های منبع باز به روشی غیر متمرکز و مشارکتی و با تکیه بر جامعه توسعه پیدا میکنند. نرمافزار متنباز اغلب ارزانتر، انعطافپذیرتر و طول عمر بیشتری نسبت به همتایان اختصاصی (Close Source) خود دارد؛ زیرا به جای یک توسعهدهنده یا شرکت، توسط جامعه توسعه داده میشود.
منبعباز تبدیل به یک جنبش و روشی شده که فراتر از تولید نرمافزار است. جنبش منبع باز از ارزشها و مدل تولید غیر متمرکز پروتکل های اپن سورس استفاده میکند تا راههای جدیدی برای حل مشکلات در جوامع و صنایع بیابد. در واقع در حال حاضر پروتکل های منبع باز محدود به نرمافزارها نیستند؛ بلکه میتوانند در صنایع دارای زیرساختهای قابل توسعه، استفاده شوند.
تاریخچه پروتکل های منبع باز
در سالهای اولیه ظهور کامپیوتر و توسعه نرمافزار، برنامهنویسان اغلب نرمافزارهای خود را به اشتراک میگذاشتند تا از یکدیگر یاد بگیرند و دانش برنامهنویسی کامپیوتر را رشد دهند.
این امر باعث ایجاد بنیاد نرمافزار آزاد (FSF) یا Free Software Foundation شد که شامل برنامه حروفچینی TeX دیوید کنات (David Knuth) در سال ۱۹۷۹ و سیستم عامل GNU ریچارد استالمن (Richard Stallman) در سال ۱۹۸۳ بود. در همان سالها مرورگر وب اولیه اینترنت یعنی Netscape توسعه یافت که یک پروتکل اپن سورس و رایگان بود که بعدا توسط کاربران بهبود یافت. در آینده نتاسکیپ به توسعه پروژههای نرمافزاری منبع باز مانند مرورگر وب موزیلا فایرفاکس منجر شد.
بنیاد FSF بعدا با بنیاد ابتکار منبع باز (OSI) یا Open Source Initiative جایگزین شد. OSI گروهی از توسعهدهندگان نرمافزار بودند که نرمافزارهایی برای توسعه، بهاشتراکگذاری و توزیع رایگان توسعه میدادند. البته جنبش منبع باز که جهان را به سمت دسترسی آزادتر به دانش سوق میداد، بدون مخالف نبود. به عنوان مثال، جیم آلچین (Jim Allchin) از مایکروسافت، در سال ۲۰۰۱ اظهار داشت که OSI یک “نابود کننده مالکیت معنوی” است.
اما امروزه مایکروسافت و بسیاری دیگر، به هر طریقی به جنبش پروتکل های اپن سورس پیوستهاند. برخی دیگر از مشارکتکنندگان، سرمایهگذاران و موسسات غیرانتفاعی پروتکل های منبع باز شامل موزیلا فایرفاکس، لینوکس، وردپرس، اندروید و بیت کوین میشود.
کاربردهای پروتکل های اپن سورس
همانطور که گفته شد، پروتکل های اپن سورس تنها محدود به حوزه کامپیوتر و نرمافزار نمیشود؛ بلکه این جنبش در دیگر صنایع نیز به کار رفته و دسترسی عموم را به امکانات افزایش داده است.
- امور مالی: پروتکل های منبع باز بسیاری توسعه یافتهاند که پرداختها را به وسیله شبکه همتا به همتا مهیا کردهاند. در این نوع شبکهها ارسال و دریافت وجوه به وسیله کامپیوترهایی به نام نود (Node) و بدون واسطه انجام میشود.
- پروتکل ارتباطی مدباس: مدباس قدیمیترین و محبوبترین پروتکل اتوماسیون در زمینه اتوماسیون صنعتی و SCADA (نظارت بر کنترل و تهیه دادهها) است. این پروتکل به صورت منبع باز عرضه شده است و از آغاز راهاندازی به وسیله جامعه توسعه داده شده است.
- انجمن کشاورزان فردا: این انجمن ابزارهای الکترونیکی برای رصد زمینهای زراعی به صورت اپن سورس ارائه میکند.
- انجمن سختافزار منبع باز (OSHWA): این انجمن در تلاش است که جنبش منبع باز را به توسعه نرمافزارها گسترش دهد.
نمونههای زیادی از ایده جنبش پروتکل های اپن سورس در صنایع مختلف وجود دارد که همگی در تلاش هستند تا با مشارکت جامعه به دنیایی بهتر برای زندگی دست یابند.
امنیت پروتکل های اپن سورس
پروتکل های اپن سورس معمولا توسط افراد ناشناسی توسعه داده میشوند و پس از فرایند توسعه، کدهای آنها در اختیار عموم گذاشته میشود. همین کدها به وسیله اعضای جامعه استفاده شده و بهبود داده میشوند. حال مهم است که توسعهدهندهای که قصد استفاده از کدها را دارد، دانش پایه کافی در مورد ایمن بودن کدها داشته باشد؛ زیرا ممکن است کدها سالم نباشند و در صورت استفاده، کاربر دچار مشکلات امنیتی شود.
به همین دلیل سازمانهای غیرانتفاعی به بررسی کدهای پروتکل های اپن سورس پرداخته و امنیت آنها را تایید میکنند.
در دنیای ارزهای دیجیتال ابزارهایی وجود دارد که پروژههای مختلف به کمک آنها به ساخت پروژهها و پروتکلهای کریپتویی میپردازند. این ابزار که با نام قرارداد هوشمند (Smart Contract) شناخته میشود، حاوی کدهایی است که سازوکار پروژه و حتی توکن آن را مشخص میکند و به صورت خودکار اجرا میشود. توسعهدهندگان رمز ارزها، با پلتفرمهایی مانند Certik یا Hacken به بررسی سلامت این قراردادها میپردازند. در خارج از دنیای ارزهای دیجیتال نیز سازمانهایی مانند مدیریت ریسک منبع باز (Open Source Risk Management) وجود دارند که با انتشار پژوهشهای امنیتی به ارتقای سطح امنیت پروتکل های اپن سورس کمک میکند.
مزایا و معایب پروتکل های اپن سورس
با وجود علاقه برنامهنویسان به کدهای منبع باز، این ساختار نیز مانند هر مورد دیگری دارای مزایا و معایب مختص به خود است. در ادامه به بررسی مزایا و معایب پروتکل های منبع باز میپردازیم.
مزایای پروتکل های اپن سورس:
- نرمافزار متن باز رایگان است.
- پروتکل منبع باز انعطافپذیر است. توسعهدهندگان میتوانند نحوه عملکرد کد را بررسی کنند و آزادانه تغییراتی در جنبههای ناکارآمد یا مشکلساز برنامه ایجاد کنند تا بهتر با نیازهای کاربران مطابقت داشته باشند.
- پروتکل منبع باز پایدار است. کد منبع به صورت عمومی توزیع میشود؛ بنابراین کاربران میتوانند برای پروژههای بلندمدت خود از آن استفاده کنند؛ زیرا میدانند که سازندگان کد نمیتوانند به سادگی پروژه را متوقف کنند.
- نرمافزار اپن سورس باعث نوآوری میشود. برنامهنویسان میتوانند از کدهای موجود برای بهبود نرمافزار استفاده کنند و حتی نوآوریهای خود را ارائه دهند.
- پروتکل های اپن سورس معمولا دارای یک انجمن داخلی و متعهد است که به طور مداوم کد منبع را اصلاح و بهبود میبخشد.
- نرمافزار منبع باز فرصتهای یادگیری عالی را برای برنامهنویسان جدید فراهم میکند.
معایب پروتکل های اپن سورس:
- استفاده از نرمافزارهای منبع باز ممکن است به دلیل دشواری در تنظیمات آن و عدم وجود رابطهای کاربری مناسب، دشوار باشد.
- پروتکل های اپن سورس میتوانند مشکلات سازگاری ایجاد کنند. هنگام تلاش برای برنامهنویسی سختافزار اختصاصی با OSS، اغلب نیاز به درایورهای تخصصی وجود دارد که معمولا فقط توسط سازنده سختافزار در دسترس هستند.
- نرمافزار منبع باز میتواند باعث بروز مشکلات مربوط به مسئولیت شود. برخلاف نرمافزارهای تجاری که به طور کامل توسط فروشنده کنترل میشود، نمونه منبع باز به ندرت حاوی ضمانت یا محافظت در برابر آسیبپذیریهاست. این حقیقت، مصرفکننده اینگونه نرمافزارها را مسئول حفظ انطباق با تعهدات قانونی میکند.
آیا رمز ارزها اپن سورس هستند؟
یکی از پرکاربردترین پروتکل های اپن سورس بیت کوین است که کاربران و توسعهدهندگان زیادی به استفاده از آن پرداختهاند. اولین رمز ارز جهان، در کنار سیستم عامل لینوکس و مرورگر موزیلا از محبوبترین نرمافزارهای منبع باز محسوب میشود. طبق اطلاعات موجود در گیت هاب، از زمان آغاز به کار بیت کوین بیش از ۱۰۰ توسعهدهنده روی نرمافزار Bitcoin Core فعالیت کردهاند.
جنبش منبع باز یک عنصر ضروری در حوزه بیت کوین و ارزهای دیجیتال است؛ زیرا نرمافزارهای منبع باز درست مانند ارزهای دیجیتال، “غیر متمرکز” هستند. در واقع پروتکل های اپن سورس دارای هیچ رهبر یا نهاد واحدی نیستند. ارزهای دیجیتال به روشی غیر متمرکز برای مدیریت پایگاه کد نیاز دارند؛ جایی که همه افراد میتوانند کدها را ببینند، تغییر دهند و حتی خودشان امتحان کنند. یکی از نمونههای استفاده از کدها برای ساخت پلتفرمی بهتر، فورک صرافی غیر متمرکز سوشی سواپ از پلتفرم یونی سواپ بود. سوشی سواپ با استفاده از کدهای منبع Uniswap و فورک از این صرافی، به پلتفرمی کاملتر تبدیل شد.
برای دستیابی به هدف حذف واسطه و حفظ اعتماد، بیت کوین و بیشتر رمز ارزها باید به روش غیر متمرکزِ توزیع کد تکیه کند. نمیتواند فقط یک رهبر بر آن حکمرانی کند زیرا:
- رهبر میتواند هر دستورالعملی را که میخواهد در کد بنویسد
- رهبر میتواند تصمیم بگیرد که چه کسی مجاز به دسترسی به کد است و چه کسی مجاز نیست.
به همین دلیل رمز ارزهایی که بر مبنای ایده عدم تمرکز شکل گرفتهاند، منبع باز محسوب میشوند. به عنوان مثال اتریوم و حتی کیف پولهایی مانند الکتروم به صورت اپن سورس عرضه شدهاند.
تفاوت اپن سورس با Free Source و Closed Source
برای مدت طولانی پروتکل های منبع باز با نام نرمافزار آزاد (Free Software) شناخته میشدند. جنبش نرمافزار آزاد به طور رسمی توسط ریچارد استالمن در سال ۱۹۸۳ از طریق پروژه گنو آغاز شد. ایده اصلی جنبش نرمافزار آزاد، متمرکز بر آزادی برای دیدن کد منبع، تغییر و توزیع مجدد آن بود.
نرمافزار آزاد در نقطه مقابل نرمافزار اختصاصی یا متن بسته (Closed Source) قرار دارد. از کدهای نرمافزار منبع بسته محافظت میشود. فقط صاحبان کد منبع، حق قانونی دسترسی به آن کد را دارند. کد منبع بسته را نمیتوان به طور قانونی تغییر داد یا کپی کرد و کاربر فقط برای استفاده از نرمافزار (همانطور که در نظر گرفته شده است) هزینه میپردازد.
به دلیل نام سردرگمکننده نرمافزار آزاد، کریستین پترسون نام این جنبش را به اپن سورس تغییر داد. او که مبدع نام جدید این جنبش بود، سعی کرد با جایگزین کردن Open Source به جای Free Source به این مشکل رسیدگی کند.
نمونههایی از نرمافزارهای اپن سورس
همانطور که پیشتر گفته شد، نامهایی مانند موزیلا، بیت کوین، اتریوم، لینوکس، گیت هاب و وردپرس از محبوبترین پروتکل های اپن سورس هستند. علاوهبراین عناوین، نرمافزارهای دیگری نیز هستند که بهصورت منبع باز عرضه شدهاند. در ادامه چند نمونه از آنها را معرفی میکنیم:
- نرمافزار پخش ویدیو VLC
- سرویس وب Apache
- سیستم عامل اندروید
- پیامرسان تلگرام
- جیکوئری
در اینفوگرافیک زیر، مشاهده میکنید که در سال ۲۰۰۶، تنها ۱۲۰ پروژه منبع باز وجود داشتند؛ اما تا ۱۱ سال بعد (تا سال ۲۰۱۷) تعداد آنها به ۴۶۰۰ پروژه رسید و تنها دو سال پس از آن نیز ۱۸۰ هزار پروژه اپن سورس توسط IntroBooks شناسایی شدند. این موضوع نشاندهنده سرعت رشد این پروژهها و استقبال عموم از آنهاست.
در تمام صنایع میتوان ردپای پروتکل های اپن سورس را مشاهده کرد؛ به عنوان مثال نرمافزار Sugar CRM به ارائه کد منبع نرمافزار مدیریت ارتباط با مشتری برای شرکتها پرداخته تا صاحبان کسب و کار با توجه به نیازشان آن را توسعه دهند. حتی طراحان معماری نیز میتوانند به کمک ابزارهای منبع باز Blender به ابزارهای پیشرفته طراحی دسترسی داشته باشند.
پروتکل های اپن سورس و تحقق جهان غیر متمرکز
جنبش پروتکل های اپن سورس قدمتی به اندازه تاریخ کامپیوتر دارد و نمود افکار آزادیطلبانی است که به تحقق دنیایی غیر متمرکز فکر میکردند. این جنبش تا جایی پیش رفت که سیستم عامل اندروید و پلتفرم مدیریت محتوای وردپرس با چندین میلیون کاربر به صورت اپن سورس توسعه یافتهاند تا برنامهنویسان و کاربران به اصلاح و توسعه آنها بپردازند. در حال حاضر رمز ارزها نیز به عنوان داراییهایی که به دنبال عدم تمرکز هستند، بر مبنای ایده اپن سورس فعالیت میکنند و نمونههایی مانند بیت کوین و اتریوم به عنوان بزرگترین رمز ارزها، به صورت پروتکل های منبع باز راهاندازی شده و به صورت غیر متمرکز اداره میشوند. به نظر شما، آیا پروتکل های اپن سورس توانستهاند آزادی در فضای اینترنت را ایجاد کنند؟ آیا تمام رمز ارزها منبع باز هستند؟