به روز آزادی نرم‌افزار خوش آمدید
که بخشی از جنبش نرم‌افزار آزاد است
کمپینی برای نرم‌افزارهایی که به آزادی کاربر احترام می‌گذارند
نرم‌افزار فقط دو حالت می‌تواند داشته باشد
یا کاربر‌ها برنامه را کنترل می‌کنند یا برنامه کاربر‌ها را
مورد اول را نرم‌افزار آزاد می‌نامیم، آزاد به معنایی که در کلمهٔ آزادی به کار می‌رود
که در فارسی می‌شود «آزاد»
چون کاربران برای داشتن کنترل روی برنامه،
به آزادی‌های خاصی نیاز دارند. ۴ آزادی ضروری وجود دارد که معیار‌های نرم‌افزار آزاد را می‌سازند:
آزادی صفر، آزادی‌ اجرای برنامه به هر شکلی که بخواهید؛
آزادی ۱، آزادی برای مطالعهٔ متن برنامه و
تغییر آن به طوری‌که محاسبات شما را به شکلی که شما می‌پسندید انجام دهد؛
آزادی ۲، آزادی کمک به دیگران است
آزادی کپی کردن و توزیع کپی‌هایی
از برنامه هر زمان که بخواهید. و آزادی ۳
آزادی همکاری با جامعه‌تان است
آزادی کپی کردن و توزیع کپی‌هایی از
نسخه‌هایی که خودتان تغییر داده‌اید، هر زمان که بخواهید
آزادی صفر و یک
به تک‌تک کاربران، کنترل فردی می‌دهد
چون از طریق این آزادی‌ها
می‌توانید باعث شوید برنامه کاری را که شما می‌خواهید انجام دهد
و سپس آن را همان‌گونه که می‌خواهید استفاده کنید
اما آزادی فردی کافی نیست
اول از همه، بیشتر کاربران کامپیوتر نمی‌دانند که چگونه برنامه بنویسند!
آن‌ها مهارت‌های لازم برای به‌کارگیری آزادی شمارهٔ یک را ندارند
اما حتی اگر شما بدانید که چگونه برنامه بنویسید
باز هم تعداد بسیار زیادی نرم‌افزار در جهان وجود دارد
که شما امکان مطالعه و تسلط بر تمامی آن‌ها را ندارید؛
برای شما میسر نیست تمام تغییراتی را که نیاز‌ دارید، خودتان انجام دهید
این کار بیش از حد توان یک انسان است
پس ما به یک کنترل جمعی هم نیازمندیم
کنترل جمعی به این معناست که هر گروهی از مردم
بتوانند با هم کار کنند و کنترل روی نسخهٔ خودشان از برنامه را به کار ببندند
و این دست خودتان است که در کدام گروه شرکت کنید
پس آزادی‌های دو و سه، یعنی توزیع کپی‌هایی بدون تغییر
و توزیع نسخه‌های تغییر‌یافته
کنترل جمعی را برای ما فراهم می‌کنند
مسلم است که آزادی‌ها تنها زمانی این نتیجه را می‌دهند که
کافی باشند
برای کافی بودن این آزادی‌ها باید در تمامی حوزه‌های زندگی اعمال‌شوند
از جمله کسب وکار
برای‌اینکه کسب و کار، یکی از قسمت‌های طبیعی زندگی‌ست
و اهل کسب و کار هم باید بتوانند محاسبات خود را کنترل‌کنند.
با این حال توجه داشته‌باشید که در استفاده از این ۴ قانون
شما آزادید،
شما مجبور نیستید که آن‌ها را انجام دهید
آن‌ها الزامی یا ضروری نیستند
به عنوان مثال برای آزادی صفر شما آزادید
برنامه را آن‌طور که می‌پسندید اجرا کنید
اما الزامی وجود ندارد
شما می‌توانید تصمیم بگیرید که برنامه را اجرا نکنید
در آزادی ۱، شما برای مطالعه
و تغییر کد برنامه آزادید؛
اما الزامی نیست
شما می‌توانید از برنامه
دقیقا به همان شکلی که دریافتش کرده‌اید، (بدون تغییر) استفاده کنید
در آزادی ۲ شما آزادید که برنامه‌‌ها را کپی کنید
و آن‌ها را در اختیار دیگران قرار‌ دهید
شما آزادید تا آن‌ها را ببخشید
شما آزادید تا آن‌ها را بفروشید
اما شما مجبور نیستید
در هر شرایطی این به شما بستگی دارد
که کپی را توزیع می‌کنید یا نه
و به همین شکل برای آزادی ۳
اگر شما یک نسخه تغییر یافته ساختید
شما آزادید تا کپی‌هایی از آن را توزیع‌کنید
اما الزامی نیست
شما می‌توانید هر زمان که تمایل داشتید این کار را انجام دهید
اما چه اتفاقی خواهد افتاد اگر برنامه
با تمامی این آزادی‌ها همراه نباشد؟
در این‌صورت این یک نرم‌افزار انحصاری‌ست
نرم‌افزار غیر آزاد
نرم‌افزاری که حق کاربر را تسخیر می‌کند
چون کاربر برنامه را کنترل نمی‌کند
برنامه، کاربرها را کنترل می‌کند
و صاحب برنامه، برنامه را کنترل می‌کند
و از طریق برنامه
صاحب برنامه قدرتی نا‌عادلانه
علیه کاربر‌های برنامه به دست می‌آورد
پس هر برنامهٔ غیر آزاد،
سیستمی از قدرت نا‌عادلانه به وجود می‌آورد
و به همین خاطر هیچ نرم‌افزار غیر آزادی نباید وجود داشته‌باشد
هدف جنبش نرم‌افزار آزاد
این است که تمامی نرم‌افزارها باید آزاد باشند
تا تمامی کاربر‌های نرم‌افزار بتوانند آزاد باشند
هدف ما این است که ابتدا از نرم‌افزار غیر آزاد رهایی پیدا کنیم
و سپس دیگران را کمک کنیم تا رهایی پیدا کنند
تا زمانی که تمامی کاربران نرم‌افزار، آزاد شوند
مهم‌ترین زمینه برای
حرکت به سمت نرم‌افزار آزاد، آموزش است
و این به این خاطر است که فعالیت‌های آموزشی
که تمامی مدرسه‌ها در تمامی سطوح را در بر می‌گیرد
یک ماموریت دارد، یک ماموریت اجتماعی
و آن آموزش شهروندان خوب
از یک جامعهٔ قوی، مولد علم، مشارکتی، مستقل
و آزاد است
و در زمینهٔ محاسبات
این به معنای فارغ‌التحصیلی افرادی‌ست که مهارت
استفاده از نرم‌افزار آزاد را دارند کسانی که
به استفاده از نرم‌افزار آزاد خو گرفته‌اند
و به این خاطر در محاسباتشان، آماده مشارکت
در یک جامعه آزاد هستند
آموزش نرم‌افزار غیر آزاد غلط است
چون این کار به معنای القای وابستگی‌ست
مدرسه‌ها هرگز نباید این کار را انجام‌دهند
اما دلایل بیشتری وجود دارد برای این‌که در فعالیت‌های آموزشی
تنها باید نرم‌افزار آزاد تعلیم داده‌شود
برای مثال آموزش
بهترین برنامه‌نویس‌ها،
بعضی از افراد برای برنامه‌نویسی متولد شده‌اند
در سنین ۱۰ تا ۱۳ سال
شیفته برنامه‌نویسی می‌شوند
و دوست‌دارند بفهمند که هر چیز چگونه کار می‌کند
اگر آن‌ها از یک برنامه استفاده‌کنند
می‌خواهند بدانند که: «این برنامه چگونه این کار را انجام داد؟»
یا زمانی که دانش‌آموز از معلم می‌پرسد
«این برنامه چگونه این کار را انجام داد؟»
اگر نرم‌افزار انحصاری باشد
معلم تنها می‌تواند بگوید
«ببخشید هیچ راهی وجود نداره که ما بتونیم ازش سر در بیاریم این یک رازه»
و این به آن معناست که آموزش مجاز نیست
یک نرم‌افزار انحصاری
دانشی‌ست که از دانش‌آموز دریغ شده‌است
و دشمن روح آموزش است
پس نباید در مدارس تحمل شود
اما اگر برنامه، آزاد باشد معلم می‌تواند
هر آن‌چه را می‌داند توضیح‌دهد و به هر یک از دانش‌آموزان
یک کپی از کد برنامه را بدهد و بگوید: این را مطالعه کنید،
همه چیز را متوجه خواهید‌شد
و آن دانش‌آموز‌ها کد را می‌خوانند
چون آن‌ها شیفته هستند
و مشتاق فهمیدن همه‌چیزند
و معلم می‌تواند به آن‌ها بگوید
اگر به هر نکته‌ای برخورد کردید که
خودتان نتوانستید از آن سر در بیاورید
آن را به من نشان دهید تا با هم از آن سر در بیاوریم
و از این طریق برنامه‌نویس‌های ذاتی، یک درس حیاتی می‌گیرند:
«این قطعه از کد واضح نیست
پس نباید اون رو به این شکل نوشت،
این یک مثال از روشی‌ست که نباید به این روش کد زد»
و برنامه‌نویس ذاتی ما نیاز دارد تا این موضوع را یاد بگیرد
چون آن‌ها می‌خواهند به یک برنامه‌نویس خوب تبدیل‌شوند.
روشی که شما یاد می‌گیرید که یک برنامه‌نویس خوب باشید
یادگیری تمام چیز‌هایی‌ست که واضح نیست
و این سبب می‌شود که شما به آن شکل کد نزنید
و به این شکل، کد شما واضح خواهد‌بود
شما چگونه یاد‌می‌گیرید که یک کد خوب و واضح بنویسید؟
با خواندن و نوشتن مقدار زیادی کد
تنها نرم‌افزار آزاد
فرصت خواندن مقدار زیادی کد از نرم‌افزار‌های بزرگی
را که واقعا استفاده می‌کنیم فراهم می‌کند
سپس شما باید مقدار زیادی کد بنویسید
که به معنای کد زدن در نرم‌افزارهای بزرگ است
اما برای انجام این کار شما باید از کار‌های کوچک شروع کنید
یعنی شما باید تغییرات کوچک
در برنامه‌های بزرگ را بنویسید
این روشی‌ست که شما نوشتن کد برای برنامه‌های بزرگ را آغاز می‌کنید
و زمانی که بهتر شدید
می‌توانید تغییرات بزرگ را بنویسید
و بعد از آن شاید بتوانید
خودتان یک نرم‌افزار بزرگ بنویسید
البته شروع از صفر کار نادری‌ست
اغلب شما بر روی
بهبود یک نرم‌افزار بزرگ موجود کار می‌کنید
اما تنها نرم‌افزار آزاد، امکان نوشتن
تغییرات کوچک یا بزرگ را
در برنامه‌های بزرگی که ما واقعا استفاده می‌کنیم فراهم می‌کند
هر مدرسه می‌تواند چنین فرصتی را ارائه دهد
اما تنها در صورتی که یک مدرسه از نرم‌افزار آزاد استفاده کند
با این حال حتی دلیلی عمیق‌تر از این نیز وجود دارد
به خاطر آموزش اخلاقی
آموزش شهروند خوب بودن
برای مدارس
تنها تعلیم واقعیات و روش‌ها کافی نیست
مدارس باید روح همکاری
روح کمک به دیگران
و عادت عمل به این‌ها را تعلیم‌دهند
پس همه کلاس‌ها باید قانون زیر را داشته باشند:
«دانش‌آموزان، اگر برنامه‌ای رو سر کلاس آوردید
اجازه ندارید آن را برای خود نگه‌دارید
بلکه باید کپی‌هایی از آن را به همراه کد آن
با همه افراد به اشتراک بگذارید
شاید این‌جا کسی باشد که بخواهد یاد بگیرد
چون این کلاس، مکانی‌ست
که ما دانش‌مان را با هم به اشتراک می‌گذاریم
بنابراین آوردن نرم‌افزار غیر آزاد
به کلاس ممنوع است»
مدرسه باید یک مثال خوب فراهم کند
یعنی از قانون خود پیروی کند
باید تنها نرم‌افزار آزاد به کلاس بیاورد
و کپی‌هایی از آن را با تمامی افراد کلاس به اشتراک بگذارد
اگر شما کوچک‌ترین ارتباطی با مدرسه دارید
این ماموریت شماست
مسئولیت شما برای این‌که برای آن مدرسه کمپینی
برای حرکت به سوی نرم‌افزار آزاد راه بیاندازید
در حال حاضر جامعهٔ ما (جهان) از طرق مختلف
(با کمال تاسف) تضعیف شده‌است
چون اکثر کاربران
سیستم‌عامل گنو+لینوکس،
در رابطه با مسئلهٔ آزادی
و شرایط آن تامل نمی‌کنند
به همین خاطر تمایل دارند تا
آزادی خود را برای بدست آوردن راحتی دور بیاندازند
برای مثال شما
بیش از هزار توزیع مختلف
از سیستم گنو/لینوکس پیدا خواهید کرد
اکثر آن‌ها این سیستم را
لینوکس خطاب می‌کنند که درست نیست
اما مهم‌تر از آن
اکثر آن‌ها شامل نرم‌افزار‌های غیر آزاد نیز هستند
آن‌ها با پیشنهاد برنامه‌های غیر آزاد به کاربران
چه پیامی را انتقال می‌دهند؟
پیام آن‌ها این است: راحتی بالاتر از آزادی‌
و این پیام، مردم را
به تسلیم و از دست دادن آزادی‌‌شان هدایت می‌کند
چون تنها راه حفظ آزادیتان،
مبارزه برای آن است
پس اگر می‌خواهید در محاسبات خود به آزادی برسید
نیاز به نصب توزیعی از گنو/لینوکس دارید
که کاملا نرم‌افزار آزاد باشد
و تعداد کمی از این توزیع‌ها وجود دارند
شما می‌توانید لیست آن‌ها را در آدرس gnu.org/distros پیدا کنید