کتابخانهها یا پلتفرمها یا کامپایلرها و مفسرهای برنامهنویسی، معمولاً خیلی گندهتر و پیچیدهتر از برنامههایی هستند که بر اساس اون ابزارها نوشته میشن. بنابراین بازنویسی اون برنامهٔ سطح بالایی (یا پیدا کردن یک جایگزین براش) خیلی راحتتر و محمتلتر از برنامه یا ابزار سطح پایینی هست(مثل کتابخانه یا مفسر زبان).
مثلاً اگه یه برنامه غیر آزاد با PHP نوشته شده، و شما کارتون رو بر اساس اون انجام بدید، ممکنه بعداً بتونید اون برنامه رو بصورت آزاد بازنویسی کنید، یا یه جایگزین دیگه(با PHP) براش پیدا کنید و مهاجرت کنید. اما اگه یه برنامهٔ آزاد بر اساس ASP.NET نوشته شده باشه، شما نمیتونید یه چیزی مثل خود ASP.NET رو بنویسید(که باهاش سازگار باشه) یا معادل یا جایگزین کاملی براش پیدا کنید، اگه هم جایگزینی باشه(مثلاً PHP)، آیا پورت کردن یه برنامه از ASP.NET به PHP امکانپذیر هست؟!! یا پیادهسازی ASP در مجموعهٔ مونو، کار من و شما هست؟!!
کتابخانهها و زبانهای برنامهنویسی(کامپایلرها و مفسرها) سنگبنای برنامهنویسی هستند پس به نظر من اهمیتشون بیشتره، نسبت که یه برنامهٔ کوچیک که بر اساس اینها نوشته شده. مثل آجرهایی که موقع ساختن یه دیوار روی هم قرار میدیم. تغییر یا تعویض آجرهای بالایی خیلی راحتتر از آجرهای پایینی هست.
مخصوصاً اگه اون کتابخانه یا زبان، مخصوص یک سیستمعامل یا پلتفرم غیرآزاد(مثل ویندوز) باشه. مثلاً یه برنامهای که با VB نوشته شده(یا مثلاً از کتابخانهٔ win32 API استفاده کرده) برای من زیاد فرقی نمیکنه که آزاد باشه یا غیر آزاد. چون اگه هم آزاد باشه نمیشه توی گنو/لینوکس ازش استفاده کرد. مگه اینکه بشینیم کدش رو خط به خط به یک زبان دیگه(مثل پایتون یا جاوا) تبدیل کنیم(یا اینکه از win32 API تبدیل کنیم به GTK یا Qt) ، که کار خیلی خیلی سختی هست(شایدم غیرممکن).
یکی دیگه میاد و برنامه متن بسته خفنتری به نسبت برنامه متن بازش مینویسه و عملا دیگه خبری از برنامه متن باز نیست و عملا براحتی حذف میشه و بجاش این میاد: "برنامه متن بسته از برنامه متن بسته استفاده میکند."
اگه منظورتون اینه که در تولید اون برنامهٔ متنبسته(که میگید خفنتر هست) از سورس اون برنامهٔ متنباز استفاده میشه، باید بگم که مجوزهای کپیلفت مثل GPL این اجازه رو نمیدن. (از سورس برنامهٔ تحت GPL فقط در برنامههای تحت GPL میشه استفاده کرد)
در هر صورت باید دید اون برنامهٔ غیرآزاد، خودش رایگان هست یا نه؟ و پیشنیازهاش چی؟ و در کل برای اجرای اون برنامه(در هر دو حالتی که گفتید) آیا مجبور میشیم که از یک نرمافزار کرکشده استفاده کنیم یا نه؟ و اگه نه، از چقدر نرمافزار غیرآزاد(ولی رایگان) مجبوریم استفاده کنیم؟ و اینکه چقدر به اون ابزارهای غیرآزاد وابستگی پیدا میکنمی، یعنی آیا میتونیم در آینده به یک ابزار آزاد مهاجرت کنیم یا نه؟ و آیا نیاز به توسعهٔ اون ابزار خاص داریم یا نه؟ (نیاز داریم سورسکدش رو تغییر بدیم یا ازش اقتباس کنیم؟)
به خیلی شرایط بستگی داره. به هر حال بهتره که همیشه از نرمافزار آزاد استفاده کنیم!