بیاید دنیایی رو تصور کنیم که در اون به فرمول ساخت همه چیز از کوکاکولا گرفته تا فضاپیما و بمب اتم دسترسی داریم. این همون رویای طرفداران جنبش نرم افزار آزاد در یک مقیاس کوچیکتر و محدودتره. آرمانشهری که در اون دسترسی به کد تمام نرم افزارها و تغییر دادن اونها آزاده و پیگرد قانونی نداره.
ولی زندگی در این آرمانشهر چه شکلی میشه؟
نویسنده: شیرین شاطرزاده
آرمانشهر، یک ایده ضروری برای پیشرفت
در اپیزود ۲۰ بی پلاس (خلاصه کتاب آرمانشهری برای واقعگراها) درباره ایده آرمانشهر حرف زدیم و از ایدههایی گفتیم که قبلا تخیلی بودن اما امروز واقعی هستن. مثلا در گذشته دسترسی داشتن به میلیونها نسخه از یک کتاب غیرممکن بود. کتابها خطی بودن و از هر کتابی چند نسخه محدود وجود داشت. ولی امروز با اختراع دستگاه چاپ و بعدها انواع پرینتر، اسکنر و تکنولوژی چاپ انبوه میتونیم همزمان به نسخه کاغذی یا الکترونیکی تقریبا هر کتابی دسترسی داشته باشیم.
مشابه این موضوع رو برای خیلی از امکانات زندگی امروزیمون میبینیم که چند قرن قبل یک رویای دست نیافتنی بودن ولی الان جزئی از زندگی روزمره ما هستن. در واقع رویای داشتن آرمانشهر به ما آدمها جهت داده تا کمکم اون آرمانشهر رو برای خودمون بسازیم، و همونطور که در گذشته رویاهای آرمانشهری داشتیم، امروز هم این رویاهارو داریم. ایدهی کلی سرجاش هست، جزئیاتی که بهش شکل میدن تغییر کردن.
امرزو دنیای نرم افزار آزاد یکی از همین جزئیات آرمانشهرها است.
جنبش نرم افزار آزاد چیه؟
بیشتر نرم افزارهایی که ما استفاده میکنیم نرم افزارهای اختصاصی هستن. یعنی برای استفاده از اونها باید قوانینی رو رعایت کنیم که شرکت تهیهکننده برای استفاده از نرم افزارش تعیین کرده. اون فرم قوانینی که همیشه قبل از نصب یک نرم افزار تیک میزنیم بدون این که بخونیم، شامل همین قوانین میشه. معمولا هم قوانین به این صورته که به ما اجازه نمیده یک نسخه از نرمافزار رو روی چند دستگاه کپی کنیم. حق کپی و تغییر کد نرم افزار رو نداریم و غیره.
خیلی ساده بخوایم توضیح بدیم، جنبش نرم افزار آزاد میاد و دقیقا همین موضوع رو هدف میگیره. این جنبش رو شخصی به اسم ریچارد استالمن در دهه ۸۰ میلادی به راه انداخت و خیلی از برنامهنویسها بهش پیوستن.
جنبش نرم افزار آزاد، میگه که نرم افزارها نباید در مالکیت شخص یا شرکت خاصی باشن. بلکه همه باید به هر نرم افزاری دسترسی داشته باشن و بتونن کد منبع اون رو بخونن و تغییر بدن. این جنبش میگه هر نرم افزاری باید ۴ آزادی زیر رو داشته باشه:
- آزادی صفر: اجرای برنامه به هر روش و منظوری که کاربر دوست داره.
- آزادی ۱: هر کاربری باید بتونه به کد منبع (Source Code) نرم افزار دسترسی داشته باشه و اونو به دلخواه خودش تغییر بده.
- آزادی ۲: هر کاربر باید بتونه کپی خودش از نرم افزار رو دوباره بین بقیه کاربرها توزیع بکنه.
- آزادی ۳: هر کاربر باید بتونه کپی خودش از نرم افزاری که تغییرش داده رو بین بقیه کاربرها توزیع کنه.
پیشنهاد: در اپیزود « ارون سوارتز، پسر اینترنت» از پادکست چنلبی، درباره جنبش نرم افزار آزاد زیاد حرف زدیم. پیشنهاد میکنم این اپیزود رو گوش بدید.
جنبش نرم افزار آزاد دنبال چیه؟
طرفدارهای جنبش نرم افزار آزاد برای حمایت از ایدهشون دلایل مختلفی دارن. مثلا میگن انحصار، اخلاق طبیعی رو نقض میکنه. ریچارد استالمن این موضوع رو اینجوری توصیف میکنه: «این که یک شرکت بگه انحصار استفاده از نرم افزار مال منه و کسی حق نداره کدش رو بخونه و تغییرش بده، مثل اینه که من اسپاگتی درست کنم و بگم هیچکی جز من حق نداره از این اسپاگتی بخوره چون اسپاگتی من تموم میشه و چیزی ازش برای خودم نمیمونه.»
استالمن و سایر نرم افزار آزادیها معتقدن که شما نهتنها باید اسپاگتی بیشتری درست کنی تا بقیه هم بتونن ازش بخورن و دربارهاش نظر بدن، بلکه باید دستور پختش رو هم در اختیار بقیه بذارید تا به دلخواه خودشون تغییرش بدن و اسپاگتیهای خوشمزهتری بپزن. اینجوری شما هم یاد میگیرید که چجوری اسپاگتی و بعد از اون غذاهای بهتری بپزید.
جنبش نرم افزار آزاد و متن باز (Open Source)
بعد از شکل گرفتن جامعه نرم افزار آزاد، کمکم تعدادی نرم افزار اومدن به بازار که اصطلاحا متن باز هستن. به این معنی که کد منبع اونها برای همه کاربرها به رایگان در دسترسه تا تغییرش بدن. همین موضوع باعث شده خیلیها نرم افزار آزاد رو با متن باز یکی فرض کنن؛ موضوعی که خیلی خوشایند اعضای نرم افزار آزاد نیست.
به گفته استالمن، متن باز فقط روی جنبه تکنیکی یک نرم افزار تمرکز میکنه و هدفش اینه که بقیه برنامهنویسها کد یک نرم افزار رو ببینن و اون رو اصلاح کنن؛ در حالی که نرم افزار آزاد یک جنبش اجتماعیه و الزاما روی تصحیح کد برنامه تمرکز نمیکنه. به قول خود اعضای این جامعه، نرم افزار آزاد میگه که حق هرگونه استفاده از نرم افزار متعلق به کاربره نه سازنده نرم افزار.
به بهانه ششمین سال مرگ ارون سوارتز: آیا ماموریت ارون شکست خورده است؟
چرا مهمه که جنبش نرم افزار آزاد رو بشناسیم؟
قطعا برای ما خیلی خوشاینده که بتونیم نرم افزارهای آفیس رو بدون دنگ و فنگ دانلود کنیم و بعد هم تغییرش بدیم؛ اما اگر قدم بعدی آرمانشهر نرم افزار آزاد به ضرر ما باشه چی؟
در حال حاضر نرم افزار آزاد یکی از جریانهای اصلی دنیای نرم افزاره. خیلی از کشورها یک جامعه نرم افزار آزاد بین برنامهنویسها دارن و یک روز خاص رو روز نرم افزار آزاد اعلام میکنن. تحقق آرمانشهر نرم افزار آزاد چیزیه که اعضای جنبش بهش علاقه دارن و براش تلاش میکنن.
این جنبش اونقدر گسترش پیدا کرده که جنبههای دیگهای بهش اضافه شدن. از جمله این جنبهها، سخت افزار آزاده. به این معنی وقتی سخت افزاری در بازار عرضه میشه، یک کاتالوگ شامل تمام فهرست قطعههای استفادهشده، روش اتصال و تغییر قطعات هم همراه سخت افزار ارائه بشه.
این ایده هنوز در مراحل اولیه است و پیشبینی میشه که فقط برای طراحی و تولید قطعههای سخت افزاری کامپیوترها به کار بره؛ اما همونطور که جنبش نرم افزار آزاد محدود به نرم افزار نموند، آیا میشه مطمئن باشیم که سخت افزار آزاد و متن باز هم گسترش پیدا نمیکنه؟
مثلا این روزها افرادی معترضن که چرا شرکتهای داروسازی دستورالعمل و مواد استفادهشده در ساخت واکسن کرونا رو اعلام نمیکنن. اما اگر دستورالعمل ساخت این واکسن در اختیار همه کاربرهای واکسن قرار بگیره، چه تضمینی هست که هیچ کاربری استفاده بد و خطرناکی از این واکسن نکنه و یک سلاح بیولوژیکی یا واکسن تقلبی از روی اون نسازه؟ از طرفی پای منافع شرکتهای داروسازی هم مطرح میشه. تغییر سود و زیان این شرکتها اونقدر زیاد میشه که عملا یک جنگ صنعتی رخ میده.
در کنار گسترش جنبش، بحث امنیت نرم افزارها هم مطرح میشه. منتقدان نرم افزار آزاد معتقدن که وقتی تمام نرم افزارها متن باز و غیرانحصاری باشن، هر کاربری میتونه از باگهای نرم افزار سواستفاده کنه، یا یک باگ امنیتی جدید در نرم افزار درست کنه و بعد توزیع شخصی خودش رو در اختیار کاربرهای دیگه قرار بده.
البته اعضای جنبش نرم افزار آزاد پاسخهایی برای منتقدا دارن؛ اما برای ما به عنوان کاربرهای عادی مهمه که بدونیم این جنبش چه سرانجامی میتونه داشته و آیا در نهایت به یک آرمانشهر تبدیل میشه که همه در اون در استفاده از نرم افزارها آزاد باشن، یا پادآرمانشهری میشه که در اون امنیت و سلامت کاربرها به خطر میافته.
- برای نوشتن این یادداشت از مقالههای «نرم افزار آزاد چیست؟» ، «چرا نرم افزارها نباید انحصاری باشند؟» و «فلسفه نرم افزار آزاد» از سایت GNU و همینطور مقاله «تفاوت متن باز و نرم افزار آزاد چیست؟» استفاده کردم.
- منبع تصویر اصلی این یادداشت: https://www.gnu.org/graphics/meditate.en.html
نرم افزار آزاد یک ایدهی بسیار افراطی داره! جالبه بدونید لینوس تروالدز (خالق لینوکس و گیت) الان یکی از مخالفای استالمن به حساب میاد و هیچوقت حاضر نشده لینوکس رو تحت مجوزهای آزادتری که استالمن بعدا ارائه داد منتشر کنه!
در اصل اون فقط با این جنبه از ایده که کلی برنامه نویس میتونن همزمان روی یک پروژه کار کنن بدون استخدام بودن! حال میکرده و با بقیه ایده مخالفه!
دنیای آینده اصلا شبیه اون چیزی که استالمن فکر میکنه نیست! الان شرکت ماکروسافت خیلی از نرم افزارهاشو داره به فرم اپن سورس درمیاره و بعضیهاشو شما میتونی نسخه خودت رو هم ازش منتشر کنی ولی آیا هیچ کاربری میاد نرمافزاری که ماکروسافت پشتیبانیش میکنه رو رها کنه و بره سراغ همون نسخه از نرمافزار که قاسم و رفقا منتشر کردن (حتی اگر قوی تر از ماکروسافت باشه) چون قوی تر بودن یا کد بهتر برای شرکتا نسبت به پایداری نسخه و پشتیبانی در درجه چندم قرار داره!
این جنبش در نهایت به نفع شرکت های بزرگه! با هزینه توسعه یک دهم! (بخاطر مشارکت کنندههای آزاد) نرم افزارشون رو توسعه میدن! بعد کدش رو میزارن رو گیتهاب(اون کد هم بدرد هیچکس! نمیخوره چون بدون زیرساخت قابل اجرا نیست!) بعدش رو کلادسرویس خودشون ارائش میدن و برخلاف قدیم که شما ۵۰ دلار میدادی نرمافزار مال خودت بود! الان نرمافزار که رایگانه(ولی نرم افزار به درد نمیخوره) خدمات کلاد و دسترسی به کامیونیتی نرم افزار که از خود نرم افزار مهم تره و قبلا رایگان بود رو الان به عنوان سرویس باید ماهیانه پول بدی!