فلسفه آزادی نرمافزار
نرمافزار آزاد نرمافزاری است که میتوان آن را آزادانه و بدون محدودیت، به هر منظور استفاده کرد، مطالعه و بررسی نمود، و تغییر داد. همچنین کپی کردن یا توزیع مجدد (خواه بدون تغییر و خواه با تغییراتی در نرمافزار) آزاد و بدون محدودیت یا با محدودیت بسیار کمی (تنها برای اطمینان از اینکه دریافت کنندگان بعدی نرمافزار نیز از این آزادیها بهرهمند میشوند یا تولیدکنندگان سختافزارهایی که سروکار سختافزار با مصرفکننده است به کاربران اجازهی ایجاد تغییر در سختافزارشان را بدهند) است. نرمافزارهای آزاد عموما رایگان هستند اما میتوانند دارای قیمت هم باشند مثلا برای هزینه تولید CD و دیگر اَشکال توزیع آن.
در عمل، کد مبدا نرمافزارهای آزاد همراه با یادداشتی که آزادیهای بالا را تامین میکند عرضه میشود که به آن اجازهنامه نرمافزار آزاد گفته میشود.
جنبش نرمافزار آزاد در سال ۱۹۸۳ میلادی به پیشگامی ریچارد استالمن به راه افتاد تا نیاز کاربران کامپیوتر به مزایای آزادی نرمافزار را تامین کند. استالمن بنیاد نرمافزار آزاد را در ۱۹۸۵ میلادی برای تامین ساختار سازمانی لازم برای پیشبرد ایدههای نرمافزار آزادش تاسیس کرد.
تعریف
نرمافزاری که آزادیهای زیر را برای کاربر قائل شود، نرمافزار آزاد خوانده میشود (توجه کنید که کلمه Free به معنای آزاد استفاده میشود و نه رایگان!):
- آزادی اجرای برنامه برای هر کاری (آزادی صفرم)
- آزادی مطالعه چگونگی کار برنامه و تغییر آن (پیش نیاز: متن برنامه) (آزادی یکم)
- آزادی تکثیر و کپی برنامه (آزادی دوم)
- آزادی تقویت و بهتر کردن برنامه و توزیع آن برای همگان (پیش نیاز: متن برنامه) (آزادی سوم)
هر نرمافزار آزاد، چنین آزادیهایی را برای کاربر دارد. علاوه بر اینها، یک شرط هم هست و آن هم این هست که اگر شما از این آزادیها استفاده کردید و نرمافزاری را تولید کردید و آن را به دیگران دادید، باید این آزادیها را به کاربرانتان هم بدهید. اگر شما این آزادیها را داشتید پس دیگران هم باید داشته باشند، یعنی نرمافزار آزاد تا آخرین توزیعش باید آزاد بماند.
آزادی نرمافزارهای آزاد تا جایی هست که حتی میتوان بدون پرداخت هزینهای برای مجوز، کپیهایی از یک نرمافزار آزاد را، یا بدون تغییرات، رایگان یا در ازای دریافت وجه، برای هرکس و هرجایی آن را توزیع کرد.
نرمافزارهای آزاد (به دلیل ابهام در لفظ Free) به اشتباه بهعنوان نرمافزارهای رایگان و احتمالاً بیارزش تلقی میشدند، به همین دلیل این نرمافزارها به متن باز یا متن آزاد (Open Source) معروف شدند. در واقع در نرم افزارهای آزاد قیمت مورد نظر نیست بلکه آزادی مطرح است.
از دیگر ضمانتهایی که نرمافزار آزاد تأمین میکند، اجازهنامه عمومی همگانی (GPL) است. GPL برای هر کس امکان دوباره توزیعکردن یا کامپایل مجدد متن برنامه را فراهم میکند. طبق این اجازهنامه باید متن برنامه در دسترس قرار داده شود تا امکان استفاده و یا تغییر آن باشد. برنامههای رایانهای اینگونه را معمولاً متن باز گویند. متن چنین برنامههایی نمیتواند به حالت «محدود شده» درآید مگر با نظر تک تک نویسندگان آن متن. بیشتر نویسندگان متن لینوکس تحت این مجوز برنامهنویسی میکنند.
انگیزه
از انگیزههایی که باعث ایجاد نرمافزارهای آزاد شد میتوان رقابت نرمافزارهای آزاد و سرمایهگرایی را ذکر کرد. فعالان این جنبش معتقدند که محدودیتهایی که سرمایهگرایی به نرمافزارها اعمال میکند، مانع از اصلاح و پیشرفت فنی آنها میشود و با این نوع محدودیتها مخالفند.
حقوق پدیدآورنده
مسلماً اختراع یک نرمافزار حقوق مادی و معنوی برای مخترع نرمافزار ایجاد میکند که در ایران تحت عنوان قانون حمایت از حقوق پدیدآورندگان نرمافزارهای رایانهای به تصویب رسیده است.
از جمله حقوق معنوی میتوان به موارد زیر اشاره کرد:
حق انتساب (نام پدید آورنده ذکر شود)
حق یکپارچگی اثر
حق انتشار گمنام یا نام مستعار
و از جمله حقوق مادی میتوان به حق تغییر یا نشر با اجازهٔ پدیدآورنده اشاره کرد.
کپیلفت
شما اجازه ندارید با افزودن محدودیتهایی به یک نرمافزار تحت حمایت قانون کپیلفت، آزادیهای مرکزی آن را برای دیگران از بین ببرید. این قانون نه تنها با آزادیهای مرکزی در تضاد نیست بلکه از آنها محافظت میکند.
برای این نرمافزارها اجازهنامه قابل قبول است که اگر یک نسخهی تغییر یافته از برنامه را توزیع کردید و توسعهدهندهی قبلی یک کپی از آن را درخواست نمود، شما باید یک کپی برای او بفرستید.
امنیت
نرمافزارهای آزاد معمولاً با سرعت بیشتری نسبت به نرمافزارهای انحصار گرایانه بهروز میشوند و حفرههای امنیتی که در نسخههای پیشین وجود داشته، در نسخههای جدید اصلاح میشود.
مثالهایی از نرمافزارهای آزاد کاربردی
هستهٔ سیستمعامل گنو/لینوکس، داروین (هستهی مک) و بیاسدی
کامپایلر جیسیسی، کتابخانهی C
پایگاهدادههای رابطهای مانند: MySQL، PostgreSQL
زبانهای برنامهنویسی مانند تیسیال، روبی، پایتون، پرل و پیاچپی.
مرورگر وب: فایرفاکس
اُپن آفیس
میزکار کیدیای
میزکار گنوم
برنامههای حروف چینی مانند تک، لاتک و فارسی تک
نرمافزارهای مدیریت محتوا: دروپال، جوملا، پیاچپی نیوک، پست نیوک و مامبو.
نرمافزارهای ساخت انجمن: phpBB