بمب ساعتی نرم‌افزاری چیه؟

اصطلاح بمب ساعتی نرم‌افزاری رو ابداع کردم برای هر نوع روشی که برنامه‌نویس به نوعی کد لایسنس نرم‌افزاری مدت دار رو به صورت مخفی به نرم‌افزار اضافه می‌کنه. این لایسنس مدت دار که مشتری هم ازش خبر نداره، مثل یک بمب ساعتی می‌مونه و اگر در زمان مقرر خنثی نشه، کارکرد نرم‌افزار رو دچار اختلال یا متوقف می‌کنه! بعضی برنامه‌نویس‌ها از این روش به عنوان اهرم فشار برای گرفتن پولشون استفاده می‌کنند

چند روز پیش در یک مهمانی افطاری بودم. روبرویم مرد جوانی نشسته بود که گویا در حرفه‌ای از مشاغل ساختمانی مشغول به کار بود. داشت از یکی از خاطراتش درباره گرفتن بدهی مشتری صحبت می‌کرد. می‌گفت کار مشتری را انجام داده و مشتری یک میلیون و هفتصد هزار تومان پولش رو نداده، ایشان هم یک روز عصر با کمک برادرش رفته بود به محل ساختمان مشتری و از دیوار بالا رفته بود و زده بود بخشی از کارش را خراب کرده بود. نگهبان ساختمان به صاحبکار زنگ می‌زند. صاحبکار خودش را می‌رساند و تهدید به شکایت و پلیس ۱۱۰ می‌کند. پاسخ پیمانکار هم این بوده که «به ۱۲۰ هم زنگ بزنی فرقی نمی‌کنه، تا با پول نقد نیای همینه» صاحبکار در نهایت به دادن چک روز راضی می‌شود اما پیمانکار فقط پول نقد را مورد قبول می‌داند. نیم ساعت بعد صاحبکار با پول نقد آمده بود.
در نهایت هم آنطور که مرد جوان تعریف می‌کرد ۱۵۰ هزار تومان دیگر گرفته بود تا خرابکاری آن روزش را درست کند! نتیجه‌گیری که مرد جوان داشت هم برایم جالب بود. می‌گفت: «در این مملکت فقط زور جواب می‌ده!»

تجربیاتی از برخورد با مشتریانی که پول نمی‌دهند

در طول چند سال گذشته، روش‌های مختلفی درباره برخورد با مشتریانی که حاضر نیستند بهای نرم‌افزاری که برایشان ایجاد و به آن‌ها فروخته شده را بپردازند را از طرف شرکت‌ها و اشخاص مختلف شاهده بودم. البته این اختلاف بیشتر در نرم‌افزارهای سفارشی بروز می‌کند تا در پکیج‌های نرم‌افزاری و زمینه اصلی بروز آن در سمت مشتری روش پرداخت چند مرحله‌ای است که نرم‌افزارهای سفارشی در ایران، اغلب از آن استفاده می‌کنند.

به زعم همکاران من در حوزه توسعه نرم‌افزار (چه اشخاص و چه شرکت‌ها) موثرترین روش استفاده ازبمب ساعتی نرم‌افزاری هست. در این روش برنامه‌نویس یک لایسنس مدت‌دار را بدون اطلاع مشتری در نرم‌افزار قرار می‌دهد. در صورتی که همه چیز به خوبی پیش برود و پرداخت‌ها کامل شوند، کد فعالسازی محصول از طرف برنامه‌نویس اعمال می‌شود، در غیر اینصورت با رسیدن به زمان مقرر، محصول به صورت اتوماتیک از کار افتاده یا عملکرد آن دچار اختلال می‌شود. مکانیزم این روش را سال‌ها پیش اولین بار دوستی (که حالا خودش استاد دانشگاه شده) در برنامه‌ ویندوزی‌اش به من معرفی کرد.

روش دیگر قطع پشتیبانی و همکاری‌های فعلی و  آیندههست. در این روش برنامه‌نویس یا شرکتی که از پرداخت‌های مشتری راضی نیست، کار فعلی یا پشتیبانی و همکاری‌های آینده را معلق می‌کند. این قطع همکاری‌ها بعضی اوقات به واسطه بندهای قرارداد است و گاهی به صورت کاملاً ناگهانی و بدون اعلام قبلی.

در بعضی موارد هم استفاده از راهکارهای قانونی مثل شکایت و حکم جلب و … دیده شده است.

راه حل چیست؟

قبل از اینکه درباره راه حل‌ها صحبت کنیم، می‌خواهم عبارتی در خصوص دلیل اصلی کسب و کارها را نقل قول کنم:

هدف اصلی یک کسب و کار، سودآوری نیست، هدف اصلییافتن و حفظ مشتریان است.

تا زمانی که درباره راه‌حل‌ها بنویسم، ضمن درخواست برای مشارکت در بحث، می‌خواهم خواهش کنم از ترکاندن مشتریان با بمب ساعتی یا هر روش دیگر جداً خودداری کنید!