خانه
گاما

منبع کد آزاد: ویژگی نرم‌افزاری که کد آن برای استفاده یا ویرایش در دسترس عموم است.

دسته بندی:کپسول آموزشی
بروزرسانی شده در:1405/04/10
تعداد بازدید65
منبع کد آزاد: ویژگی نرم‌افزاری که کد آن برای استفاده یا ویرایش در دسترس عموم است.

منبع کد آزاد؛ نرم‌افزاری برای همه

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

منبع کد آزاد یعنی چه؟

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

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

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

مثال‌هایی از منبع کد آزاد در زندگی دانش‌آموزی

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

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

ویژگی نرم‌افزار منبع‌باز نرم‌افزار بسته (غیرآزاد)
دسترسی به کد در دسترس همه فقط برای سازنده
امکان ویرایش آزاد و قانونی معمولاً ممنوع
هزینهٔ استفاده اغلب رایگان یا کم‌هزینه ممکن است گران باشد
سرعت بروزرسانی بالا (با کمک جامعه) وابسته به تیم سازنده

چالش‌های مفهومی دربارهٔ منبع کد آزاد

پرسش ۱: آیا هر کسی می‌تواند کد را تغییر دهد و آن را به نام خودش منتشر کند؟

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

پرسش ۲: اگر کد در دسترس همه باشد، آیا امنیت نرم‌افزار کمتر نمی‌شود؟

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

پرسش ۳: چرا بعضی از شرکت‌ها کد نرم‌افزار خود را آزاد نمی‌کنند؟

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

نکتهٔ پایانی

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

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

نقاط کمک‌رسم: نقاط دقیقی مانند انتها، میانه، تقاطع، مرکز، عمود و مماس برای ترسیم صحیح.

اندازه‌گذاری نقشه: نمایش مقدار طول، قطر، شعاع یا زاویه روی نقشه با خطوط و ابزارهای اندازه‌گذاری.
کپسول آموزشی

اندازه‌گذاری نقشه: نمایش مقدار طول، قطر، شعاع یا زاویه روی نقشه با خطوط و ابزارهای اندازه‌گذاری.

نقشه پروژه طراحی و ساخت: نقشه فنی اجزای پروژه برای راهنمایی ساخت، اجرا و ارزیابی.
کپسول آموزشی

نقشه پروژه طراحی و ساخت: نقشه فنی اجزای پروژه برای راهنمایی ساخت، اجرا و ارزیابی.

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

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

ترسیم دوبعدی: رسم شکل‌ها روی صفحه با دو بعد طول و عرض.
کپسول آموزشی

ترسیم دوبعدی: رسم شکل‌ها روی صفحه با دو بعد طول و عرض.

ترسیم سه‌بعدی: نمایش رایانه‌ای اجسام با طول، عرض و ارتفاع.
کپسول آموزشی

ترسیم سه‌بعدی: نمایش رایانه‌ای اجسام با طول، عرض و ارتفاع.

محیط نرم‌افزار ترسیم: فضای کاری نرم‌افزار شامل ابزارها، نوارها و بخش‌های لازم برای ترسیم.
کپسول آموزشی

محیط نرم‌افزار ترسیم: فضای کاری نرم‌افزار شامل ابزارها، نوارها و بخش‌های لازم برای ترسیم.

ابزارهای ترسیم پایه: فرمان‌هایی مانند خط، دایره و کمان برای ایجاد شکل‌های اصلی.
کپسول آموزشی

ابزارهای ترسیم پایه: فرمان‌هایی مانند خط، دایره و کمان برای ایجاد شکل‌های اصلی.

خط فرمان: بخش ورود دستورهای متنی یا عددی برای اجرای دقیق فرمان‌های ترسیم.
کپسول آموزشی

خط فرمان: بخش ورود دستورهای متنی یا عددی برای اجرای دقیق فرمان‌های ترسیم.

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

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

ابزار تقارن: فرمان ایجاد تصویر قرینه از یک شکل نسبت به محور مشخص.
کپسول آموزشی

ابزار تقارن: فرمان ایجاد تصویر قرینه از یک شکل نسبت به محور مشخص.

ابزار آرایه: فرمان تکرار منظم یک شکل در الگوی انتقالی یا دورانی.
کپسول آموزشی

ابزار آرایه: فرمان تکرار منظم یک شکل در الگوی انتقالی یا دورانی.