تبليغاتX
Hani Rezayan - نرم افزار باز
 
بلند بلند فکر کردن يک مهندس ژئوماتيک
 
دوستان من مي دانند که من طرفدار نرم افزارهاي باز يا همان OpenSource Softwares هستم. از همين رو گاها برخي از دوستان از روي کنجکاوي و عده کمي نيز از روي تمسخر (يا جهالت) در مورد نرم افزارهاي باز سوالاتي از من مي پرسند که در اين پست  قصد دارم به موارد مهم آن به شکل پرسش و پاسخ بپردازم.

نرم افزار باز چيست؟

نرم افزاري است که کد آن نيز به طور کامل در اختيار کاربر قرار مي گيرد. کاربر اجازه دارد که به صورت رايگان کدهاي مزبور را دريافت کند و تغييرات مورد نظر خود را اعمال نمايد.


اگر نرم افزاري را با استفاده از نرم افزار يا نرم افزارهاي باز تهيه نماييم، موظفيم که کد نرم افزار خود را هم ارائه نماييم؟

خير. شما تنها نمي توانيد که در قبال بخشي از نرم افزار خود که جزو نرم افزارهاي باز است هزينه دريافت نماييد. مثلا اگر شما کد يک نرم افزار باز مانند يک پايگاه داده را دريافت کنيد و آن را عينا Compile نماييد حق نداريد بابت آن هزينه اي بگيريد، لزومي هم نيست که بعد از Compile کردن کد نرم افزار باز مزبور را هم ارائه کنيد. البته اين امر بي معني است چون هر کسي که بخواهد مي تواند کد مزبور را به صورت رايگان از منبع اصلي دريافت کند. حال اگر شما کدي به نرم افزار مزبور اضافه کرده ايد و يا جهت تلفيق چند نرم افزار باز کد نويسي کرده ايد مجاز خواهيد بود که صرفا بابت کد نويسي خود هزينه دريافت کنيد و مي توانيد کد خود را نيز در اختيار کاربر قرار ندهيد.


براين اساس هزينه نرم افزاري را با استفاده از نرم افزار يا نرم افزارهاي باز تهيه مي شود کمتر از نرم افزار مشابه تجاري خواهد بود؟

بظاهر بايد چنين باشد و در عمل نيز در مواردي که کدنويسي زيادي از سوي تهيه کننده نرم افزار مزبور انجام نمي شود همين طور است. اما با ذکر اين نکته که تهيه  نرم افزار با استفاده از نرم افزار يا نرم افزارهاي باز مشکل تر از تهيه نرم افزار با استفاده از نرم افزار يا نرم افزارهاي تجاري هستند، در مواردي که نرم افزارهاي پيچيده با کد نويسي زياد با استفاده از نرم افزار يا نرم افزارهاي باز تهيه مي شوند، هزينه آن ها چيزي در حد نرم افزارهاي تجاري و حتي بيشتر از آن ها مي شود.


آيا کد نويسي که ما انجام مي دهيم هم بايد در محيط هاي برنامه نويسي باز انجام شود تا نرم افزار تهيه شده ما باز تلقي گردد؟

با ذکر اين نکته محيط برنامه نويسي باز محسوب مي گردد که بتوان در نهايت کتابخانه هاي پايه و Compiler آن را به صورت رايگان در اختيار داشت، بايد به اين سؤال پاسخ مثبت دهيم. مثلا اگر از کتابخانه اي استفاده مي کنيم که رايگان نيست مانند ESRI MapObjects يا حتي يک کتابخانه هاي تجاري که ارائه دهنده يک يا جند نوع Button خاص هستند، نرم افزار نهايي ما باز نخواهد بود.


ما که کد نويسي خود را در محيط هاي تجاري مانند Visual Studio بدون License انجام مي دهيم چه وضعيتي داريم؟

کتابخانه هاي پايه محصولات تمامي نسخه هاي Visual Studio به صورت رايگان در اختيار مي باشند.  اگرچه استفاده از واسط نرم افزاري که Visual Studio کدنويسي را تسهيل مي کنند (بالاخص در مورد VB) اما استفاده از آن الزامي نيست. حتي محيط هاي برنامه نويسي رايگاني مانند Eclipse و CodeBlocks وجود دارند که بسيار قدرتمندتر از Visual Studio هستند. در نتيجه نرم افزاري که بدين ترتيب نتيجه مي شود نيز مي تواند نرم افزار باز محسوب مي گردد.


استفاده از نرم افزارهاي باز براي کاربر نرم افزار چه مزيتي براي کاربران دارد؟

مزيت نخست برخورداري از License کامل نرم افزاري است که استفاده مي نمايند. بعلاوه اطمينان از امکان استفاده نامحدود از تمام قابليت هاي نرم افزارهاي بازي که استفاده شده اند مطرح مي باشد. بعلاوه کاربر مي تواند با اطمينان از اينکه تهيه کننده نرم افزار بواسطه در اختيار داشتن تمامي کدها مي تواند تمامي نيازهاي وي را فراهم کند، با آرامش خاطر نسبت به توسعه پذيري نرم افزار از آن استفاده نمايد. اين در حالي است از ساير جنبه ها کاربر تفاوتي با نرم افزارهاي تجاري احساس نخواهد کرد.


استفاده از نرم افزارهاي باز براي تهيه کننده نرم افزار چه مزيتي براي کاربران دارد؟

مزيت اصلي انعطاف پذيري بالايي است که تهيه کننده در ايجاد قابليت هاي مورد نظر خود و کاربر خواهد داشت. از سوي ديگر بدنه حمايتي قدرتمند و فعالي که اغلب از نرم افزارهاي باز استفاده مي نمايند تضمين کننده تأمين نيازها و اصلاحات و پاسخگويي به سوالات تهيه کننده سيستم مي باشد. بعلاوه با توجه به عدم نياز به License تهيه کننده نرم افزار مي تواند با اطمينان از عدم ايجاد ناسازگاري ميان License ها و محيط اجرايي (مثلا سيستم عامل) و يا مهمتر از همه در محيط اينترنت به طراحي و ايجاد نرم افزار خود بپردازد. البته اين تهيه کننده گان بايد از سطح بالايي از دانش برنامه نويسي برخوردار باشند.


براساس آنچه گفته شد اگر نرم افزار تهيه شده ما مشمول مشخصات نرم افزارهاي باز باشد مي توانيم آن را ثبت کنيم؟

بله. البته اگر به عنوان نرم افزار باز ثبت کنيم ملزم هستيم تا تمامي کدها آن را به صورت رايگان در اختيار عموم قرار دهيم.


با اين اوصاف چه نيازي به نرم افزارهاي تجاري داريم؟

چنانکه بيان شد استفاده کنندگان مستقيم نرم افزارهاي باز صرفا تهيه کنندگان نرم افزار با تخصص نسبتا بالا در زمينه برنامه نويسي هستند که طيف بسيار محدودي از کاربران و حتي تهيه کنندگان نرم افزار را تشکيل مي دهند. همچنين نوپايي نرم افزارهاي بازسبب شده تا هنوز سهم زيادي از بازار نرم افزاري را نداشته باشد. پيش بيني مي شود که در آينده سهم مزبور افزايش يابد و بدنبال اين امر و جهت حفظ بازار نرم افزارهاي تجاري ارزانتر و با قابليت هاي بيشتر ايجاد شوند. در نهايت ايجاد توازني نسبي در اين ميان دو از ذهن نيست. اما غلبه يکي بر ديگري بوجود نمي آيد.

 
  POWERED BY BLOGFA.COM