انتقل إلى المحتوى

اقتراح ميزة جديدة

نحن دائمًا منفتحون على الاقتراحات والأفكار المتعلقة بالميزات الجديدة أو الوثائق الخاصة بـ BeeWare. ولكن كيف يمكنك تقديم فكرتك للنظر فيها؟

قبل أن تبدأ

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

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

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

اقتراح وظائف جديدة

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

عند اقتراح ميزة جديدة، ضع في اعتبارك أن مجموعة أدوات BeeWare تدعم منصات متعددة. وهذا يعني أن أي ميزة جديدة يجب أن:

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

هذا لا يعني أنك مسؤول عن تنفيذ ميزة على كل منصة. إذا لم يكن لديك إمكانية الوصول إلى أجهزة Apple، فليس من المعقول أن نتوقع منك توفير تنفيذ ميزة على macOS أو iOS. ومع ذلك، كجزء من عملية التصميم، نحتاج إلى التأكد من أنه من الممكن تنفيذ ميزة بالطريقة التي تصفها.

اقتراح وثائق جديدة

شيء آخر قد ترغب في اقتراحه هو تحسين الوثائق. إذا كانت لديك فكرة لتحسين الوثائق الخاصة بـ BeeWare, فإن الاعتبارات تشمل:

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

إذا كنت غير متأكد من أي شيء، فلا تقلق! أرسل فكرتك، وأخبرنا في المناقشة الأولية بما أنت غير متأكد منه، وسنساعدك في صياغة أفكارك في شكل يناسب وثائق BeeWare.

المساهمة باقتراح ميزة

اقتراح ميزة جديدة

لديك فكرة حول تحسين BeeWare - كيف يمكنك تقديم هذه الفكرة للنظر فيها؟

قم ببحثك

الخطوة الأولى هي البحث في متتبع المشكلات BeeWare عن مشكلات الميزات (المشكلات التي تحمل علامة "تحسين"), مشكلات التوثيق (المشكلات التي تحمل علامة "توثيق"), أو مواضيع المناقشة لمعرفة ما إذا كانت الفكرة قد تم اقتراحها من قبل. إذا كان الأمر كذلك، وكان لديك سياق أو أفكار جديدة تود إضافتها، فقم بتضمينها في سلسلة المناقشة الحالية. إذا كنت ترغب في الحصول على مساعدة في بحثك، يمكنك أن تطلبها في قناة #dev على BeeWare Discord. قد نتمكن من توجيهك إلى سلاسل المناقشة الحالية، أو تزويدك بسياق قد لا تكون على دراية به، أو ربط فكرتك بفكرة أخرى قد لا تبدو ذات صلة في البداية.

ناقش الفكرة

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

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

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

من المهم أن تفهم أن ليس كل الأفكار ستُقبل. السبب في أن هذه العملية تبدأ بتقديم اقتراح هو لتجنب بذل كل هذا الجهد، لتكتشف في النهاية أن هناك سببًا لعدم قبول التغيير الذي اقترحته.

هذا لا يعني أنها لم تكن فكرة جيدة! قد تكون هناك أسباب فنية تمنع تنفيذها. على سبيل المثال، قد نرفض فكرة ما إذا:

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

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

تحويل إلى طلب ميزة رسمي

بمجرد أن تصل المناقشة إلى توافق في الآراء حول شكل الميزة، يمكنك إنشاء [مشكلة طلب ميزة] جديدة (https://github.com/beeware/beeware/issues/new/choose) في متتبع المشكلات BeeWare، والتي تلخص المناقشة، مع ربطها بالمناقشة للحصول على السياق.

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