و عليكم السلام و رحمة الله و بركاته،
للأسف هذه عادة و فهم خاطئ من المبرمجين المبتدئين. قرأت وجهات نظر مبرمجين متكنين نحو هذا الموضوع في موقع Quora لكن لا أتذكر الموضوع للأسف. قبل ما أبدأ، أنا مع آراء من أُعجِبتُ بردودهم.
كيف يبدأ الموضوع كله؟ المبرمج يفتح موقع أو موضوع في منتدى و يطرح قدرته لـ
برمجة أي برمجية يتطلبها العميل. يأتي العميل و يطلب برمجية لفكرة في باله. يتم الاتفاق على مبلغ و وفت و يبدأ المبرمج بالعمل. كل ما يدخل في البرمجية يُعتبر للعميل و لا يحق للمبرمج فرض رأيه بأي طريقة كانت، إما بطريقة عرض شئ معيّن أو تشفير جزء لأنه من بنات أفكاره.
ما قرأته أيضا، و أتفق معاه، أنه لا يحق للمبرمج اجبار العميل بوضع حقوق في كل صفحة ليدل عليه. للأسف هذا الحال مع أغلب المواقع العربية. المبرمج يسطيع طلب ذلك من العميل و لكن العميل من بيده الأمر.
نرجع
. فكرة "أشفّر الملفات" حتى يرجعلي أو لا أخسر كـ منع مكتبة مشتري ما من قراءة كتاب اشتراه خارج نطاق المكتبة حتى تضمن المكتبة إنه لا أحد ينقل من الكتاب أي حرف. أو كمنع الأكل خارج مطعم عشان الوصفة السحرية ما تطلع، أو كمنع خروج جهاز حاسب اشتريته من الخروج من المحل حتى يضمن المحل أنه الوحيد الذي يستطيع صيانته و لن يتم تجاهله في أي رغبات مستقبلية يطلبها العميل، كإضافة رام و غيره.
ما يدفعه العميل له. إلا إذا مثلا كان في الاتفاق من الطرفين على مبدأ الترخيص اللي اتكلم عنه ايناسوفت.
أما مبدأ إغلاق المكتبات، أرى إنه تصرّف بدائي و لا يدل عل فهم لسوق العمل. ما أعني، المبرمج قد يكون لديه كمية كبيرة من المكتبات. وقت دراسة المشروع، عليه أن يقول للعميل: "لديّ مكتبات برمجتها ستسهّل العمل، لكن لأنها من تعبي على مدار السنوات، أستطيع استعمالها و لكن سأقوم بتشفيرها. في هذه الحالة لن أطلب منك السعر الكامل لبرمجة ذاك الجزء و أيضا لن تستطيع تعديله لدى أي جهة خارجية. و لكن إن أحببت، أستطيع كتابة المطلوب بالسعر الكامل و هذا سيؤخر المشروع و لكن سيكون المصدر مفتوح و تستطيع تعديله لاحقا." هنا العميل لديه خيارات، إذا ميزانيته أقل و يحتاج المشروع بأسرع وقت و لا يهمه المصدر، في هذه الحالة قم بالتشفير.
ما أعني في الفقرة السابقة أن العميل يدفع لوقتك، لو كتبت مكتبة قبل مجئ العميل، تستطيع استعمالها و تشفيرها. لكن هذا يطرح سؤال: ما هي المكتبة؟
لا تتوقع المكتبة عبارة عن Class تستخدمه عشان يسهّل التعامل مع قاعدة بيانات و لا تتعدى 200 سطر! المكتبات اللي توفّر الكثير. شئ شبيه بـ "تسهيل التعامل بـ Ajax أو مكتبة لإنشاء API بنظام authentication بدون إضافة سطر واحد في البرمجة!"
أما في حالة "إعادة ترتيب أجزاء من العمل بشكل يؤثر عليه بشكل سلبي" هذا يدخل ضمن (إن الله يحب إذا عمل أحدكم عملا أن يتقنه).
أخي أخليل، إذا سمعت لوجهات النظر، أغلبها وجهات نظر لأشخاص يملأهم الحقد و الحسد و الغيرة. و قلت "ألا يبخل في الكود البرمجي إلا إذا ابتكر كود جديد أو خوارزمية جديدة". دعني أستوقفك هنا للحظة، هل قمت ببرمجة الكود له؟ هل الخوارزمية أتيت بها لحل مشكلة له؟ إذا اتيت بها له، فهي له و ليست لك. بالنسبة للكود الجديد، البرمجية للعميل "كلها أكواد جديدة".
أخي أبو حميد،
في حالة عدم تقاضي الأجر، العقد شريعة المتعاقدين، ليه ما تفسخ العقد و تتركه بدون برمجية؟ شخصيا سأترك العمل و أضعه في القائمة السوداء و ربما أُشهر به بأنه العميل الأسوأ و لا يحترم العقود.
و أيضا موضوع تشفير الأكواد في الشركات، لا أدري إذا المحاضرين لديكم لديهم خبرة في المجال الميداني، لكن في شرط واضح و صريح في عقد التوظيف لأي شركة "ما تفعله في وقتك هنا و يحل مشاكلنا فهو لنا". وقّعت على عقد و هذا كان مكتوب و قرأته أكثر من مرة. و نتيجة الإخلال بالعقد، الفصل المباشر. قد يفعلها البعض في الـ startups لكن مصيره الفصل، و برضه الشركة بتكون مليانة مبرمجين و سيكتبوا الكود مرة أخرى بشكل غير مشفر. الشئ هذا بس بيأخر المشروع.