نرم‌افزار آزاد در ایران کامپایل نمی‌شود

چرا پس از دو دهه تلاش برای آزادی نرم‌افزار در ایران، هنوز مطالبه‌ی عموم متخصصین نیست

جامعه‌ی نرم‌افزار آزاد را همه به چهره می‌شناسند، به اسم نه!

اولین بار که کلاس برنامه‌نویسی ثبت‌نام می‌کردم، حوالی سال ۲۰۰۸، در مصاحبه انگیزه‌ی خود از یادگیری برنامه‌نویسی را «کسب درآمد» عنوان کردم. در نتیجه مسیر آموزش ASP.NET را به جای PHP پی گرفتم. استدلال این بود که Microsoft از دکمه‌های Donate استفاده نمی‌کند، پس پول می‌گیرد و در قبال پول، تعهد پشتیبانی می‌گیرید. فریم‌ورک دات‌نت، همواره از برنامه‌هایی که با نسخه‌های پیشین نوشته شده است پشتیبانی می‌کند و اگر اجازه‌ی توسعه ندهد، لااقل دستتان را هم داخل حنا نمی‌گذارد. SQL Server برای حذف دیتاتایپ ntext از چند سال قبل هشدار و راه‌کار‌های موازی ارائه می‌داد، و اگر دچار Data Loss می‌شدید، می‌توانستید روی پشتیبانی مایکروسافت حساب کنید.

در این میان گروهی دیگر از افراد هم بودند که کت و شلوار نمی‌پوشیدند اما دو ویژگی مشترک داشتند: ‍۱- خفن‌تر بودند و ۲- خشن‌تر بودند! برنامه‌نویس‌های همیشه کرختی که هیچ‌گاه زمان خالی برای معاشرت با Newbieها را نداشتند، اگر قصد داشتید فارسی بنویسید و یا شمسی تاریخ بزنید، وارد منطقه‌ی ایشان شده بودید، و با پرسیدن اسم‌هایشان از گوگل، به تالار‌های گفتگویی می‌رسیدید که پیش از پیدایش Stackoverflow.com، منجی‌های شما به حساب می‌آمدند.

همه‌ی شواهد درست بود. اگر می‌خواستید پول دربیاورید باید دست به دامن گروه اول می‌شدید. لااقل در ازای پول، جواب سوالاتتان را می‌گرفتید.

بعده‌ها متوجه شدم که گروه دوم، افرادی از یک جامعه‌اند. جامعه‌ای بدون پیشوا و عمدتا تشکیل شده از «مخ‌های کامپیوتر» که در یک پارادوکس عجیب عده‌ای رنگ دانشگاه را ندیده و عده‌ای دیگر مفتخر به تحصیل در دانشگاه‌های برتر پایتخت بودند.

پریز دو شاخه، دوشاخه‌ی سه شاخه

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

از این رو لازم می‌دانم که فرضیات خود را برای همگام سازی ذهن‌هایمان به اشتراک بگذارم. این تعاریف ممکن است دقیقا منطبق بر تعاریف علمی آن‌ها نباشد. این واژگان، قرار‌داد‌های موقت ما برای گفتگو هستند.

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

تعاریف و موارد تکمیلی

محصول برای انسان: محصولی که برای کاربری انسانی طراحی شده باشد.

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

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

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

سبک زندگی: مجموعه‌ای از آداب و رسوم جمعی و عادات فردی را سبک زندگی می‌نامیم.

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

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

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

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

از عبارت «قابل لمس بودن» به سادگی نگذریم! قابل لمس بودن نرم‌افزار آزاد برای کسی که تجربه‌ی برنامه‌نویسی و رو به رویی با خطای «It’s all we know» را دارد، دارای معنای متفاوتی است از مشتری مارکت نرم‌افزار ایران که اکثر غالب نرم‌افزار‌ها را رایگان دریافت و استفاده می‌کند. در نتیجه برداشت‌های این افراد باهم متفاوت خواهد بود.

اجتماع: گروهی از افراد که دارای تعامل با یک‌دیگر باشند. اجتماع به دلیل تقابل با «تنهایی»، برای بشر ذاتا لذت‌بخش است.

جامعه: اجتماع از افراد با برخی ویژگی‌های مشترک که در یک ساختار به تعادل رسیده باشند. بدیهی است که برخی از جوامع دارای آشفتگی و برخی دیگر دارای ویژگی‌های مشترک قراردادی مانند قانون هستند.

جنبش: جنبش مجموعه‌ای است از کمپین‌های تبلیغاتی، که توسط همه یا برخی از اعضای یک جامعه، برای دست‌یابی به هدف یا اهدافی دنبال می‌شود.

جنبش علمی/اقتصادی/اجتماعی/…: جنبشی برای رسیدن به اهداف علمی/اقتصادی/اجتماعی/… است که می‌تواند مرکب باشد.

در مورد جنبش‌های علمی، باید به معماری علم توجهی ویژه داشت. در قرن بیست و یکم (که هنوز معلم‌ها می‌توانند ادعا کنند که دانش را نمی‌توان به مغز دانش‌آموزان تزریق کرد)، یکی از ستون‌های اصلی نظام علم، آموزش است. «آموزش دادن» به سادگی منجر به «لذت» نمی‌شود و آن‌قدری پر هزینه است که در بسیاری از موارد تبدیل به نوعی قمار مشروع شود. به نحوی که هدف تنها علم برای علم باشد و منجر به عمل نشود.

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

در نتیجه جنبش اقتصادی-علمی-اجتماعی نرم‌افزار آزاد، برای تبدیل شدن «مطالبه‌ی عمومی» یا هر «هدف» دیگری برای جوامع پایین‌دستی باید با دقت انجام شود.

سرزمین فرصت‌ها: نگاهی دوباره به وقایع چهل‌سال گذشته در سیلیکون‌ولی و MIT

۱- جنبش آزادی نرم‌افزار اولین جنبش علمی در این کشور نبود و حداقل در دانشگاه تریبون داشت.

۲- افراد دقیقا آشنایی قابل دسترس داشتند: رقابت با مایکروسافت یا اپل و بعده‌ها تقریبا هر تک‌شاخ دیگری، که: واقع در فلان خیابان است، و فلان هم‌کلاسی‌ها در آن شرکت کار می‌کنند.

۳- وجود افرادی با شخصیت‌های کاریزماتیک و موجه با خواسته‌هایی قابل لمس که قصه‌هایی برای شنیدن داشتند. مثل آقای تروالدز، مردی به اسم تنن‌باوم در پشت صحنه، و استالمن.

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

۵- حمایت دولتی از اکوسیستم وجود داشت. افرادی که پرچم آمریکا را روی محصولات خود نصب می‌کردند معاف مالیاتی بودند. اپل با استفاده از همین قانون از پرداخت مالیات اپل ۲ و لیزا معاف شده بود (احتیاج به صحت سنجی). سران کشور «انتخاب کرده بودند تا به ماه بروند».

۶- این شرکت‌ها با دانشگاه در ارتباط بسیار نزدیکی بودند به نحوی که دانشجوها دقیقا می‌دیدند که به سادگی می‌توانند در صنعت و اقتصاد مشارکت کنند.

۷- انواع لیدر بورد‌ها رقابت‌ها را داغ می‌کرد. از شاخص‌های اقتصادی کلان، تا Reputationها در فروم‌ها که برای دانشجویان به عنوان گرداننده‌های اصلی این جنبش تولید ارزش و لذت می‌کرد.

۸- تقارن تمامی این اتفاقات با جنبش‌های هیپستری و دیگر موارد (آلترناتیو‌ها) غیر قابل چشم‌پوشی است. بسیاری از دانشجویانی که آتشی داغ‌تر از دیگران داشتند، «هیپی» بودند. آن‌ها از سبک زندگی پیروی می‌کردند که بشدت از نظر هزینه‌ی زمانی و پولی برای تولید نرم‌افزار صرفه‌جویی می‌کرد. این افراد که با Walkman‌هایشان دائما در حال گوش دادن به موسیقی‌های «مدرن» هستند و احتمالا روز‌هاست که از خانواده‌هایشان اطلاعی ندارند، الکل و ماریجوانا را به کد‌های نرم افزاری (code) تبدیل می‌کنند؛ و اخراج از «دانشگاه» که زمان ارزشمند آن‌ها را هدر می‌دهد، نوعی ارزش به شمار می‌آید. در نتیجه اینجا دو جنبش باهم هم‌سو هستند که مشخصا جنبش آزادی نرم‌افزار نیاز به تغذیه‌ی روحی اعضای جامعه را از طریق محصولات فرهنگی هیپی‌ها تامین می‌کرد. روشی ارزان، سریع و قابل دسترس برای همه.

۹- راهکاری به نام لینوکس و شخصیتی با ثبات به نام لینوس تروالدز. لینوکس به عنوان یک هسته‌ی نرم‌افزاری، برای دانشجویان آن دوره‌ی آمریکا که باید از کار سورس کد Unix از شرکت IBM سر در می‌آوردند، بسیار ساده‌تر بود. از برنامه‌نویسی خوانا‌تر این برنامه‌ی کامپیوتری تا حمایت ریچارد استالمن از MIT باعث شده بود که دانش‌جویان برای محک توانایی‌های خود هم که شده، و البته از آن‌جایی که دستیابی به پاسخ سوالاتشان آسان‌تر بود، جذب این هسته باشند و دائما Community قدرتمند‌تری پیرامون این هسته شکل بگیرد. تا آن‌جا که اولا استفاده از سورس‌کد Unix برای سیستم‌عامل Apple Mac OS و واکنش قهری IBM با بستن این سورس کد و ثانیا حمایت پروژه‌ی Minix و دکتر تنن‌باوم از این پروژه، باعث شد تا تیتر رسمی و غیر رسمی آموزش سیستم‌عامل برای دانشجویان و سایر علاقمندان باشد.

۱۱- دیسیپلین و سبک زندگی آکادمیک در پشتیبانی، بسیار کمک کننده بود. فرهنگ پاسخ دادن به ایمیل یک دستاورد از زندگی در دانشگاه‌های اسم و رسم دار است. همین موضوع باعث می‌شد که به تدریج گفتمان و قوانین شکل بگیرد، و نهایتا ثبت رسمی بنیاد نرم‌افزار‌های آزاد، و زنده شدن پروانه‌های کپی رایت، اطمینان خاطری به اعضا می‌داد که سیستم زنده است.

۱۲- موفقیت‌های شرکت‌های کوچک در سیلیکون‌ولی و به حقیقت پیوستن «رویای آمریکایی» که هر روز از تلوزیون تبلیغ می‌شد، تمایل شرکت‌های بزرگ به Crowd-sourcing و استفاده از هم‌افزایی برای کاهش هزینه‌های تولید، به همراه قوانینی که شفافیت را مطالبه می‌کردند، باعث شد که دهه‌ی دوم این جنبش، زمان تثبیت این جنبش به عنوان یک جنبش مفید برای جامعه باشد. افشاگری‌های ادوارد اسنودن از سامانه‌های شنود ایالات متحده، که رسما با حریم خصوصی افراد مرتبط شده و به معنی نقض دموکراسی در این کشور بود، باعث شد که این جنبش، جنبه‌های اجتماعی خود را نزد عوام راحت‌تر بروز دهد، و ضریب نفوذ محصولات را بالا‌تر ببرد.

و بسیاری دیگر از عواملی که از قلم افتاده‌اند.

«آقایون! خسته نباشید؛ شام آوردن»

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

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

https://mastodon.social/web/statuses/105502819531685076

https://mastodon.social/web/statuses/105513804363656479

https://mastodon.social/web/statuses/105507028630563741

https://mastodon.social/web/statuses/105198237828902856

https://mastodon.social/web/statuses/104550088541619271