متنباز،
منبعباز یا بازمتن (به
انگلیسی:
open
source)،
به شیوههای تولید و توسعه که دسترسی به
مواد منبع محصول نهایی -معمولاً
-
را
ترفیع دهد، اشاره دارد.
درحالیکه
برخی متنباز را یک فلسفه
در نظر میگیرند، دیگران آن را روش
عملگرایانه میدانند.
متنباز،
منبعباز یا بازمتن (به
انگلیسی:
open
source)،
به شیوههای تولید و توسعه که دسترسی به
مواد منبع محصول نهایی -معمولاً
-
را
ترفیع دهد، اشاره دارد.
درحالیکه
برخی متنباز را یک فلسفه
در نظر میگیرند، دیگران آن را روش
عملگرایانه میدانند.
تا پیش از ترویج گستردهٔ این اصطلاح،
توسعهدهندگان و تولیدکنندگان از انواع عبارات برای توصیف این مفهوم
استفاده میکردند؛ اما اصطلاح متنباز (open source) با ظهور سامانهٔ
عمومی، جهانی، و شبکهایِ اینترنت، و نیاز ملازم برای بازتجهیز ، جا افتاد.
بازکردن کد مبدأ، باعث خودبهبودیِ تنوع در مدلهای تولید، مسیرهای ارتباط،
و جوامع تعاملی شد. متعاقب آن، عبارت «نرمافزار متنباز» برای توصیف
محیطی که در آن مسائل جدید کپیرایت، پروانه، دامنه، و مصرفکننده مطرح شد،
بهوجود آمد. مدل متنباز شامل مفهوم دستورکارهای همزمان ولی متفاوت، و
رویکردهای متنوع در تولید است که با مدلهای متمرکزتر توسعه چون آنهایی که
معمولاً در شرکتهای نرمافزاری تجاری به کار میرود، در تضاد است. اصل و
عمل عمده در توسعهٔ نرمافزار متنباز، شبهتولید بوسیلهٔ دادوستد و
همکاری، با محصول نهایی (و مادهٔ منبع) است که بدون هیچ هزینهای در دسترس
عموم است
نرمافزار آزاد
واژه آزادی در
نرمافزارهای آزاد به معنای آزادی در استفاده(به هر منظور)، تغییر و/یا
توزیع مجدد نرمافزار است. از آنجایی که در فارسی آزادی معنایی دوگانه
نمیدهد نیازی به تفسیر انواع آزادی نیست، ولی به دلیل آن که «نرمافزار
آزاد» ترجمه تحت الفظی اصطلاح "Free Software" است، بهتر است اصطلاح "Free
Software" در انگلیسی را نیز اینجا بررسی کنیم، در انگلیسی این واژه دو
معنا میدهد:
1.به همان معنایی که ما در بالا اشاره کردیم،
یعنی Free به معنای آزادی، که این گونه نرم افزارها قابل استفاده،
نسخهبرداری، تغییر و/یا توزیع مجدداند، بدون محدودیت و یا با محدودیتهایی
برای حفظ آزادی.
2.و معنایی دیگر و در واقع هر تفسیری به جز
تفسیر نوع اول که تنها معنای رایگان بدهد، مانند «آبجو مجانی» (یا در فرهنگ
ایرانی، شربت صلواتی و یا هر چیز دیگری که اسمش را بگذارید).
در
فارسی منظور ما از نرمافزارهای آزاد معنای اول است.
تعریف
نرم افزاری که آزادی های زیر را برای کاربر قائل شود، نرم افزار
آزاد خوانده میشود (توجه کنید که کلمه Free به معنای آزاد استفاده میشود و
نه رایگان!):
آزادی اجرای برنامه برای هر کاری (آزادی صفرم)
آزادی مطالعه چگونگی کار برنامه و تغییر آن (پیش نیاز: متن
برنامه) (آزادی یکم)
آزادی تکثیر و کپی برنامه (آزادی دوم)
آزادی تقویت و بهتر کردن برنامه و توزیع آن برای همگان (پیش
نیاز: متن برنامه) (آزادی سوم)
هر نرم افزار آزاد، چنین
آزادیهایی را برای کاربر دارد. علاوه بر اینها، یک شرط هم هست و آن هم
اینست که اگر شما از این آزادیها استفاده کردید و نرم افزاری را تولید
کردید و آن را به دیگران دادید، باید این آزادیها را به کاربرانتان هم
بدهید. اگر شما این آزادیها را داشتید پس دیگران هم باید داشته باشند، یعنی
نرم افزار آزاد تا آخرین توزیعش باید آزاد بماند.
آزادی
نرمافزارهای آزاد تا جایی هست که حتی میتوان بدون پرداخت هزینهای برای
مجوز، کپیهایی از یک نرمافزار آزاد را، با یا بدون تغییرات، رایگان یا در
ازای دریافت وجه، برای هرکس و هرجایی آن را توزیع کرد.
نرمافزارهای
آزاد (به دلیل ابهام در لفظ free) به اشتباه بهعنوان نرمافزارهای رایگان
و احتمالاً بیارزش تلقی میشدند، به همین دلیل این نرمافزارها به متن
باز یا متن آزاد (Open Source) معروف شدند. در واقع در نرم افزاهای آزاد
قیمت مورد نظر نیست بلکه آزادی مطرح است.
از دیگر ضمانتهای که
نرمافزار آزاد تأمین میکند، اجازهنامه عمومی همگانی (GPL) است. GPL
برای هر کس امکان دوباره توزیعکردن یا همگردانی (کامپایل) مجدد متن برنامه
را فراهم میکند. طبق این اجازهنامه همچنین باید متن برنامه در دسترس
قرار داده شود تا امکان استفاده و یا تغییر آن باشد. برنامههای رایانهای
اینگونه را معمولاً متنباز گویند. متن چنین برنامههایی نمیتواند به حالت
«محدودشده» درآید مگر با نظر تک تک نویسندگان آن متن. بیشتر نویسندگان متن
سیستمعامل لینوکس تحت این مجوز برنامهنویسی میکنند.
انگیزه
از انگیزههایی که باعث ایجاد نرمافزارهای آزاد شد میتوان
رقابت نرمافزارهای آزاد و سرمایهگرایی را ذکر کرد. فعالان این جنبش
معتقدند که محدودیتهایی که سرمایهگرایی به نرمافزارها اعمال میکند،
مانع از اصلاح و پیشرفت فنی آنها میشود و با این نوع محدودیتها مخالفند.
حقوق پدیدآورنده
مسلماً اختراع یک نرمافزار حقوق
مادی و معنوی برای مخترع نرمافزار ایجاد میکند که در ایران تحت عنوان
قانون حمایت از حقوق پدیدآورندگان نرمافزارهای رایانهای به تصویب رسیده
است.
از جمله حقوق معنوی میتوان به موارد زیر اشاره کرد:
حق انتساب (نام پدید آورنده ذکر شود)
حق یکپارچگی
اثر
حق انتشار گمنام یا نام مستعار
و از جمله
حقوق مادی میتوان به حق تغییر یا نشر با اجازهٔ پدیدآورنده اشاره کرد.
کپیلفت
شما اجازه ندارید با افزودن محدودیتهایی به
یک نرمافزار تحت حمایت قانون کپیلفت، آزادیهای مرکزی آن را برای دیگران
از بین ببرید. این قانون نه تنها با آزادیهای مرکزی در تضاد نیست بلکه از
آنها محافظت نیز میکند.
برای این نرم افزارها اجازهنامه قابل
قبول است که اگر یک نسخهٔ تغییر یافته از برنامه را توزیع کردید و
توسعهدهندهٔ قبلی یک کپی از آن را درخواست نمود٬ شما باید یک کپی برای او
بفرستید.
امنیت
نرمافزارهای آزاد معمولاً با سرعت
بیشتری نسبت به نرمافزارهای انحصار گرایانه بهروز میشوند و حفرههای
امنیتی که در نسخههای پیشین وجود داشته، در نسخههای جدید اصلاح میشود.
مثالهایی از نرمافزارهای آزاد کاربردی
هستهٔ
سیستمعامل گنو/لینوکس، داروین (سیستمعامل) و بیاسدی
کامپایلر
جیسیسی، کتابخانهٔ زبان برنامهنویسی سی
پایگاهدادههای
رابطهای مانند: mysql،PostgreSQL
زبانهای برنامهنویسی
مانند تیسیال، روبی، پایتون، پرل و پیاچپی.
مرورگر وب
فایرفاکس
اُپن آفیس
میزکار کیدیای
میزکار گنوم
برنامههای حروف چینی مانند تک، لاتک و
فارسی تک
نرمافزارهای مدیریت محتوا مانند جوملا (!Joomla)،
پیاچپی نیوک (phpnuke)، پست نیوک (postnuke) و مامبو (mambo)
نرمافزارهای ساخت انجمن (Forum) مانند پیاچپیبیبی (phpbb)،
اساماف (smf)، یاب (YaBB) و فروم (phorum)