تخطَّ إلى المحتوى

المساهمة في Vapor#

إن Vapor مشروع مدفوع من المجتمع، وتشكّل مساهمات أفراد المجتمع قدراً كبيراً من تطوير Vapor. سيساعدك هذا الدليل على فهم عملية المساهمة، ويساعدك على تنفيذ أولى عمليات commit في Vapor!

أي مساهمة تقدّمها مفيدة! حتى الأمور الصغيرة مثل تصحيح الأخطاء المطبعية تُحدِث فرقاً كبيراً لمستخدمي Vapor.

مدونة السلوك#

اعتمد Vapor مدونة سلوك Swift التي يمكن العثور عليها في https://www.swift.org/code-of-conduct/. يُتوقّع من جميع المساهمين اتّباع مدونة السلوك.

بماذا تعمل#

قد يكون معرفة ما الذي ستعمل عليه عقبة كبيرة عندما يتعلق الأمر بالبدء في المصادر المفتوحة! عادةً ما تكون أفضل الأمور للعمل عليها هي المشكلات التي تجدها أو الميزات التي تريدها. ومع ذلك، لدى Vapor بعض الأمور المفيدة لمساعدتك على المساهمة.

المشكلات الأمنية#

إذا اكتشفت مشكلة أمنية وأردت الإبلاغ عنها أو المساعدة في إصلاحها، فمن فضلك لا تفتح مشكلة أو تنشئ طلب سحب. لدينا عملية منفصلة للمشكلات الأمنية لضمان عدم كشف الثغرة إلى أن يتوفّر إصلاح لها. راسلنا عبر البريد الإلكتروني security@vapor.codes أو اطّلع هنا لمزيد من التفاصيل.

المشكلات الصغيرة#

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

ربط مشكلة في GitHub

الميزات الجديدة#

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

لوحات Vapor#

إذا كنت ترغب فقط في المساهمة لكن ليست لديك فكرة عمّا ستعمل عليه، فهذا رائع! لدى Vapor بضع لوحات يمكن أن تساعد. لدى Vapor نحو 40 مستودعاً تُطوَّر بنشاط، والاطّلاع عليها كلها للعثور على شيء للعمل عليه أمر غير عملي، لذا نستخدم اللوحات لتجميعها.

اللوحة الأولى هي لوحة المشكلات الأولى الجيدة. أي مشكلة في منظمة Vapor على GitHub مُوسَمة بـ good first issue ستُضاف إلى اللوحة لتجدها. هذه مشكلات نعتقد أنها ستكون جيدة للأشخاص الجدد نسبياً على Vapor للعمل عليها لأنها لا تتطلب خبرة كبيرة بالشيفرة.

اللوحة الثانية هي لوحة المساعدة المطلوبة. تسحب هذه اللوحة المشكلات المُوسَمة بـ help wanted. هذه مشكلات قد يكون من الجيد إصلاحها لكن الفريق الأساسي لديه حالياً أولويات أخرى. عادةً ما تتطلب هذه المشكلات قدراً أكبر قليلاً من المعرفة إذا لم تكن مُوسَمة أيضاً بـ good first issue، لكنها قد تكون مشاريع ممتعة للعمل عليها!

الترجمات#

المجال الأخير الذي تكون فيه المساهمات ذات قيمة عالية للغاية هو التوثيق. للتوثيق ترجمات لعدة لغات لكن ليست كل صفحة مُترجَمة، وهناك المزيد من اللغات التي نودّ دعمها! إذا كنت مهتماً بالمساهمة بلغات جديدة أو بتحديثات، فاطّلع على ملف README الخاص بالتوثيق أو تواصل معنا في قناة #documentation على Discord.

عملية المساهمة#

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

أولاً، انسخ (fork) مستودع Vapor أو أي مستودع تريد العمل فيه. يمكنك القيام بذلك في واجهة GitHub، ولدى GitHub بعض التوثيق الممتاز حول كيفية القيام بذلك.

يمكنك بعد ذلك إجراء تغييرات في نسختك المنسوخة (fork) باستخدام عملية commit و push المعتادة. وبمجرد أن تكون مستعداً لتقديم إصلاحك، يمكنك إنشاء طلب سحب (PR) على مستودع Vapor. ومرة أخرى، لدى GitHub توثيق ممتاز حول كيفية القيام بذلك.

تقديم طلب سحب#

عند تقديم طلب سحب، هناك عدد من الأمور التي ينبغي أن تتحقق منها:

  • أن تنجح جميع الاختبارات

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

  • توثيق أي واجهات برمجية عامة جديدة. نستخدم DocC لتوثيق واجهاتنا البرمجية.

يستخدم Vapor الأتمتة لتقليل حجم العمل اللازم للعديد من المهام. بالنسبة لطلبات السحب، نستخدم Vapor Bot لإنشاء الإصدارات عند دمج طلب السحب. يُستخدَم نص طلب السحب وعنوانه لإنشاء ملاحظات الإصدار، لذا تأكد من أنهما منطقيان ويغطيان ما تتوقّع رؤيته في ملاحظات الإصدار. لدينا مزيد من التفاصيل في إرشادات المساهمة الخاصة بـ Vapor.

تحرير هذه الصفحة