باگ خوب یا بد؟
۱۳۸۹/۰۸/۲۵ ۱۱:۴۰ منتشر شده در تاریخ : ۱۳۸۹/۰۸/۲۵ دسته بندی : اخبار فناوری ، حرفه من ، Bug 9
مدتی قبل بر روی تعویض یکی از نرم افزارهای یک اداره دولتی مشغول رایزنی بودیم. نرم افزار مربوطه با فاکس پرو و تحت داس نوشته شده بود. بحث بر سر انتقال اطلاعات از آن نرم افزار به نرم افزار جدید بود و لازم بود تا حتما فرمت ذخیره سازی و نام جداول و فیلدهای آن مشخص شود. دلیل این هم که ما نمی توانستیم چنین کاری انجام دهیم عدم نام گذاری صحیح دیتابیس بود. به طور مثال نام یک جدول WRK و نام چند فیلد اول مشخص و بقیه با اسامی مانند F1 تا F20 نام گذاری شده بودند. و البته جالبتر اینکه این نرم افزار در چند شعبه و همچنین شهر های مجاور هم مورد استفاده قرار دارد.
تا اینجای کار هنوز مقصود من نیست و داشتیم به سازشان می رقصیدیم. بحث سر فراخوانی نویسنده این برنامه برای توضیح عملکرد دیتابیس برای انجام انتقال بود که یکی از کارکنان به نکته عجیبی اشاره کرد.
ایشون گفت که برنامه مربوطه معمولا هر 2 یا 3 ماه یکبار دچار مشکل اساسی می شود و مجبور به فراخوانی نویسنده برای رفع مشکل هستیم. اینطور که این کارمند می گفت برای هر پشتیبانی هم معمولا مبلغی رو دریافت می کند. این رو بسط بدید به تمامی شعبه ها! در این میان ظاهرا اداره با نفر مربوطه قبلا تماس گرفته بود تا با ما همکاری نماید اما ایشان برای انجام همکاری را منوط به تمدید قراردادشان به مدت یک سال دیگر کرده بودند.
نکته همینجاست، یعنی یک باگ ناقابل می تونه این هم درآمد زا باشد. یعنی با نوشتن یک باگ هدفمند و تنظیم قرارداد زیرکانه می توان کسب درآمد کرد؟ البته این ایده پلید است و دو از اخلاق حرفه ای اما چه تظمینی وجود دارد که کسی چنین کاری را نکند.
در این میان یک نکته اساسی دیگر وجود دارد و اون کم سوادی و بی سوادی فنی مدیران دولتی است که نمی توانند با تنظیم قراردادهای محکم مانع ضرر دهی خود بشوند. یا اینکه می دانند و نمی خواهند؟! یا شاید هم برایشان مهم نیست و فقط باید بودجه تصویبیشان تا پایان سال به پایان برسد.
خودتان قضاوت کنید...
خوب من هم چندین مورد از این قبیل را دیدم!!!
پاسخحذفولی علاوه بر دوری این موضوع از اخلاق حرفه ای، از نظر شرعی هم بی اشکال نمی باشد!!!
که پیامبر می فرمایند کسب روزی حلال از شمشیر زدن نیز سخت تر است...
شاید هم اون برنامه نویس مخصوصا این کار رو نکرده باشه.همین جوری شانسش گفته یه پولی رو به جیب بزنه.اونم تو یه loop با delay=every 3 month
پاسخحذفمساله اینه که گاهی اوقات باگ ها ممکنه باعث ضرر برنامه نویس بشن.چون اگه حساب کتاب شرکت به هم بخوره ضرر بگیره.ولی خب اگر هوشمندانه باشه شاید هم یه پولی برای شخص به ارمغان بیاره.(ولی با نامردی)
من با شرکت های دولتی زیادی کار کردم ، همین که نویسنده پولو می گیره، وسط کار در نمی ره بره براشون خیلیه !! باگ که براشون عادیه ! D:
پاسخحذفالبته این هم که گفتین هست، ولی شرایط داره کم کم عوض میشه و در این زمینه دارن حساس تر می شن.
پاسخحذفزشتی از زشتی بروید عزیزم. وقتی قانون حق مولف نیست و من و شما و مانند ما می تونیم بریم و دیتابیس طرف رو باز کنیم و بدون نگرانی از حق تالیف بریم و تحلیل بانک اطلاعاتی طرف رو تو یه نظر برداریم ... حالا چه خوب - چه بد ... و با دادن یه نسخه ی جدید برنامه اش رو ... یعنی روزی یه زن و بچه اش رو با خاک یکسان کنیم ... وقتی نرم افزار این بدبخت رو تو همه ی شعبه ها نصب کردن ولی برای هر شعبه نیومدن پول کپی رایت و قرارداد پشتیبانی بدن ... همین می شه که بدبخت برای گدایی حق خودش ... می آد و باگ می ذاره تو برنامه اش ... تازه همین دولتی ها بهش پیشنهاد می کنن .. به خود من می گن ... میگن یه چیزی توش بگذار تا بعدا دستت به چیزی بند باشه ... حالا خود طرف تحویل گیرنده ی نرم افزاره ... اینجوریه که نورتن هنوز هم زندست ... یاهو هنوز هم پول در میاره ... اما اینجا همه چی چه زود می میره ... عاقبت ماست
پاسخحذفاین توضیح رو بدم که ما با اجازه سازمان مربوطه اقدام به دریافت دیتابیس آنها کردیم وگرنه به خاطر مسائل امنیتی هیچ کس حق دسترسی ندارد.
پاسخحذفدر ضمن از صحبت ها معلوم بود که برای هر شعبه هزینه جداگانه دریافت شده، بگذریم که قرارداد ما اینطوری نبود!
این آخرین مورد رو هم که گفتین مربوط به زدوبند هست که خب هیچ نظارتی نیست تا نرم افزار از راه صحیح و قانون اصلی و نه بند پ وارد سیستم بشه!
فکر کنم باید این مشکل را در قرارداد رفع نمود.
پاسخحذفدر قرارداد باید ذکر شود که هر گونه مشکلی برای نرم افزار پیش آید بر عهده ی نویسنده است و معمولا قرارداد را یکساله باید بست تا شرکت مزبور یکسال گارانتی باشد!
این خیلی کار کثیفیه. این آدما اعتبار کار ما رو هم از بین میبرن.
پاسخحذفاما ما توی قراردادهامون همیشه ذکر میکنیم که تا 5 سال و البته بیشتر اوقات «مادام العمر»، نرمافزار رو در برابر Bug گارانتی میکنیم. یعنی اگر طبق قرارداد قرار بود یک کاری در این نرمافزار انجام شود اما انجام نمیشود یا مشکل دارد، این وظیفه ماست که مجانی درستش کنیم. االبته اگر ویژگی جدید یا تغییری در نرمافزار بخواهند آن شامل قرارداد جدید خواهد بود. برطرف کردن Bug وظیفه تولید کننده نرمافزار است! بابت آن که نباید پول پرداخت شود.
وب خوبی داری دوست من
پاسخحذفموفق باشی