گاما رو نصب کن!

{{ number }}
اعلان ها
اعلان جدیدی وجود ندارد!
کاربر جدید

جستجو

پربازدیدها: #{{ tag.title }}

میتونی لایو بذاری!
نمونه سوال محتوای آموزشی آزمون آنلاین پرسش و پاسخ درسنامه آموزشی مدرسه‌یاب معلم‌ها

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

بروزرسانی شده در: 21:28 1405/04/10 مشاهده: 30     دسته بندی: کپسول آموزشی

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

نکتهٔ پایانی

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