دولت و نرم‌افزارهای آزاد: یک چشم‌انداز آرمانی

نوشتهٔ زیر ترجمهٔ یکی از مقاله‌های دکتر ریچارد استالمن است. ریچارد متیو استالمن (Richard Matthew Stallman) برنامه‌نویس برجسته، عضو سابق آزمایشگاه هوش مصنوعی در دانشگاه MIT، فعال اجتماعی در زمینهٔ حقوق کاربران در دنیای دیجیتال، و بنیان‌گذار جنبش (و همچنین بنیاد) نرم‌افزارهای آزاد است.

Stallman playing music to the butterfly under the
ریچارد متیو استالمن. منبع: https://stallman.org/rms.jpg، پروانه: Creative Commons Noderivs Nocommercial license version 3.0 or later

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

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

و اما متن مقاله (*):

راه‌هایی که با آن دولت‌ها می‌توانند نرم‌افزارهای آزاد را ترویج کنند
(و چرا این کار وظیفهٔ آن‌هاست)

نوشتهٔ ریچارد استالمن (آخرین به‌روزرسانی: ‪۲۰۱۸-۱۲-۱۵‬)

این مقاله سیاست‌هایی را برای یک تلاش نیرومند و پایدار در جهت ترویج نرم‌افزارهای آزاد در دولت پیشنهاد می‌کند؛ تلاش‌هایی که بقیهٔ کشور را نیز در جهت آزادی نرم‌افزار هدایت خواهد کرد.

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

دولت باید به خاطر حفظ استقلال رایانشی (یعنی برای داشتن حق کنترل روی رایانش داخلی خودش) بر استفاده از نرم‌افزارهای آزاد پافشاری کند. همهٔ کاربران شایستهٔ داشتن کنترل روی رایانش خود هستند، ولی دولت در برابر مردم مسئولیت دارد که روی رایانشی که به نمایندگی از مردم انجام می‌دهد کنترل داشته باشد. امروزه بیشتر فعالیت‌های دولت وابسته به رایانش است، و داشتن کنترل روی این فعالیت‌ها وابسته به داشتن کنترل روی رایانش مربوط به آن‌هاست. از دست دادن این کنترل برای سازمان‌هایی که مأموریتی حیاتی دارند، به امنیت ملی آسیب می‌زند.

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

در این نوشته، منظور از «نهادهای دولتی» هر گونه سازمان دولتی در هر سطحی است، یعنی نهادهای عمومی مانند مدرسه‌ها، پروژه‌های دولتی‌ای که با همکاری بخش خصوصی انجام می‌شوند، نهادهایی که بخش عمدهٔ بودجهٔ خود را از دولت می‌گیرند مانند مدرسه‌های نمونهٔ دولتی، و شرکت‌های خصوصی‌ای که دولت کنترل‌شان می‌کند یا به آن‌ها اجازه‌ها یا مسئولیت‌های ویژه‌ای داده است.

آموزش

مهم‌ترین سیاست در این زمینه مربوط به آموزش است، زیرا آموزش آیندهٔ هر کشوری را شکل می‌دهد:

(۱) تنها نرم‌افزار آزاد را آموزش دهید

فعالیت‌های آموزشی، یا دست‌کم آن‌هایی که نهادهای دولتی انجامشان می‌دهند، باید تنها نرم‌افزارهای آزاد را آموزش دهند (بنابراین، هیچگاه نباید دانش‌آموزان را به استفاده از نرم‌افزارهای غیرآزاد سوق دهند)، و باید دلایل اجتماعی پافشاری بر نرم‌افزارهای آزاد را بیاموزانند. آموزش دادن یک نرم‌افزار غیرآزاد به معنی آموزش دادن وابستگی است، که متناقض با هدف مدارس است.

دولت و جامعه

همچنین سیاست‌های دولت که روی انتخاب نرم‌افزار برای اشخاص حقیقی و حقوقی تأثیر می‌گذارند نیز بسیار حیاتی هستند:

(۲) هیچ‌گاه نرم‌افزارهای غیرآزاد را اجبار نکنید

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

(۳) تنها نرم‌افزارهای آزاد را توزیع کنید

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

(۴) وبگاه‌های دولتی

وبگاه‌ها و سرویس‌های تحت شبکهٔ نهادهای دولتی باید طوری طراحی شوند که کاربران بتوانند صرفاً با نرم‌افزار آزاد و بدون کمتر شدن امکانات با آن کار کنند.

(۵) قالب‌ها و پروتکل‌های آزاد

نهادهای دولتی باید تنها قالب‌های ذخیره‌سازی و پروتکل‌های ارتباطی‌ای را به کار ببرند که نرم‌افزارهای آزاد آن‌ها را به خوبی پشتیبانی می‌کنند، و ترجیحاً جزئیات آن‌ها نیز منتشر شده باشد. (ما در این‌جا دربارهٔ استانداردها چیزی نمی‌گوییم، زیرا این موضوع باید دربارهٔ مواردی که استانداردی ندارند نیز برقرار باشد.) برای نمونه، آن‌ها نباید پرونده‌های صوتی یا تصویری را در قالب‌هایی منتشر کنند که به فلش‌پلیر یا کُدک‌های غیرآزاد وابسته باشد، و کتاب‌خانه‌های عمومی نباید آثار را با مدیریت محدودیت‌های دیجیتال (DRM) منتشر کنند.

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

(۶) کامپیوترها را از مجوزها جدا کنید

فروش یک کامپیوتر نباید هیچ اجباری برای خرید مجوز یک نرم‌افزار غیرآزاد را به دنبال داشته باشد. فروشندگان کامپبوتر باید بر اساس قانون موظف باشند که گزینهٔ خرید کامپیوتر بدون نرم‌افزار غیرآزاد و بدون پرداخت هزینهٔ مجوز را نیز به خریدار ارائه دهند.

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

خودمختاری رایانشی

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

(۷) به نرم‌افزارهای آزاد مهاجرت کنید

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

(۸) راه حل‌های کامپیوتری آزاد را توسعه دهید

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

(۹) کامپیوترها را با توجه به نرم‌افزار آزاد انتخاب کنید

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

(۱۰) با سازندگان کامپیوترها مذاکره کنید

دولت باید فعالانه با تولیدکنندگان کامپیوترها مذاکره کند تا مدل‌هایی که بدون نیاز به نرم‌افزارهای انحصاری کار می‌کنند، در همهٔ رده‌های متعارف کامپیوترها در بازار موجود باشند (هم برای دولت و هم برای عموم).

(۱۱) با دولت‌های دیگر همگام شوید

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

خودمختاری رایانشی ۲

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

(۱۲) دولت باید کامپیوترهایش را خودش کنترل کند

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

بر توسعهٔ نرم‌افزار تأثیر بگذارید

سیاست‌های دولت روی توسعهٔ نرم‌افزارهای آزاد و غیرآزاد تأثیر می‌گذارند:

(۱۳) آزاد را تشویق کنید

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

(۱۴) غیر آزاد را تشویق نکنید

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

زباله‌های الکترونیکی

آزادی نباید موجب تولید ناموجه زباله‌های الکترونیکی شود:

(۱۵) نرم‌افزارهای جایگزین‌پذیر

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

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

بی‌طرفی فناورانه

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

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

(*) توضیح کوتاهی دربارهٔ انتشار این نوشته: نوشتهٔ اصلی در سایت پروژهٔ گنو با پروانهٔ CC BY-ND 4.0 منتشر شده است و این ترجمه نیز با همین اجازه‌نامه انتشار می‌یابد. نسخه‌ای از این ترجمهٔ فارسی (با تغییرات جزئی) در سایت پروژهٔ گنو نیز منتشر شده است. در این‌جا پیشنهادهای مقاله با عدد نشانه‌گذاری شده‌اند تا بهتر بتوان به آن‌ها ارجاع داد یا دربارهٔ آن‌ها گفتگو کرد.