چرا نرمافزارها نباید آزادی اجرایشان را محدود کنند؟
به قلمِ ریچارد استالمننرمافزار آزاد نرمافزاری است که در آن کاربران، نرمافزار را کنترل میکنند، نه برعکس. به طور مشخص نرمافزاری را میتوان آزاد نامید که به چهار آزادی بنیادی احترام بگذارد. آزادیهایی که کاربران سزاوار آنها هستند. نخستینِ این آزادیها، «آزادی ۰» است. آزادی ۰ میگوید که شما آزادید تا نرمافزار را به دلخواه برای انجام هر کاری اجرا کنید.
برخی توسعهدهندگان پیشنهاد میکنند که محدودیتهایی در پروانهٔ نرمافزارها قرار گیرد تا استفاده از آنها برای اهداف مشخصی قدغن شود. اما چنین پیشنهادی فاجعهبار است. بنابراین در این مقاله به این موضوع میپردازیم که چرا آزادی ۰ نباید محدود شود. شروطی که برای محدود کردن استفاده از نرمافزار گذاشته میشوند ممکن است به تعداد کمی از اهداف خود برسند، اما میتوانند جامعه نرمافزار آزاد را نابود کنند.
پیش از هر چیز بیایید در تعریف آزادی ۰ کمی دقیقتر شویم. آزادی ۰ بدین معناست که نرمافزار نباید برای نحوهٔ استفادهٔ شما (فعالیتی که شما با نرمافزار انجام میدهید) محدودیت بگذارد. واضح است که این موضوع شما را از قانون مبری نمیکند. به عنوان مثال در ایالات متحده، کلاهبرداری جرم است — قانونی که از نظر من صحیح و موجه است. پس اگر از نرمافزاری برای کلاهبرداری استفاده کنید، پروانهٔ آن هر چه که باشد نمیتواند شما را از پیگرد قانونی محافظت کند.
گنجاندن مادهای در پروانهٔ نرمافزار برای مبارزه با کلاهبرداری، در کشوری که کلاهبرداری در آن جرم محسوب میشود، ضرورتی ندارد. اما در مورد شکنجه چطور؟ دولتها زمانی که نیرویهای امنیتی دست به شکنجه میزنند اغلب از آن چشمپوشی میکنند. پس چرا مادهای بر علیه شکنجه نداشته باشیم؟
مادهای قانونی برای مبارزه با شکنجه کاربردی ندارد، چرا که تمام پروانههای نرمافزار آزاد را دولت اِعمال و اجرا میکند. و دولتی که بخواهد شکنجه کند، پروانه را نادیده میگیرد. هنگامی که قربانیان شکنجهگری ایالات متحده تلاش میکنند تا به طور قانونی از دولت شکایت کنند، دادگاه پروندهٔ آنها را به دلیل اینکه مسئله جزء اسرار امنیت ملی است، مختومه اعلام میکند. به همین ترتیب اگر توسعهدهندهٔ یک نرمافزار از دولت آمریکا شکایت کند و بگوید که بر خلاف مواد قانونی پروانهٔ نرمافزار، از آن در انجام شکنجه بهرهگیری شده است، دادخواستش رد میشود. به طور کلی دولتها در آوردن بهانههای قانونی برای کارهای هولناکی که انجام میدهند، استادند. شرکتهایی که لابیهای قدرتمند دارند نیز اینگونهاند.
حال اگر مادهای بر علیه برخی فعالیتهای خصوصی ویژه تعریف شده باشد چطور؟ به عنوان مثال، پیتا (بنیاد مردمی رعایت اصول اخلاقی در برابر جانوران) پروانهای را پیشنهاد کرده که بهرهبرداری از نرمافزار در فعالیتهایی که سبب ایجاد درد برای مهرهداران میشود را منع کند. یا ممکن است مادهای بر علیه استفاده از نرمافزار بهخصوصی برای ساخت یا انتشار تصاویری از پیامبران نوشته شود. یا بر علیه استفاده در آزمایشٰهای مربوط به یاختههای بنیادی جنینی. یا بر علیه استفاده در ساخت رونوشتهای غیر مجاز از موسیقیها.
مشخص نیست که آیا میتوان چنین مادههایی را در قالب شروط قانونی اعمال کرد یا خیر. پروانههای نرمافزار آزاد بر پایهٔ قانون حق رونوشت (کپیرایت) ساخته شدهاند؛ تلاش برای تحمیل شروط و محدودیتهای استفاده از طریق آنها به گونهای اتساع قانون حق رونوشت به شیوهای خطیر است. به نظرتان درست است اگر کتابها در پروانهٔ خود برای چگونگی استفاده از اطلاعاتشان ضوابط و شرایط تعریف کنند؟
فرض کنیم این شروط به طور قانونی قابل اجرا باشند — آیا آن مطلوب خواهد بود؟
حقیقت این است که مردم دربارهٔ فعالیتهایی که ممکن است به کمک نرمافزار انجام شوند، اندیشههای اخلاقی بسیار متفاوتی دارند. به شخصه فکر میکنم که آن چهار فعالیت نامعمول، قابل توجیه و به جا هستند. به طور مشخص، من حامی استفاده از نرمافزار برای انجام آزمایشهای پزشکی روی حیوانات و فرآوری گوشت هستم. از حقوق انسانی حامیان حیوانات دفاع میکنم، اما با نظراتشان موافق نیستم؛ نمیخواهم پیتا (PETA) استفاده از نرمافزار در چنین زمینههایی را محدود کند.
و از آنجا که صلحخواه (پاسیفیست) نیستم، با شرطِ «عدم استفادهٔ نظامی» نیز مخالفم. جنگهای متجاوزانه را محکوم میکنم اما با دفاع مشکلی ندارم. در حقیقت از تلاشهایی که در خصوص متقاعد کردن ارتشهای گوناگون برای بهرهگیری از نرمافزار آزاد انجام شده حمایت کردهام. با این کار ارتشها میتوانند نرمافزار را برای شکافهای امنیتی و قابلیتهای جاسوسی وارسی کنند تا خطری برای امنیت ملی نداشته باشد.
همچنین از آنجا که به طور کلی بر ضد تجارت و کسبوکار نیستم، با محدودیتهای بهرهبرداری تجاری نیز مخالفم. برنامهای که تنها میتوانیم از آن برای سرگرمی، تفریح و آموزش استفاده کنیم خارج از حیطهٔ بسیاری از کارهایی است که میتوانیم با رایانهها انجام دهیم.
در بالا، بخشی از نظرات خود دربارهٔ منصفانه بودن یا نبودن مسائل سیاسی گوناگون بیان کردم. مسائلی که به نرمافزار آزاد مربوط نیستند. نظرات شما ممکن است با من متفاوت باشد و نکتهٔ مهم دقیقاً همینجاست. اگر برنامههایی با محدودیت استفاده را به عنوان بخشی از سیستمعاملی آزاد نظیر گنو بپذیریم، افراد با محدودیتهای استفاده گوناگونی مواجه میشوند. برنامههایی وجود خواهند داشت که بهرهبرداری در فرآوری گوشت را منع کردهاند، برنامههای دیگری فقط برای استفاده روی خوکها ممنوعیت دارند، دستهٔ دیگری فقط گاوها را ممنوع کردهاند و تعدادی هم برای غذاهای کوشر محدودیت گذاشتهاند. فردی که از اسفناج متنفر است ممکن است پروانهٔ برنامه را چنان بنویسد که با هرگونه سبزی غیر از اسفناج کار کند، از آن سو طرفداران ملوان زبل ممکن است فقط اجازه استفاده از اسفناج را بدهند. برنامههای موسیقیای وجود خواهند داشت که فقط موسیقی رَپ در آنها مجاز است، برنامههای دیگری فقط با موسیقی کلاسیک سازگار هستند.
نتیجهٔ حاصل سیستمی است که به هیچ وجه نمیتوان روی آن حساب کرد. برای هر فعالیتی که میخواهید انجام دهید باید پروانههای بسیاری را بررسی کنید تا متوجه شوید که کدام قسمتهای سامانهتان با آن فعالیت سازگار نیست. نه تنها برای بخشهایی که مستقیماً از آنها استفاده میکنید، بلکه برای هزاران هزار بخش دیگری که سامانه با آنها پیوند دارد، آنها را فرامیخواند و به آنها مرتبط است.
بازخورد کاربران به چنین سامانهای چگونه خواهد بود؟ نظر من این است که بیشتر آنها به سراغ سامانههای انحصاری میروند. پذیرفتن محدودیت استفاده در نرمافزار آزاد کاربران را به طور عمده به سوی نرمافزار ناآزاد سوق میدهد. تلاش برای جلوگیری از انجام فعالیت بهخصوصی به وسیلهٔ محدودیتهای استفاده در نرمافزارهای آزاد، آب در هاون کوبیدن است. درست مثل جملهای که از فردی شنیدهام: «این کار به مثابهٔ فردی با چکشی بسیار کوچک است که هر مشکلی را همچون میخ میپندارد و نمیداند که آن میخ بسیار بزرگتر از چکش اوست».
چنین محدودیتهایی نه تنها بیفایده بلکه نادرستاند. زیرا توسعهدهندگان نرمافزار نباید چنین قدرتی در برابر آنچه کاربران انجام میدهند داشته باشند. فرض کنید خودکارهایی به فروش برسند که برای آنچه میتوانید با آنها بنویسید شرایط و ضوابط بگذارند؛ شکی در احمقانه بودن این موضوع نیست و ما نباید آن را بپذیریم. اگر وسیلهای مانند خودکار میسازید که عموماً کارآمد است، افراد از آن برای نوشتن همه چیز استفاده میکنند، حتی هولناکترین چیزها همچون دستور شکنجهٔ مخالفان. اما شما نباید قدرت کنترل فعالیت افراد از طریق خودکارشان را داشته باشید. چنین اندیشهای برای نرمافزار هم صادق است. ویرایشگرهای متن، مترجمها (کامپایلرها)، هستهها (کِرنِلها) و ... نیز باید این گونه باشند.
با این حال شما فرصت این را دارید که تعیین کنید نرمافزارتان برای چه کارهایی استفاده شود، هنگامی که تصمیم میگیرید چه قابلیتهایی را در آن بگنجانید. میتوانید برنامههایی بنویسید که مناسب اهدافی باشند که از نظر شما مثبتاند و مجبور نیستید قابلیتهایی در آنها قرار دهید که ممکن است در فعالیتهایی به کار روند که با آنها مخالف هستید.
نتیجه واضح است: نباید برای کارهایی که کاربران با نرمافزار انجام میدهند محدودیت گذاشته شود. آزادی ۰ باید کاملاً رعایت شود. باید شکنجه را متوقف کنیم، اما نمیتوانیم این کار را به وسیلهٔ پروانههای نرمافزاری انجام دهیم. آنچه از پروانههای نرمافزاری انتظار میرود این است که آزادی را برای کاربران پایهگذاری و از آن پاسداری کنند.