دانلود نمونه قرارداد تولید نرم افزار
نکته: مسئولیت استفاده با طرفین قرارداد می باشد

در تهیه این نمونه قرارداد، اصول و ضوابط رسمی ابلاغی کشور از جمله «موافقتنامه و شرایط عمومی همسان قراردادهای خدمات فناوری اطلاعات (خدمات سفارشی)» (ابلاغیه سازمان برنامه و بودجه ۱۴۰۰/۰۵/۱۰) مدنظر قرار گرفته است. این سند چارچوب قوانین قراردادهای خدمات IT را تعریف میکند. همچنین قوانین حمایتی داخلی مانند قانون حمایت از پدیدآورندگان نرمافزار (مصوب ۱۳۸۳) و آئیننامه اجرایی آن ملاک قرار گرفته است: مطابق ماده ۶ این قانون، در قرارداد تولید نرمافزار «حقوق مادی نرمافزار متعلق به کارفرما است مگر توافق خلاف». ماده ۱۰ آئیننامه اجرایی نیز صریحاً اعلام میکند حقوق مادی نرمافزار (تا ۳۰ سال) متعلق به سفارشدهنده و حقوق معنوی متعلق به پدیدآورنده باقی میماند. بهکارگیری این منابع حقوقی در تدوین قرارداد، موجب رعایت الزامهای قانونی و تضمین شفافیت حقوق و تکالیف طرفین میشود.
مشکلات و ریسکهای متداول در پروژههای نرم افزاری
قبل از تدوین قرارداد، باید خطرات و مشکلات رایج پروژههای نرمافزاری را در نظر گرفت و راهحل قانونی برای آنها تعریف کرد:
- تغییر در محدوده پروژه (Scope Creep): ممکن است کارفرما در طول اجرا خواستار تغییراتی شود. برای مدیریت این مشکل، میتوان مکانیسم صدور الحاقیه یا تغییر سفارش را پیشبینی کرد. مطابق ماده ۱۹ ضوابط فوق، با پیشنهاد یکی از طرفین مدت پروژه و مبلغ حقالزحمه متناسب تغییر میکند. شرط بندی بازنگری طلب و تمدید قرارداد در صورت تغییرات ضروری است.
- تاخیر در تحویل: برای جلوگیری از تأخیرهای غیرموجه، باید جدول زمانی دقیق با مهلتهای مشخص داشته و شرط «تاخیر مجاز» را معین نمود. طبق بند ۷-۱۶ بخشنامه مصوب، اگر کارفرما در پرداخت بیش از یک ماه تأخیر کند، بهره تأخیر تا سقف نرخ سپرده بلندمدت بانکی به پیمانکار تعلق میگیرد. پیشنهاد میشود در صورت تأخیر مقصرانه توسعهدهنده، جریمه تاخیر بهصورت درصدی از مبلغ قرارداد در نظر گرفته شود تا کارفرما در برابر خسارت خود بیمه شود.
- گسست در تعهدات و مستندسازی: گاهی مدارک و گزارشها کامل تحویل نمیشود. مطابق ماده ۱۱ ضوابط فوق، تدوینگر موظف است در پایان هر مرحله مدارک و گزارشها را به دو نسخه همراه با نسخه نرمافزاری تحویل دهد و کارفرما حداکثر در چهار هفته نظر خود را اعلام کند. در صورت عدم پاسخ کارفرما پس از مهلت معین، حق الزحمه بخش مربوط پرداخت میشود و کار بعدی بلامانع است.
- مالکیت معنوی و حق استفاده: برای جلوگیری از اختلاف روی کد و مستندات، لازم است مالکیت نرمافزار (کد منبع، مستندات فنی، طراحی گرافیکی و…) به صراحت مشخص شود. مطابق قانون فوق، بهصورت پیشفرض حقوق مادی نرمافزار متعلق به کارفرما است و تولیدکننده موظف است پس از اتمام، اصل یا نسخه قابل بهرهبرداری نرمافزار را تحویل دهد (اصل بر این است که کد منبع با قید ضمانت سازگاری تحویل کارفرما شود). در قرارداد باید تصریح شود کلیه کدها و مستندات متعلق به کارفرماست و اگر قرار است توسعهدهنده حق استفاده محدودی داشته باشد، در قرارداد قید شود.
- محرمانگی و امنیت اطلاعات: باید بندهای محرمانگی مشخص باشد تا اطلاعات محرمانه کارفرما محفوظ بماند. ضمن اشاره به قوانین تجارت الکترونیک و آئیننامه حمایت از دادهها، در قرارداد باید «تعهد عدم افشای اسرار تجاری/فنی» درج شود تا توسعدهنده از انتشار یا استفاده غیرمجاز اطلاعات سازمان خودداری کند.
- پشتیبانی و نگهداری پس از تحویل: معمولا پس از تحویل نرمافزار به مدت مشخص (مثلا یک سال) خدمات نگهداری شامل رفع اشکال و بهروزرسانی لازم است. این بند در نمونه قراردادها معمول است (شبیه نمونه شاقول – ماده 1)، اما باید دقیقاً دامنه و مدت آن مشخص شود تا پس از اتمام پروژه مباحث مربوطه حل شود.
بندهای کلیدی پیشنهادی قرارداد
با توجه به موارد فوق و مستندات ابلاغی، مفاد زیر بهعنوان بندهای اصلی در قرارداد نرمافزار پیشبینی میشود. پیشنهاد میشود هر بند به دقت با شرایط خاص پروژه و ضوابط قانونی منطبق گردد:
- ۱. موضوع و تعاریف: موضوع قرارداد بهوضوح تعیین شود (مثلاً «طراحی، پیادهسازی و تحویل سامانه/نرمافزار … طبق مشخصات پیوست»). واژگان کلیدی (مانند «کد منبع»، «دموی آزمایشی»، «پشتیبانی» و «مستندات تحویلی») تعریف گردد تا ابهامی باقی نماند.
- ۲. مدت زمان و برنامه تحویل: مدت اجرای پروژه با تاریخ شروع و پایان مشخص (و برنامه زمانبندی تفصیلی مراحل) درج شود. مطابق دستورالعملها، تدوینگر موظف به انجام کار در چارچوب زمانبندی توافقشده است.
- ۳. تحویل و پذیرش: فرآیند تحویل اقلام نرمافزاری و تستهای پذیرش شرح داده شود. براساس ضوابط، هر مرحله باید دارای صورتوضعیت تحویل و گزارش تکمیلی باشد و کارفرما حداکثر ۲–۴ هفته برای بررسی و اعلام نتیجه فرصت دارد. در صورت تأیید کارفرما، سند تصویب (مهر «تصویبشد» کارفرما) به تدوینگر ابلاغ شده و مرحله بعد آغاز میشود. در صورت نیاز به اصلاحات، تدوینگر موظف است ظرف مدت تعیینشده (مثلاً چهار هفته) تغییرات را اعمال و مجدداً تحویل دهد.
- ۴. تعهدات کارفرما: بر اساس ماده ۱۲ ضوابط، کارفرما باید امکانات و اطلاعات لازم را (دسترسی به شبکه، سیستمهای مورد نیاز، اطلاعات مستندات مرتبط و…) فراهم کند. همچنین در قرارداد ذکر شود که کلیه هزینهها یا مجوزهای مربوط به ورود کارکنان خارجی یا محدودیتهای قانونی برای دسترسی به زیرساختها بر عهده کارفرما است.
- ۵. تعهدات تدوینگر: مواردی چون اجرای فنی مطابق استانداردهای روز، رعایت کیفیت نرمافزار، ارائه مستندات فنی و آموزشی، امکان اصلاحات لازم در دوره پشتیبانی، و رعایت دستورالعملهای کارفرما پیشبینی شود. بهعنوان مثال، میتوان ذکر کرد تدوینگر موظف است گزارش خلاصه هر مرحله را نیز همراه مستندات به کارفرما ارائه کند.
- ۶. مالکیت فکری: مطابق قانون، حقوق مادی نرمافزار (کد و مستندات) متعلق به کارفرما است مگر توافق دیگری. میتوان جزئیات انتقال مالکیت و مجوزهای استفاده را در قرارداد بیاورد. بهعنوان ضمانت، منبع برنامه (کد اصلی) پس از پایان پروژه باید به کارفرما تحویل شود. همچنین باید قید شود که تولیدکننده حق ادعای مالکیت یا نشر بدون رضایت کارفرما را نخواهد داشت.
- ۷. تضمین حسن انجام کار: بهمنظور اطمینان از تکمیل پروژه، تدوینگر موظف است پیش از اجرای کار یا پس از عقد قرارداد، تضمین معتبر بانکی (سفته یا ضمانتنامه) معادل مقدار معینی (مثلاً ۱۰٪ مبلغ قرارداد) ارائه دهد. علاوه بر آن، کارفرما میتواند درصدی از هر پرداخت (مثلاً ۱۰٪) را تا پایان دوره تضمین (تحویل قطعی) نزد خود نگه دارد. این وجوه پس از تحویل نهایی و تسویه قطعی آزاد میشوند. اگر قرارداد فسخ شود، این تضمینها به نفع کارفرما ضبط میشود.
- ۸. پیشپرداخت و پرداخت حقالزحمه: مقدار پیشپرداخت (مثلاً ۲۰–۲۵٪ مبلغ کل) با ارائه ضمانت معادل پرداخت میشود. فرآیند پرداخت حقالزحمه بر اساس پیشرفت کار (اقساطی با صدور صورتحساب توسط تدوینگر) درج گردد. طبق بندهای استاندارد، ۸۵٪ مبلغ هر مرحله در حین انجام و بر اساس جدول پیشرفت پرداخت میشود و ۱۵٪ باقیمانده پس از تأیید مدارک پرداخت میشود. کارفرما موظف است پس از دریافت صورتوضعیت، حداکثر دو هفته آن را بررسی و پرداخت را پس از کسر کسورات قانونی انجام دهد.
- ۹. تأخیرات و خسارتها: بند مربوط به جریمه تأخیر تدوینگر درج شود (مثلاً درصدی از مبلغ اقساط یا کل قرارداد برای هر روز تأخیر). همچنین مطابق دستورالعملهای مصوب، اگر کارفرما پرداخت را بیش از یک ماه تأخیر کند، محاسبه خسارت با نرخ سود بانکی خواهد بود. در صورت عدم پاسخ کارفرما در مهلت مقرر نیز (مثلاً دو هفته بعد از ارسال صورتحساب)، درصدی از مبلغ تاخیر (مثلاً ۷۰٪) مشمول جریمه میشود.
- ۱۰. محرمانگی و امنیت اطلاعات: در بند مربوطه ذکر شود کارفرما و تدوینگر متعهد به حفظ اسرار تجاری و اطلاعات محرمانه یکدیگر هستند. استفاده از اطلاعات فقط در راستای اجرای قرارداد مجاز است. نقض این بند میتواند مستوجب غرامت یا فسخ قرارداد باشد.
- ۱۱. شرایط فسخ و خاتمه: مواردی که هر یک از طرفین حق فسخ دارند (نظیر تخلف اساسی، ورشکستگی، عدم تحویل به موقع یا عدم پرداخت) مشخص شود. در صورت فسخ قرارداد، باید مراحل تسویه نهایی (مطابق ماده ۱۸ ضوابط) و نحوه آزادسازی تضمینها ذکر شود. به عنوان نمونه مطابق ماده ۱۸ بخشنامه، صورتحساب نهایی تدوینگر حداکثر دو هفته پس از اصلاحات احتمالی نهایی شده و طلب طرف ذیحق پرداخت میشود. اگر تدوینگر بدهکار شود، کارفرما از محل تضمینها طلب خود را وصول میکند.
- ۱۲. حل اختلاف: بهترین گزینه تعیین داوری یا مراجع قضایی (محاکم تجاری) است. با توجه به قانون تجارت الکترونیک و آییننامه ماده ۱۹۹ قانون آیین دادرسی مدنی، میتوان شرط کرد اختلافات از طریق داوری یا مراجع ذیصلاح حل شود.
در هر بند فوق با توجه به شرایط پروژه و قانون تجارت الکترونیک یا قوانین مرتبط میتوان جزییات بیشتری افزود. نکته مهم، مدون کردن همه تعهدات و شرایط با شمارهگذاری دقیق و ارجاعات صریح به پیوستها یا مراجع قانونی است تا ابهامی باقی نماند.
جمعبندی
نمونه قرارداد فوق با تکمیل واصلاح مستمر میتواند به عنوان الگوی قراردادی استاندارد در سطح ملی و در پلتفرمهایی مثل وبلاگ رادنت منتشر شود. کلیه مفاد این قرارداد بر مبنای قوانین ایران و ضوابط ابلاغی طراحی شده است تا از حقوق کارفرما و تدوینگر یکسان محافظت کند.
منابع: مفاد «موافقتنامه و شرایط عمومی همسان قراردادهای خدمات فناوری اطلاعات» و قوانین مرتبط از جمله قانون حمایت از پدیدآورندگان نرمافزار، بخشنامهها و مستندات حقوقی داخلی.




