بسیاری از افراد هنگام خرید گوشی هوشمند جدید نگران مشخصات دوربین، اندازه صفحه نمایش و ظرفیت ذخیره سازی هستند. یکی از ضروری ترین عناصر این اقلام جذاب مصرفی، سیستم عامل است که به راحتی می توان از آن چشم پوشی کرد.
اندروید گوگل محبوب ترین سیستم عامل موبایل در جهان است. این در بیش از 86 درصد از تلفن های هوشمند در سراسر جهان یافت می شود. شگفتانگیزتر این است که اندروید مبتنی بر سیستم عامل لینوکس منبع باز است. این بدان معناست که هر کسی میتواند کد موجود در قلب اکثر تلفنهای هوشمند را بخواند، تغییر دهد و مهمتر از همه به اشتراک بگذارد. همکاری با این گشودگی امکان پذیر می شود.
بر خلاف ویندوز مایکروسافت، به عنوان مثال، که توسط یک شرکت ایجاد و نگهداری می شود. بیش از 15000 برنامه نویس از سراسر جهان به توسعه و نگهداری لینوکس کمک می کنند. این برنامه نویسان ممکن است پیشنهاد ایجاد چیز جدیدی را ارائه دهند که آزادانه توزیع شود.
منبع باز چیست؟
نرم افزاری که کد منبع اصلی آن برای عموم در دسترس است و ممکن است در صورت نیاز توسط کاربر به اشتراک گذاشته و به روز شود. نرمافزار متنباز نرمافزاری است که در آن کد منبع یا کد پایه معمولاً برای هر کسی قابل دسترسی است تا آن را برای قابلیت استفاده مجدد و دسترسی اصلاح یا بهبود بخشد.
یک نرم افزار ممکن است توسط هر کسی دستکاری و تغییر کند تا برنامه یا برنامه به درستی کار کند. برنامه نویسانی که به کد منبع یک برنامه کامپیوتری دسترسی دارند، می توانند با افزودن ویژگی ها یا اصلاح بخش هایی که همیشه به درستی کار نمی کنند، آن را تقویت کنند.
نرم افزار منبع باز به شیوه ای غیرمتمرکز و مشارکتی و با تکیه بر بررسی همتایان و خروجی جامعه ایجاد می شود. از آنجایی که توسط جوامع به جای یک نویسنده یا شرکت تولید می شود، نرم افزار منبع باز معمولاً ارزان تر، سازگارتر است و طول عمر بیشتری نسبت به نرم افزار اختصاصی دارد.
هر سال، منبع باز به طور فزاینده ای رایج می شود و در همه جا از شهرهای دولتی گرفته تا موسسات ظاهر می شود. همچنین در بین مشاغل در هر اندازه ای محبوبیت بیشتری پیدا می کند. در واقع، برخی از کسبوکارها با تأمین مالی پروژهها یا همکاری با توسعهدهندگان، منبع باز را به سطح بعدی میبرند.
همکاری نوآوری را با منبع باز و رایگان تقویت می کند. اگر نبود، بسیاری از فناوریهایی که امروزه بدیهی میدانیم، تکامل نمییابند یا توسط قانون ثبت اختراع محافظت میشوند.
تاریخ
محققانی که روی فناوریهای اولیه اینترنت و پروتکلهای شبکههای ارتباطی کار میکنند از یک محیط تحقیقاتی باز و مشارکتی در دهههای 1950 و 1960 بهرهمند شدند. بررسی همتایان و نظرات باز توسط شبکه آژانس پروژههای تحقیقاتی پیشرفته (ARPANET)، که در نهایت به سنگ بنای اینترنت معاصر تبدیل شد، ترویج شد.
کد منبع هر گروه کاربری به اشتراک گذاشته شد و بهبود یافت. انجمن ها به تسهیل بحث و همچنین توسعه هنجارهای ارتباط باز و همکاری کمک کردند. تا زمانی که اینترنت در اوایل دهه 1990 راه اندازی شد، همکاری، بررسی همتایان، ارتباطات و گشودگی به ریشه های اینترنت تبدیل شد.
مفهوم در دسترس قرار دادن کد منبع به صورت عمومی ناشی از یک کمپین فکری است که به طور غیررسمی توسط ریچارد استالمن، برنامه نویس MIT، در سال 1983 آغاز شد. استالمن فکر می کرد که نرم افزار باید در دسترس برنامه نویسان باشد تا بتوانند آن را همانطور که صلاح می دانند به منظور بهتر تغییر دهند. درک کنید، درباره آن بیاموزید و بهبود بخشید.
استالمن شروع به توزیع نرم افزار رایگان تحت مجوز خود، مجوز عمومی گنو کرد. این تکنیک و نگرش جدید در مورد توسعه نرم افزار مورد توجه قرار گرفت و در نهایت منجر به پایه گذاری ابتکار منبع باز در سال 1998 شد.
نرم افزار منبع باز در مقابل نرم افزار منبع بسته
نرم افزار متن باز
- نرمافزار منبع قابل دسترس، نرمافزار رایانهای است که کد منبع آن برای عموم باز است و به هر کسی امکان مشاهده و استفاده از آن را میدهد.
- کد را می توان توسط افراد و سازمان های دیگر تغییر داد، کد منبع برای هر کسی قابل دسترسی است.
- هزینه نرم افزار منبع باز بسیار پایین است.
- اگر برنامه محبوب باشد، ممکن است تعداد قابل توجهی از برنامه نویسان به پروژه اختصاص داده شوند.
- محدودیت های کمتری برای کاربران از نظر استفاده از نرم افزار و سفارشی سازی وجود دارد.
- هر ماشینی ممکن است برای اجرای نرم افزار باز پیکربندی شود.
- فایرفاکس ، اندروید توسط گوگل، سیستم عامل لینوکس، Android، Thunderbird، MySQL، Mailman، Moodle، Perl، PHP و Python چند نمونه هستند.
نرم افزار متن بسته
- نرم افزار منبع بسته نرم افزار کامپیوتری با کد منبع بسته است، به این معنی که عموم مردم به کد منبع دسترسی ندارند.
- فقط شخص یا گروهی که نرم افزار را تولید کرده است، توانایی تغییر کد را دارد.
- کد منبع نرم افزار منبع بسته محافظت می شود.
- بسته به قابلیت استفاده و سفارشی سازی نرم افزار، محدودیت های متعددی برای کاربران اعمال می شود.
- شرکت/سازمان نرم افزار برنامه نویسانی را برای بهبود نرم افزار استخدام می کند.
- نرم افزار متن بسته گران است.
- قبل از نصب بر روی هر کامپیوتری، نرم افزار بسته باید دارای مجوز معتبر باشد.
- در نرم افزارهای متن بسته فضایی برای خطا وجود ندارد.
- Skype، Google Earth، Java، Adobe Flash، Virtual Box، Adobe Reader، Microsoft Office، Microsoft Windows، WinRAR، Mac OS، Adobe Flash Player چند نمونه هستند.
مزایا
کد منبع باز هم به توسعهدهندگان مشتاق و هم به شرکتهای بزرگ در تخصص فناوری خود کمک کرده است. این آموزشی بی پایان است، به خصوص با توجه به پیامدهای رو به افزایش کدنویسی. این شبکه ایدهها که همیشه در حال گسترش است، تنها شروعی است که چگونه چنین نرمافزاری ممکن است به شرکت شما کمک کند.
افزایش بودجه ممکن است یک نبرد روزانه برای استارت آپ ها باشد. در دسترس بودن پروژههای منبع باز به مصرفکنندگان اجازه میدهد تا بدون پرداخت حق عضویت یا امضای قراردادهای بلندمدت، از فناوری جدید استقبال کنند. جدا از هزینه کم (یا غیر موجود)، کتابخانه های منبع باز به تیم ها اجازه می دهد تا در ساخت زیرساخت فناوری اطلاعات یا توسعه یک برنامه جدید شروع کنند.
بسیاری از این کار قبلاً به لطف منبع باز برای شما انجام شده است. این امر زمان توسعه دهندگان را برای بهینه سازی و سفارشی سازی آزاد می کند. همیشه موقعیتهایی وجود خواهد داشت که سازمانها میخواهند با توسعه از صفر شروع کنند، اما حتی بزرگترین برندهای جهان نیز زمان و پول صرفهجویی شده با استفاده از فناوری منبع باز را تشخیص میدهند. اجزای منبع باز، چه به عنوان کیت های آغازین برای برنامه های پیچیده یا قطعات پازل کوچک برای کمک به اتمام یک پروژه استفاده شوند، ممکن است جایگزین مفیدی برای توسعه دهندگان فردی و تیم های سازمانی باشند.
جوامع آنلاین مانند GitHub پتانسیل مشترک نرم افزار منبع باز را نشان می دهند و خانه ای را برای میلیون ها توسعه دهنده و شرکت برای میزبانی، ارزیابی و استفاده از پلتفرم های منبع باز فراهم می کنند. مایکروسافت 7.5 میلیارد دلار برای این پلتفرم در سال 2018 پرداخت کرد. این احتمالاً مشهودترین نمونه تا به امروز از محبوبیت فناوری منبع باز است و اینکه غول های IT در حال سرمایه گذاری در آینده این جامعه هستند.
به دلایل مختلف، توسعه و اجرای یک استراتژی نرم افزار منبع باز بسیار مهم شده است. توسعه دهندگان نرم افزار منبع باز به صورت جداگانه و با هم به دنبال بهترین پاسخ ها برای چالش های فنی هستند که در نتیجه نرم افزار قابل اعتماد، ایمن و رایگان است. این برنامه با گذشت زمان در نتیجه کار خستگی ناپذیر آنها بهبود می یابد.
این فرآیند توسط بنیادهای متعددی از جمله بنیاد لینوکس که از منبع باز در چندین حوزه فناوری پشتیبانی می کند، بنیاد نرم افزار آپاچی و بنیاد اکلیپس کمک می کند.
آنها استانداردهایی را با همکاری غول های دیجیتالی مانند AWS، Facebook، Google، IBM، Microsoft، Netflix و SAP و همچنین سازندگان سخت افزار مانند Cisco، Intel و تسلا. آنها همچنین خانههای مستقل از فروشنده را برای پروژهها میسازند، کمک مالی برای زیرساختها ارائه میکنند، در بازاریابی کمک میکنند، و کمیتههایی را برای انتخاب پروژههای هوشمند انتخاب میکنند.
به طور خلاصه، برخی از مزایای اصلی منبع باز عبارتند از:
- هزینه های سخت افزاری کمتر است.
- نرم افزار با کیفیت استثنایی
- پشتیبانی جهانی توسط توسعه دهندگان
- انعطاف و آزادی.
- مدیریت مجوزها ساده است.
- تمرکز و مقیاس بندی پروژه ها.
خطرات
همانطور که در بخش قبل ذکر شد، منبع باز ممکن است چندین مزیت داشته باشد. اکنون به معایب یا خطرات احتمالی مرتبط با آن می پردازیم که به سه دسته به شرح زیر تقسیم می شوند:
- خطر امنیتی
- ریسک کیفیت
- ریسک انطباق
اجزای منبع باز را می توان در انواع مخازن اینترنتی پیدا کرد و توسعه دهندگان ابزاری برای دانستن میزان خوب یا ایمن بودن آنها ندارند. سازمانهایی که برای کنترل استفاده از خود سرمایهگذاری نمیکنند، خود را در معرض خطر قرار میدهند و ممکن است هزینه آن را بعداً زمانی که اصلاح اشتباهات بسیار گرانتر میشود، بپردازند.
خطر امنیتی
هکرها می توانند با بهره برداری از نقص های امنیتی منبع باز پول زیادی به دست آورند. این به هکرها تمام اطلاعات مورد نیاز برای حمله را می دهد. بدتر از آن، به دلیل استفاده گسترده از آن، آسیب پذیری در یک مؤلفه محبوب، تعداد زیادی قربانی احتمالی را به هکرها ارائه می دهد. این بدان معنی است که هکرها جامعه را زیر نظر دارند و به سرعت از نقص های امنیتی شناخته شده در مؤلفه های منبع باز محبوب سوء استفاده می کنند.
کسبوکارهای نرمافزاری در صورت عدم نظارت بر استفاده از منبع باز و نادیده گرفتن کتابخانههای آسیبپذیر در کد خود، در برابر حملات مخرب آسیبپذیر هستند.
ریسک کیفیت
در حالی که یک شرکت زمان و هزینه زیادی را برای اطمینان از آن صرف می کند کیفیت کد اختصاصی آن، به نظر می رسد که بسیاری از تیم های توسعه کیفیت اجزای منبع باز را کم ارزش می دانند یا نادیده می گیرند. البته همه ما می خواهیم محصول نهایی ما تحت فشار ثابت و پایدار باشد.
یکی از دلایل دشواری تأیید اینکه یک جزء نرمافزار متنباز وضعیت محصول شما را به خطر نمیاندازد این است که معیارهای توافقشدهای برای ارزیابی کیفیت آن وجود ندارد و ویژگی مشترک یک منبع باز میتواند کار را دشوار کند. اندازه گرفتن.
ریسک انطباق
هر جزء نرم افزار منبع باز، و همچنین وابستگی های آن، دارای مجوز هستند. هنگامی که از آنها در پروژه خود استفاده می کنیم، متعهد به مجموعه ای از شرایط و ضوابط هستیم که باید به آنها پایبند باشیم. برای کسانی که با پیچیدگی صدور مجوز منبع باز آشنا نیستند، این می تواند یک کابوس باشد.
برخی از پروژه های منبع باز فاقد هر گونه مجوز منبع هستند، به این معنی که قوانین کپی رایت به طور پیش فرض اعمال می شود. از آنجایی که مجوزهای بسیار زیادی وجود دارد، رعایت تمام الزامات قانونی بسیار دشوار است. آیا می دانستید بیش از 200 نوع مجزا از مجوزهای منبع باز وجود دارد که هر کدام مجموعه ای از شرایط و ضوابط منحصر به فرد، تخصصی و اغلب گیج کننده خود را دارند؟
آینده منبع باز
امواج جدید نوآوری توسط نرم افزاری که نتیجه تلاش مشترک است، نه فقط از یک کسب و کار، بلکه از جامعه ای که به بهبود کل محیط اختصاص دارد، دامن می زند.
شرکتها توسعهدهندگان خود را آزاد میکنند تا در عرصه دیجیتال رقابت کنند، با این هدف که اولین کسانی باشند که نوآوری روزافزونی در صنعت فناوری ایجاد میکنند، زیرا همچنان در بین شرکتها قرار میگیرد.
توسعه دهندگان ممکن است با استفاده از جامعه منبع باز و یادگیری از بهترین توسعه دهندگان، به ویژه با سیل فن آوری های جدید مانند هوش مصنوعی، به طور موثر مشکلات آزمایش و پیاده سازی را برطرف کنند. فراگیری ماشینو پیشرفت های روباتیک.
وقتی کارمندان از جامعه پویا و راهحلمحور استفاده میکنند، شاهد سود کسبوکارها هستیم. از وسایل نقلیه خودران گرفته تا روباتهای پزشکی، شهرهای هوشمند گرفته تا مراکز داده، ما نمیخواهیم پاسخ این چالشها را به تعداد کمی از شرکتها بسپاریم. در عوض، ما باید به منبع باز و تعداد زیادی از مخترعان زبردست تکیه کنیم تا بهترین نتایج را بگیریم.
نتیجه
جنبش منبع باز مسئول پیشرفت سریع فناوری در چند دهه اخیر است. در حالی که منبع باز برخی از خطرات را به همراه دارد، مزایای بسیاری و راههای امیدوارکنندهای وجود دارد. جامعه بزرگی از مشارکتکنندگان، دستورالعملهای نحوه شروع، یادگیری با مطالعه کد دیگران، و کسب تجربه در برقراری ارتباط با سایر مهندسان، مزایای بسیار خوبی است که از نرمافزار منبع باز دریافت میکنید.
اگر شما هم میخواهید در یک پروژه منبع باز مشارکت کنید، ابتدا یکی را پیدا کنید که شما را مجذوب خود کند، سپس در GitHub برچسبی را جستجو کنید که میگوید «اولین مسئله خوب» یا چیزی مشابه. شماره اول خوب پروژهای است که انتخابهای آسانی از پروژههای محبوب را برای توسعهدهندگانی که قبلاً هرگز همکاری نکردهاند، انتخاب میکند.
پاسخ دهید