14

كيف تتم حماية الكود المصدري في لغات البرمجة مفتوحة المصدر ؟

سؤال يجتاحني منذ فترة طويلة .. كيف يستطيع المبرمج حماية برنامجه او فكرته في حال استخدم لغة برمجة مفتوحة المصدر

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

طبعا نفس السؤال على لغات برمجة اخرى و انظمة تشغيل اخرى

هل بمقدور الشخص حماية منتجه ؟


14

واضح من كلامك أنك تقصد الحماية من سرقة المجهود وليس الحماية من اختراقه

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

صديقي Vip_man ردك جميل لكنني أرى أن مثالك لا يناسب السؤال.

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

في البداية قلت : "هل إن أغلقت مصدر البرنامج تضمن عدم سرقة تعبك وجهدك؟" و "إغلاق المصدر لن يحمي منتجك من السرقة لكنه قد يجعلها أصعب قليلاً "

فأجيب : ما رأيك أن تترك باب بيتك مفتوحاً بحجة أن هناك سارقاً قد يأتي ويكسر القفل ؟ هل تضمن إن أغلقت باب البيت عدم سرقته ؟ إذن لا تغلقه .. يمكن للقوانين الموضوعة والإجراءات القانونية المتبعة أن تحميك فلا تقلق ! هذا هو منطق كلامك.

لنعد إلى الكتاب ... الكتاب هو غرض مفتوح المصدر لزاماً ولا يمكنك التحكم بذلك، ولكن هذا لا يعني فتح كل المصادر حتى لو كانت هناك إمكانية لإغلاقها.

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

لعلنا متفقان على أن إغلاق المصدر أكثر أماناً من فتح المصدر من حيث الحماية من سرقة المجهود.

"المبرمج الماهر يستطيع إعادة كتابة أي برنامج دون الاضطلاع على الكود" وهل تقتضي مقدرته على ذلك منحي إياه الكود بالمجان ؟

السؤال أساساً عن سرقة المجهود، وقدرة شخص ما على صناعة منتج شبيه بمنتجي لا يعني أن أعطيه مصنعي بالمجان :)

في النهاية أحب أن أسألك سؤالاً .. هل تتقاضى أجراً لقاء البرمجة (الهاردوير أو السوفتوير) أم أنها مجرد هواية ؟

أخي العزيز أنت أعدت صياغة كلامي فما قلته أنا لا يتعارض مع قلت أنت فهذا ماقلت أنت مع إعادة الصياغة قليلا:

"هل إن أغلقت باب بيتك تضمن عدم سرقة أغراضك؟ إغلاق الباب لن يحمي منزلك من السرقة لكنه قد يجعلها أصعب قليلاً"

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

هناك مصانع تتيح للزوار معرفة كيف تتم صناعة منتجاتها فهل هذا دعوة للسرقة؟

هل تعليم الحرف والمهارات دعوة للسرقة؟

حين يفتح المبرمج مصدر برنامجه فهي إما مشاركة في المجهود أو دعوة للتعاون أو مساهمة علمية

وهذا مايقوم عليه المجتمع العلمي الآن فنشر البحوث والاكتشافات ليس دعوة لسرقتها بل إما دعوة للتعاون أو مشاركة في تحسين مشروع علمي آخر أو مساهمة علمية ليستفيد منها الآخرون

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

بالنسبة لسؤالك فجوابي هو أن البرمجة هي مهنتي فأنا خريج علوم حاسب وقد كتبت العديد من البرامج والمكتبات البرمجية أغلبها مغلق المصدر والقليل منها مفتوح. وأعتقد أن سبب سؤالك هو بأن تسألني لماذا لا أفتح المصدر لجميع ما أبرمجه والجواب هو أن فتح المصدر هو غاية لهدف.

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