نرم‌افزار آزاد به ابزار آزاد نیاز دارد

در طول دهه گذشته، توسعه دهندگان نرم افزارهای آزاد چندین بار توسط ابزارهای توسعه‌ای که توانایی ساخت نرم‌افزارهای آزاد را با کارایی یا قدرت بیشتر ارائه می‌دهند، وسوسه شده‌اند. تنها هزینه‌ای که به ما گفته شده است این است که این ابزارها خود غیر آزاد هستند یا به عنوان خدمات شبکه ای با کد هایی که نمی‌توانیم ببینیم، کپی کنیم یا خودمان اجرا کنیم، کار می‌کنند. در تصمیماتشان برای استفاده از این ابزارها و خدمات -خدماتی مانند BitKeeper، SourceForge، Google Code و GitHub- توسعه دهندگان نرم‌افزارهای آزاد، تصمیمات “هدف، وسیله را توجیه می‌کند” را اتخاذ کرده‌اند که آزادی جوامع توسعه دهنده و کاربران خود را به خطر می‌اندازد. این تصمیمات برای در آغوش گرفتن ابزارها و خدمات غیر آزاد و خصوصی، اعتبار ما را در حمایت از آزادی نرم‌افزار به خطر می‌اندازد و آزادی‌ما و کاربرانمان را به شیوه هایی که باید آنها را رد کنیم، به خطر می‌اندازد.

در سال 2002، لینوس توروالدز اعلام کرد که هسته لینوکس به سیستم کنترل نسخه توزیع شده “BitKeeper” منتقل خواهد شد. در حالی که این تصمیم باعث ایجاد نگرانی و بحث های زیادی شد، BitKeeper به توسعه دهندگان هسته لینوکس این امکان را داد که به صورت توزیع شده کار کنند، به طوریکه در آن زمان توسط ابزارهای نرم افزارهای آزاد پشتیبانی نمی‌شد - برخی از توسعه دهندگان لینوکس تصمیم گرفتند که مزایای آن به ازای آزادی توسعه دهندگان قابل قبول است. سه سال بعد، منتقدان تأیید کردند که لری مک وی، مالک BitKeeper، مجوزهای آزاد چندین توسعه دهنده هسته را پس از اینکه اندرو تریجل سعی کرد جایگزینی آزاد برای BitKeeper بنویسد، لغو کرد. توسعه دهندگان هسته مجبور شدند جایگزینی آزاد نرم‌افزاری بنویسند: پروژه‌ای که اکنون به عنوان Git شناخته می‌شود.

البته، روابط نرم‌افزارهای آزاد با ابزارهای توسعه غیر آزاد بسیار گسترده تر از BitKeeper است. منبع نرم‌افزار خدمات پشتیبانی توسعه نرم افزارهای آزاد SourceForge قبلاً در دسترس کاربرانش بود، اما نویسندگانش به مدل کاملاً بسته بازگشته اند. در حالی که SourceForge با استفاده از نرم‌افزارهای آزاد ساخته شده است، کاربران SourceForge با نرم افزار از طریق وب تعامل دارند. از آنجایی که کاربران هرگز هیچ کپی از نرم افزار SourceForge را ندارند، نمی توانند منبع را درخواست کنند. پروژه های مشابه مانند Tigris.org از CollabNet، خدمات میزبانی پروژه های باز منبع “Google Code” و GitHub، هر یک اهداف مشابهی را داشته‌اند و کد آنها را به همان ترتیب از دسترس خارج کرده‌اند. خدمات آنها اغلب به صورت رایگان ارائه می‌شود و برای توسعه نرم افزارهای آزاد تبلیغ می شود، اما این تعهد به نرم افزار خودی که پلتفرم های توسعه را اداره می کند، گسترش نمی‌یابد. کد منبع هر یک از این سیستم‌ها خصوصی باقی می‌ماند و توسط توسعه دهندگان استفاده از خدمات قابل تغییر نیست.

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

اولاً، استفاده از ابزارهای غیر آزاد پیامی غیرقابل قبول به کاربران نرم‌افزارهای آزاد تولید شده می‌فرستد. “آزادی نرم افزار برای شما به عنوان کاربران مهم است،” توسعه دهندگان به نظر می رسد بگویند، “اما برای ما نیست.” چنین رفتاری زیر تأثیرات اساسی تعهد قوی اخلاقی در قلب جنبش نرم افزارهای آزاد را به خطر می‌اندازد. به عنوان کسانی که قبلاً متعهد به نرم‌افزارهای آزاد هستیم، باید نشان دهیم که می‌توانیم با استفاده از نرم‌افزارهای آزاد موفق شویم - و در آن رونق ایجاد کنیم. ما باید از جایگزین‌های آزاد برای سیستم‌های اختصاصی مانند Savane که می‌توانند SourceForge یا Google Code را جایگزین کنند و GNU Savannah را اجرا کنند، یا Gitorious که می‌تواند GitHub را جایگزین کند - با استفاده از آنها و با بهبود آنها در زمینه‌هایی که در آن کمبود دارند، حمایت کنیم.

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

پروانه GNU GPL و کد منبع برای کاربرانی که سعی می‌کنند برنامه را بدون دسترسی آزاد به نرم‌افزاری که برای انجام آن تغییر لازم است، تغییر دهند، معنایی ندارد. نه تنها آزادی توسعه‌دهندگان در معرض خطر است، بلکه در نهایت کاربران و همه توسعه‌دهندگان “آینده” نیز در معرض خطر هستند. کسانی که انتخاب می‌کنند از ابزارهای غیر آزاد استفاده کنند، همه را در اختیار گروه‌ها و افراد که ابزارهایی را تولید می‌کنند که به آنها وابسته هستند، قرار می‌دهند.

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

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

منبع Benjamin Mako Hill