چگونه برای فارغالتحصیل شدن بدون استفاده از نرمافزارهای غیرآزاد جنگیدم
نوشتهٔ Wojciech Kosior [۱]به عنوان یک دانشجوی دانشگاه، من در طول همهگیری کرونا مانند هر کس دیگری درگیر بودهام. بسیاری از افراد مرگ را در خانوادههای خود تجربه کرده و یا شغل خود را از دست دادهاند. من در حال تحصیل در رشتهٔ انفورماتیک در دانشگاه علوم و تکنولوژی AGH در لهستان درگیر نبردی دیگر بودهام که هر چند به ظاهر کماهمیت جلوه میکند اما به شدت احساس میکنم برای آزادیهای آیندهٔ ما حیاتی است. من مبارزهٔ خود را اینجا شرح میدهم به این امید که بتواند مشوق و الهام بخش دیگران باشد.
بسترهای غیراخلاقی
آزادی نرمافزار یک مسئله بزرگ اما پنهان در زمان ماست. فنآوریهای ارتباطی دیجیتال مانند ویدئو کنفرانس نقش محوری را به دست گرفته و برای بسیاری افراد، استفاده از اینها نجاتبخش بوده است. آنها متوجه خطر پنهانِ نحوهی کار این فنآوریها نیستند: هر کس که این فنآوری را کنترل میکند، زندگی ما را کنترل میکند. اخیرا ما قدرت غولهای فنآوری در واژگون کردن دموکراسی، کنترل بیان، مستثنی کردن گروهها و تجاوز به حریم خصوصی را شاهد بودهایم.
آزادی نرمافزار، مبارزهای برای بازگرداندن کنترل به مردم است؛ مبارزهای علیه نرمافزارهای غیر آزاد است که نرمافزار انحصاری یا مالکیتی نیز نامیده میشوند و آسیبهای ناعادلانه و متجاوزانه را به کاربران خود تحمیل میکنند. به دنبال مأموریت آزادیبخش ما، طرفداران آزادی نرمافزار مانند من بر استفاده از نرمافزار آزاد اصرار دارند.
به طور ویژه این مسئله حائز اهمیت است که این ایدهها را بین نسلهای جدید گسترش دهیم. متأسفانه، ما اغلب شاهد روندی در خلاف جهت هستیم. سیستمعامل پیشفرضی که در بسیاری از کلاسهای رایانه در کشور من یافت میشود سیستمعامل انحصاری مایکروسافت ویندوز است و حتی برخی از دانشگاهها مجوز استفاده از آن را برای دانشجویان فراهم میکنند. در مقطعی از زمان به این نتیجه رسیدم که این اقدامات به واقع تنها به سود شرکت سازندهٔ نرمافزار است. همچنین وابستگی نهاد برگزار کننده دورهها به خدمات گوگل فرم و گوگل شیتس در سطحی دلهرهآور است.
در طی این همهگیری شاهد بودیم که آموزشگاهها به واسطهٔ فشار شبکهای که ایجاد کرده بودند با عجله ابزارهای انحصاری مانند مایکروسافت تیمز، زوم و واتساپ را در درآغوش گرفتند. در ادامه، مدارس و دانشگاهها تلاش کردند این ابزارها را به دانشجویان خود تحمیل کنند؛ کسانی که متعاقبا و به واسطهٔ استفاده از برنامههای غیر آزاد، متحمل رنج از دست رفتن آزادیشان و نیز مواجهه با نقض حریم شخصی و امنیت بد شدند.
از آنجا که من استفاده از نرمافزار غیراخلاقی را رد میکنم، اتکای کامل به سکوهای اختصاصی برایم یک تعارض اخلاقی ایجاد کرده است. هدف من، تکمیل دورهٔ دانشگاهیام بدون تسلیم شدن در برابر خدمات غیر آزاد تحمیلی، از راه متقاعد کردن اساتیدم[۲] برای اجازه دادن به من برای استفاده از نرمافزارهای آزاد به جای برنامههای انحصاری بود. انتظار نداشتم که در مقابل چنین قدرتی پیروز شوم اما اکنون، از طریق اقدام مؤدبانه اما محکم، فکر میکنم که پیروز شده باشم. امیدوارم این داستان به شما نیز کمک کند تا مقاومت کنید.
تحصیل اخلاقی
در گذر زمان من بیشتر و بیشتر مصمم شدهام که از نرمافزار غیر آزاد اجتناب کنم. در بین چالشهای دیگر، این به معنای گرفتن یک لپتاپ ThinkPad با Libreboot و مهاجرت به توزیعی از گنو/لینوکس بود که تنها شامل بستههای آزاد شود. ممکن است بپرسید:
در مورد تحصیل چه؟ لازم نبود از ویندوز استفاده کنید؟ یا مایکروسافت آفیس؟ یا سایر ابزارهای انحصاری؟
در حقیقت، اکثر تکالیف کلاسی را میتوان با نرمافزارهای آزاد انجام داد. امروزه ما مجموعهای عالی از سیستمعاملهای آزاد و ابزارهای آزاد برای انجام اغلب کارها در اختیار داریم. اکثر زبانهای برنامهنویسی محبوب، پیادهسازی نرمافزاری آزاد دارند. در موارد معدودی که ابزار غیر آزاد اکیداً مورد نیاز بود، من یا قادر بودم استاد را قانع کنم که اجازهٔ استفاده از راهکاری جایگزین را بدهد (مانند استفاده از پایگاهدادهٔ PostgreSQL به جای Oracle) و یا این که کار روی پروژه را با یک رایانهٔ دانشگاه انجام دهم. میپذیرم که اجرای نرمافزار غیر آزاد بر روی رایانهٔ غیر شخصی، به طور کامل مسئلهٔ اخلاقی را حل نمیکند. این صرفا اقدامی منصفانه به نظر میرسید اما چیزی نیست که به آن افتخار کنم.
اکنون، موضوع اجرای جاوااسکریپت در مرورگر را جدیتر میگیرم. جاوااسکریپت در یک محیط Sandbox محصور در مرورگر اجرا میگردد که باعث میشود بسیاری افراد حتی اگر غیر آزاد باشد، آن را بپذیرند. Sandboxing ممکن است در واقع مسائل امنیتی را حل کند، اما مشکل واقعی با برنامههای انحصاری در جای دیگری قرار دارد: در امتناع از دادن اجازه به کاربر در داشتن کنترل. در حال حاضر، حفظ آزادی نرمافزار در دنیای مرور وب، کار آسانی نیست. اگر جاوااسکریپت غیرفعال باشد، فعالیت اغلب وبگاهها دچار اختلال میشود. من مجبور شدم از دوستانم برای وارد کردن دادهها به گوگل شیت کمک بخواهم چون نمیتوانستم این کار را بدون فعال کردن جاوااسکریپت انجام دهم. به علاوه، کد جاوااسکریپت برای پیادهسازی fingerprinting در مرورگر مورد به کار گرفته میشود که برای ردیابی کاربران کاربرد دارد.
متقاعد کردن ملایم
نیمسال پنجم تحصیلم را بدون مشکلات جدی به پایان رساندم. در آغاز نیمسال ششم، همهگیری آغاز شد. دانشگاهها فضاهای فیزیکی خود را تعطیل کردند، بسیاری از دانشجویان به خانه بازگشتند و استادان شروع به سازماندهی کلاسهای راه دور کردند. جای تعجب نیست که همهٔ آنها سکوهای انحصاری را انتخاب کردند. سیسکو وباکس، مایکروسافت تیمز، کلیکمیتینگ و اسکایپ گزینههای محبوبی بودند. من نمیتوانستم یک کارخواه نرمافزار آزاد برای هیچ کدام از آنها پیدا کنم. همچنین، به دلیل عدم درک مشکل جاوااسکریپت غیرآزاد، اساتید انتظار داشتند که هر کسی بتواند به راحتی با استفاده از مرورگر و رابط وب به جلسات ویدئو بپیوندد.
من چگونه با این الزامات برخورد کردم و از پسشان برآمدم؟ به هر استادی که اعلام میکرد که چیزی را با استفاده از یک سکوی مشکلدار انجام دهم یک رایانامهٔ (ایمیل) بسیار مؤدبانه میفرستادم و مشکل فقدان یک کارخواه نرمافزار آزاد مناسب را توضیح میدادم. اغلب پیوندی را به یک منبع برخط میفرستادم که مسئلهٔ آزادی نرمافزار و دانشگاهها را شرح میداد؛ مانند ویدئوی «Costumed Heroes» که توسط بنیاد نرمافزار آزاد ساخته شدهاست و نیز چند پیوند دیگر به برنامههای آزاد ارتباط تصویری مانند جَمی و جیتْسی میت.
اگرچه مسائل امنیتی و نظارتی مستند شدهٔ متعددی در این سکوهای متمرکز وجود دارد، من توضیح دادم که برای من، آزادی نرمافزار عامل مشکلزا بوده است. پاسخهایی که از من میخواستند تا «برنامه را در ماشین مجازی اجرا کنم» یا میگفتند که «برای استفاده از این خدمت، نیازی به کد منبع ندارم» روشن کردند که برخی از استادانم یا اصلا مسئله را درک نکرده و یا فقط بخشی از آن را درک کردهاند. اگر در رشتهای غیر از انفورماتیک تحصیل میکردم تصور میکنم که تعداد کسانی که مشکل را درک میکردند به مراتب کمتر میبود.
بیرون افتادگی
دو حوزهٔ مجزا از نگرانی وجود داشت. اولی مربوط به دسترسی و مشارکت در مطالب آموزشی بود؛ برای مثال در کلاس یادگیری ماشینی، کسی را پیدا کردم که مطالب استاد را برای من میفرستاد. دومین مورد مربوط به ثبت و ارزیابی بود. در برخی کلاسهای راه دور، حضور و غیابی در کار نبود. آنها را نادیده گرفتم. بارگذاری تکالیفم روی مودِل نیز هیچ مشکلی ایجاد نکرد.
اولین مشکل واقعی در دورهٔ هوش مصنوعی (AI) رخ داد. این دوره به روش گردشی آموزش داده میشد. اولین استاد تکلیفی داد که نیازمند برنامه انحصاری Framsticks بود اما به من اجازه داد تا به جای آن یک تمرین شبکههای عصبی انجام دهم. استاد دیگری موافقت کرد که برای انجام یک تمرین شبیهسازی به جای Choreographe از Webots استفاده کنم. با این وجود، یکی دیگر از ما خواست که یک دورهٔ برخط NVIDIA را تکمیل کنیم که به جاوااسکریپت غیر آزاد نیاز داشت. آن استاد به رایانامهٔ من پاسخ نداد.
قرار بود یک تکلیف کلاسی مربوط به سامانههای توزیعشده از طریق Webex ارسال شود، اما استاد موافقت کرد که اجازه دهد به جای آن از جَمی استفاده کنم.
تردید و عدم اطمینان
مسئلهٔ دیگری که ایجاد شد عدم اطمینان در عدم وجود یک سیاست روشن بود. ندانستن این که آیا دانشگاه اصول مرا به رسمیت میشناسد یا نه برایم عامل استرس مداوم بود. با وجود پیروزی مقدماتی کوچک من، دیگر دورههای گردشی به این معنا بود که اگر میخواستم آنها را با موفقیت بگذرانم بایستی موافقت سه استاد دیگر را میگرفتم. بنابراین تا ژوئن نمیتوانستم مطمئن باشم که موفق خواهم شد. در ماه مارس کلاسهای برنامهنویسی سیستم آغاز شد. استاد که نمیخواست زمان خود را برای ورود به یک سکوی آزادی جهت نمره داده به من از دست بدهد به من امید زیادی نداد؛ در نتیجه از عید پاک و پس از آن، زمان را در عدم اطمینان سپری کردم.
معتقدم که هر کلاس باید حداقل راههایی برای همکنشپذیری از طریق ابزارهای آزاد داشته باشد تا دانشجویان حداقل بتوانند تکالیف کلاسی را بر روی سکوهای آزاد بخوانند و پاسخهای خود را از آنها بارگذاری کنند. جز تا زمانی که دانشگاهها قابلیت همکنشپذیری داشته باشند، اتکا به نرمافزار انحصاری باعث تحمیل هزینهٔ زمان و دردسر هم برای اساتید و هم برای دانشجویان میشود. در یک مورد به دو استاد دربارهٔ استفاده از سکوهای غیر آزاد برای ارائهٔ سخنرانیها رایانامه ارسال کردم. یکی جواب نداد و دیگری بیادبانه پاسخ داد. این طور به نظر میرسید که آنها مسئله را درک نمیکردند، اما فکر میکنم که آنها از انجام هرگونه کار اضافه بر سازمان اجتناب میکردند. این مسئله تأثیر بدی روی تعهد من گذاشته بود و من دیگر توجهی به جلسات کلاسها نداشتم. اجتناب از یک مدیر بستهٔ منحصر به یک زبانی که احساس کردم در معرض خطر مسائل امنیت و آزادی قرارم میدهد، هزینهٔ زمانی قابلتوجهی به من تحمیل کرد و مطالعاتم را به تأخیر انداخت. زمان برای همهٔ ما ارزشمند است.
اصطکاک بر سر آزادی
هر چند استرسزا، اما همه چیز تا به این جا به آرامی پیش رفته بود. ولی بعد از عید پاک، یک دورهٔ مهندسی نرمافزار اولین مشکل بزرگ را پیش روی من قرار داد. استاد این دوره ابتدا رایانامه های من را نادیده گرفت، اما در نهایت یک پاسخ طولانی نوشت و تهدید کرد که اگر یک جلسهٔ دیگر را از دست بدهم، دوره را رد خواهم شد. لحن آن رایانامه دلخوری زیاد و شاید خشم را نشان میداد. پیشنهاد داده شد که از کمک یک همکلاسی برای شرکت در جلسه استفاده کنم. با یک همکلاسی دیگرم از طریق مامْبِل متصل میشدم که در استاد هم در آن حضور پیدا میکرد - بینقص نبود، اما کار میکرد!
مسائل آزادی نرمافزار که اخلاقی هستند، باید از نگرانیهای دیگری که حامیان متنباز اغلب در اولویت قرار میدهند جدا شوند. به عنوان مثال، طرفداران متنباز از آوردن موضوعات مهم آزادی به روی میز خودداری میکنند و تنها میگویند که نرمافزاری که کد مبدأ آن به طور عمومی در دسترس باشد با کمک جامعه به کیفیت بالاتری دست مییابد. در همین حال، رقبای ما ادعا میکنند که نرمافزار انحصاری میتواند عواید بیشتری داشته باشد و اجازه میدهد که کارفرمایان بتوانند برای بهبود برنامه، توسعهدهندگان بیشتر را استخدام کنند.
آزمون دورهٔ کامپایلرها قرار بود از طریق مایکروسافت تیمز گرفته شود. دوباره، نظر به اصولی که داشتم فکر کردم که شکست خواهم خورد. به طرز خندهداری این بار برنامه تیمز بود که به مشکل برخورد کرد. تیمز نتوانست چند ده دانشجو را به هم متصل کند و در نتیجه آزمون از طریق رایانامه انجام شد. از سوی دیگر، در طی تماس با استاد راهنما در ماه ژوئیه، جَمی در طی این دیدار با مشکل مواجه شد. هیچ نرمافزاری بیعیب و نقص نیست. اما با استفاده از نرمافزار آزاد، حداقل تکههای شکسته شده را در دست خود دارید.
این لزوما جنبههای کارکردی نرمافزاری نیست که اصطکاک حول فقدان آزادی نرمافزار را ایجاد میکند. در طول تابستان مجبور بودم کارآموزی کنم. بعد از اینکه متوجه شدم کارفرما ممکن است کد مرا غیر آزاد کند، پیشنهاد دریافت پول را رد کردم. در نهایت، یک کارآموزی بیپرداخت دیگر انجام دادم.
پس از تمام این کشمکشها بالاخره نیمسال تابستانی را گذراندم و حتی نمرات خوبی هم گرفتم. آنچه که در مقطعی از زمان تقریبا غیرممکن به نظر میرسید اکنون تبدیل به یک واقعیت شده بود.
نرمافزار انحصاری در همه سطوح تحمیل میشود
قبل از نیمسال زمستانی، فهرستی از همه سکوهای تماس تصویری مجاز که در تطابق با قانون حفاظت از دادهها بودند به استادان ارائه شد. این فهرست شامل مایکروسافت تیمز، سیسکو وباکس، کلیکمیتینگ و گوگلمیت بود. مطمئنم که شما هم شاهد گواژه در اینجا هستید!
یکی از استادان موافقت کرد که از جیتْسیمیت برای همهٔ کلاسهای خود استفاده کند و پیشنهاد کرد که از شورای دانشجویی بخواهم تا آن را به رئیس دانشکده توصیه کند. اما شورا هرگز به رایانامههای من پاسخ نداد. نرمافزارهای با کیفیت بالا که قابلیتهای حفاظت اطلاعات بهتری را ارائه میدهند، به طور عمدی به نفع راهکارهای غیر آزاد تجاری به حاشیه رانده میشوند؛ مسئلهای که به نظر میرسد موردی از تسخیر شدن یک مؤسسه آموزشی توسط شرکتهای فاسد باشد. نرمافزار آزاد به تأیید نرسید و استاد به برقراری ارتباط از طریق وباکس با سایر دانشجویان ادامه داد.
کجفهمیها
همانطور که قبلاً گفتم، علیرغم شناخت زیاد دانشمندان علوم رایانه و تجربه در انفورماتیک، بسیاری از دانشگاهیان به طور کلی درک ضعیفی از سیاست و اخلاقیات حول نرمافزار را به نمایش گذاشتند.
استادی در یک سمینار مدعی شد که چون یک سکوی آزاد بر روی سرور شخص دیگری نیز اجرا میشود، «نمیتواند امنتر باشد». پاسخ دادم که جیتْسیمیت اجازهٔ ایجاد نمونههای مستقل را میدهد که این امر، نیاز به اتکا به یک شرکت را از بین میبرد. همچنین اشاره کردم که مشکل اصلی با سایر خدمات، فقدان کارخواههای آزاد برای آنان است. این مایهٔ تأسف است که استادانی در این سطح که به طور کامل تفاوت بین رمزنگاری واسطهای را با رمزنگاری سرتاسری درک میکنند، آن را در کلاسهای خود آموزش میدهند اما آن را در کار و حرفهٔ روزانهٔ خود به کار نمیبندند.
در موردی دیگر، من با استفاده از یک ماشین مجازی ویندوز برای یک تمرین تست نفوذ مخالف بودم. این استاد اظهار داشت که فرد اگر محدود به تست فقط سرورهای آزاد باشد، یک فرد نفوذگر خوب نخواهد بود. من از پاسخ دادن به او صرف نظر کردم اما به نظر من سکوهای انحصاری اساسا باید ناامن فرض شوند چرا که به عنوان مثال ممکن است در پشتی داشته باشند.
داشتن عزمی راسخ
یک بار با استاد راهنمایم مشاجرهای داشتم که برای استفاده از مایکروسافت تیمز به من اولتیماتوم میداد. من موافق نبودم و او قرار بود به رئیس دانشکده اطلاع دهد که از استاد راهنمایی من کنارهگیری کند. شاید رئیس دانشکده آن رایانامه را نخواند؟ این طور حدس میزنم. به هر حال، چند هفته بعد حتی یک سری وسایل الکترونیکی را از استاد راهنما قرض گرفتم، گویی که انگار اصلا هیچ اتفاقی نیفتاده بود.
بعدها، استاد دیگری که با پاس کردنم بدون استفاده از مایکروسافت تیمز موافقت نکرده بود علیرغم بارگذاری کارهای کلاسیام در طول نیمسال میخواست مرا به خاطر «غیبتها» رد کند. بعد از جر و بحث طولانی، گزینهای پیش روی من گذاشته شد که در تاریخ ۸ ژانویه در یک جلسهٔ برخط روی تیمز شرکت کنم! مؤدبانه رد کردم و نکاتم را تکرار کردم. در نهایت استاد، دستیار رئیس دانشکده را در رایانامه به صورت رونوشت در جریان قرار داد. در این بین، آخرین مهلت بارگذاری پایاننامهام برای دفاع در ماه ژانویه منقضی شد. پس از بسیاری از رایانامههای یادآوری، سرانجام پاسخی دریافت شد و از طریق رئیس دانشکده، من نمرهای گرفتم، نیمسال هفتم را گذراندم و با موفقیت در ماه مارس از پایاننامهام دفاع کردم.
نتیجهگیری
به گذشته که نگاه میکنم، به کارهای خودم افتخار میکنم. من خطر مردود شدن را به جان خریدم، و در نهایت در قیاس با حالتی که از نرمافزارهای ناامن و غیراخلاقی استفاده کرده بودم نمرات پایینتری دریافت کردم. اما من به این موضوع قانع هستم. فکر نمیکنم تسلیم شدن در برابر برنامههای غیر آزاد میتوانست منافع بلند مدتی به ارمغان بیاورد - تنها سازشکردن بیشتر.
میبینیم که برخی افراد تحمل اصول آزادی نرمافزار را نداشتند، اما در پایان آنها تعداد کمی بودند و اکثر کارکنان دانشگاه در AGH نسبت به من مهربان بودند. به لطف آنها اکنون مدرکی دارم که ثابت میکند میشود بدون اتکا به نرمافزارهای انحصاری، تحصیل کرد و فارغالتحصیل شد و حتی در واقع زندگی کرد. بعد از اتمام این تجربهٔ دشوار، بیش از هر زمان دیگری احساس استقلال میکنم و حتی توسط ریچارد استالمن معروف مورد قدردانی قرار گرفتم [۳]. امیدوارم که داستان من به دانشجویان بیشتری کمک کند تا به جایی که من هستم برسند.
تلاش برای اینکه تنها برنامههای آزاد را اجرا کنم مرا مجبور کرد و همچنان مجبور میکند که مهارتهای جدیدی به دست بیاورم. حالا من آن قدری در مورد فناوریهای وب میدانم که بتوانم چندین وبگاه را طوری بسازم که برای کار کردن نیاز به جاوااسکریپت نداشته باشند. اما بهترین چیز درباره تجربهٔ من این است که قادر خواهم بود شیوهٔ رفع مشکلات خود را با دیگران به اشتراک بگذارم و در نهایت زیرمجموعهای از شبکه جهانی وب را قابل استفاده در حین حفظ آزادی کنم.
[۱] با سپاس از اندی فارنل، اندی اورَم و ریچارد استالمن برای کمکهایشان.
[۲] در طول این مقاله همهٔ آموزگاران دانشگاه را با عنوان استاد خطاب کردم هرچند تنها برخی از آنها دارای این عنوان رسمی در فضای دانشگاهی هستند.
[۳] دکتر ریچارد استالمن، بنیانگذار بنیاد نرمافزار آزاد و GNUisance ارشد پروژهٔ گنو.