البنود التي تمنع الخلاف قبل حدوثه: النطاق، الملكية، الدفعات، والتسليم — وما يعنيه غيابها.
أغلب الخلافات في مشاريع البرمجة ليست سوء نية، بل بنود غائبة. الطرفان فهما شيئين مختلفين ولم يكتبا أيهما. العقد الجيد ليس أداة تهديد — هو تسجيل مكتوب لما اتفقتما عليه فعلًا.
١. النطاق — أهم بند
«تصميم وبرمجة موقع» ليس نطاقًا. النطاق هو قائمة محددة: كم صفحة، ما وظائفها، هل تشمل لوحة تحكم، هل تشمل المحتوى.
- قائمة الصفحات أو الشاشات بالاسم.
- الوظائف الأساسية موصوفة بجمل واضحة.
- ما هو خارج النطاق صراحةً — لا يقل أهمية عمّا هو داخله.
- من يوفّر المحتوى والصور، وبأي موعد.
- عدد جولات التعديل المشمولة في كل مرحلة.
بند «ما هو خارج النطاق» يمنع أكثر الخلافات شيوعًا: الطلبات التي تُضاف تدريجيًا حتى يصبح المشروع ضعف حجمه بنفس السعر.
٢. التغييرات
التغيير أثناء المشروع طبيعي. غير الطبيعي أن يحدث بلا آلية. العقد يجب أن يحدد: كيف يُطلب التغيير، ومن يقدّر أثره على السعر والمدة، وكيف يُعتمد قبل التنفيذ.
٣. الدفعات مرتبطة بتسليمات
| المرحلة | ما يُسلَّم |
|---|---|
| البداية | دفعة مقدمة عند التوقيع |
| التصميم | تصاميم معتمدة كتابيًا |
| التطوير | نسخة تجريبية تعمل |
| التسليم | نشر على الاستضافة النهائية |
| الضمان | دفعة أخيرة بعد فترة الملاحظات |
ربط الدفعات بتسليمات ملموسة يحمي الطرفين: يمنع دفعك مقابل ما لم يُنجز، ويمنع عمل جهة التطوير بلا مقابل.
٤. الملكية والوصول
أكثر بند يُكتشف غيابه متأخرًا. اكتب صراحةً:
- من يملك الكود المصدري بعد السداد الكامل.
- من يملك حسابات الاستضافة والنطاق ومتاجر التطبيقات — يجب أن تكون باسمك.
- ماذا يحدث للكود إن توقف المشروع في منتصفه.
- هل يحق لجهة التطوير عرض المشروع في أعمالها.
- المكوّنات مفتوحة المصدر أو المرخّصة المستخدمة وشروطها.
٥. التسليم ومعنى «مكتمل»
حدد معيارًا موضوعيًا: المشروع مكتمل حين تعمل الوظائف المتفق عليها في القائمة على المتصفحات والأجهزة المحددة. بدون معيار مكتوب يتحوّل «لم ينته بعد» إلى نقاش بلا نهاية.
٦. الضمان والصيانة
- مدة ضمان تُصلَح فيها الأخطاء البرمجية دون تكلفة إضافية.
- تعريف واضح: الخطأ البرمجي شيء، وطلب ميزة جديدة شيء آخر.
- ما بعد الضمان: عقد صيانة اختياري بشروط معلومة.
- زمن استجابة متوقع للأعطال الحرجة.
٧. السرية وحماية البيانات
إن كان المشروع يتعامل مع بيانات عملائك، فالعقد يحتاج بندًا يحدد كيف تُعالَج ومن يصل إليها وماذا يحدث لها بعد انتهاء العلاقة.
٨. الإنهاء
بند يشرح كيف ينتهي التعاقد قبل اكتماله من أي طرف: مدة الإشعار، تسوية المستحقات عن المنجز، وتسليم ما أُنجز والوصول للحسابات. غيابه يجعل الانفصال فوضويًا حتى لو كان وديًا.
علامات تحذير
| العلامة | لماذا تقلق |
|---|---|
| نطاق بجملة واحدة عامة | خلاف مؤكد لاحقًا |
| لا ذكر لملكية الكود | قد تكتشف أنك لا تملك ما دفعت مقابله |
| دفعة كاملة مقدمًا | لا يبقى لك ما يضمن الالتزام |
| لا مواعيد محددة | مشروع بلا نهاية |
| الحسابات باسم المطوّر | أصولك مرهونة بعلاقة |
| لا بند للتعديلات | خلاف على كل طلب تغيير |
كيف نعمل
نبدأ بوثيقة نطاق مفصّلة قبل العقد، ونحدد فيها ما هو خارج النطاق بنفس وضوح ما هو داخله. الحسابات تُنشأ باسم العميل من البداية، والكود ملكه بعد السداد الكامل — هذا مكتوب لا مفهوم ضمنًا.