در دهه گذشته، توسعهدهندگان نرمافزار آزاد بارها وسوسه ابزارهای توسعهای شدهاند که توانایی ساخت نرمافزار آزادی را با کارآمدی و قدرت بیشتر دارند.
به ما گفته میشود تنها هزینه این است که خود ابزارها غیر آزاد هستند یا به عنوان سرویسهای شبکه با کدهایی اجرا میشوند که ما خودمان نمیتوانیم آنها را ببینیم، کپی کنیم یا اجرا کنیم. توسعهدهندگان نرمافزار آزاد در تصمیمهای خود برای استفاده از این ابزارها و سرویسها – سرویسهایی مانند BitKeeper، SourceForge، Google Code و GitHub، تصمیماتی اتخاذ کردهاند که آزادی جوامع توسعهدهنده و کاربرانشان را از بین میبرد. این تصمیمها برای استفاده از ابزارهای توسعه غیرآزاد و خصوصی اعتبار ما را در دفاع از آزادی نرمافزار تضعیف میکند و آزادی ما و کاربرانمان را به خطر میاندازد، به گونهای که ما باید آن را رد کنیم.
در سال 2002، لینوس توروالدز اعلام کرد که هسته لینوکس به سیستم کنترل نسخه توزیع شده “BitKeeper” (DVCS) منتقل میشود. در حالی که این تصمیم باعث ایجاد هشدار و بحثهای زیادی شد، BitKeeper به توسعه دهندگان هسته اجازه داد تا به روشی توزیع شده کار کنند که در آن زمان توسط ابزارهای نرم افزار آزاد پشتیبانی نمیشد – برخی از توسعه دهندگان لینوکس به این نتیجه رسیدند که مزایا ارزش معاوضه با توسعه دهندگان را دارد. آزادی سه سال بعد، زمانی که مالک BitKeeper، لری مکوی، مجوزهای رایگان چندین توسعهدهنده هسته اصلی را به BitKeeper پس از تلاش اندرو تریجل برای نوشتن جایگزینی آزاد برای BitKeeper، باطل کرد، شکها ثابت شدند. توسعه دهندگان کرنل مجبور شدند جایگزین نرم افزار آزاد خود را بنویسند: پروژه ای که اکنون به نام Git شناخته می شود.
البته، روابط نرم افزار آزاد با ابزارهای توسعه غیرآزاد بسیار بزرگتر از BitKeeper است. منبع خدمات پشتیبانی توسعه نرم افزار آزاد SourceForge زمانی در دسترس کاربرانش بود اما نویسندگان آن به مدل کاملا بسته بازگشتهاند. در حالی که SourceForge با استفاده از نرم افزار آزاد ساخته شده است، کاربران SourceForge با نرم افزار از طریق وب تعامل دارند. از آنجا که کاربران هرگز هیچ کپی از نرم افزار SourceForge ندارند، هرگز نمی توانند منبع را درخواست کنند. پروژههای مشابهی مانند CollabNet’s Tigris.org، سرویسهای «میزبانی پروژه منبع باز» Google Code، و GitHub، هر کدام اهداف مشابهی داشتهاند و کد خود را به طور مشابه دور از دسترس نگه داشتهاند. خدمات آنها اغلب بدون هزینه ارائه میشود و برای توسعه نرم افزار آزاد تبلیغ میشود، اما این تعهد به نرم افزار خودشان که پلتفرم های توسعه را اجرا می کند، گسترش نمییابد. کد منبع هر یک از این سیستمها توسط توسعه دهندگانی که از خدمات استفاده می کنند خصوصی و غیرقابل تغییر باقی میماند.
این ابزارهای توسعه غیر رایگان برای بسیاری از توسعه دهندگان نرم افزار آزاد معضلی ایجاد میکند. هدف بسیاری از این ابزارها از طریق توسعه کارآمدتر نرم افزار آزاد، نرم افزار آزاد بیشتر و آزادی بیشتر است. CollabNet، Google و GitHub هر کدام ادعا میکنند که میخواهند نرم افزار آزاد موفق شود و ادعا میکنند که میخواهند به آن کمک کنند. اگرچه این شرکتها بنا به دلایلی، آزادی نرمافزار را از طریق ابزارهایی که کمتر با اصول اخلاقی نرمافزار آزاد مطابقت دارد، نسبت به مواردی که به دنبال ایجاد آن هستند، انتخاب میکنند. نتیجه توسعه دهندگانی است که از قدرت کنار گذاشته شدهاند. آزادی کد نرم افزار که این هکرها تولید میکنند مشروط به انحصار غیرقابل قبول است.
اول اینکه استفاده از ابزارهای غیر آزاد پیامی غیرقابل قبول برای کاربران نرم افزار آزاد تولید شده ارسال میکند. به نظر میرسد توسعه دهندگان میگویند: “آزادی نرم افزار برای شما به عنوان کاربران مهم است، اما برای ما نه.” چنین رفتاری اثربخشی اساسی تعهد اخلاقی قوی در قلب جنبش نرم افزار آزاد را تضعیف میکند. به عنوان کسانی که از قبل به نرمافزار آزاد متعهد هستند، باید نشان دهیم که میتوانیم با استفاده از نرمافزار آزاد موفق شویم – و پیشرفت کنیم. ما باید از جایگزینهای آزاد برای سیستمهای اختصاصی مانند Savane که میتواند جایگزین SourceForge یا Google Code شود و گنو ساوانا را اجرا کند، یا Gitorious که میتواند جایگزین GitHub شود، با استفاده از آنها و با بهبود آنها در مناطقی که کمبود دارند، پشتیبانی کنیم.
ثانیاً، ما باید بدانیم که در آینده، نرم افزاری که تولید می کنیم به اندازه نرم افزاری که برای استفاده، توزیع و تکامل مستمر به آن وابسته است آزاد است.
مجوز GNU GPL و کد منبع برای کاربری که تلاش میکند برنامهای را بدون دسترسی آزاد به نرمافزار مورد نیاز برای انجام آن اصلاح تغییر دهد، معنای کمی دارد. نه تنها آزادی توسعه دهندگان بلکه در نهایت، کاربران آنها و همه توسعه دهندگان “پایین دستی” آینده نیز در خطر است. کسانی که استفاده از ابزارهای غیر آزاد را انتخاب میکنند، همه را به هوس گروهها و افرادی که ابزارهایی را که به آنها وابسته هستند تولید می کنند، قرار می دهند.
در حالی که ابزارهای توسعه اختصاصی ممکن است به توسعه دهندگان نرم افزار آزاد کمک کند تا نرم افزار آزاد بیشتری در کوتاه مدت ایجاد کنند، هزینه غیر قابل قبولی دارد. در حوزه بحثبرانگیز نرمافزار خصوصی و خدمات شبکه، توسعهدهندگان نرمافزار آزاد باید در سمت آزادی «بیش از حد» اشتباه کنند. به خطر انداختن اصول ما در تلاش برای دستیابی به آزادی بیشتر، برای کاربران ما و برای جامعه بزرگتر توسعه نرم افزار آزاد، خود زنی، ناپایدار و در نهایت ناعادلانه است.
همانطور که نگهبانان اولیه گنو ابتدا بر ایجاد ابزارهای آزاد برای ایجاد نرم افزار آزاد تمرکز کردند، ما باید اطمینان حاصل کنیم که می توانیم نرم افزار را آزادانه و با استفاده از ابزارهای آزاد بدون ابهام تولید کنیم. شکست ما در انجام این کار منجر به نرم افزاری میشود که به طور غیرمستقیم، کمتر آزاد است. ما باید در مقابل استفاده از ابزارهایی که آزادیهایی را که در توسعه نرم افزار به کاربران خود ارائه میکنیم را به ما نمیدهند مقاومت کنیم و باید بر تولید کنندگان ابزارهای توسعه خود فشار وارد کنیم. نرم افزار آزاد با به خطر انداختن اصول ما به موفقیت دست نیافته است. با به خطر انداختن آزادی ابزارهایی که برای ساختن دنیایی آزاد از آن استفاده می کنیم، از نظر فنی، عملی یا اخلاقی به خوبی خدمت نخواهیم کرد.
منبع Benjamin Mako Hill