انجمنهای فارسی اوبونتو
جامعه کاربران => کافه اوبونتو => نویسنده: سارا غلامی در 19 خرداد 1388، 05:17 بظ
-
ببخشيد اين سوال رو مي پرسم
براي اين يك مثال هم هست
بر فرض محال
دو برنامه براي طراحي فروم هست
1- يك برنامه فروم بسته با php باز طراحي شده
2- يك برنامه فروم باز با .net طراحي شده
كدوم ارحع تر هستند
-
هر کدوم که بهتر کارت رو رته می ندازه
این دو تایی که گفتی علی ظاهر از لحاظ اخلاقی استفاده از هیچ کدومشون اشکال نداره
ولی خود من به شخصه با مایکروسافت مشکل دارم
البته توجه داشته باشید که وقتی از گزینه دوم دارید استفاده می کنید خود بخود به سراغ نرم افزار های بسته رفته اید
-
بستگی داره از کدوم جهت بررسی بشه. ;)
-
به نظر من برنامه متن باز نوشته شده توسط برنامه متن بسته از برنامه متن بسته نوشته شده با برنامه متن باز بهتره(و خیلی هم بهتره).
چرا؟ چون برنامه متن باز رو می تونید تغییر بدید و تو سلامتش اطمینان دارید. اما برنامه متن بسته این طور نیست.
اما در کل بسته به کارتون داره. مثلا اگه هاست تون لینوکسه، خیلی مضحکه که بخواید از net. استفاده کنید(چون اصلا این امکان نیست!) :P
-
هیچکدومش مناسب نیست! اما اگه از رو اجبار و زورکی باشه، بستگی داره ;D من اولی رو انتخاب میکنم!
در حالت اول: برنامه متن بسته از برنامه متن باز استفاده میکند.
من ترجیح میدم این حالت رو انتخاب کنم، البته فقط در صورتیکه برنامه متن باز نقش بسزایی در حیاط برنامه متن بسته داشته باشه، چون در راه توسعه این برنامه متن بسته، حتما توسعه دهندگانش به مشکل برخورده یا اشکالات و ایرادات و باگهایی رو از برنامه متن باز پیدا کرده و به اطلاع میرسونند. پس بطور مستقیم (یا غیر مستقیم) این برنامه متن بسته بر روی توسعه برنامه متن باز تاثیر گذار خواهد بود. شاید هم به جایی بکشه که برنامه متن باز بسیار پیشرفت کنه و همین پیشرفت، ترغیب سایر افراد به استفاده از اون رو در پی داشته باشه و یکهو دیدی یک برنامه متن باز بهتری به نسبت برنامه متن بسته ایجاد شد و ازش استفاده کرد در اینصورت وضعیت اینطور میشه: "برنامه متن باز از برنامه متن باز استفاده میکند."
درحالت دوم: برنامه متن باز از برنامه متن بسته استفاده میکند.
اگه این برنامه متن بسته، base اصلی برنامه متن باز باشه، مثل زالو میماند! هر چی این برنامه متن باز پیشرفت کنه، سودش رو برنامه متن بسته بیشتر میکنه! میدونی چرا!؟ بعد از اینکه حسابی برنامه متن بسته بال و پر گرفت، یکی دیگه میاد و برنامه متن بسته خفنتری به نسبت برنامه متن بازش مینویسه و عملا دیگه خبری از برنامه متن باز نیست و عملا براحتی حذف میشه و بجاش این میاد: "برنامه متن بسته از برنامه متن بسته استفاده میکند."
-
کتابخانهها یا پلتفرمها یا کامپایلرها و مفسرهای برنامهنویسی، معمولاً خیلی گندهتر و پیچیدهتر از برنامههایی هستند که بر اساس اون ابزارها نوشته میشن. بنابراین بازنویسی اون برنامهٔ سطح بالایی (یا پیدا کردن یک جایگزین براش) خیلی راحتتر و محمتلتر از برنامه یا ابزار سطح پایینی هست(مثل کتابخانه یا مفسر زبان).
مثلاً اگه یه برنامه غیر آزاد با PHP نوشته شده، و شما کارتون رو بر اساس اون انجام بدید، ممکنه بعداً بتونید اون برنامه رو بصورت آزاد بازنویسی کنید، یا یه جایگزین دیگه(با PHP) براش پیدا کنید و مهاجرت کنید. اما اگه یه برنامهٔ آزاد بر اساس ASP.NET نوشته شده باشه، شما نمیتونید یه چیزی مثل خود ASP.NET رو بنویسید(که باهاش سازگار باشه) یا معادل یا جایگزین کاملی براش پیدا کنید، اگه هم جایگزینی باشه(مثلاً PHP)، آیا پورت کردن یه برنامه از ASP.NET به PHP امکانپذیر هست؟!! یا پیادهسازی ASP در مجموعهٔ مونو، کار من و شما هست؟!!
کتابخانهها و زبانهای برنامهنویسی(کامپایلرها و مفسرها) سنگبنای برنامهنویسی هستند پس به نظر من اهمیتشون بیشتره، نسبت که یه برنامهٔ کوچیک که بر اساس اینها نوشته شده. مثل آجرهایی که موقع ساختن یه دیوار روی هم قرار میدیم. تغییر یا تعویض آجرهای بالایی خیلی راحتتر از آجرهای پایینی هست.
مخصوصاً اگه اون کتابخانه یا زبان، مخصوص یک سیستمعامل یا پلتفرم غیرآزاد(مثل ویندوز) باشه. مثلاً یه برنامهای که با VB نوشته شده(یا مثلاً از کتابخانهٔ win32 API استفاده کرده) برای من زیاد فرقی نمیکنه که آزاد باشه یا غیر آزاد. چون اگه هم آزاد باشه نمیشه توی گنو/لینوکس ازش استفاده کرد. مگه اینکه بشینیم کدش رو خط به خط به یک زبان دیگه(مثل پایتون یا جاوا) تبدیل کنیم(یا اینکه از win32 API تبدیل کنیم به GTK یا Qt) ، که کار خیلی خیلی سختی هست(شایدم غیرممکن).
یکی دیگه میاد و برنامه متن بسته خفنتری به نسبت برنامه متن بازش مینویسه و عملا دیگه خبری از برنامه متن باز نیست و عملا براحتی حذف میشه و بجاش این میاد: "برنامه متن بسته از برنامه متن بسته استفاده میکند."
اگه منظورتون اینه که در تولید اون برنامهٔ متنبسته(که میگید خفنتر هست) از سورس اون برنامهٔ متنباز استفاده میشه، باید بگم که مجوزهای کپیلفت مثل GPL این اجازه رو نمیدن. (از سورس برنامهٔ تحت GPL فقط در برنامههای تحت GPL میشه استفاده کرد)
در هر صورت باید دید اون برنامهٔ غیرآزاد، خودش رایگان هست یا نه؟ و پیشنیازهاش چی؟ و در کل برای اجرای اون برنامه(در هر دو حالتی که گفتید) آیا مجبور میشیم که از یک نرمافزار کرکشده استفاده کنیم یا نه؟ و اگه نه، از چقدر نرمافزار غیرآزاد(ولی رایگان) مجبوریم استفاده کنیم؟ و اینکه چقدر به اون ابزارهای غیرآزاد وابستگی پیدا میکنمی، یعنی آیا میتونیم در آینده به یک ابزار آزاد مهاجرت کنیم یا نه؟ و آیا نیاز به توسعهٔ اون ابزار خاص داریم یا نه؟ (نیاز داریم سورسکدش رو تغییر بدیم یا ازش اقتباس کنیم؟)
به خیلی شرایط بستگی داره. به هر حال بهتره که همیشه از نرمافزار آزاد استفاده کنیم!
-
اگه منظورتون اینه که در تولید اون برنامهٔ متنبسته(که میگید خفنتر هست) از سورس اون برنامهٔ متنباز استفاده میشه، باید بگم که مجوزهای کپیلفت مثل GPL این اجازه رو نمیدن. (از سورس برنامهٔ تحت GPL فقط در برنامههای تحت GPL میشه استفاده کرد)
البته که منظورم این نبود :) منظورم همون اهمیت برنامه زیرین بود که گفته بودم "اگه این برنامه متن بسته، base اصلی برنامه متن باز باشه" پس راحت تر میشه سایر برنامههایی که دارند ازش استفاده میکنند را کنار زد، تا حدودی در مایههای منظور شما بود.