كيفية كتابة عقد البرمجة

مقدمــــــة: في حالة إذا كنت تريد تكليف أحد المطورين بإنشـــاء أو تطوير برنامج أو تطبيق إلكتروني فإن كتــابة عقد برمجة هــو أحد والمفاتيح والسبـــل التي تســاعدك في الحصــول على المنتج الذي تريده.

كذلك إذا كنت قد تم توظيفك من أجــل تصميم أو برمجة تطبيق إلكتروني فإن هــذا العقد المكتوب هو سبيلك وطريقــك ومفتاحك للحصول على أموالك وكذلك فإن هذا العقد يمنع نشوب الخلافات، ويكون هو المرجع الأساسي لحل النزاع في حالة نشوبه.

أولا: ماهية عقد البرمجـــة:

هو عبــارة عن اتفاقية يتم إبرامها بين أحد المطورين وبين عملائه والهدف من هذا العقد هو تحديد الالتزامات والمسؤوليات القانونية بين المطور وبين العميل ومن خلالها يتم تحديد مهــمة المطور وكذلك المبلغ الذي سوف يدفعه العميل نظير قيـــام المطور بالعمل المطلوب وما هي مواصفات المنتج المطلوب ســواء كان موقع أو برنامج أو تطبيق إلا أن هذا العقد له بعض المواصفات والبنود الخاصة التي يجب أن يتم مراعاتها وسوف نتناولها فيما يلي

ثانيا: متى يمكن اعتبار أن عمل المطور قد أنتهى:

من بين أكثر الأسباب التي تؤدى لحدوث نزاعات بين المطور وبين العميل هو الوقت المحدد لانتهاء العمل وبالتالي، يجب الاتفاق على جدول العمل والمعايير المرجعية لتجنب نشوء النزاعات فيما بعد بسبب سوء التفاهم.

لذلك يجب أن ينقســم العمـل على مشروع البرنامج أو الموقع لمراحل أو أجزاء منفصلــة ويجب أن يقدم المطور منتج مقبول في نهــاية كل مرحلــة من أجل الحصول على المقابل المالي المتفق عليه وهذا يجعل من السهل لكلا الجانين مراقبة تقدم المطور وحل المشاكل في وقت مبكر في المشروع أو حتى إنهاء المشروع إذا كانت العمل لا يسير بالشكل المطلوب.

ثالثا: ميزة هذه الطريقة بالنسبــة للعميل:

ميزة هذه الطريقة بالنسبة للعميل هي الحصول على العمل على مراحل حيث يتجنب خطر الحصول على منتج غير مرضي في نهاية المطاف. كما أنه يعطي العميل الفرصة للتعليق على العمل ويحافظ على المشروع من حيث المضي قدما في الموعد المحدد

رابعا: ميزة هذه الطريقة بالنسبة للمطور:

ميزة هذه الطريقة بالنسبة للمطور. هو أن توقيع على كل مرحلة من مراحل المشروع هو أفضل وسيلة لتجنب التعليقات غير المبررة عن الأداء غير المرضي من قبل العميل عند الانتهاء من المشروع. هذا النهج يعطي أيضا المطور فرصة للتعامل مع احتياجات العميل سواء من حيث احتياجاته أو ما يريده وأخيرا فإن الدفع على أجزاء مع كل تقدم في المشروع يتم إحرازه يضمن للمطور عدم تصلب العميل عند دفعه للمبلغ المالي المطلوب.

خامسا: مواصفات مشروع البرمجة (أهمية التفاصيل):

مواصفات البرنامج تعتبر بمثابة مخطط البناء حيث إن مواصفات البرنامج تحاول تحديد البرنامج الذي سيتم إنشاؤه وتوفير دليل لتحديد متى وكيف يتم الانتهاء من البرنامج بشكل مرضى.

فكلما كانت المواصفات أكثر اكتمالا، قل احتمال الخطأ في التنفيذ، مما قد يؤدي إلى استياء العميل، وعدم الدفع، وربما التقاضي حيث إن المواصفات هي جوهر أي عقد لتطوير البرمجيات.

هناك العديد من الطرق لكتابة المواصفات أفضلها هو صياغة “المواصفات الوظيفية” في لغة بعيدة عن المصطلحات التقنية التي يصعب على العميل أن يفهمها، كما قد يقوم المطور أيضا بإعداد نموذج أولي أو برنامج توضيحي لإظهار العميل كيف سيبدو البرنامج ويعمل، ي وقت لاحق، يجب على المطور إعداد مواصفات تقنية أكثر تفصيلا ودقة.

سادسا: طرق دفع أجر المطور:

هناك العديد من طرق لدفع أجر المطور مقابل إنشاؤه برنامج مخصص للعميل الطريقة الأولى هي طريقة دفع أجر المطور مقابل عدد الساعات وكذلك مقابل ما استهلكه وأنفقه المطور لإنهاء البرنامج من خامات أو مواد.

أمـــا الطريقــة الثانية فهي عبــارة عن مبلغ ثابت يتم الاتفاق عليه بين العميل وبين المطور.

  • طريقة الدفع مقابل عدد الساعات والخامات: بموجب اتفاقية الوقت والمواد، يدفع العميل للمطور مقابل الوقت الذي يقضيه والتكاليف الفعلية المتكبدة في إنشاء البرنامج. غالبا ما يفضل المطورون نظام الدفع هذا نظرا لأن المطور متأكد من الدفع، حتى لو كان المشروع يستغرق وقتا أطول مما كان متوقعا في الأصل. أسعار الساعة شائعة بالنسبة للعديد من المهنيين خارج صناعة البرمجيات، بما في ذلك المحامين والمحاسبين.
  • طريقة السعــر الثابت: بموجب اتفاقية السعر الثابت، يدفع العميل للمطور مبلغا ثابتا للمشروع بأكمله. من الناحية النظرية، فإن نظام الدفع هذا يفضله العميل من خلال توفير اليقين فيما يتعلق بما سيكلفه المشروع. وعلاوة على ذلك، إذا كانت المدفوعات مرتبطة بالتقدم المحرز في عمل المطور، فإنه يعطي العميل نفوذا كبيرا للإصرار على الانتهاء في الوقت المناسب، ومع ذلك، من الناحية العملية، غالبا ما يوافق العملاء على دفع المزيد من المال للمطورين إذا كان المشروع يستغرق وقتا أطول مما كان متوقعا وذلك تجنبا أن يترك المطور العمل دون إنهائه بالشكل المطلوب أو أن يضطر المطور لإنهاء المشروع سريعا الأمر الذي يؤدى إلى منتج رديء.

سابعا: نقل ملكية حقوق الطبع والنشر:

من أهم وظائف اتفاق تطوير البرمجيات تحديد من سيمتلك حقوق الملكية الفكرية في البرمجيات التي سيتم إنشاؤها. هذا يعتبر في كثير من الأحيان واحدة من القضايا الأكثر إثارة للجدل بين المطور والعميل.

يمتلك المطورون حقوق الطبع والنشر للبرامج ما لم يكن المطور هو موظف لدى العميل أو أن البرنامج جزء من عمل أكبر تم إجراؤه للعميل بموجب اتفاقية مكتوبة. من أجل امتلاك حقوق الطبع والنشر، يجب أن يوقع العميل اتفاقية نقل الملكية من المطور إلى العميل.

هناك العديد من خيارات الملكية المتاحة، بدءا من الملكية المنفردة من قبل العميل إلى ملكية المطور مع امتلاك العميل مجرد ترخيص لاستخدام البرنامج وفى النهاية فإن مسألة ملكية البرنامج هي أمر يعتمد على المبلغ المالي الذي سوف يدفعه العميل حيث إن مسألة نقل ملكية البرنامج من المطور للعميل أو الاحتفاظ بها هي مسألة رضائية بحسب الاتفاق بين الطرفين.

ثامنا: ملكية الخلفية التكنولوجية للبرنامج:

حيث يوجد لدى المطورين عــــادة العديد من الأدوات والأجهزة التي يستخدمونها بشكــل روتيني من أجل إنجــاز أعمالهم على سبيل المثال الكود المستخدم من أجل التعديلات المطلوبة في البرنامج مثل تعديل شكل البرنامــج الخارجي وكذلك طريقة عرض القوائم الرئيسية وكذلك طريقة تخزين البيانات وأيضا البرامج والبيانات التي يمتلكها المطور والتي يستخدمها من أجل أداء عمله والتي قد تدخل في نهـــاية المطــاف في التكوين النهائي للبرنامج والمنتج الذي يرغب العميل في الحصول عليه.

إذا قام المطور بنقل ملكية البرنامج إلى العميل، قد ينتهي الأمر بالعميل إلى امتلاك الخلفيـــة التكنولوجيا الخلفية للبرنامج وينبغي للمطورين تجنب ذلك من خلال التأكد من أن عقد ينص على أن المطور يحتفظ بجميع حقوق الملكية لهذه المواد. ولكن في هذه الحالة، ينبغي أن يمنح الاتفاق العميل رخصة غير محدودة لاستخدام الخلفية التكنولوجيا

التي يمتلكها المطور في البرنامج.

نموذج عقد برمجة

عقد برمجة وتصميم تطبيق أندرويد وتطبيق IOS

بحمد الله وتوفيقه، تم إبرام هذا العقد ، ما بين كل من

الطر ف الأول: ————————— ، سعودية الجنسية، بطاقة رقم ————————— ، العنوان مكة المكرمة، —————————  ، إيميلها، ————————— @gmail.com K هاتف رقم ————————— ، يشار اليها في العقد بالطرف الأول.

الطرف الثاني: مؤسسة ————————— لتقنية المعلومات، سجل تجاري رقم ————————— ، عنوانها جدة حي ————————— شارع ————————— ، البريد الإلكتروني info@—————————.dev  ، يمثلها السيد فهد ————————— ، سعودي، رقم ————————— ، هاتف رقم ————————— ، بصفته المالك، ويشار إليه في العقد بالطرف الثاني.

حيث  الطرف الثاني  متخصص في تصميم وإنتاج الأنظمة والبرامج والتطبيقات الإلكترونية، ويرغب الطرف الأول  بالتعاقد مع الطرف الثاني  ليقوم ببرمجة وتصميم وعمل تطبيق وسيط بين مشاهير السوشيال ميديا والمعلنين، بناء على التوصيف المتفق عليه بين الطرفين،  بما فيه تصميم الشعار وعمل هوية رقمية مميزة للتطبيق ، و صيانة التطبيق ، وبرمجة الصفحات والخانات والأيقونات  اللازمة للتطبيق ، ويعتبر الملحق  1 نموذج من التفاصيل والمتطلبات التي يجب أن تكون في النظام، ويعتبر هذا التوصيف الفني جزء لا يتجزأ من العقد.

تاسعا: أسئلة شائعة حول كيفية كتابة عقد البرمجة:

هل يمكن أن يتضمن عقد البرمجة بندا بتعلق بضمان المنتج النهائي؟

يتخذ شرط ضمـان عمل البرنامج الذى قد يتضمنه عقد البرمجة نفس الشــكل الذى تتضمنه العديد من العقود الأخرى حيث إن مضمون هذا الشرط هو أن البرنامج سوف يعمل بالكفــاءة المطلوبة ، كما انه يلزم المطور بإصلاح البرنامج دون أن يحصل على أي مقابل إذا لم يعمل بالكفــاءة المطلوبة ، وفى العــادة تتراوح مــدة الضمــان من 90 يوم إلى سنــــة و بدايــة هذه المدة من تاريخ تسليـــم البرنامج للعميل و يجب على المطورين  تجنب تقديم وعود بأن برامجهم سوف تعمل إلى أجل غير مسمى حيث إن التطورات التكنولوجيا  التي تحدث بشكـــل مستمر ستجعل من الصعب أن يحدث هذا

هل يوجد هنــاك ضمانات أخرى يجب أن يتضمنها عقد البرمجة؟

حيث يوجد ضمــان بعدم التعدي، بمعنى أن البرمجيات لن تنتهك حقوق المؤلف، أو السر التجاري، أو براءات الاختراع، أو حقوق الملكية الفكرية الأخرى لأي شخص.

ماهي طرق حل المنازعات التي قد تنشأ عن عقد البرمجة؟

من أهــم أحـــكام أي عقد تطوير برمجيــات هو البند المتعلق بطريقــة تسوية المنازعات ويكون في العديد من الأحيــان من المفيــد البعد عن المحــاكم من أجل تسوية النزاع حيث إن ذلك الأمر يكون مكلف في العديد كما أنه يستهلك الكثيـر من الوقت، حيث يوجد العديد من الطرق البديلة من أجل تسوية النزاعات التي قد تنشــأ عن عقد البرمجة مثل الوســـاطة والتحكـــيم.

ما هي طريقة التحكيم من أجل تسوية النزاع الناشئ عن عقد البرمجة؟

التحكيــم هو أن يقوم محكم واحد أو مجموعة من المحكمين في المســائل الموضوعية الخاصــة بالنزاع الناشئ عن عقد البرمجة ويكون هذا الحكــم ملزما لأطراف العقد وتتضمن العديد من العقود بندا يلزم أطراف العقد باللجوء للتحكيم من أجل فض النزاعات التي تنشــأ عن عقد البرمجــة فيجب أن يكون العميل أو المطور واعيا بخطورة هذه الخطوة حيث إنها سوف تؤدى إلى تخليه عن حقه في اللجوء إلى المحكمة من أجل فض النزاع الذي قد ينشــأ بسبب العقد.

ماهي طريقة الوســاطة من أجل تسوية النزاع الناشئ عن عقد البرمجة؟

طريقة الوســاطة هي إحدى الطرق البديلة من أجل حل النزاعات الناشئة عن عقود البرمجة وهي طريقة أرخص من التحكيم وكذلك أقـــل رسميـــة وهي بطبيعتها غير ملزمة حيث يقوم الوسيط بالجلوس مع طرفي النزاع من أجل ويحــاول تقديم رؤية موضوعية لنزاعهما أو أن يقوم بلقــاء أطراف النزاع بشــكل منفصل في محــاولة لحل النزاع وذلك لتجنب أن يكون هنــاك آراء تؤدى الى اشتعال النزاع.

هل يمكن أن يتضمن عقد البرمجة شرطا جزائيا؟

نعم من الممكن أن يتضمن عقد البرمجة شرطــا جزائيا وفي حالة عدم التزام أحد الأطراف بأن يؤدى ما عليه من التزامات تعاقدية منصوص عليها في العقد حيث يلتزم المطور ان يقدم منتج معين للعميل سواء كان موقع إلكتروني أو تطبيق أو تصميم برنامج بمواصفات معينة في وقت معين لذلك في حالة عدم التزام المطور بهذا الميعاد أو بالمواصفات المطلوبة فإن هذا يؤدى الى مطالبة الطرف الثاني (العميل) بقيمة الشرط الجزائي منصوص عليه في العقد.

وفي المقابل إذا لم يلتزم العميل بسداد المستحقات المالية في الوقت المطلوب فإن هذا سيؤدى إلى مطالبة المطور بقيمة الشــرط الجزائي.

ماهي المجالات التي يمكن أن يستخدم فيها عقد البرمجة؟

يحتاج المطورين إلى إبرام عقود برمجة من أجل حفظ حقوقهم سواء كان موضوع العقد هو إنشـــاء موقع إلكتروني أو إنشــاء برنامج عمــل خاص بشــركة ما أو تطوير موقع لشركة أو القيــام بإعمال الصيانة اللازمة لبرامج ومواقع الشــركة.

هل من الممكن أن يتضمن عقد البرمجة بند ينظم مسألة سرية المعلومات؟

قد يطلع المطور على بعض الأسرار الخاصة بالعميل وذلك من أجل تأدية مهمته والتي قد يحـــتاج صاحب العمل إلى حمايتها ولذلك فقد يتضمن عقد البرمجة بند خاص يلزم المطور بعد إفشــاء أية أسرار تجارية أو خاصة بعمل العميل مع ما يترتب على الإخلال بهذا الالتزام من جزاء

ما هي التعريفات الشائعة التي يمكن استخدامها في عقد البرمجة؟

المطــور: هو الشخص المسؤول عن إنشـــاء، أو تحديث أحد المواقع، أو البرامج، أو التطبيقات الإلكترونية ويستخدم في سبيل ذلك رموزا ولغات برمجة من أجل الوصول للشكل المطلوب.

البرنامج: هو مجموعة من الأوامر التي تعطى للحواسيب من أجل تنفيذ أوامر معينة في إطــار زمني معين.

العميل: هو الشخص الذي يكلف المطور بإنشـــاء برنامج أو موقع ذو مواصفات معينـــة على أن يدفع مبلغ مالي لهذا المطور نظيــر ما قام به.

الملكية الفكرية للبرنامج: هي مجموعة من الحقوق التي خولها القانون لصاحب الاختراع مثل الحق في نسخ العمل والحق في إعداد أعمـــال جديدة مشتقة من الأولى أو كذلك الحفى توزيع نسخ من العمل الأصلي أو المشتقــة.

عاشرا: لماذا يجب أن نساعدك في كتابة عقد البرمجة:

إن عقد البرمجة هو عقد ينشأ عنه التزامات على طرفيه و كذلك حقوق لكل طرف قبل الطرف الآخر و يحرص العميل  و كذلك المطور على الحفاظ على ما له من حقوق قبل الأخر الأمر الذى يتطلب إبرام عقد منضبط الصياغة  واضح المعاني كامل البنيان يغطى كافة المسائل القانونية التي يمكن ان تثيرها تنفيذ عقد البرمجة التي تم إبرام العقد بشأنها حيث ان المطور يسعى للحفاظ على ما له ما له من حقوق في منتجاته و العميل يسعى للحصول على المنتج المطلوب بالكفاءة المطلوبة لذلك ننصحك باللجوء الى محام من اجل صياغة هذا العقد بشكل احترافي يكفل لك الأمان و الاطمئنان و الثقة في معاملاتك و تنبيهك بأي مخاطر قد تؤثر على نشاطك في المستقبل.