استراتيجيات التعلم وكتابة التعليمات البرمجية عندما لا يُسمح لي بأن أكون "ملوثًا" بكود مفتوح المصدر؟[مغلق]

StackOverflow https://stackoverflow.com/questions/421975

  •  05-07-2019
  •  | 
  •  

سؤال

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

على سبيل المثال، يتم استخدام عينات الترميز في الكتب "كما هي" إلى حد كبير.يتم استخدام نماذج التعليمات البرمجية لـ Microsoft SDK "كما هي".يتم استخدام منشورات المدونة حول البرمجة "كما هي".هناك العديد من المواقع التي تحتوي على نماذج تعليمات برمجية (بما في ذلك SO) والتي يتم استخدامها على مسؤوليتك الخاصة.لا توجد ضمانات ضمنية أو تعويض ضد دعاوى الملكية الفكرية، بلاه، بلاه، إلخ.

في الأساس، أنا مقيد باستخدام Asp.Net و.Net Framework ولا شيء آخر، وأمنع عيني من التقاط شيء لم أقم بإنشائه عن طريق الخطأ (حسنًا... قد يكون هذا هو تفسيري الشرجي للقاعدة؛ -).

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

من الممكن أنني لا أفهم الترخيص جيدًا أيضًا.من وجهة نظر الشركة (أفترض) أنهم لا يريدون تحمل أي خطر رفع دعوى قضائية ضدهم بسبب انتهاك الملكية الفكرية.

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

هل لدى أي شخص خبرة في العمل في موقف مثل هذا أو ما شابه ذلك؟فهل هذا أمر نادر أم أنه شائع في بعض القطاعات؟هل هناك آخرون في نفس الموقف مثلي هناك؟

سيكون موضع تقدير أي فكرة أو توجيه!شكرًا!

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

في عام 2005، كانت Microsoft تستخدم التعويض للتنافس ضد بائعي المصادر المفتوحة من خلال وعد شركائها بأن Microsoft ستحميهم من الدعاوى القضائية المتعلقة بالملكية الفكرية. http://www.microsoft.com/presspass/press/2005/jun05/06-22PartnerIndemnificationPR.mspx

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

هل كانت مفيدة؟

المحلول

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

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

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

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

نصائح أخرى

إن "خطر التعرض للمقاضاة بسبب انتهاك الملكية الفكرية" ليس في الواقع الطريقة الصحيحة للتفكير في الأمر.هذا ليس شيئًا "خطرًا".

أيضاً

  • لديك ترخيص ويمكنك استخدام المصدر.ليس هناك خطر.لديك الترخيص.لا يمكن أن تكون هناك دعوى قضائية.

أو

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

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

الأشياء التي سمعتها.

  • ماذا لو كان به فيروس؟

  • ماذا لو لم يعمل كما هو معلن؟

  • ماذا لو "تعطل" شيء ما؟من نقاضي؟

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

وهذا يقودنا إلى السبب الحقيقي.[تَلمِيح:إنها ليست "خطر رفع دعوى قضائية".]

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

لا تمتلك معظم المتاجر إدارة تكوينات قوية أو سياسات ضمان الجودة (النوع الذي يمكن أن يقف في المحكمة كأفضل الممارسات).وإلى أن يتم وضع هذه الأشياء في مكانها الصحيح، فإنهم لا يجرؤون على التفكير في تقديم مصدر مفتوح يحتاج حقًا إلى ضمان الجودة وإدارة التكوين.

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

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

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

بشكل عام، ستستخدم المزيد من المجتمعات مثل تجاوز سعة المكدس أو المدونات مقارنة بالمشاريع مفتوحة المصدر.

وأخيرًا بما أن الكود لا يحتوي على ضمانات، فهو على مسؤوليتك الخاصة..حسنًا، هذا هو الحال إذا توصلت إلى الكود بنفسك:على مسؤوليتك الخاصة.

امل ان يساعد...وحظا سعيدا.

من الممكن أنني لا أفهم الترخيص جيدًا أيضًا.من وجهة نظر الشركة (أفترض) أنهم لا يريدون تحمل أي خطر رفع دعوى قضائية ضدهم بسبب انتهاك الملكية الفكرية.

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

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

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

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

إذا كان يعمل لصالح IBM، أليس كذلك؟

ضع في اعتبارك أنه ليس كل المصادر المفتوحة هي GPL.يمكن لشركتك نسخ أي قدر تريده من التعليمات البرمجية المرخصة من BSD.لقد تم تحويل التعليمات البرمجية المرخصة من BSD إلى نظام التشغيل OS X (ربما يكون هذا هو أكبر تصريح لدي اليوم) وإلى حد أقل في نظام التشغيل Windows NT.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top