نرم افزار آزاد چیست ؟

 

شعاری در دنیای لینوکس هست که می گوید لینوکس یک سیستم عامل نیست، لینوکس یک فرهنگ است: فرهنگ آزادی.

 این آزادی برمی گردد به ایده های فردی به نام ریچارد استالمن که در ۱۹۸۳ با راه انداختن جنبشی به نام جنبش نرم افزار آزاد آن را شروع کرد و بعد در سال ۱۹۸۵ با تاسیس بنیادی به نام بنیاد نرم افزار آزاد، پایه های آن را مستحکم ساخت. نماد این بنیاد گوزن آمریکای شمالی است که گنو نام دارد. این مفهوم در انگلیسی به نام Free Software شناخته می شود و از آنجایی که کلمه Free در زبان انگلیسی هم به معنای «رایگان» استفاده می شود و هم به معنای «آزاد»، تذکر این نکته همیشه مهم است که آزادی در دنیای نرم افزار چیزی بیشتر از رایگان بودن یک برنامه است.

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

  • آزادی اجرای برنامه برای هر کاری (آزادی صفرم)
  • آزادی مطالعه چگونگی کار برنامه و تغییر آن (پیش نیاز: متن برنامه) (آزادی یکم)
  • آزادی تکثیر و کپی برنامه (آزادی دوم)
  • آزادی تقویت و بهتر کردن برنامه و توزیع آن برای همگان (پیش نیاز: متن برنامه) (آزادی سوم)

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

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

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

اما این موضوع چطور ممکن است؟ در نرم افزارهای بسته (مثلا ویندوز یا فتوشاپ) قانون از تولید کننده حمایت می کند ولی اگر قرار باشد قانون همین حمایت را از آزادی ها هم انجام دهد، نیازمند متنی قانونی هستیم. این متن قانونی، GPLGPL نام دارد. جی پی ال یا اجازهنامه عمومی همگانی یک متن قانونی است که اگر نرم افزاری اشاره کند «این برنامه براساس مجوز جی پی ال منتشر شده»، قانون موظف است حقوق مولف را در مورد آن تضمین کند. برای مثال اگر شما برنامه ای را تحت جی پی ال منتشر کنید ولی بعد کسی آن را تغییر دهد و بدون اشاره به اسم شما آن را عرضه کند یا کسی آن را تغییر دهد و نسخه خودش را به شکل غیر آزاد منتشر کند، شما این اجازه را خواهید داشت تا به خاطر نقض کپی رایت مبتنی بر جی پی ال (که در مواردی کپی لفت هم نامیده می شود) به دادگاه شکایت کنید.

 

آزادی در مقابل بازمتن بودن

مفهوم مرتبط با مفهوم نرم افزار آزاد، نرم افزار بازمتن (Open Source) است. نرم افزار بازمتن نرم افزاری است که متن آن در اختیار مردم قرار دارد. ممکن است یک شرکت اینکار را به خاطر جذب توسعه دهنده های جدید انجام دهد یا برای امن تر کردن برنامه های خود از طریق تشویق مردم به کشف و گزارش حفره های امنیتی یا حتی به عنوان یک حرکت تبلیغاتی. اما هر انگیزه ای که پشت «بازمتن» شدن یک برنامه باشد نباید ما را از این نکته غافل کند که نرم افزار آزاد چیزی بیشتر از دسترسی به سورس است. همانطور که در بالا گفتم، تنها با داشتن این چهار اصل (اصل صفرم تا سوم) و حفظ آنها از طریق مجوزی مانندGPL است که یک برنامه می تواند آزاد نامیده شود:

  • آزادی اجرای برنامه برای هر کاری (آزادی صفرم)
  • آزادی مطالعه چگونگی کار برنامه و تغییر آن (پیش نیاز: متن برنامه) (آزادی یکم)
  • آزادی تکثیر و کپی برنامه (آزادی دوم)
  • آزادی تقویت و بهتر کردن برنامه و توزیع آن برای همگان (پیش نیاز: متن برنامه) (آزادی سوم)

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

آزادی در مقابل رایگان بودن

همانطور که در ابتدای این درس هم به آن اشاره شد، کلمه Free در زبان انگلیسی هم به معنی آزاد است و هم به معنی رایگان. این باعث شده تا بسیاری به اشتباه بین برنامه مجانی و برنامه آزاد تفاوت قائل نشوند. مطمئن هستم که سه اصل بالا را به یاد دارید و میدانید که هر برنامه رایگانی نمیتواند آزاد باشد. مثلا برنامه پرنده های خشمگین روی اندروید یا مرورگر اپرا برنامه های رایگانی هستند که آزاد نیستند چون نه فقط شما اجازه ندارید آنها را تغییر دهید که حتی اجازه ندارید به سورس آنها هم نگاه کنید (نقض آزادی یک و سه). اما آیا اینجا هم مثل مورد بازمتن، نرم افزار آزاد چیزی فراتر از نرم افزار رایگان است؟ اکثرا به این سوال جواب مثبت می دهند و فکر میکنند که نرم افزار آزاد حتما باید مجانی باشد اما این تصور اشتباه است.

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

حالا که دیدید که مجانی بودن هیچ ربطی به آزاد بودن ندارد و یک برنامه آزاد می تواند به فروش هم برسد (علی رغم اینکه طبق آزادی یک و دو همه باید بتوانند آن را به رایگان هم تهیه کنند) و یک برنامه مجانی هم می تواند آزاد نباشد (مثلا از طریق در دست نبودن سورسش)، این را هم اضافه کنیم که این روزها بعضی ها برای کم کردن این ابهام، به جای اصطلاح انگلیسی Free که میتواند به معنی مجانی هم بکار رود، از اصطلاح Libre استفاده میکنند که به روشنی معنی «آزادی» می دهد. به عنوان مثال مجموعه آفیس آزادی که در ابتدا Open Office نامیده میشد، حالا با تاکید بیشتر بر روی آزادی به نام Libre Office در حال توسعه است.

جمع بندی
نرم افزاری آزاد است که چهار شرط اصلی آزادی را داشته باشد:

  • آزادی اجرای برنامه برای هر کاری (آزادی صفرم)
  • آزادی مطالعه چگونگی کار برنامه و تغییر آن (پیش نیاز: متن برنامه) (آزادی یکم)
  • آزادی تکثیر و کپی برنامه (آزادی دوم)
  • آزادی تقویت و بهتر کردن برنامه و توزیع آن برای همگان (پیش نیاز: متن برنامه) (آزادی سوم)

نرم افزار آزاد تحت مجوزهای آزاد منتشر می شود تا قانون موظف باشد آزادی های آن را تضمین کند. نرمافزار آزاد با نرم افزار بازمتن و نرم افزار مجانی تفاوت دارد.

 

 

لیست مطالب مرتبط

معرفی هاست لینوکس

تاریخچه سیستم عامل لینوکس

کاربردهای لینوکس

هاست میزبانی وب لینوکس فضایی است روی سرور هایی که سیستم عامل آنها مبتنی بر لینوکس است.این سرویس برای راه اندازی سایت میباشد.


با لينوکس، شما مي توانيد کل ديسک سخت کامپيوتر خود را پاک نموده و صرفاً نرم افزارهاي رايگان را روي آن اجرا نماييد.

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