نرمافزار آزاد هماکنون بیش از پیش مهم است
به قلم ریچارد استالمناز ۱۹۸۳ جنبش نرمافزار آزاد در تلاش است تا برای کاربران رایانه آزادی به ارمغان آورد—تا کنترل نرمافزاری که استفاده میکنند، به دست خودشان باشد، نه برعکس. نرمافزاری که به آزادی و اجتماع کاربران احترام بگذارد را “نرمافزار آزاد” مینامیم.
همچنین ما گاهی آن را “libre software” میخوانیم تا مشخص شود که تأکید ما بر آزادی است و نه قیمت (مترجم: دلیل این موضوع امکان برداشت اشتباه از واژهٔ free در زبان انگلیسی است، که هم به معنای آزاد است و هم به معنای رایگان). برخی نرمافزارهای انحصاری (ناآزاد)، مانند فوتوشاپ، بسیار گران قیمت هستند؛ برخی دیگر مانند برنامهٔ اوبر رایگان هستند—اما این تنها بخش کوچکی از ماجراست. در هر دو صورت، آنها به توسعهدهندهٔ برنامه قدرتی میدهند که هیچکس نباید داشته باشد: قدرت سلطه بر کاربران.
این دو نرمافزار ناآزاد شباهت دیگری نیز دارند: هر دوی آنها بدافزار هستند. یعنی ویژگیهایی دارند که صلاح کاربران در آنها لحاظ نشده است. این روزها نرمافزارهای انحصاری با قدرتِ فاسد توسعهدهندگان بدافزار محسوب میشوند. در آن شاخه نزدیک به ۶۰۰ ویژگی مخرب فهرست شدهاند (تا آوریل ۲۰۲۳)، اما بیشک این تنها نوک کوه یخ است.
در نرمافزار آزاد کاربران بر نرمافزار کنترل دارند، هم به صورت فردی و هم به صورت جمعی. بنابراین آنها بر آنچه رایانههایشان انجام میدهند نظارت میکنند (با فرض اینکه رایانهها وظیفهشناس بوده و آنچه نرمافزار به آنها میگوید را انجام دهند)
در نرمافزار انحصاری، کاربران زیر سلطهٔ برنامه هستند و برنامه نیز زیر سلطهٔ موجودی دیگر (توسعهدهنده یا “مالک”) است. بنابراین نرمافزار انحصاری به توسعهدهنده خود در برابر کاربران قدرت مضاعف میدهد. این موضوع نه تنها به نوبهٔ خود عادلانه نیست؛ بلکه باعث میشود تا توسعهدهنده به شیوههای دیگری با کاربران بدرفتاری کند.
حتی وقتی نرمافزار انحصاری به خودی خود بدافزار نیست، توسعهدهندگانش آن را به طور عامدانه اعتیادآور، سلطهجو و فریبکار بار میآورند. شما هم مانند نویسندهٔ این مقاله میتوانید بگویید که این وظیفهٔ اخلاقی توسعهدهندهاست تا از انجام چنین کاری خودداری کنند، ولی آنها معمولا اهداف خودشان را دنبال میکنند. اگر میخواهید این اتفاق نیافتد، اطمینان حاصل کنید که نرمافزار توسط کاربرانش نظارت میشود.
آزادی به معنای داشتن تسلط بر زندگی خود است. اگر در فعالیتهای روزمره نرمافزاری را به کار میگیرید، آزادیتان به میزان کنترلی که بر آن نرمافزار دارید بستگی دارد. این حق شماست که بر نرمافزارهایی که استفاده میکنید کنترل داشته باشید، به ویژه اگر از آنها برای کارهای مهم زندگی استفاده میکنید.
تسلط کاربران بر نرمافزار نیازمند چهار آزادی بنیادی است.
(۰) آزادی اجرای نرمافزار به گونهای که میپسندید، برای هر کاری.
(۱) آزادی مطالعهٔ “کد منبعِ” نرمافزار و تغییر آن، تا رایانش را به گونهای که میپسندید برایتان انجام دهد. نرمافزارها توسط برنامهنویسان با یک زبان برنامهنویسی شکل میگیرند؛ زبانی —شبیه به انگلیسی، آمیخته به جبر—. به این شکل از نرمافزار “کد منبع” گفته میشود. هرکس برنامهنویسی بداند، و کد منبعِ برنامه را در دست داشته باشد، میتواند آن را بخواند، کارکردش را بفهمد و تغییرش بدهد. اما وقتی تنها چیزی که در دست دارید شکل قابل اجرای نرمافزار باشد - دنبالهای از اعداد که برای اجرا در رایانه بهینه است ولی درک آن برای انسان بسیار دشوار میباشد - سر در آوردن از نرمافزار و تغییر آن سخت و ناممکن میشود.
(۲) آزادی ساخت و توزیع رونوشتهای مشابهی از نرمافزار، هرگاه علاقهمند بودید. (این یک وظیفه نیست؛ انجام این کار به اختیار خودتان است. اگر برنامهای آزاد باشد، بدین معنا نیست که فردی وظیفه دارد رونوشتی از آن را به شما بدهد، یا اینکه شما موظف هستید رونوشتی به او بدهید. توزیع یک برنامه به کاربران بدون آزادی توهین به آنهاست؛ با این حال توزیع نکردن برنامه و—استفاده شخصی از آن—هیچ آسیبی به دیگران نمیرساند.)
(۳) آزادی ایجاد و توزیع رونوشتهایی از نگارشهای تغییر یافتهٔ برنامه، هرگاه که خواستید.
دو آزادی اول به کاربر این حق را میدهند که به عنوان یک فرد بر نرمافزار کنترل داشته باشد. در ترکیب با دو آزادی دیگر، افراد میتوانند در قالب گروه بر نرمافزار کنترل جمعی داشته باشند. هنگامی که چهار آزادی یاد شده در کنار یکدیگر قرار گیرند، کاربران به طور کامل کنترل نرمافزار را در دست دارند. اگر هر کدام از این چهار آزادی سلب شده یا آن طور که باید و شاید اجرا نشوند، نرمافزار انحصاری (ناآزاد) و ناعادلانه است.
موارد دیگری از فعالیتهای کاربردی که نرمافزار نیستند و جنبش نرمافزار آزاد به طور ویژه به آنان نمیپردازد، وجود دارند که با استناد به دلایل مشابه، میتوان به نتیجهٔ یکسانی دربارهٔ آنها رسید: این گونه آثار نیز باید از چهار آزادی بنیادی پیروی کنند. آثاری همچون: دستورپخت غذاها، آثار آموزشی مانند کتابهای درسی، آثار مرجع مانند واژهنامه و دانشنامهها، قلم (فونت)های نمایش متون، طرح و نمودار مدارهای سختافزاری که افراد آنها را سرهم کنند و الگوهای ساخت چیزهای کاربردی (و نه لزوما تزئینی) با چاپگر ۳بعدی.
نرمافزار آزاد به شما اجازه میدهد تا با آن کلنجار بروید تا آنچه که شما میخواهید انجام دهد (یا آنچه را دوست ندارید انجام ندهد). کلنجار رفتن با نرمافزار ممکن است برای کسی که به نرمافزار انحصاری به عنوان جعبهای مهر و موم شده عادت دارد، خندهدار به نظر برسد، اما در این دنیای آزاد چنین کاری بسیار متداول و روشی مناسب برای یاد گرفتن برنامهنویسی است. امروزه حتی نرمافزار ناآزادِ خودروها، سرگرمی قدیمی کلنجار رفتن آمریکاییها با ماشین را هم بهم زده است
بیعدالتی انحصار
اگر کاربران نرمافزار را کنترل نکنند، نرمافزار کاربران را کنترل میکند. در نرمافزار انحصاری همواره یک موجود، توسعهدهنده یا “مالکِ” نرمافزار، آن را کنترل میکند و به وسیلهٔ آن بر کاربران حکم میراند. نرمافزار ناآزاد همچون یوغی است برای اعمال ناعادلانهٔ قدرت.
در موارد تکاندهنده (که البته کموبیش عادی شده است) نرمافزارهای انحصاری طراحی میشوند تا جاسوسی کاربران را بکنند، آنها را محدود، سانسور و مورد سوءاستفاده قرار دهند. به عنوان مثال، سیستمعامل اَپِل iThings و ویندوزِ تلفنهایی که تراشهٔ آرم دارند، تمام کارهای نامبرده را انجام میدهند. ویندوز، ثابتافزار تلفنهای همراه و گوگل کرومِ روی ویندوز درِ پشتیای دارند هستند که به شخص ثالث اجازه میدهد تا برنامه را از راه دور و بدون اجازهٔ کاربر تغییر دهد. کیندلِ آمازون با درِ پشتی، امکان حذف کتابها را دارد.
استفاده از نرمافزار ناآزاد در “اینترنت چیزها (اشیا)” آن را به اینترنت “بازاریابهای تلفنی” و همچنین “اینترنت فضولها” تبدیل میکند.
با هدف پایان دادن به بیعدالتی نرمافزار ناآزاد، جنبش نرمافزار آزاد، برنامههایی را توسعه میدهد که کاربران با استفاده از آنها میتوانند آزادی خود را حفظ کنند. ما در سال ۱۹۸۴ کار را با توسعهٔ سیستمعامل آزادِ گنو آغاز کردیم. امروزه میلیونها رایانه گنو را اجرا میکنند، به طور عمده در ترکیب گنو/لینوکس.
توزیع یک نرمافزار بین کاربران بدون آزادی توهین به آنهاست؛ با این حال توزیع نکردن آن برنامه هیچ آسیبی به دیگران نمیرساند. اگر شما یک برنامه بنویسید و به طور خصوصی از آن استفاده کنید، هیچ آزاری به دیگران نمیرسانید. (البته که فرصت انجام یک کار خیر را از دست میدهید اما خوبی نکردن با آسیب رساندن، زمین تا آسمان تفاوت دارد.) بنابراین ما بر این باوریم که همهٔ نرمافزارها باید آزاد باشند، یعنی هر رونوشتی از آنها باید چهار آزادی بنیادی را به رسمیت بشناسد، اما منظورمان این نیست که یک فرد وظیفه دارد رونوشتی از برنامه را به شما بدهد.
نرمافزار ناآزاد و SaaSS
نرمافزار ناآزاد نخستین راه شرکتها برای سلطه بر کارهای رایانهای افراد بود. امروزه آنها از در دیگری به نام «خدمت به جای نرمافزار»، Service as a Software Substitute یا SaaSS وارد میشوند. با SaaSS شما به کارساز (سِروِر) فرد دیگری اجازه میدهید تا رایانشتان را انجام دهد.
مشکل SaaSS این نیست که برنامههای موجود در کارساز ناآزادند (که البته معمولا هستند). بلکه SaaSS همان بیعدالتیهای نرمافزار ناآزاد را در پی دارد: هر دو راهی به سوی همان مقصد ناپسند هستند. به عنوان مثال خدمت ترجمه با SaaSS: کاربر، متن را برای کارساز میفرستد و پس از ترجمه (به فرض از انگلیسی به اسپانیایی)، کارساز متنِ ترجمهشده را به کاربر برمیگرداند. حالا دیگر امر ترجمه در اختیار کاربر نیست، بلکه زیر نظر متصدی کارساز است.
اگر از SaaSS استفاده کنید، متصدی کارساز بر رایانشتان نظارت میکند. بدین منظور باید تمامی اطلاعات مربوطه را در اختیار متصدی کارساز قرار دهید، که دولت هم میتواند آنها را به زور از او بگیرد.— پرسش این است که آن کارساز واقعا برای چه کسی کار میکند؟
بیعدالتیهای رده اول و دوم
هنگامی که از نرمافزارهای انحصاری یا SaaSS استفاده میکنید، نخستین بدی را در حق خودتان کردهاید، زیرا به یک موجود اجازه دادهاید که بر شما تسلط ناعادلانه داشته باشد. پس به صلاحتان است که خود را برهانید. در وهلهٔ دوم چون پیمانی مبنی بر به اشتراک نگذاشتن آن بستهاید، به دیگران بدی کردهاید. بستن چنین پیمانی شرورانه و شکستن آن کمتر شرورانه است؛ کار درست آن است هرگز چنین پیمانی نبندید.
مواردی وجود دارد که استفاده از نرمافزارهای انحصاری، دیگران را وادار میکند که آنها هم همین کار را انجام دهند. اسکایپ مثال واضحی است: هنگامی که فردی از نرمافزارِ ناآزادِ کارخواهِ اسکایپ استفاده میکند، فرد دیگر نیز مجبور به کار با آن میشود—بنابراین هر دوی آنها از حق آزادیشان گذشتهاند. (هَنگاوتسِ گوگل نیز همین ایراد را دارد.) حتی توصیه به استفاده از این برنامهها هم خوب نیست. ما حتی نباید تن به استفاده مختصری از آنها بر روی رایانهٔ دیگر افراد بدهیم.
آسیب دیگر استفاده از نرمافزارهای ناآزاد و SaaSS آن است که به توسعهدهندهٔ خطاکار انگیزه میدهد، انگیزهای که او را به ترویج بیشتر نرمافزار یا “خدمت” تحریک میکند و باعث میشود حتی افراد بیشتری در دام شرکت بیافتند.
اثر هرگونه آسیب غیر مستقیم هنگامی که کاربر نهادی عمومی یا یک مدرسه باشد، چند برابر میشود.
نرمافزار آزاد و حاکمیت
نهادهای عمومی دولتی برای مردم کار میکنند نه برای خودشان. وقتی رایانشی انجام میدهند، آن هم برای مردم است نه برای خودشان. این نهادها وظیفه دارند نظارت کاملی بر این رایانش داشته باشند تا مطمئن شوند که برای مردم به درستی انجام میشود. (بدین نحو حاکمیت رایانشی دولت استیلا مییابد.) آنها هرگز نباید اجازه دهند که رایانش دولت به دست نهادهای خصوصی بیافتد.
به منظور حفظ کنترل بر رایانش مردم، نهادهای عمومی دولتی نباید از نرمافزارهای انحصاری برای کار خود استفاده کنند (نرمافزاری که توسط شخصی غیر از حاکمیت بهرهبرداری میشود). آنها همچنین نباید این رایانش را بر عهدهٔ خدمات رایانهای بگذارند که توسط شخصی غیر از حاکمیت برنامهنویسی و اجرا میشود. چرا که این مصداقی از SaaSS است.
نرمافزار انحصاری در برابر یک عنصر بسیار مهم از هیچگونه امنیتی برخوردار نیست،—در برابر توسعهدهندهاش. و توسعهدهنده میتواند اسباب حمله را برای دیگران فراهم کند. مایکروسافت اشکالات ویندوز را در اختیار NSA (سازمان جاسوسی اطلاعاتی دولت آمریکا) قرار میدهد پیش از آنکه درستشان کند. مشخص نیست که آیا اپل نیز چنین کاری میکند یا خیر، اما واضح است که اپل هم زیر فشار همان دولتی است که به مایکروسافت دستور میدهد. اگر دولت هر کشور دیگری از چنین نرمافزارهایی استفاده کند، امنیت ملی خود را به خطر انداخته است. آیا میخواهید NSA وارد رایانههای دولت شما بشود؟ نگاهی به سیاستهای پیشنهادی به دولتها برای ترویج نرمافزار آزاد بیاندازید.
نرمافزار آزاد و آموزش
مدارس (و هرگونه نهاد آموزشی دیگری) در خلال آنچه آموزش میدهند بر آیندهٔ جامعه تأثیر میگذارند. به منظور اینکه از تأثیر خود به درستی استفاده کنند، باید صرفاً نرمافزار آزاد آموزش دهند. آموزش نرمافزار انحصاری یعنی ایجاد وابستگی، که با هدف اصلی آموزش در تضاد است. مدارس با آموزش نرمافزار آزاد، آیندهٔ جامعه را به سوی آزادی هدایت و به برنامهنویسان با استعداد کمک خواهند کرد تا گل کنند.
آنها همچنین مشارکت و کمک به دیگران را به دانشآموزان یاد میدهند. این قانون باید در همه کلاسها رعایت شود: “دانشآموزان! بدانید که این کلاس جایی است برای به اشتراکگذاری دانشمان. اگر نرمافزاری به کلاس میآورید، نباید آن را برای خود نگه دارید. بلکه باید آن را در اختیار دیگران نیز قرار دهید—حتی کد منبع آن را، اگر کسی کنجکاو شد. بنابراین، آوردن نرمافزار انحصاری به کلاس مجاز نیست مگر به منظور مهندسی معکوس آن.”
توسعهدهندگان نرمافزارهای انحصاری کاری میکنند که ما، دانشآموزان خوشقلبی که میخواهند نرمافزار را به اشتراک بگذارند، تنبیه کنیم و آنهایی که کنجکاوِ تغییر دادنش هستند را دست به سر کنیم. این نحوهٔ درست آموزش نیست. مباحث مرتبط با استفاده از نرمافزار آزاد در مدارس را اینجا بخوانید.
نرمافزار آزاد: ٰفراتر از “مزیت”
گاهی از من خواسته میشود که از “مزایای” نرمافزار آزاد سخن بگویم. اما کلمهٔ “مزیت” وقتی پای آزادی در میان باشد، تهی از معنا است. زندگی بدون آزادی ستم است، و این دربارهٔ رایانش هم، درست مانند دیگر فعالیتهای زندگیمان صدق میکند. ما نباید به توسعهدهندگان نرمافزار یا خدمات رایانهای امکان تسلط بر رایانشمان را بدهیم. این کارِ خودخواهانه همان کار درست است. البته آنچنان هم خودخواهانه نیست.
آزادی شامل آزادی مشارکت و همکاری با دیگران نیز میشود. مخالفت با این امر، به معنای جدا کردن افراد از یکدیگر و سرآغاز فرایند سرکوب آنهاست. ما در بنیاد نرمافزار آزاد به خوبی از اهمیتِ آزادی مشارکت خبر داریم، چرا که کار ما بر پایهٔ مشارکت سازماندهیشده استوار است. اگر دوستتان به شما سر بزند و ببیند از برنامهای استفاده میکنید. ممکن است بخواهد که یک رونوشت هم به او بدهید. برنامهای که شما را از این توزیع دوباره منع کند یا بگوید که شما “نباید این کار را بکنید،” جامعهستیز است.
همکاری و مشارکت در رایانش شاملِ بازتوزیع رونوشتهای مشابهی از نرمافزار بین دیگر کاربران و نیز مشمولِ توزیع نگارشهای تغییریافتهتان در بین آنها است. نرمافزار آزاد اینگونه همکاریها را تشویق میکند، در حالی که نرمافزار انحصاری از آنها جلوگیری میکند. انحصار با بازتوزیع رونوشتها مخالفت میکند و با ندادن کد منبع به کاربران، توانایی ایجاد تغییر را از آنها میگیرد. SaaSS نیز پیامدهای مشابهی دارد: اگر رایانش شما در بستر وب، بر روی کارساز فرد دیگری که رونوشتی از یک نرمافزار را دارد انجام شود، آنگاه نرمافزاری که رایانشتان را انجام میدهد نمیبینید و به آن دسترسی ندارید. پس در هر دو حالت انحصار دستتان را بسته است.
سخن پایانی
شکی در این نیست که ما سزاوار تسلط بر رایانش خود هستیم. حال چگونه میتوانیم به این تسلط دست بیابیم؟
- با نپذیرفتن نرمافزار ناآزاد بر روی رایانههایی که در اختیار داریم یا معمولا از آنها استفاده میکنیم و نپذیرفتن SaaSS.
- با توسعهٔ نرمافزار آزاد (برای آن دستهای که برنامهنویس هستند.)
- با نپذیرفتن بسط یا ترویج نرمافزار ناآزاد یا SaaSS.
- با گسترش این اندیشهها به دیگران.
- با نه گفتن و بیان دلایلمان هرگاه به استفاده از یک نرمافزار ناآزاد دعوت شدیم.
ما و هزاران کاربر دیگر این فعالیتها را از ۱۹۸۴ انجام دادهایم، به همین سبب است که اکنون سیستمعامل گنو/لینوکس را داریم که هر کسی—چه برنامهنویس باشد چه نباشد،—میتواند از آن استفاده کند. به عنوان یک برنامهنویس یا یک کنشگر، به ما بپیوندید. بیایید تا به همهٔ کاربران رایانه آزادی هدیه کنیم.
نگارش ویرایششدهای از این مقاله در وایِرد (Wired) منتشر شده است.
یک ارائهٔ ویدیویی ۱۴ دقیقهای در وصف این اندیشهها ببینید.