حدودا دو ماهی میشود که بعد از سالها از اپنسوزه به مینت مهاجرت کردم. یعنی مدتها بود توزیعی که بتواند من را قانع کند که عادتهایم را در اپنسوزه کنار بگذارم پیدا نمیکردم تا اینکه آن گمگشته را یافتم. خواستم نوشتهای درباره مینت و تجربه کاربری که این مدت از آن به دست آوردم بنویسم دیدم شاید کسی باشد که اصلا نداند لینوکس چیست و به چه دردی میخورد. یاد دوران نوجوانی خودم افتادم که چطور با ولع نوشته سایتها را زیر و رو میکردم تا مطلبی درباره لینوکس میدیدم با اشتها آن را میخواندم و هربار دوست داشتم کسی آن را جامعتر و کاملتر به من تفهیم کند. برای همین فکر کردم اگر دوست نوجوانی احیانا اینجا را میخواند یا از طریق جستجو به اینجا رسیده حقش است که یک مطلب جامع را ببیند. برای همین در ۳ نوشته به تشریح این موضوع میپردازم. در این نوشته از نرمافزار آزاد صحبت میکنیم و در نوشته بعدی از گنو/لینوکس.
نرمافزار آزاد چیست؟
هر نرمافزار رایانهای از دهها، هزاران یا میلیونها خط کد (متناسب به ابعاد برنامه) تشکیل شده است. بعضیها تصمیم میگیرند این کدهایی که نوشتهاند را بفروشند بعضیها ترجیح میدهند از راههای دیگری پول کسب کنند. آنهایی که میخواهند کدها را بفروشند طبیعتا باید جلوی دسترسی و آگاهی از کدها را بگیرند و به نوعی متن برنامه را ببندد. یعنی نگذارند کسی به کدها نگاه کند که احیانا شبیهاش را نسازد. این همان کاری است که اپل و ماکروسافت در زمینه سیستمعاملهایشان انجام میدهند یعنی شما هیچ وقت متوجه نمیشوید وقتی ویندوز مشکلی پیدا میکند اشکال از کدام کدها است و چه اتفاقی زیر آن پوسته در حال رخ دادن است. آنها به شما اجازه نمیدهند از درون سیستمعامل و نرمافزارهایی که از آنها خریدهاید باخبر شوید یا آنها را مطابق نیاز خود تغییر بدهید.
در مقابل گروه دیگر معتقد هستند که نباید دسترسی کاربران را بر روی کدهای برنامه بست زیرا وقتی شما محصولی را به کسی فروختید باید به او اجازه بدهید هر طور که میخواهد از آن استفاده کند و به هر گوشهای از آن که میخواهد سرک بکشد و دسترسی داشته باشد. به عقیده این گروه شرکتهایی مانند اپل، ماکروسافت، آدوبی، اوراکل، سیمانتک و… که دسترسی به کدهای برنامههای خود را میبندند در حقیقت همچون سدی در مقابل پیشرفت علم نرمافزار ایستادهاند و اجازه نمیدهند دیگران با محصولات آنها نرمافزارهای بهتری به دنیا عرضه کنند. برای همین مفهوم نرمافزار آزاد را به وجود آوردند و چهار حق را برای کاربر در نظر گرفتند که طبق آن:
کاربران باید اجازه داشته باشند که نرمافزار مورد نظر را برای هر قصد و منظوری اجرا کنند.
کاربران باید اجازه داشته باشند نرمافزار را مطابق با نیازهای خود تغییر دهند. برای رسیدن به این هدف، کدهای منبع نرمافزار باید در اختیار کاربر قرار گیرد.
کاربران باید اجازه داشته باشند نرمافزار را مجدداً منتشر کرده و در اختیار دیگران قرار دهند. این کار میتواند به صورت رایگان و یا در ازای دریافت مبلغی پول صورت گیرد.
اگر کاربری نرمافزار را تغییر داد، باید اجازه داشته باشد آن را مجدداً اما تحت همان لایسنس آزاد منتشر کرده و در اختیار دیگران قرار دهد. (در مورد نرمافزارهای کپیلفت، لازم است تا کدهای منبع نرمافزار تغییریافته نیز در اختیار کاربران دیگر قرار گیرد)
اصلیترین علت استفاده از نرمافزار آزاد
مهمترین دلیل برای استفاده از گنو/لینوکس و در کل نرمافزارهای آزاد این است که فرهنگ و فلسفه آزادی نرمافزار به شما احترام میگذارد یعنی شما بردهاش نیستید. شما میتوانید یک نرمافزار آزاد را ویرایش کنید و آن را به هرکسی که میخواهید بدهید. شما از نظر قانونی مجرم به حساب نمیآیید و شرکت تولید کننده به شما به چشم یک کاربر نگاه میکند نه یک دزد. هنگامی که از نرمافزار آزاد استفاده میکنید لازم نیست دست به عمل خبیث کرک کردن بزنید و سعی کنید قفل برنامه را بشکنید. لازم نیست بگویید از چه کشوری هستید. بهترین و باکیفیتترین نسخه برنامه در اختیار شماست و شما به راحتی از آن استفاده میکنید. این احترام اصلیترین دلیلی است که باعث میشود من از نرمافزارهای آزاد استفاده کنم. در کنار اینکه معتقدم فلسفه نرمافزارهای آزاد در حقیقت جنبشی است برای حرکت به سمت یک آرمان شهر نرمافزاری. آرمان شهری که شما کنترل نرمافزار را به دست میگیرید نه پادآرمان شهری که نرمافزارها کنترل شما را در دست گرفتهاند. حتی اگر کار کردن با این نرمافزارها سخت و وقتگیرتر هم باشد (که در بسیاری موارد برعکس است) این فلسفههای دوست داشتنی و این اهداف محکم باعث میشود تا اگر یک سمت نرمافزار آزاد بود و در سمتی دیگر نرمافزار انحصاری به سمت نرمافزار آزاد بروم.
آیا متن باز ترسناک است؟
ماه گذشته دبیر شورای عالی فضای مجازی در اظهار نظری یکی از دلایل راحتی نفوذ به حریم خصوصی در تلگرام را متنباز بودن آن بیان کرد. چنین اظهارنظرهایی درباره اپنسورس را حتی پیش از این هم شنیده بودیم. استدلال رایج این است که چون کد نرمافزارهای متنباز و آزاد در اختیار همه قرار دارد پس هرکس میتواند آنها را مشاهده کند و راههای نفوذ به سیستم باز است.
چنین خطری همان قدر با عقل و منطق سازگار است که بگویید چون در فضای خارج از خانه احتمال حضور قاتل وجود دارد پس هرگز از خانه خارج نشویم. ماندن در خانه شاید ما را از قاتلهای احتمالی امن نگه دارد اما ما را به بسیاری از خطرهای دیگر آسیبپذیرتر میکند. ممکن است با یک سرما خوردگی ساده یا عفونت بمیریم، ممکن است مسائل ایمنی که سالهاست رعایت میشود و ما از آن خبر نداریم جان ما را تهدید کند و اینها همه به خاطر این است که ما صورت مسئله را اشتباه تعریف کردیم. ترس از کشته شدن توسط یک قاتل به خاطر خروج از خانه، به یک دلیل ساده اشتباه است؛ اینکه همیشه و در تمام جوامع آدمهای خوب بیشتر از آدمهای بد بودهاند.
همین مسئله درباره چشمهایی که ناظر کدهای نرمافزار آزاد هستند هم صدق میکند. پیش از آنکه یک نفوذگر از حفره نرمافزار متن باز سوء استفاده کند به احتمال خیلی زیاد چشمهای افرادی که به آن نرمافزار عشق میورزند و روزانه از امکانات آن استفاده میکنند، حفره امنیتی را گزارش داده و مسئله توسط هزاران برنامهنویس آماده در سراسر دنیا حل میشود.
اتفاقی که در نرمافزارهای کد بسته میافتد به مراتب بدتر است. یعنی گاهی حفرههایی پیدا میشود که برای سالها وجود داشته و معلوم نیست چند نفر از آن سوء استفاده کردهاند و چون افراد کمی به منبع دسترسی داشتهاند این مسئله جز برای نفوذگران برای بقیه خیلی دیر فاش شده است.
روی برگرداندن از نرمافزار آزاد مانند رفتن به غار تنهایی، بیش از آنکه صنعت فناوری اطلاعات ما را در حس استقلال غوطه ور کند آن را به کوچکترین حملاتی آسیب پذیر میکند. نتیجه این میشود که یک تیم ساده از هکرها به راحتی میتوانند در سیستمهای مدیریت محتوایی که برای وبسایتهای ایرانی نوشته شده نفوذ کنند و به صدر اخبار بیایند. حال آنکه همین سایتهای دولتی اگر به جای اختراع دوباره چرخ به سیستمهای متنبازی مانند وردپرس یا دروپال اعتماد کرده و بستر خود را گسترش داده بودند، با هزینهای به مراتب کمتر، سامانهای داشتند که سالها تحت حملات شدید مقاوم شده و کدهایش در برابر دیدگان میلیونها برنامهنویسی قرار داشت که آن پروژه آزاد از نون شب برایشان با ارزشتر بود. انسان متمدن همیشه برای پیشرفت پا روی شانه گذشتگان گذاشته است.