ملخص

مكتمل

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

كيف يتم بناء البرامج الحديثة

لقد تعلمت أن التطبيقات المعاصرة يتم تجميعها من المكونات بدلا من إنشاؤها بالكامل من البداية:

  • تكوين المكون: تتكون التطبيقات الحديثة من ما يقرب من 80% مكونا موجودا يتم الاحتفاظ بها خارج المشروع ، مع وجود 20% فقط عبارة عن رمز منطقي أصلي للأعمال.
  • المصدر المفتوح مقابل المصدر المغلق: توفر المكونات مفتوحة المصدر شفرة المصدر المتاحة للجمهور والتي يمكن لأي شخص فحصها وتعديلها وتوزيعها ، بينما توزع المكونات المغلقة المصدر الثنائيات فقط دون الوصول إلى المصدر.
  • النظم البيئية للحزمة: يتم توزيع المكونات من خلال مديري الحزم مثل npm و PyPI و NuGet و Maven Central ، والتي تعمل على أتمتة إدارة التبعية.
  • فوائد التطوير القائم على المكونات: تؤدي إعادة استخدام المكونات التي أثبتت جدواها إلى تسريع التطوير ، وتحسين الجودة من خلال فحص المجتمع ، وتقليل التكاليف عن طريق تجنب رسوم الترخيص ، وتوفير الوصول إلى الابتكارات المتطورة.
  • سرعة التطوير: يؤدي استخدام المكونات مفتوحة المصدر إلى تقليل الوقت اللازم للتسويق بشكل كبير من خلال السماح للفرق بالتركيز على قيمة الأعمال الفريدة بدلا من إعادة بناء البنية التحتية المشتركة.

مخاوف الشركات بشأن البرامج مفتوحة المصدر

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

المخاوف الأمنية:

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

مخاوف الجودة والموثوقية:

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

المخاوف القانونية والترخيص:

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

الشواغل التشغيلية:

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

ما هي البرامج مفتوحة المصدر

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

  • تعريف: البرامج التي تكون شفرة المصدر الخاصة بها متاحة للجمهور للفحص والتعديل والتوزيع، مع مراعاة ترخيص مفتوح المصدر.
  • التطوير التعاوني: تشمل المشاريع مفتوحة المصدر مساهمين موزعين في جميع أنحاء العالم يشاركون طوعا ، مع حدوث التطوير بشفافية في المستودعات العامة.
  • التبني على نطاق واسع: تستخدم أكثر من 90% من الشركات برامج مفتوحة المصدر في الإنتاج ، وتعمل التقنيات مفتوحة المصدر على تشغيل البنية التحتية للإنترنت والأنظمة الأساسية السحابية والأجهزة المحمولة.
  • تحول مايكروسوفت: تحولت Microsoft من النظر إلى المصدر المفتوح على أنه تهديد إلى احتضانه بشكل شامل ، و.NET مفتوح المصدر ، والمساهمة في Linux و Kubernetes ، وإنشاء أدوات مفتوحة المصدر شائعة مثل Visual Studio Code و TypeScript.
  • الأساس المنطقي الاستراتيجي: تختار المؤسسات المصدر المفتوح لتوفير التكاليف والمرونة والتحكم والشفافية والأمان من خلال فحص التعليمات البرمجية وتجنب قفل البائع ودعم المجتمع والوصول المبكر إلى الابتكارات.

أساسيات ترخيص المصدر المفتوح

لقد استكشفت كيف تحكم التراخيص مفتوحة المصدر استخدام البرامج:

الغرض من الترخيص:

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

معايير تعريف المصدر المفتوح:

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

فئات الترخيص:

  • التراخيص المتساهلة: السماح بدمج التعليمات البرمجية في البرامج الاحتكارية مع الحد الأدنى من القيود (MIT و Apache 2.0 و BSD).
  • تراخيص الحقوق المتروكة: تتطلب الأعمال المشتقة لاستخدام نفس الترخيص ، مما يضمن بقاء البرنامج مفتوح المصدر (GPL ، AGPL).
  • تراخيص الحقوق المتروكة الضعيفة: تتطلب تعديلات مفتوحة المصدر على المكون ولكن تسمح بالاستخدام الاحتكاري (LGPL ، MPL).

التراخيص مفتوحة المصدر الشائعة

لقد فحصت التراخيص الشائعة وخصائصها الرئيسية:

التراخيص المتساهلة:

  • ترخيص معهد ماساتشوستس للتكنولوجيا: أبسط ترخيص متساهل يتطلب الإسناد فقط ، وزيادة التبني والاستخدام التجاري.
  • ترخيص Apache 2.0: ترخيص متساهل مع منح براءات اختراع صريحة وإنهاء دفاعي ، مما يوفر وضوح براءة الاختراع.
  • تراخيص BSD: على غرار معهد ماساتشوستس للتكنولوجيا ، مع إضافة BSD المكون من 3 بنود قيود استخدام الاسم لحماية العلامات التجارية.

تراخيص الحقوق المتروكة القوية:

  • GPL v2 و v3: تتطلب أن تكون الأعمال المشتقة مرخصة من GPL وتوزيع شفرة المصدر مع الثنائيات. يضيف GPL v3 حماية براءات الاختراع وتحسينات التوافق الدولي.
  • AGPL: يوسع GPL v3 مع توفير استخدام الشبكة الذي يتطلب الكشف عن المصدر لعروض SaaS.

تراخيص الحقوق المتروكة الضعيفة:

  • LGPL: يسمح بالارتباط بالمكتبات من التطبيقات الاحتكارية مع طلب إجراء تعديلات على المكتبة نفسها لتكون مفتوحة المصدر.
  • MPL 2.0: يوفر الحقوق المتروكة على مستوى الملف، مما يتطلب الكشف عن المصدر فقط للملفات المرخصة من MPL، وليس التعليمات البرمجية الخاصة في نفس التطبيق.

توافق الترخيص:

  • المجموعات المتوافقة: معهد ماساتشوستس للتكنولوجيا + أباتشي 2.0 ، معهد ماساتشوستس للتكنولوجيا + GPL v3 ، أباتشي 2.0 + GPL v3 ، LGPL + GPL.
  • مجموعات غير متوافقة: GPL v2 + Apache 2.0 ، GPL + الملكية ، تراخيص الحقوق المتروكة المختلفة مجتمعة.

الآثار المترتبة على الترخيص وتصنيفات المخاطر

لقد تعلمت كيفية تقييم مخاطر الترخيص وتنفيذ الامتثال:

إطار عمل مخاطر الترخيص:

  • مخاطر منخفضة (خضراء): التراخيص المتساهلة مثل MIT و BSD و Apache 2.0 آمنة لأي استخدام تجاري.
  • خطر متوسط (أصفر): تسمح تراخيص الحقوق المتروكة الضعيفة مثل LGPL و MPL بالاستخدام الاحتكاري مع قيود على التعديلات.
  • مخاطر عالية (أحمر): التراخيص المتروكة القوية مثل GPL و AGPL غير متوافقة مع توزيع البرامج الاحتكارية.
  • خطر غير معروف (برتقالي): تتطلب التراخيص المخصصة أو غير الواضحة مراجعة قانونية قبل الاستخدام.

الآثار المترتبة على البرمجيات التجارية:

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

اعتبارات الملكية الفكرية:

  • حماية الملكية الفكرية: تحافظ التراخيص المتساهلة على رمز الملكية. تتطلب تراخيص الحقوق المتروكة الإفصاح.
  • أحكام براءات الاختراع: يتضمن Apache 2.0 و GPL v3 منح براءات اختراع صريحة. تفتقر MIT / BSD إلى وضوح براءات الاختراع.
  • فقدان الأسرار التجارية: الكشف عن شفرة المصدر يلغي حماية الأسرار التجارية.

تنفيذ الامتثال:

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

أمن سلسلة توريد البرمجيات:

  • فحص الثغرات الأمنية: افحص التبعيات باستمرار بحثا عن الثغرات الأمنية المعروفة باستخدام أدوات مثل Snyk أو Dependabot أو WhiteSource.
  • التخفيف من هجمات سلسلة التوريد: تحقق من توقيعات الحزمة، وتفضيل المصادر ذات السمعة الطيبة، واستخدم السجلات الخاصة، وقم بتثبيت إصدارات التبعية.
  • تقييم الجودة: تقييم حالة الصيانة وحجم المجتمع وجودة التوثيق وممارسات الأمان.

السياسات التنظيمية:

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

النقاط الموجزة الأساسية

أثناء تنفيذ برامج مفتوحة المصدر في مؤسستك ، تذكر هذه المبادئ الأساسية:

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

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

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

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

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

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

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

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

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

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

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

معرفة المزيد