اپن سورس (Open Source) چیست
1399-09-24

اپن سورس (Open Source) چیست و چه قابلیت هایی دارد؟

تعریف اپن سورس (Open Source)

اگر در جمع برنامه‌نویسان قرار بگیرید، اصطلاح متن‌باز یا Open Source را زیاد می شنوید و ممکن است از خود بپرسید اپن سورس (Open Source) چیست؟ به ما افتخار دهید تا به سوال شما پاسخ دهیم.

 اپن سورس (Open Source) چیست؟

زمانی که شما از اپل، سیستم‌عاملی مانند مک بوک را خریداری می‌کنید باید سیستم‌عامل Mac OS روی آن نصب باشد. حال اگر بخواهید تغییری در کد ایجاد کنید این اجازه به شما داده نشده و نمی‌توانید هیچ تغییری در کدها، ظاهر و طراحی آن ایجاد کنید. در واقع کدهای آن در اختیار ما قرار ندارند و صرفاً می‌شود با استفاده از نقش‌هایی که مدیر سیستم یا برنامه‌نویس سیستم ios مشخص کرده یک‌سری نرم‌افزار نصب و تغییراتی ایجاد کرد.

یعنی محدود کردن اختیارات شما تا نتوانید هر چیزی را تغییر دهید. در واقع سورس سیستم در اختیار شما قرار ندارد. به این نوع نرم‌افزارها که نمیتوان در کدهای آن تغییری ایجاد کرد نرم‌افزارهای بسته میگویند. چراکه اگر سورس سیستم در اختیار بقیه افراد قرار بگیرد هر شرکتی می‌تواند درون آن تغییرات دلخواه خود را ایجاد کرده و یک نسخه از آن را بیرون دهد.

این قضیه درست برعکس نرم‌افزارهای اپن سورس می‌باشد یعنی شما به راحتی می‌توانید در کد آنها تغییر ایجاد کنید. مثل لینوکس، این سیستم‌عامل انقدر خاکیست که هر کسی می‌تواند در کدهای آن تغییر ایجاد کند. پس لینوکس یک سیستم عامل متن‌باز است.

راستی اگر می‌خواهید بیشتر درباره این سیستم عامل بدانید، حتما به مقاله لینوکس چیست ما سر بزنید.

اپن سورس (Open Source) چیست

به زبان ساده و در یک جمله کوتاه معنی متن‌باز بودن را بدانید:

اگر یک نرم‌افزار متن‌باز باشد، کد آن آزادانه و رایگان در اختیار همه قرار می‌گیرد. یعنی چه کاربر آن نرم‌افزار باشید چه نباشید، می‌توانید آزادانه این کد را دریافت یا ویرایش کرده و نسخه مخصوص به خود را منتشر کنید. حتی می‌توانید نرم‌افزار و نسخه‌های مختلف آن را به هر تعداد که می‌خواهید و با هر هدف، منتشر کنید. 

در یک جمله: هیچ هزینه لایسنسی برای نرم‌افزار متن‌باز وجود ندارد!

در مقابل نرم‌افزار‌های متن باز، نرم‌افزارهای متن‌بسته (Closed Source) قرار دارند که دارای لایسنس هستند و اجازه دسترسی کاربر به سورس کد برنامه را نمی‌دهند. سیستم عامل ویندوز یک نمونه مشهور از نرم‌افزارهای متن‌بسته است. ما همینجا شما را به مصاحبه از کارمند مایکروسافت درباره uwp چیست، دعوت میکنیم.

ویژگی نرم‌افزارهای اپن سورس (Open Source) چیست؟

  •  قابلیت توزیع و پخش آزادانه

ویژگی های نرم افزار اپن سورسالبته در برخی موارد، نرم‌افزار می‌تواند به عنوان بخشی از یک بسته باشد که فروخته می‌شود. مثلا توزیع ردهت از لینوکس 

  •  توزیع مجدد کد منبع

یکی از ویژگی‌های مهم هر نرم‌افزار منبع‌باز است؛ به این صورت که کد منبع همراه با کد کامپایل می‌آید و کاربر مجاز است با توجه به نیاز خود در کد منبع، تغییرات را ایجاد کند یا حتی فرد می‌تواند نرم‌افزار اصلاح شده را توزیع کند. حتی اگر نرم‌افزار هم تغییر کند باز در شرایط یکسان می‌تواند همان مجوز نرم‌افزار اصلی را داشته باشد.

  • نبود هیچ تبعیض نژادی

یعنی برای شخص یا گروهی از مردم نیست و با همه افراد یکسان رفتار می‌کند. به این ترتیب، می‌توانید این نرم‌افزار را بدون محدودیت در هر جایی مورد استفاده قرار دهید از کسب و کار گرفته تا تحقیق و یا برای مقاصد خانگی. خبر خوب اینکه هیچ شرایط و ضوابطی هم برای استفاده از آنها وضع نشده است؛ یعنی محدودیتی در استفاده از نرم‌افزار وجود ندارد.

  • مجوز آزاد

اینگونه نرم‌افزارها مجوزهای لازم را برای تغییرات و اصلاحات دارند. یعنی هیچ‌گونه محدودیتی برای هر نوع تغییری وجود ندارد و می‌توان به راحتی نرم افزار مذکور را مورد استفاده قرار داد. وجود محدودیت، با این نرم‌افزار سازگار نیست و برای آن مجوز بدون محدودیت صادر می‌شود.

مزایای استفاده از نرم‌افزارهای اپن سورس (Open Source) چیست؟مزایای نرم افزار اپن سورس

یکی از مهم‌ترین مزایا این است که هسته اصلی این نرم‌افزارها، رایگان می‌باشد. البته این دیدگاه در حال تغییر است و حالا 29 درصد از کاربران به خاطر دسترسی سریع‌تر به نوآوری‌های دنیای تکنولوژی از اینگونه نرم‌افزارها استقبال می‌کنند.

مزیت دیگر این که، کد منبع آن‌ها قابلیت اصلاح را دارد. بنابراین، برای پیشرفت و توسعه دادن نسخه بعدی نرم‌افزار نیازی نیست تا آزاد شدن کد منبع آن صبر کنید و با گرفتن یک نسخه از نرم‌افزار، می‌توانید به کد منبع دست یابید. 

 

معایب استفاده از نرم‌افزارهای منبع‌باز

معایب نرم افزار اپن سورسیکی از نگرانی‌ها این است که هیچ پشتیبانی فنی برای آن‌ها وجود ندارد. بنابراین، اگر مشکلی در این نوع نرم‌افزارها پیش بیاید، ممکن است شخص نتواند آن را حل کند. زیرا طوری طراحی شده اند که تغییر آن توسط کاربران مختلف و پشتیبانی فنی امکان پذیر باشد.

امنیت را می توان یکی دیگر از نگرانی‌های اصلی کسب و کارها دانست. 38 درصد کاربران، مباحث امنیتی را عامل بازدارنده اصلی در این بخش می‌دانند. به‌روزرسانی مداوم نرم‌افزارهای متن‌باز اهمیت فوق‌العاده‌ای دارد.

 

شرکت Equifax به خاطر آپدیت نکردن فریمورک Apache Struts مورد حمله هکرها قرار گرفت و اطلاعات بیش از 143 میلیون شهروند آمریکایی را فاش کرد.

آینده سیستم عامل‌های متن-باز

مبحث لایسنس نرم‌افزارها یکی از مباحث داغ در بین برنامه‌نویسان است و به همین دلیل نرم‌افزار‌های متن‌باز در بین کاربران و برنامه نویسان از محبوبیت زیادی برخوردار است. همچنین جامعه متن‌باز تمام تلاش خود را می‌کند تا در آستانه تغییرات گسترده قرار گیرد و نقش‌های مهم‌تری را در دنیای تکنولوژی ایفا کند. مایکروسافت هم به تازگی به این حوزه روی خوش نشان داده است. اما باید ببینیم در آینده چه تغییرات و اتفاقاتی رخ خواهد داد؟ نظر شما درباره آینده نرم‌افزارهای اپن سورس (Open Source) چیست؟
 

مقالات مرتبط

تفاوت dp و px در برنامه نویسی اندروید

واحد های اندازه گیری اندروید
زهرا چگینی
10

به نظر شما تفاوت dp و px در برنامه نویسی اندروید، این دو واحد اندازه گیری چیست؟ پس ما را همراهی کنید.

delegate چیست؟

Delegate ها چرا به زبان سی شارپ اضافه شدند؟
مرضیه فتاحی
15

delegate چیست؟ چه کاربردی دارد؟ چگونه و در چه موقعیت هایی باید ازآنها استفاده کرد؟ با ما همراه شوید تا تمامی این سوال ها دریابید.

اکشن (Action) در سی شارپ، راهی برای خواناتر شدن کدها

موارد استفاده ی Action در سی شارپ
زهرا چگینی
10

Action در سی شارپ از پایه و اساس Delegate ها استفاده میکند، درحقیقت همان Delegate های هستند که کار را برای ما راحت تر میکنند.

Extension method درسی شارپ، راهی برای کارایی بالا در کدها

اکستنشن (extension) درسی شارپ
مرضیه فتاحی
10

هدف ما دانستن نکات مهمextension method در سی شارپ، نحوه استفاده و همچنین کاربرد آن در کدنویسی است. پس با ما همراه شوید.

لیست کامل تگ های html که هیچ کس به شما نخواهد گفت

آشنایی با تگ های html
زهرا چگینی
15

تگ ها در html نقش مهمی دارند زیرا تمامی کارهای html با تگ انجام می‌شود. به همین دلیل ما یک لیست کامل از تگ‌های html برای شما آماده کرده‌ایم تا از آن استفاده کنید.

ویژگی های جدید asp.net core که حیرت برنامه نویسان را برانگیخت

معرفی ویژگی های جدید asp.net core از مایکروسافت
مرضیه فتاحی
10

ویژگی های جدید asp.net core چیست؟ مایکروسافت در این نسخه چه امکاناتی را برای برنامه نویسانش قرار داده است. اگر شما هم خواهان دانستن این مطالب هستید، ما را همراهی کنید.