المساهمة في Ultralytics مشاريع مفتوحة المصدر
مرحباً بكم! يسعدنا أنكم تفكرون في المساهمة في Ultralytics في مشاريعنا مفتوحة المصدر. فمشاركتك لا تساعد فقط في تحسين جودة مستودعاتنا بل تفيد المجتمع بأكمله. يوفر هذا الدليل إرشادات واضحة وأفضل الممارسات لمساعدتك على البدء.
جدول المحتويات
مدونة قواعد السلوك
لضمان توفير بيئة ترحيبية وشاملة للجميع، يجب على جميع المساهمين الالتزام بمدونة قواعد السلوك الخاصة بنا. فالاحترام واللطف والاحترافية هي أساس مجتمعنا.
المساهمة عبر طلبات السحب
نحن نقدر كثيراً المساهمات في شكل طلبات سحب. لجعل عملية المراجعة سلسة قدر الإمكان، يرجى اتباع الخطوات التالية:
-
فورك المستودع: ابدأ بتفرع مستودع Ultralytics YOLO إلى حسابك على GitHub.
-
إنشاء فرع: أنشئ فرعًا جديدًا في مستودعك المتشعب باسم وصفي واضح يعكس التغييرات التي أجريتها.
-
قم بإجراء تغييراتك: تأكد من التزام الكود الخاص بك بإرشادات نمط المشروع وعدم إدخال أي أخطاء أو تحذيرات جديدة.
-
اختبر تغييراتك: قبل الإرسال، اختبر التغييرات التي أجريتها محليًا للتأكد من أنها تعمل كما هو متوقع ولا تتسبب في أي مشكلات جديدة.
-
التزم بتغييراتك: التزم بتغييراتك برسالة التزام موجزة ووصفية. إذا كانت تغييراتك تتناول مشكلة محددة، فقم بتضمين رقم المشكلة في رسالة الالتزام الخاصة بك.
-
إنشاء طلب سحب: أرسل طلب سحب من مستودعك المتشعب إلى المستودع الرئيسي Ultralytics YOLO . قدِّم شرحًا واضحًا ومفصلاً للتغييرات التي أجريتها وكيف تعمل على تحسين المشروع.
توقيع CLA
قبل أن نتمكن من دمج طلب السحب الخاص بك، يجب عليك التوقيع على اتفاقية ترخيص المساهمين (CLA). تضمن هذه الاتفاقية القانونية أن تكون مساهماتك مرخصة بشكل صحيح، مما يسمح بمواصلة توزيع المشروع بموجب الترخيص AGPL-3.0 .
بعد إرسال طلب السحب الخاص بك، سيرشدك روبوت CLA خلال عملية التوقيع. للتوقيع على CLA، ما عليك سوى إضافة تعليق في طلب العلاقات العامة الخاص بك ينص على:
Googleسلاسل المستندات ذات الطراز -Style Docstrings
عند إضافة دوال أو فئات جديدة، يُرجى تضمين Google-style -style docstrings. توفر هذه السلاسل الوثائقية وثائق واضحة وموحدة تساعد المطورين الآخرين على فهم شفرتك البرمجية والحفاظ عليها.
أمثلة على سلاسل المستندات
يوضح هذا المثال سلسلة مستندات Google-style -style docstring. تأكد من أن كلاً من المدخلات والمخرجات types
دائمًا بين قوسين، على سبيل المثال (bool)
.
def example_function(arg1, arg2=4):
"""
Example function demonstrating Google-style docstrings.
Args:
arg1 (int): The first argument.
arg2 (int): The second argument, with a default value of 4.
Returns:
(bool): True if successful, False otherwise.
Examples:
>>> result = example_function(1, 2) # returns False
"""
if arg1 == arg2:
return True
return False
يتضمن هذا المثال كلاً من سلسلة المستندات Google-style -style وتلميحات النوع للوسائط والإرجاعات، على الرغم من أن استخدام أي منهما بشكل مستقل مقبول أيضًا.
def example_function(arg1: int, arg2: int = 4) -> bool:
"""
Example function demonstrating Google-style docstrings.
Args:
arg1: The first argument.
arg2: The second argument, with a default value of 4.
Returns:
True if successful, False otherwise.
Examples:
>>> result = example_function(1, 2) # returns False
"""
if arg1 == arg2:
return True
return False
بالنسبة للدوال الأصغر أو الأبسط، قد تكون سلسلة المستندات ذات السطر الواحد كافية. يجب أن تستخدم سلسلة المستندات ثلاث علامات اقتباس مزدوجة، وأن تكون جملة كاملة، وأن تبدأ بحرف كبير وتنتهي بنقطة.
اختبارات CI لإجراءات GitHub إجراءات GitHub
يجب أن تجتاز جميع طلبات السحب اختبارات التكامل المستمر (CI) الخاصة بإجراءات GitHub قبل أن يتم دمجها. وتتضمن هذه الاختبارات التنضيد واختبارات الوحدة وغيرها من الفحوصات للتأكد من أن تغييراتك تفي بمعايير جودة المشروع. قم بمراجعة مخرجات التكامل المستمر ومعالجة أي مشاكل تظهر.
الإبلاغ عن الأخطاء
نحن نقدر بشدة تقارير الأخطاء لأنها تساعدنا في الحفاظ على جودة مشاريعنا. عند الإبلاغ عن أي خطأ، يُرجى تقديم الحد الأدنى من الأمثلة القابلة للتكرار - وهومثال بسيط وواضح على التعليمات البرمجية التي تعيد إنتاج المشكلة باستمرار. يسمح لنا ذلك بتحديد المشكلة وحلها بسرعة.
الترخيص
Ultralytics تستخدم رخصة جنو أفيرو العمومية GNU Affero Public Public License v3.0 (AGPL-3.0 ) لمستودعاتها. تعزز هذه الرخصة الانفتاح والشفافية والتحسين التعاوني في تطوير البرمجيات. ويضمن تمتع جميع المستخدمين بحرية استخدام البرمجيات وتعديلها ومشاركتها، مما يعزز مجتمعًا قويًا من التعاون والابتكار.
نحن نشجع جميع المساهمين على التعرف على شروط الترخيص AGPL-3.0 للمساهمة بفعالية وأخلاقية في مجتمع المصدر المفتوح Ultralytics .
الخاتمة
شكرًا لك على اهتمامك بالمساهمة في Ultralytics المشاريع المفتوحة المصدر YOLO . إن مشاركتك ضرورية في تشكيل مستقبل برمجياتنا وبناء مجتمع نابض بالحياة من الابتكار والتعاون. سواء كنت تقوم بتحسين الكود أو الإبلاغ عن الأخطاء أو اقتراح ميزات جديدة، فإن مساهماتك لا تقدر بثمن.
نحن متحمسون لرؤية أفكارك تتحقق ونقدر التزامك بتطوير تقنية الكشف عن الكائنات. لنستمر معاً في النمو والابتكار في هذه الرحلة المثيرة مفتوحة المصدر. ترميز سعيد! 🚀🌟
الأسئلة الشائعة
لماذا يجب أن أساهم في مستودعات Ultralytics YOLO مفتوحة المصدر؟
تعمل المساهمة في مستودعات المصدر المفتوح Ultralytics YOLO على تحسين البرنامج، مما يجعله أكثر قوة وغني بالميزات للمجتمع بأكمله. يمكن أن تتضمن المساهمات تحسينات في التعليمات البرمجية وإصلاحات للأخطاء وتحسينات في التوثيق وتطبيقات الميزات الجديدة. بالإضافة إلى ذلك، تتيح لك المساهمة التعاون مع مطورين وخبراء مهرة آخرين في هذا المجال، مما يعزز مهاراتك وسمعتك. للحصول على تفاصيل حول كيفية البدء، راجع قسم المساهمة عبر طلبات السحب.
كيف يمكنني التوقيع على اتفاقية ترخيص المساهمين (CLA) الخاصة بـ Ultralytics YOLO ؟
للتوقيع على اتفاقية ترخيص المساهمين (CLA)، اتبع التعليمات التي يقدمها روبوت CLA بعد إرسال طلب السحب الخاص بك. تضمن هذه العملية أن مساهماتك مرخصة بشكل صحيح بموجب الترخيص AGPL-3.0 ، مما يحافظ على السلامة القانونية للمشروع مفتوح المصدر. أضف تعليقًا في طلب السحب الخاص بك ينص على:
لمزيد من المعلومات، راجع قسم توقيع CLA.
ما هي سلاسل المستندات Google ، ولماذا هي مطلوبة للمساهمات Ultralytics YOLO ؟
Google-توفر السلاسل المستندية ذات النمط المستندي توثيقًا واضحًا وموجزًا للدوال والفئات، مما يحسن من سهولة قراءة الشيفرة البرمجية وقابلية صيانتها. توضح هذه السلاسل الوثائقية الغرض من الدالة ووسائطها وقيم الإرجاع مع قواعد تنسيق محددة. عند المساهمة في Ultralytics YOLO ، فإن اتباع سلاسل المستندات على غرار Google يضمن أن تكون إضافاتك موثقة بشكل جيد وسهلة الفهم. للحصول على أمثلة وإرشادات، قم بزيارة قسم Google-Style Docstrings.
كيف يمكنني ضمان اجتياز التغييرات التي أجريتها لاختبارات GitHub Actions CI؟
قبل أن يتم دمج طلب السحب الخاص بك، يجب أن يجتاز جميع اختبارات التكامل المستمر (CI) الخاصة بإجراءات GitHub. وتتضمن هذه الاختبارات التنضيد، واختبارات الوحدة، واختبارات الوحدة، واختبارات أخرى للتأكد من أن الشيفرة تفي بما يلي
معايير جودة المشروع. راجع مخرجات CI وأصلح أي مشاكل. للحصول على معلومات مفصّلة حول عملية CI ونصائح حول استكشاف الأخطاء وإصلاحها، راجع قسم اختبارات CI لإجراءات GitHub CI.
كيف يمكنني الإبلاغ عن خطأ في مستودعات Ultralytics YOLO ؟
للإبلاغ عن خطأ ما، قدم مثالًا واضحًا وموجزًا للحد الأدنى من الأمثلة القابلة للتكرار مع تقرير الخطأ الخاص بك. يساعد ذلك المطورين على تحديد المشكلة وإصلاحها بسرعة. تأكد من أن المثال الخاص بك هو الحد الأدنى ولكنه كافٍ لتكرار المشكلة. لمزيد من الخطوات التفصيلية حول الإبلاغ عن الأخطاء، راجع قسم الإبلاغ عن الأخطاء.