أكثر النزاعات التي رأيتها بين عميل ومبرمج لم تبدأ بسوء نية، بل ببند ناقص. أنا خالد أحمد، مطوّر Full Stack مستقل من القاهرة، سلّمت أكثر من 39 مشروعاً إنتاجياً في ثماني دول خلال أكثر من خمس سنوات، ووقّعت عقوداً مع أفراد وشركات وجهات كبرى. في هذا المقال أضع لك بنود عقد برمجة موقع إلكتروني كاملة، بنداً بنداً، بصيغتها النصية، مع شرح ما يحميه كل بند وما يحدث فعلياً حين يغيب.
1. الخلاصة أولاً: العقد ليس ورقة ثقة، بل خريطة خروج
معظم العملاء يتعاملون مع العقد باعتباره طقساً شكلياً يسبق بدء العمل. هذا خطأ مكلف. العقد الجيد لا يُقرأ يوم التوقيع، بل يُقرأ يوم الخلاف: حين يتأخر التسليم، أو يطلب العميل تعديلاً خارج النطاق، أو يختفي المبرمج بعد قبض الدفعة الثانية، أو يُغلق حسابه على المنصة وتختفي معه المحادثات.
القاعدة التي أعمل بها: كل بند في العقد يجب أن يجيب عن سؤال «ماذا يحدث لو ساءت الأمور هنا؟». إن لم يكن للبند إجابة عن هذا السؤال فهو حشو. وإن كان هناك احتمال خلاف لا يغطيه أي بند، فالعقد ناقص مهما بدا طويلاً.
ثلاثة أخطاء أراها متكررة في السوق المصري والخليجي، وهي نفسها الثلاثة في السوق البريطاني والأوروبي:
- الاتفاق على «موقع إلكتروني» دون كراسة شروط. كلمة «موقع» تحتمل صفحة هبوط واحدة، وتحتمل منصة SaaS متعددة المستأجرين تفصل بينهما عشرة أضعاف في التكلفة على الأقل. غياب الوصف التفصيلي هو أصل أغلب الخلافات التي وصفها لي عملاء.
- الدفع مقدماً بالكامل، أو الدفع بالكامل عند التسليم. الأول يقتل حافز المبرمج على الإنهاء، والثاني يجعله يعمل بلا أمان فيؤخّر التسليم أو يحتجز الكود.
- عدم تحديد مالك الكود. هذا البند وحده يستحق قراءة مستقلة لأنه الأكثر إثارة للنزاع، اقرأ من يملك كود موقعك بعد التسليم قبل أن توقّع أي شيء.
تنبيه ضروري: أنا مطوّر ولست محامياً. الصيغ الواردة هنا مستمدة من ممارسة عملية في مشاريع حقيقية حتى تاريخ كتابة هذا المقال (أغسطس 2026)، وهي نقطة بداية قوية لعقد صغير أو متوسط. أما إذا كان المشروع كبير القيمة، أو يتضمن بيانات حساسة، أو أطرافه في دول مختلفة، فاعرض النص على محامٍ مرخّص في بلدك قبل التوقيع. تفاصيل القوانين تختلف بين مصر والسعودية والإمارات والمملكة المتحدة والاتحاد الأوروبي، وقد تتغيّر.
2. ما البنود التي يجب أن يتضمنها عقد برمجة الموقع؟
هذه هي البنود الأربعة عشر التي لا أوقّع عقداً بدونها، ومعها ما يحدث فعلياً حين يغيب كل بند. اقرأ العمود الأخير بعناية، فهو ثمن الإهمال.
| # | البند | ما يحدث حين يغيب |
|---|---|---|
| 1 | الأطراف والصفة القانونية | تكتشف أنك تعاقدت مع شخص طبيعي لا شركة، فلا تجد كياناً تطالبه |
| 2 | نطاق العمل وكراسة الشروط | خلاف لا ينتهي حول «هل لوحة التحكم كانت داخل الاتفاق؟» |
| 3 | المواصفات التقنية والبيئة | يُسلَّم المشروع على إصدار PHP قديم أو استضافة مشتركة لا تحتمل الحمل |
| 4 | الجدول الزمني ومسؤوليات العميل | يتأخر المشروع ثلاثة أشهر ولا أحد يستطيع تحديد المتسبّب |
| 5 | القيمة وجدول الدفعات | تدفع 70% من المال مقابل 30% من العمل |
| 6 | ملكية الكود ونقل الحقوق | يرفض المبرمج تسليم المستودع، أو يعيد بيع نظامك لمنافسك |
| 7 | التعديلات خارج النطاق | يتضخم المشروع بلا مقابل حتى يتوقف المبرمج عن الرد |
| 8 | معايير القبول والاختبار | «تم التسليم» في نظره، «لم يعمل» في نظرك |
| 9 | الضمان وإصلاح الأخطاء | تدفع مرة ثانية لإصلاح خلل كان موجوداً يوم التسليم |
| 10 | الصيانة والدعم بعد الإطلاق | لا تجد أحداً يوم يتعطل الموقع في ذروة الموسم |
| 11 | السرية وحماية البيانات | تتسرب فكرة المنتج أو قاعدة بيانات عملائك |
| 12 | التسليم النهائي وقائمة الأصول | تملك الموقع ولا تملك النطاق ولا مفاتيح الـ API |
| 13 | الإنهاء والانسحاب | تعلق بمشروع نصف منجز بلا حق قانوني في الكود |
| 14 | القانون الواجب التطبيق وفض النزاع | نزاع بين القاهرة والرياض بلا مرجع متفق عليه |
3. البند الأول والثاني: الأطراف ونطاق العمل
تحديد الأطراف
ابدأ بتحديد من يتعاقد مع من بدقة. إذا كان الطرف الثاني مستقلاً فاذكر اسمه الرباعي ورقم بطاقة الرقم القومي أو الهوية الوطنية وعنوانه وبريده الإلكتروني ورقم هاتفه. وإذا كان شركة فاذكر الاسم التجاري ورقم السجل التجاري والرقم الضريبي واسم الممثل القانوني وصفته. اطلب صورة من المستند وقارن الاسم بالحساب البنكي الذي سيستلم عليه، فتطابق الاسم هو أرخص فحص احتيال متاح لك.
صيغة البند: «أُبرم هذا العقد في يوم ______ الموافق ___/___/2026 بين كل من: الطرف الأول (العميل): ______، سجل تجاري رقم ______، ويمثله ______ بصفته ______، وعنوانه ______، وبريده الإلكتروني ______. والطرف الثاني (المطوّر): ______، رقم قومي/هوية ______، وعنوانه ______، وبريده الإلكتروني ______. وقد أقرّ الطرفان بأهليتهما القانونية للتعاقد، واتفقا على ما يلي.»
نقطة عملية كثيراً ما تُهمَل: اعتمِد البريد الإلكتروني الوارد في العقد وسيلةَ إخطار رسمية. أضف جملة: «يُعدّ الإخطار على البريد الإلكتروني المذكور أعلاه إخطاراً صحيحاً ومنتجاً لآثاره، ويلتزم كل طرف بإخطار الآخر كتابةً بأي تغيير خلال ثلاثة أيام». هذه الجملة وحدها توفّر عليك لاحقاً معركة إثبات أنك أرسلت وأنه تسلّم.
نطاق العمل: كراسة الشروط هي العقد الحقيقي
البند في متن العقد يجب أن يكون قصيراً ويحيل إلى ملحق. الملحق هو كراسة الشروط، وهو المستند الذي سيحسم كل خلاف لاحق. لا تقبل عبارات مثل «تصميم موقع احترافي متجاوب مع جميع الأجهزة». هذه ليست مواصفة، بل جملة تسويقية.
كراسة الشروط الجيدة تحتوي على:
- قائمة الصفحات أو الشاشات مرقّمة بالاسم، مع عدد الأقسام داخل كل صفحة.
- قائمة الوظائف مكتوبة كقصص استخدام: «يستطيع المستخدم المسجَّل رفع ملف PDF بحد أقصى 10 MB وحذفه خلال 24 ساعة».
- لوحة التحكم وما الذي يستطيع العميل تعديله بنفسه بالضبط. هذا أكثر بند يُساء فهمه: العميل يفترض أنه سيعدّل كل شيء، والمطوّر يفترض أنه سيعدّل النصوص فقط.
- اللغات: من يوفّر الترجمة، ومن يوفّر المحتوى والصور، وهل الموقع يدعم RTL دعماً كاملاً في كل الشاشات أم في الواجهة العامة فقط.
- التكاملات الخارجية بالاسم: بوابة الدفع، شركة الشحن، نظام الفوترة، خدمة الرسائل النصية، ومن يتحمّل رسوم فتح الحسابات ورسوم العمليات.
- ما هو خارج النطاق صراحةً. هذه أهم قائمة في المستند كله. اكتب مثلاً: «لا يشمل هذا العقد كتابة المحتوى، ولا تصوير المنتجات، ولا الحملات الإعلانية، ولا تطبيق الهاتف، ولا خدمات تحسين محركات البحث المستمرة بعد التسليم، ولا تراخيص الأدوات الخارجية المدفوعة».
إذا كان مشروعك متجراً إلكترونياً فراجع دليل تطوير المتاجر الإلكترونية واستخرج منه قائمة الوظائف قبل كتابة الكراسة، فهو يوفّر عليك نصف العمل ويمنعك من نسيان أشياء مثل إدارة المخزون والمرتجعات وأكواد الخصم.
4. من يملك الكود بعد تسليم المشروع؟
الإجابة المختصرة: في الأصل يكون المبرمج هو صاحب حق المؤلف على الكود الذي كتبه، ما لم ينص العقد كتابةً على نقل حقوق الاستغلال. قوانين حقوق المؤلف في مصر ودول الخليج تعامل برامج الحاسب معاملة المصنفات المحمية، ودفعُك المقابلَ المالي لا ينقل الملكية تلقائياً في غياب نص صريح. التفاصيل والاستثناءات تختلف بين الدول وقد تتغيّر، لذا تحقّق من الصياغة مع محامٍ محلي إن كان المشروع كبيراً.
ما تحتاجه عملياً ثلاث فقرات: بند نقل حقوق الاستغلال، وبند ترخيص المكوّنات سابقة الوجود، وبند العرض ضمن الأعمال السابقة. نبدأ بالأولى:
صيغة البند: «تنتقل إلى الطرف الأول الملكية الكاملة والحصرية لكافة حقوق الاستغلال المالي للكود المصدري والتصاميم وقواعد البيانات والوثائق المُنتَجة خصيصاً لهذا المشروع، وذلك اعتباراً من تاريخ سداد كامل قيمة العقد، لكافة أنحاء العالم وطوال مدة الحماية القانونية المقررة. ويشمل ذلك حق التعديل والنسخ والتوزيع والتنازل للغير دون حاجة إلى إذن لاحق من الطرف الثاني. ويلتزم الطرف الثاني بعدم إعادة بيع أو ترخيص النظام المُسلَّم بذاته لأي طرف ثالث.»
لاحظ ثلاثة تفاصيل مقصودة في هذه الصيغة:
- «اعتباراً من تاريخ سداد كامل قيمة العقد»: هذا يحمي المطوّر. أي عقد ينقل الملكية فور التوقيع سيرفضه أي مطوّر محترف، لأنه يفقد آخر ضمانة لتحصيل مستحقاته.
- «المُنتَجة خصيصاً لهذا المشروع»: المطوّر يستخدم عادةً مكتبات ومكوّنات داخلية سبق أن كتبها ويستخدمها في مشاريع أخرى، ولا يستطيع نقل ملكيتها لك. الحل بند فرعي: «يمنح الطرف الثاني الطرف الأول ترخيصاً دائماً غير قابل للإلغاء، غير حصري، بلا مقابل إضافي، لاستخدام أي مكوّنات سابقة الوجود مدمجة في المشروع، بما يشمل حق التعديل عليها لأغراض هذا المشروع».
- «عدم إعادة بيع النظام بذاته»: صياغة منصفة. لا تطلب من المطوّر ألا يبني أبداً نظاماً مشابهاً، فهذا شرط تعجيزي يمنعه من ممارسة مهنته وغالباً لن يوقّعه. اطلب فقط ألا يعيد بيع مشروعك نفسه.
لا تحذف عبارة «لكافة أنحاء العالم وطوال مدة الحماية». القانون المصري لحماية الملكية الفكرية يشترط في التصرف الكتابي في حقوق المؤلف أن يُذكر كل حق منقول على حدة، وأن يُبيَّن مدى هذا الحق والغرض منه ومدته ومكان الاستغلال. وعدد من قوانين دول الخليج مصاغ على النهج نفسه. البند الذي يسمّي الحقوق ويترك المدة والنطاق الجغرافي فراغاً قد يخرج أضيق مما قصده الطرفان، وهذا بالضبط الغموض الذي وقّعت العقد لتتجنبه: سمِّ الحقوق، ثم حدّد أين ولكم من الوقت.
وأضف بند العرض ضمن الأعمال السابقة: «يحتفظ الطرف الثاني بحقه في عرض المشروع ضمن أعماله السابقة بعد إطلاقه علنياً، ما لم يخطره الطرف الأول كتابةً بخلاف ذلك». وانتبه إلى تسمية هذا البند بدقة: الحقوق الأدبية للمؤلف في القانون المصري أبدية ولا تقبل التنازل ولا التقادم، فهذا البند ليس إنشاءً لها ولا تنازلاً عنها، بل إذن تعاقدي بالعرض فقط. معظم المطوّرين الجادّين يحتاجون هذا الإذن، ومنعهم منه بلا سبب يرفع السعر عادةً لأنك تحرمهم من قيمة تسويقية.
5. كيف أقسّم الدفعات على مراحل التسليم؟
القاعدة: كل دفعة يجب أن ترتبط بمخرَج قابل للمعاينة، لا بمرور الوقت. «الدفعة الثانية بعد شهر» صياغة سيئة. «الدفعة الثانية بعد اعتماد تصاميم الواجهة لكل الشاشات» صياغة جيدة، لأنها قابلة للإثبات.
هذا هو الجدول الذي أستخدمه في المشاريع المتوسطة، وهو متوازن بين حماية الطرفين. استخدمت الدولار في عمود المثال لأن أغلب هذه المشاريع عابرة للحدود، وحوّل الأرقام إلى عملتك المحلية بسعر يوم التوقيع:
| المرحلة | المخرَج القابل للمعاينة | النسبة | مثال على عقد بقيمة 4,000 USD |
|---|---|---|---|
| التعاقد | توقيع العقد واعتماد كراسة الشروط | 25% | 1,000 |
| التصميم | اعتماد تصاميم UI/UX لجميع الشاشات | 15% | 600 |
| التطوير الأساسي | عمل الوظائف الجوهرية على بيئة staging | 25% | 1,000 |
| الاختبار والقبول | اجتياز معايير القبول وتسليم تقرير الاختبار | 20% | 800 |
| الإطلاق والتسليم | النشر على الخادم الفعلي وتسليم قائمة الأصول | 15% | 600 |
ملاحظات من واقع التطبيق:
- لا تجعل الدفعة المقدمة أقل من 20%. من يقبل 5% مقدماً إما مضطر جداً أو ينوي ترك المشروع عند أول عرض أفضل.
- واعتبر الثلث هو الحد الأعلى المعقول، و40% هو الحد الأقصى المطلق لا الهدف. ما بعد ذلك أنت تموّل السيولة النقدية للمطوّر لا تشتري عملاً مُسلَّماً.
- احتفظ بـ 10 إلى 15% مرتبطة بالتسليم النهائي. هذه هي الورقة التي تضمن إغلاق آخر عشرة أخطاء صغيرة، بدلاً من أن يختفي المطوّر بعد أن «يعمل الموقع تقريباً».
- حدّد مهلة السداد من جانبك أيضاً: «يلتزم الطرف الأول بسداد الدفعة خلال خمسة أيام عمل من إخطاره باستيفاء المرحلة، وإلا امتدّ الجدول الزمني بمقدار مدة التأخير». تأخير العميل في الدفع سبب تعطّل مشاريع أكثر مما يتصور العملاء.
- اذكر العملة صراحةً، ومن يتحمّل رسوم التحويل، وهل المبلغ شامل ضريبة القيمة المضافة. الغموض هنا يكلّف 5 إلى 15% من قيمة العقد في نزاع لاحق.
لتقدير القيمة الإجمالية قبل التفاوض، راجع تفصيل الأسعار في تكلفة الموقع الإلكتروني بين مصر والخليج، أو اطّلع على الباقات المعلنة لتعرف ما الذي يقابل كل نطاق سعري فعلياً.
هل أستخدم منصة وسيطة أم تحويلاً بنكياً؟
| الطريقة | مستوى الحماية | التكلفة | متى أوصي بها |
|---|---|---|---|
| خدمة الضمان في منصات العمل الحر | عالية للطرفين | رسوم على الطرفين: عمولة تُقتطع من المستقل، ورسوم خدمة تُضاف على العميل فوق قيمة الفاتورة، ورسوم سحب | أول تعامل، أو مشروع صغير مع شخص لا تعرفه |
| تحويل بنكي أو Instapay | لا حماية سوى العقد | شبه معدومة محلياً، وتُضاف رسوم بنوك مراسلة في التحويلات الدولية | مطوّر بسمعة موثّقة ومع عقد مكتوب. ملاحظة مهمة: Instapay شبكة محلية بالجنيه المصري فقط ولا تستقبل تحويلات من الخليج أو أوروبا |
| Wise | متوسطة | أقل من 2% إجمالاً في العادة على المسارات التي أستخدمها، بسعر الصرف الوسطي مع إظهار الرسوم منفصلة | التعامل عبر الحدود بين مصر والخليج أو أوروبا |
| PayPal | متوسطة، مع تعرّض المطوّر لخطر استرداد المبلغ | غالباً 6 إلى 8% إجمالاً: رسوم معاملة تجارية عابرة للحدود نحو 4.4 إلى 5%، يضاف إليها هامش تحويل عملة يتراوح تقريباً بين 3 و4% فوق السعر الوسطي | فقط حين يصرّ العميل عليها، مع احتساب الرسوم داخل عرض السعر |
| حساب أمانة لدى محامٍ | الأعلى | أتعاب ثابتة أو نسبة | المشاريع الكبيرة والشراكات طويلة الأمد |
6. الجدول الزمني والتأخير والغرامة
أخطر بند في العقود العربية هو بند الغرامة، لأن معظم العملاء يكتبونه من جانب واحد، فيرفضه المطوّرون الجيدون ويقبله الضعفاء، فينتهي بك الأمر إلى بند قوي على الورق ومطوّر ضعيف على الأرض. الغرامة العادلة تكون متبادلة الأثر.
صيغة البند: «مدة تنفيذ المشروع ______ يوم عمل، تبدأ من تاريخ سداد الدفعة الأولى واستلام الطرف الثاني كامل المواد المطلوبة من الطرف الأول. وفي حال تأخر الطرف الثاني عن التسليم النهائي لأسباب ترجع إليه، يستحق الطرف الأول غرامة قدرها 0.5% من قيمة العقد عن كل يوم عمل تأخير، بحد أقصى 10% من قيمة العقد. ويُوقف احتساب المدة تلقائياً خلال فترات انتظار ردود أو مواد أو موافقات من الطرف الأول، على أن تُوثَّق هذه الفترات كتابةً.»
الجملة الأخيرة هي التي تجعل البند قابلاً للتوقيع من مطوّر محترف. في تجربتي، أكثر من نصف حالات التأخير سببها انتظار المحتوى أو الموافقة من العميل، لا بطء المطوّر. أضف كذلك سقفاً لزمن الرد: «يلتزم الطرف الأول بالرد على طلبات الاعتماد خلال ثلاثة أيام عمل، ويُعدّ عدم الرد بعد إخطارين مكتوبين قبولاً ضمنياً للمرحلة». بلا هذه الجملة يمكن لعميل مشغول أن يجمّد مشروعاً شهرين ثم يطالب بغرامة تأخير.
7. التعديلات خارج النطاق: البند الذي ينقذ المشروع
تضخّم النطاق هو القاتل الصامت لمشاريع البرمجة. يبدأ بطلب صغير «فقط أضف زر مشاركة»، وينتهي بمشروع تجاوز ميزانيته ومدته مرتين. الحل ليس الرفض، بل التسعير الفوري والشفاف.
صيغة البند: «كل ما لم يرد في الملحق رقم (1) يُعدّ عملاً إضافياً. يقدّم الطرف الثاني للطرف الأول تقديراً كتابياً لساعات العمل وأثرها على الجدول الزمني خلال يومَي عمل من تلقّي الطلب، ولا يبدأ التنفيذ إلا بموافقة كتابية من الطرف الأول. سعر ساعة العمل الإضافي ______، وتُسدَّد قيمة العمل الإضافي مع أقرب دفعة تالية.»
حدّد سعر الساعة داخل العقد نفسه. غيابه يعني تفاوضاً جديداً مع كل طلب صغير وتوتراً لا لزوم له. الشائع في السوق المصري للمستقل المحترف نطاق يتراوح تقريباً بين 300 و1,500 EGP للساعة، وفي الخليج بين 80 و250 SAR للساعة، وبين 40 و90 USD للساعة للمطوّرين ذوي الخبرة الذين يعملون عن بُعد مع عملاء في المملكة المتحدة وأوروبا، ويختلف كثيراً حسب الخبرة والتخصص وحجم المشروع، ويتجاوز المتخصصون في المنصات المعقّدة أعلى كل نطاق. وضع كذلك «رصيد تعديلات مجاني» صغيراً ومحدداً، مثل جولتَي مراجعة على التصاميم وعشر ساعات تعديلات أثناء التطوير، حتى يكون الاتفاق واقعياً ولا يتحوّل كل تفصيل إلى فاتورة.
8. معايير القبول: تعريف كلمة «تمّ»
«الموقع جاهز» عبارة بلا معنى قابل للتنفيذ. عرّفها. أنا أضع في كل عقد قائمة قبول موضوعية يستطيع أي طرف ثالث التحقق منها:
معايير القبول للتسليم النهائي
1. تعمل جميع الوظائف المذكورة في الملحق (1) على بيئة الإنتاج دون خطأ 500.
2. لا توجد أخطاء مصنّفة Critical أو High في تقرير الاختبار النهائي.
3. يعمل الموقع على أحدث إصدارين من Chrome و Safari و Firefox و Edge.
4. يعمل التصميم المتجاوب على عرض 360px و 768px و 1440px دون كسر في التخطيط.
5. نتيجة Lighthouse للأداء على الجوال لا تقل عن 70 في الصفحات الرئيسية.
6. تثبيت شهادة SSL وإعادة توجيه HTTP إلى HTTPS.
7. تفعيل نسخ احتياطي يومي آلي لقاعدة البيانات والملفات مخزَّن خارج الخادم.
8. تسليم بيانات الدخول لجميع الحسابات المذكورة في الملحق (2).
البند الخامس تحديداً يمنع خلافاً شائعاً حول الأداء. لكن لا تشترط رقماً مستحيلاً على موقع مليء بالفيديو والخطوط الخارجية؛ افهم أولاً ما الذي يرفع الرقم أو يخفضه من لماذا يفتح موقعك ببطء، ثم حدّد العتبة.
وافصل في ذهنك بين رقمين: الحد الأدنى التعاقدي والهدف. الرقم 70 هو الحد الأدنى العام الذي أقبله في عقد مع طرف لا أعرفه، لأنه قابل للتحقيق على أي موقع ثقيل المحتوى وقابل للقياس دون جدال. وهو ليس ما أطمح إليه: باقاتي المعلنة تلتزم بنتيجة Lighthouse 95+ لأن هذا هو المستوى الذي أبني عليه. اكتب في العقد العتبة التي أنت مستعد فعلاً للتمسك بها، ثم اتفق على الهدف الأعلى داخل كراسة الشروط. وضع رقم أحلامك في بند تعاقدي يعني بنداً لن تستطيع تفعيله.
وأضف مهلة قبول تحمي الطرفين: «يُخطر الطرف الأول بملاحظاته خلال سبعة أيام عمل من الإخطار بالتسليم، وإلا اعتُبر المشروع مقبولاً». هذا يحمي المطوّر من عميل يختفي شهرين ثم يعود بقائمة ملاحظات جديدة، ويحمي العميل بمنحه نافذة فحص واضحة.
9. الضمان والصيانة: لا تخلط بينهما
الضمان ليس صيانة، والخلط بينهما سبب نصف الخلافات بعد الإطلاق.
- الضمان إصلاح مجاني لعيب في العمل المُسلَّم. المعتاد 30 إلى 90 يوماً من تاريخ القبول، وتطول المدة عادةً بحجم التعاقد. الصيغة: «يلتزم الطرف الثاني بإصلاح أي خلل برمجي في الوظائف المُسلَّمة دون مقابل لمدة ______ يوماً من تاريخ القبول، ولا يشمل الضمان الأعطال الناتجة عن تعديل الطرف الأول أو طرف ثالث على الكود، أو عن تغيّر في خدمات خارجية، أو عن مشكلات في الاستضافة، أو عن طلبات جديدة».
- الصيانة عقد منفصل مدفوع يشمل التحديثات الأمنية وتحديث الحزم والنسخ الاحتياطي والمراقبة وساعات تطوير شهرية. النطاق السنوي المعتاد يتراوح بين 5 و15% من قيمة المشروع الأصلية، ويعتمد أساساً على مستوى الاستجابة المطلوب لا على حجم الكود.
حدّد زمن الاستجابة صراحةً إن كان الموقع تجارياً: «يلتزم الطرف الثاني بالرد خلال 4 ساعات عمل على الأعطال الحرجة التي توقف الموقع أو عمليات الدفع، وخلال 48 ساعة على الملاحظات العادية». وتذكّر أن التحديثات الأمنية ليست رفاهية؛ راجع قائمة فحص أمان الموقع واجعل بنودها جزءاً مكتوباً من عقد الصيانة بدل أن تتركها لحسن النية.
10. التسليم النهائي: قائمة الأصول التي تملكها فعلاً
رأيت عملاء يملكون موقعاً ناجحاً ولا يستطيعون تغيير سطر فيه، لأن كل شيء مسجَّل باسم المطوّر. اجعل الملحق رقم (2) قائمة أصول حرفية يُوقَّع عليها عند التسليم:
- اسم النطاق مسجَّلاً باسم العميل وببريده، لا ببريد المطوّر.
- حساب الاستضافة أو الخادم مع بيانات الدخول الكاملة.
- المستودع كاملاً على GitHub أو GitLab منقولاً إلى حساب العميل مع تاريخ الـ commits.
- نسخة SQL نهائية من قاعدة البيانات، ومخطط الجداول.
- ملف
.env.exampleوقائمة بكل متغيرات البيئة المطلوبة للتشغيل. - مفاتيح كل الخدمات الخارجية: بوابة الدفع، البريد، الرسائل النصية، الخرائط، التخزين السحابي.
- ملفات التصميم المصدرية على Figma أو ما يعادلها مع صلاحية التحرير.
- حسابات Google Analytics و Search Console بصلاحية مالك للعميل.
- دليل تشغيل مختصر: كيف تُنشر نسخة جديدة، وكيف تُستعاد نسخة احتياطية.
- محضر تسليم موقّع من الطرفين بتاريخ ووصف لما سُلّم.
القاعدة الذهبية: سجّل النطاق والاستضافة بنفسك وبحسابك من اليوم الأول، ثم امنح المطوّر صلاحية وصول. الترتيب العكسي هو أسهل طريقة لتفقد السيطرة على أصل تملكه، وأصعب طريقة لاستعادته لاحقاً.
11. هل أحتاج اتفاقية عدم إفصاح NDA؟
إجابة صريحة قد لا تعجب الجميع: في أغلب مشاريع المواقع التعريفية والمتاجر، الـ NDA المنفصلة غير ضرورية، ويكفي بند سرية قوي داخل العقد. الفكرة وحدها نادراً ما تكون سراً يستحق مستنداً مستقلاً، والتنفيذ هو ما يصنع الفارق. كثير من العملاء يطلبون NDA قبل أن يشرحوا المشروع أصلاً، فيخسرون أسبوعاً في توقيع مستند لا يحمي شيئاً.
لكن الـ NDA المنفصلة تصبح ضرورية فعلاً في أربع حالات:
- أن تعرض على المطوّر بيانات حقيقية لعملائك أو ملفات مالية أو سجلات صحية قبل التعاقد.
- أن يكون المنتج منصة SaaS بمنطق تسعير أو خوارزمية تشكّل ميزتك التنافسية، وهو ما أتناوله في بناء منصة SaaS متعددة المستأجرين بـ Laravel.
- أن تكون جهة حكومية أو شركة كبرى تُلزمك سياستها الداخلية بذلك.
- أن يشمل المشروع وصولاً إلى نظام قائم فيه بيانات مستخدمين حقيقية.
صيغة بند السرية داخل العقد: «يلتزم كل طرف بالحفاظ على سرية كافة المعلومات التقنية والتجارية والمالية وبيانات المستخدمين التي يطّلع عليها بمناسبة تنفيذ هذا العقد، وبعدم إفشائها أو استخدامها لغير أغراض المشروع، أثناء سريان العقد ولمدة سنتين بعد انتهائه. ولا يشمل هذا الالتزام المعلومات المتاحة للعامة أو التي يفرض القانون إفشاءها. ويلتزم الطرف الثاني بحذف نسخ بيانات الإنتاج من أجهزته خلال ثلاثين يوماً من التسليم النهائي.»
جملة الحذف الأخيرة أهم عملياً مما تبدو، لأن نسخ قواعد البيانات تبقى على أجهزة المطوّرين سنوات في العادة، وهي أكثر مصادر تسرّب بيانات العملاء شيوعاً وأقلها ذكراً.
12. ماذا أفعل إذا اختفى المبرمج قبل التسليم؟
هذا أكثر سؤال يصلني، وأغلب من يسألونه لم يضعوا في عقدهم البند الذي كان سيحلّه. الحل يبدأ قبل الاختفاء لا بعده.
الوقاية: ثلاثة بنود تجعل الاختفاء غير مجدٍ
- الرفع الدوري للكود: «يلتزم الطرف الثاني برفع الكود أسبوعياً إلى مستودع Git مملوك للطرف الأول ومُدار منه، يمنح فيه الطرف الأول للطرف الثاني صلاحية الرفع طوال مدة المشروع، ويحتفظ لنفسه بصلاحية الإدارة الكاملة عليه في كل وقت». هذا البند وحده يحوّل الاختفاء من كارثة إلى إزعاج، لأنك تملك آخر نسخة عاملة ويستطيع أي مطوّر آخر أن يكمل منها.
- العمل على بيئة العميل: اجعل الاستضافة وبيئة staging على حسابك أنت، لا على خادم المطوّر الشخصي.
- الدفع مقابل مخرَج قابل للمعاينة كما في جدول الدفعات أعلاه، فلا تسبق مدفوعاتك العمل المنجز أبداً.
العلاج: بند الإنهاء للتقصير
صيغة البند: «إذا توقف الطرف الثاني عن العمل أو انقطع عن التواصل مدة تتجاوز عشرة أيام عمل متصلة دون عذر مقبول، جاز للطرف الأول إخطاره كتابةً بمنحه مهلة خمسة أيام عمل لاستئناف العمل. فإذا انقضت المهلة، عُدّ العقد مفسوخاً دون حاجة إلى تنبيه أو إجراء آخر، والتزم الطرف الثاني بتسليم كامل ما أُنجز من كود وتصاميم وبيانات دخول خلال خمسة أيام، مع ردّ ما قبضه زائداً عن قيمة الأعمال المنجزة فعلياً. وتنتقل ملكية الأعمال المنجزة إلى الطرف الأول بمجرد الفسخ.»
الجملة الأخيرة حاسمة: بدونها قد تجد نفسك تملك نصف مشروع لا يحق لك قانوناً تسليمه لمطوّر آخر ليكمله، فتعود إلى نقطة الصفر وقد دفعت نصف الميزانية.
وإذا وقع الاختفاء فعلاً ولا يوجد عقد؟
- وثّق كل شيء فوراً: المحادثات، إيصالات التحويل، الروابط، المواعيد المتفق عليها، مع لقطات شاشة مؤرَّخة.
- إن كان التعاقد عبر منصة عمل حر فافتح نزاعاً داخلها قبل أي خطوة أخرى، فأنظمة الضمان تعمل جيداً في هذه الحالة وتوقف صرف المبالغ المحتجزة.
- أرسل إنذاراً كتابياً رسمياً على البريد المسجَّل وعلى رقم الهاتف، وحدّد فيه مهلة واضحة ومطلباً محدداً: تسليم الكود أو ردّ المبلغ.
- قدّر خسارتك بواقعية قبل التفكير في التقاضي. تكلفة مقاضاة مبلغ 30,000 EGP عبر محكمة في بلد آخر قد تتجاوز المبلغ نفسه ومعها أشهر من وقتك.
- ابدأ التعافي التقني فوراً: احصل على آخر نسخة من الاستضافة، وقيّم ما يمكن إنقاذه. واختر البديل بعناية هذه المرة بدءاً من كيف تختار مبرمج مواقع محترف.
13. القانون الواجب التطبيق وفض النزاع
حين يكون العميل في الرياض أو دبي والمطوّر في القاهرة، لا تترك هذا البند فارغاً. حدّد ثلاثة أشياء: القانون الحاكم، وجهة الفصل في النزاع، ولغة العقد المعتمدة.
صيغة البند: «يخضع هذا العقد ويُفسَّر وفقاً لقوانين ______. وفي حال نشوء أي نزاع يسعى الطرفان لحلّه ودياً خلال ثلاثين يوماً، فإن تعذّر ذلك يُحال إلى ______ (المحكمة المختصة أو مركز التحكيم المتفق عليه). وحُرّر هذا العقد من نسختين بيد كل طرف نسخة، ولغته المعتمدة عند الاختلاف هي اللغة العربية.»
ثلاث ملاحظات عملية. أولاً، في المشاريع الصغيرة العابرة للحدود يكون التحكيم الدولي أغلى من قيمة المشروع نفسه، فاعتمد بدلاً منه على منصة ضمان وعلى تقسيم دفعات محكم. ثانياً، إن كان العقد ثنائي اللغة فحدّد نسخة معتمدة واحدة، وإلا صار اختلاف الترجمة نزاعاً بذاته. ثالثاً، اسأل نفسك بصراحة: هل سأسافر فعلاً لأقاضيه؟ إن كانت الإجابة لا، فحمايتك الحقيقية هي هيكل الدفع وملكية الأصول، لا بند التقاضي.
14. الهيكل الكامل للعقد: قائمة مراجعة نهائية
هذه هي بنود العقد مرتبةً بترتيبها النهائي، بنداً بنداً، كقائمة مراجعة. الصيغ النصية نفسها موجودة في البنود من 3 إلى 13 أعلاه حيث شُرح كل بند قبل استخدامه، واستخدم هذه القائمة للتأكد من أن مستندك لا ينقصه شيء قبل التوقيع. لا يوجد ملف للتحميل عمداً؛ النص كله منشور هنا لتقرأه قبل أن تستخدمه، فالعقد الذي لا تفهمه لا يحميك:
- التمهيد والأطراف: بيانات الطرفين وصفتهما والإقرار بالأهلية واعتماد البريد الإلكتروني وسيلةَ إخطار.
- موضوع العقد: «تصميم وبرمجة وتسليم موقع إلكتروني وفقاً للمواصفات الواردة في الملحق (1) المُوقَّع من الطرفين، والذي يُعدّ جزءاً لا يتجزأ من هذا العقد».
- المواصفات التقنية: إطار العمل وإصداره، قاعدة البيانات، بيئة الاستضافة، اللغات المدعومة، عتبات الأداء.
- المدة والجدول الزمني: مع بند إيقاف احتساب المدة عند تأخر العميل.
- القيمة وجدول الدفعات: بالأرقام وبالحروف، مع العملة ورسوم التحويل والموقف الضريبي.
- التزامات الطرف الأول: توفير المحتوى والصور والحسابات والردود خلال المهل المحددة.
- التزامات الطرف الثاني: التنفيذ وفق الأصول المهنية، الرفع الأسبوعي للكود، الإبلاغ عن أي معوّق خلال 48 ساعة.
- التعديلات خارج النطاق: آلية الطلب والتقدير والموافقة وسعر الساعة.
- معايير القبول: القائمة الموضوعية ومهلة إبداء الملاحظات.
- الملكية الفكرية: نقل الحقوق عند السداد الكامل، والنطاق الجغرافي ومدة النقل، وترخيص المكوّنات السابقة، وحق العرض ضمن الأعمال السابقة.
- السرية وحماية البيانات: مع مدة السريان بعد الانتهاء والتزام الحذف.
- الضمان: مدته ونطاقه واستثناءاته.
- الإنهاء: بالتراضي وللتقصير، وأثر كل حالة على الدفعات والملكية.
- القوة القاهرة: بتعريف واقعي يشمل انقطاع الخدمات السحابية الكبرى وانقطاع الإنترنت العام.
- القانون وفض النزاع واللغة المعتمدة.
- الملاحق: (1) كراسة الشروط، (2) قائمة الأصول والحسابات، (3) جدول الدفعات، (4) نموذج طلب تعديل.
15. أخطاء شائعة في عقود البرمجة العربية
- عقد من ثلاثة أسطر على WhatsApp. الرسائل قد تصلح قرينة إثبات، لكنها لا تعوّض غياب كراسة شروط ولا تحدد ملكية الكود.
- نسخ عقد مقاولات وتعديل كلمة «مبنى» إلى «موقع». رأيت هذا حرفياً. البرمجة ليست إنشاءات، ومعايير القبول ومنطق التسليم مختلفان تماماً.
- غرامة تأخير من طرف واحد. ستدفع ثمنها في السعر أو في مستوى من يقبل التوقيع.
- إغفال الضريبة. حدّد هل المبلغ شامل ضريبة القيمة المضافة أم لا، خصوصاً مع الشركات في السعودية والإمارات.
- عدم تحديد من يدفع رسوم الخدمات الخارجية. الاستضافة والنطاق وبوابة الدفع والرسائل النصية تكاليف مستمرة على العميل غالباً، فاكتبها بالأرقام التقديرية.
- عقد بلا ملحق أصول. راجع البند العاشر، فهذا أكثر ما يندم عليه العملاء بعد عام من الإطلاق.
- اختيار الطرف الآخر بلا تحقّق. العقد يقلّل الضرر لكنه لا يصنع مطوّراً جيداً. والفرق بين التعاقد مع مستقل وشركة يستحق قراءة مستقلة في مطوّر مستقل أم شركة برمجة.
16. كيف أتعاقد أنا
للشفافية، هذه طريقتي: مكالمة تشخيص مجانية، ثم عرض سعر ثابت مبني على كراسة شروط مكتوبة، ثم عقد من ست إلى عشر صفحات بالبنود أعلاه، ثم دفعات مرتبطة بمخرَجات، ومستودع Git باسم العميل من اليوم الأول، وملكية كاملة عند السداد النهائي، وضمان مدته 30 أو 60 أو 90 يوماً بحسب مستوى الباقة. لا أبدأ العمل قبل التوقيع حتى مع العملاء المتكررين، ليس لانعدام الثقة بل لأن الوثيقة المكتوبة تختصر أسابيع من النقاش لاحقاً وتحمي الطرفين بالقدر نفسه.
إن كان بين يديك عقد الآن وتريد رأياً صريحاً فيه، أو تريد عرض سعر ثابتاً لمشروعك، تواصل معي عبر صفحة التواصل. الاستشارة الأولى مجانية، وأرد خلال 24 ساعة بعرض واضح دون التزام.