مقالات

من يملك الكود الذي دفعت ثمنه؟

حقوق النشر والمستودع والاستضافة والنطاق وقاعدة البيانات والمفاتيح ستة أشياء منفصلة. ما تطلبونه مكتوبًا لتستطيعوا الرحيل يومًا.

بقلم Atheerium4 دقائق قراءة
  • الملكية
  • العقود
  • برمجيات-مخصّصة
كل المقالات

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

ماذا تمنحكم حقوق النشر فعلًا؟

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

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

ما الذي يجب أن يكون باسمكم؟

الأصل أين يوجد عادةً معنى «باسمكم»
الكود مستودع Git حسابكم، صلاحيات المدير، التاريخ كاملًا
النطاق وDNS مسجّل النطاق دخولكم، وبطاقتكم المسجّلة
التشغيل حساب استضافة أو سحابة حسابكم، والمورّد مستخدم مدعو
البيانات قاعدة البيانات والملفات تصدير استعدتموه مرة واحدة

أضيفوا إلى القائمة: حسابات البريد الآلي، والرسائل القصيرة، وبوابة الدفع، والمراقبة وتتبّع الأخطاء، وشهادات التشفير، وصفحات التطبيق في المتاجر، وحسابات المدير داخل التطبيق نفسه. كل واحد منها باب مختلف للبقاء في الخارج.

لماذا يملك ترتيب «الاستضافة عند المورّد» كل شيء بهدوء؟

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

ويظهر الشكل نفسه في صورة أخفّ: نطاقكم مسجَّل ببطاقتهم، ومستودعكم داخل منظّمتهم، وكلمة سر قاعدة البيانات يعرفها اثنان من موظفيهم ولا يعرفها أحد عندكم. لم يكن أي قرار منها مخادعًا وحده. ومجموعها يعني أن النظام لا ينتقل إلا بموافقة المورّد، وهذا تعريف ورقة الضغط.

ما الذي تطلبونه مكتوبًا؟

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

اطلبوا من محاميكم تحويل القائمة إلى بنود. القائمة هي ما يستطيع الاستوديو مساعدتكم فيه، أما الصياغة فليست من عمله.

لماذا لا يكون خطة الخروج دليلًا على عدم الثقة؟

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

وفيها اختبار عملي. المورّد الذي يرفض وضع المستودع باسمكم، أو لا يستطيع شرح كيف سيجري التسليم، أخبركم بحقيقة العلاقة قبل أن توقّعوا شيئًا.

هل يمكن أن تملكوا الكود وتبقوا عالقين؟

نعم، وهو شائع. ملكية الشيفرة بلا توثيق للبناء، وبلا مسار نشر يستطيع أحد تكراره، وبلا ملفات الإعداد، وبلا ترحيلات قاعدة البيانات، وبلا حسابات الأطراف الثالثة، وبلا شخص واحد نفّذ نشرًا دون مساعدة: تعطيكم ملفًا على قرص.

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

الترتيب الذي يصلح الأمر

  1. اجردوا كل حساب يلمسه النظام، وسجّلوا اسم صاحبه وبطاقته.
  2. انقلوا النطاق وDNS وفواتير الاستضافة إلى الشركة.
  3. احصلوا على وصول المستودع، أو نسخة مرآة بالتاريخ كاملًا، لا ملفًا مضغوطًا للملفات الحالية.
  4. صدّروا البيانات واستعيدوها في بيئة منفصلة، وقيسوا المدة.
  5. اطلبوا من محامٍ صياغة نقل الملكية والترخيص بما يغطي التعديل وتكليف مطوّر آخر.
  6. أرفقوا قائمة الحسابات وواجبات التسليم بالعقد في ملحق.
  7. عند التسليم، أزلوا وصول المورّد وبدّلوا كل سرّ تستطيعون تبديله.

أين يخطئ هذا؟

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

ما لا يغطيه هذا المقال

هذا ليس استشارة قانونية. من يملك ماذا في بلدكم، وكيف يختلف تأليف الموظف عن تأليف المتعاقد، وأي الحقوق الأدبية تبقى بعد النقل، وما تنفّذه المحكمة: أسئلة للمحامي، وأجوبتها تختلف من بلد إلى آخر. ولا يغطي أيضًا هل يستحق الكود ما دفعتموه: الملكية تخبركم من يحق له تغيير النظام، لا هل يعمل، ولا هل كان سعره عادلًا.

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

خدمات في هذا المقال

ابدأ مشروعًا

لديك شيء تريد بناءه؟

ملخص قصير يكفي. تحصل على نطاق مكتوب وسعر ثابت قبل أن يبدأ أي شيء.