شاید آزادی نرمافزار برای ما که هزینهای برای استفاده از آنها نمیپردازیم، مفهوم چندانی نداشته باشد و به آن اهمیت ندهیم. ولی فکر کنید اگر در کشوری زندگی میکردیم که برای استفاده از نرمافزارهای مختلف باید پول میپرداختید؛ مثلاً برای داشتن کدویژن باید یک میلیون تومان و برای داشتن پروگرامر J-Link بهجای 50 هزار تومان 4 میلیون تومان پرداخت میکردید، آنوقت مقوله نرمافزار آزاد و آزادی نرمافزار به یکی از اصلیترین مقولههای موجود تبدیل میشد. اما مقوله آزادی نرمافزار فراتر از قیمت است؛ یک نگاه فلسفی به حقِ آزادی در استفاده و انتشار نرمافزار است. برای درک بهتر، به مفهوم “آزاد” در “آزادی بیان” فکر کنید نه در “آبجوی مجانی”.
فلسفه نرمافزار آزاد در خصوص آزادی کاربر برای اجرا، کپی، توزیع، بررسی و تغییر و بهبود دادن نرمافزار است نه دانلود رایگان آن! بهصورت دقیقتر نرمافزار آزاد برای دربرداشتن مفهوم “آزاد” باید چهار نوع آزادی اساسی داشته باشد:
- آزادی در اجرا برنامه برای هر منظوری.
- آزادی در مطالعه و بررسی چگونگی عملکرد برنامه و تغییر آن برای نیاز خود.
- آزادی در بهبود برنامه و انتشار این تغییرات برای عموم.
- آزادی در توزیع مجدد کپیهایی از آن.
در صورتی برنامهای آزاد به شمار میآید که کاربران آن، همه آزادیهای ذکرشده را داشته باشند. ممکن است این سؤال در ذهن شما شکل گرفته باشد که آزادی نرمافزار چه ربطی به GCC یا GNU دارد؟! برای روشن شدن مسئله باید از تاریخ و چگونگی پیدایش این جنبش آگاهی پیدا کنید:
یونیکس توسط دو مهندس از شرکت مخابراتی AT&T به نامهای کن تامپسون و دنیس ریتچی ایجاد و در سال 1970 منتشر شد. در ابتدا سیستم یونیکس بهصورت کامل به زبان اسمبلی نوشته شده بود و بارونق گرفتن استفاده از این سیستمعامل، در سال 1973 کل سورسکد آن به زبان C بازنویسی شد. شرکت AT&T وقتیکه استقبال از سیستم یونکیس را دید به فکر استفادهی تجاری از آن افتاد و برای استفادهکنندهها گواهی خاصی را اجباری کرد. طبق این گواهی شرکتها برای استفاده از یونیکس باید پول پرداخت میکردند و سورسکد آن تحت مالکیت AT&T بود و نباید در اختیار کسی قرار میگرفت. تا قبل از این تصمیم یعنی در دهه 70، به اشتراکگذاری کد برنامه بین کاربران و برنامهنویسان رونق زیادی داشت ولی این تصمیم، جامعه برنامهنویس را مسموم کرد و آن را به سمت تجاری شدن سوق داد. ماجرا از آنجایی کلید خورد که شخصی به نام ریچارد استالمن، دانشجوی دانشگاه MIT از این تصمیم AT&T خوشش نیامد و با ایجاد گروهی موسوم به GNU (گنو) سعی در ساخت سیستمعامل آزادی داشت که شبیه به یونیکس عمل کند و شرکتها بتوانند مانند قبل، از آن استفاده کنند.
استالمن در سال 1971 وارد آزمایشگاه هوش مصنوعی MIT شد. او این آزمایشگاه را اجتماع شکوفای هکرها مینامید؛ افرادی که عاشق برنامهنویسی بودند و علاقه شدیدی به کشف روشهای جدید برای کار با کامپیوتر داشتند. آنها یک سیستمعامل کامل به نام گنو را درست کرده بودند که تمام آن در همان آزمایشگاه نوشته بود. استالمن عضو همان تیم شد تا به ارتقای سیستمعامل کمک نموده و قابلیتهای تازهای را به آن اضافه کند. آزمایشگاه MIT و آن تیم دقیقاً همانجایی بود که استالمن عاشق کار کردن در آن بود. آنها عنوان سیستمعامل خود را Incompatible Timesharing System یا سیستم اشتراک زمانی ناسازگار نامیدند. اولین مشکلی که در آزمایشگاه MIT برای آنها به وجود آمد فشارهای خارجی برای استفاده از رمز عبور در دانشگاه بود. در آن زمان روی هیچکدام از کامپیوترهای گروه رمز عبور وجود نداشت. وقتی مدیران شبکه بر روی یکی از کامپیوترهای MIT رمز عبور گذاشتند، استالمن و دوستانش از این موضوع اصلاً خوششان نیامد و تصمیم گرفتند تا همهچیز را هک کنند. اینجا بود که آنها توانستند رمزگذاری پایگاه دادهی محل ذخیرهی رمزهای عبور را هک کنند. سپس آنها به تمام افرادی که در کامپیوترهای خود رمز عبور وارد میکردند چنین پیغامی را ارسال کردند: «میبینم که شما فلان رمز عبور را انتخاب کردهاید! نظرتون چیه اگر بهجای واردکردن رمز عبور فقط Enter را فشار دهید؟ این کار هم ساده تره و هم آسانتر!» درواقع استالمن و دوستانش تنها میخواستند تلویحاً به این موضوع اشاره کنند که امنیت سیستمی که ادمینهای MIT پیاده کردند در حد شوخی است.
در اواخر دهه ۱۹۷۰ و اوایل دهه ۱۹۸۰، فرهنگ هکرها که استالمن به آن رونق داده بود شروع به متلاشی شدن کرد. خیلی از تولیدکنندگان برای جلوگیری از استفاده رقیبانشان از نرمافزار خود، توزیع کردن سورسکد را متوقف کردند و برای محدود کردن و ممنوع ساختن کپی و توزیع مجدد، شروع به استفاده از کپیرایت و مجوزهای نرمافزاری کردند. اینچنین نرمافزارهای اختصاصی از قبل وجود داشتند و استفاده از کپیرایت و سایر مجوزها برای ایجاد هنجار در این راستا بود. استالمن این موضوع را مانع پیشرفت میدانست و بهطور کامل با قوانین حقوق معنوی به این شکل، مخالف بود و آنها را مانع پیشرفت و مشارکت در امور میدید. اینجا بود که استالمن بنیاد نرمافزارهای آزاد (Free Software Foundation) را شکل داد که یکی از اهداف آن، ساخت یک سیستمعامل جدید بود. تفکر او به این شکل بود که سیستمعاملی بسازد که بهصورت آزاد در اختیار دیگران قرار بگیرد و افرادی که از آن استفاده میکنند را تشویق کند تا آن را در اختیار اطرافیان خود قرار دهند. بهاینترتیب کاربران میتوانستند از سیستمعاملی استفاده کنند که آزاد است و توزیع آن به دیگران نیز آزادانه انجام میشود و درعینحال سطوح دیگری از آزادی را نیز در این بستر فراهم میکرد.
استدلال استالمن آزادیِ کاربرِ یک نرمافزار بود. آزادی که بتواند آن نرمافزار را با همسایه خود بهصورت مشترک استفاده کند و در صورت نیاز قسمتهایی از آن را تغییر دهد. او بر این عقیده پافشاری میکرد و دستفروشی نرمافزارهای وابسته به مالک را مخالف اصول اجتماعی و دور از اخلاق میدانست. در یک کلام حرف او به این منظور بود که نرمافزارها باید آزاد باشند.
همانطور که شاهد هستیم مقوله آزادی نرمافزار و فلسفه آن در کنار GNU توانسته است دست آوردهای شگفتآوری را به همراه داشته باشد.
اگر امروزه نرمافزارهای آزاد مثل اندروید، لینوکس و دیگر سیستمعاملها و نرمافزارهای رایگان وجود دارند و افراد بهصورت داوطلبانه در رشد و ارتقاء آنها شرکت میکنند، همه و همه را مدیون انقلاب و جنبش GNU و استالمن هستیم.
منابع:
Wikipedia, gnu.org, zoomit, fsf.org
سلام
من ترم ۳ مهندسی برق-الکترونیک هستم و حدودن ۹ سال هست که لینوکسیم. سوالی که برای من پیش اومده اینه که آیا لینوکس تمام نیازهای من رو پوشش میده یا من به ویندوز نیاز پیدا میکنم؟
جواب این سوال خیلی چیزا بستگی پیدا میکنه؛ یه سری مسائل دست خودتون هست و یه سری دیگه خارج از کنترل شما ؛ بیاید فرض کنیم شما در ایران زندگی میکنید و میخواهید یک برد PCB رو چاپ کنید ؛ خوب به راحتی با نرم افزار های متن باز موجود بردتون رو طراحی میکنید ! اما هیچ شرکتی برد رو چاپ نمی کنه ؛ چون بلد نیستند با فایل های موجود کار کنند 😐 خوب این میشه مانع و شما رو مجبور می کنند از ویندوز استفاده کنید از این دست مسائل در آینده کاری کم نیست متاسفانه
البته راه های جایگذین همیشه وجود داره برای فرار از ویندوز ولی همیشه بدرد نمی خوره