Jump to content

Grants:Programs/Wikimedia Community Fund/Rapid Fund/Updating ArabicCategoryMaker Bot and supporting API (ID: 23552349)

From Meta, a Wikimedia project coordination wiki
statusFunded
Updating ArabicCategoryMaker Bot and supporting API
request or grant IDG-RF-2508-20021
proposed start date2025-11-01
proposed end date2026-02-28
requested budget (local currency)793528.56 YER
requested budget (USD)3300 USD
amount funded (USD)3300
amount funded (local currency)789608 YER
grant typeIndividual
funding regionMENA
decision fiscal year2025-26
applicantMr. Ibrahem
organization (if applicable)N/A
Review Final Report

Applicant details

[edit]
Main Wikimedia username. (required)

Mr. Ibrahem

Organization

N/A

If you are a group or organization leader, board member, president, executive director, or staff member at any Wikimedia group, affiliate, or Wikimedia Foundation, you are required to self-identify and present all roles. (required)

N/A

Describe all relevant roles with the name of the group or organization and description of the role. (required)

Main proposal

[edit]
1. State the title of your proposal. This will also be the Meta-Wiki page title.

Updating ArabicCategoryMaker Bot and supporting API

2. and 3. Proposed start and end dates for the proposal.

2025-11-01 - 2026-02-28

4. What is your tech project about, and how do you plan to build the product?

Include the following points in your answer:

  • Project goal and problem you solve
  • Product strategy or project roadmap
  • Technical approach (infrastructure, tech stack, key tools and services)
  • Integrations or dependencies (if any)

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

; الهدف

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

;المشكلة

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

# أخطاء في دقة التسميات العربية المقترحة.

# تقادم الكود وصعوبة الصيانة: البنية الحالية قديمة ولا تواكب أحدث الممارسات البرمجية.

# تراكم المشكلات التقنية والأخطاء: وجود أعطال متكررة وصعوبة ضمان الاستقرار.

# تعقيد الكود وقلة التوثيق: ما يعيق مساهمة مطورين آخرين في التطوير.

# مشكلات الأداء والكفاءة: بطء في معالجة التصنيفات وزيادة استهلاك الموارد.

# قيود الاستخدام: عدم توفر آلية (API) تسمح بالاستفادة من وظائفه.

;الحل المقترح

# تجديد وإعادة هيكلة الكود لتبسيط المنطق، تحسين التنظيم، وجعل الكود أكثر قابلية للصيانة وإعادة الاستخدام.

# تحسين آلية عمل الكود لرفع دقة التسميات العربية المقترحة.

# تحسين الأداء والكفاءة من خلال تعزيز استراتيجيات التخزين المؤقت، مراجعة هياكل البيانات، وتقليل العمليات غير الضرورية.

# اعتماد أفضل الممارسات البرمجية الحديثة بما يشمل التوافق مع المعايير، والتوثيق، ومعالجة الأخطاء.

# إنشاء اختبارات شاملة لضمان جودة الكود واستقراره وتقليل مخاطر الأخطاء المستقبلية.

# تطوير واجهة برمجة تطبيقات (API) مستقلة لتمكين الوصول إلى وظائف البوت بشكل مستقل وسهل الاستخدام لكل من المستخدمين والبوتات.

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

; النهج التقني

# البيئة: سيظل البوت يعمل على بيئة Toolforge مع الوصول إلى قواعد البيانات.

# التقنيات: سنسنخدم Python 3.x، وقواعد بيانات MySQL/Wikimedia، وإطار عمل Flask، بالإضافة إلى آليات تخزين مؤقت متقدمة.

# الأدوات والخدمات: استخدام Git لإدارة الكود، وأدوات تسجيل الأخطاء ومراقبة الأداء.

5. What is the expected impact of your project, and how will you measure success?

Include the following points in your answer:

  • Milestones and progress tracking
  • Project impact and success metrics

سيحقق هذا المشروع الأثر الإيجابي التالي على مجتمع ويكيبيديا العربية:

* تحسين جودة ويكيبيديا العربية: من خلال ضمان استمرارية عمل البوت، وتوفير واجهة برمجة التطبيقات (API) للآخرين، سيساهم المشروع في تحسين جودة المحتوى وتسهيل عملية تنظيم المقالات.

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

* تشجيع التعاون والمساهمة المجتمعية: سيؤدي نشر الكود مفتوح المصدر إلى تشجيع المطورين الآخرين على المساهمة في تطوير البوت وتحسينه.

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

; مقاييس النجاح

* الاستقرار والاعتمادية: قياس عدد الأعطال والأخطاء التي يواجهها البوت بعد التحديث.

* الأداء: قياس سرعة معالجة التصنيفات (عدد التصنيفات التي يمكن للبوت إنشاؤها في وحدة زمنية معينة).

* الجودة: قياس دقة التسميات العربية المقترحة (من خلال مراجعة التصنيفات الجديدة المُنشئة).

* الاستخدام: قياس عدد المستخدمين الجدد لواجهة برمجة التطبيقات، وعدد طلباتهم، ونوع استخدامهم.

* المساهمة المجتمعية: قياس عدد المساهمين الجدد في تطوير الكود، وعدد التغييرات التي أجروها.

* قياس رضا المستخدم: استطلاعات لاحقة لقياس رضا المستخدمين عن أداء البوت وواجهة برمجة التطبيقات الجديدة.

6. Who is your target audience, and how have you confirmed there is demand for this project? How did you engage with the Wikimedia community?

Include the following points in your answer:

  • Project demand and target audience description
  • Links to interaction(s) with Wikimedia community
  • Evidence from community consultation such as the [Community Wishlist]

; الجمهور المستهدف

* محررو ومساهمو ويكيبيديا العربية الذين يحتاجون إلى إنشاء تصنيفات منظمة.

* مطورو الأدوات والبوتات الذين يرغبون في استخدام وظائف بوت إنشاء التصنيفات في مشاريعهم وأدواتهم الخاصة.

; التحقق من وجود طلب والتفاعل مع المجتمع

* ساهم البوت في إنشاء أكثر من 700 ألف تصنيف، مما يدل على الحاجة الكبيرة إليه.

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

* أشارك بانتظام طلبات نقل التصنيفات، مما يضمن فهمي لاحتياجات المجتمع، ومشاكل التصنيفات وأخطائها.

* أستمع بانتظام إلى ملاحظات المستخدمين وأشارك في مناقشة تحسينات الكود لتلبية احتياجاتهم.

* نقاشات متعلقة: (1 2 3 4)

; استشارة المجتمع

* نشرت استبيان لجمع آراء مجتمع ويكيبيديا حول أداء البوت واحتياجاتهم، والأخطاء التي يواجهها. أظهرت الردود على الاستبيان دعمًا كبيرًا لجهود التحديث وتحويل البوت إلى مشروع مجتمعي مفتوح المصدر.  [1] نتائج الاستبيان: [2]

7. How will your team predict and manage potential user security and privacy risks, and what risks do you currently see?

Include the following points in your answer:

  • The level of in-house or consulted security and privacy expertise you will have available to you during delivery of this project
  • How your development, testing, and deployment processes mitigate the introduction of unnecessary security or privacy risks

لتخفيف المخاطر المحتملة، سيتبع المشروع عدة إجراءات أبرزها:

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

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

; المخاطر المحتملة

* سوء استخدام واجهة برمجة التطبيقات: سنعمل على وضع قيود على معدل الاستخدام لمنع إساءة الاستخدام، وتوفير آليات للإبلاغ عن أي سلوك غير لائق.

* أخطاء في الكود: سنستخدم اختبارات شاملة لاكتشاف الأخطاء وتصحيحها مبكرًا.

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

8. Who is on your team, and what is your experience?

Include the following points in your answer:

  • Your experience as a developer, relevant past projects
  • Wikimedia SUL (developer), Gerrit, Github, Gitlab or other relevant public account handles
  • Other team members, their roles and expertise

; User:Mr. Ibrahem – قائد المشروع والمطور الرئيسي

* 10 سنوات خبرة في تطوير البرمجيات باستخدام لغة بايثون.

* تطوير وصيانة البوتات في مختلف مشاريع ويكيميديا. (قدم بوتي  أكثر من 56 مليون مساهمة).

* خبرة واسعة في تطوير أدوات تول فورج (أمثلة: [3] و [4] و [5] )

* إدارة قواعد البيانات.

* الحسابات: GitHub: [6] Gerrit: [7] Phabricator: [8]

; مساهمو المجتمع المستقبليون: متطوعون للمساعدة في الاختبارات، التوثيق، والتحسينات، دعم الترجمات، والتصحيحات.

9. How will the project be maintained long-term?

Include the long-term maintenance plan with maintainer(s) in your answer. If you expect the long-term maintenance to incur expenses, please list those and the plan for long-term expense coverage.

سيتم ضمان صيانة المشروع على المدى الطويل من خلال:

* المجتمع كشريك أساسي: سأستمر في قيادة تطوير وصيانة الكود، مع إعطاء الأولوية لآراء المجتمع وملاحظاتهم. سنوفر قنوات تواصل مجتمعية في ويكيبيديا لتسهيل التفاعل وتبادل الأفكار.

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

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

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

* التوثيق المستمر: سيتم تحديث التوثيق بشكل دوري ليعكس التغييرات الجديدة في الكود والواجهة.

10. Under what license will your code be released, and how will you ensure the product is well documented?

Include the following points in your answer:

  • Code license and compatibility with Wikimedia projects
  • Documentation plan

الترخيص: سيصدر الكود بموجب رخصة جنو العمومية (GPL-3.0)، وهو ترخيص متوافق مع مشاريع ويكيميديا ويضمن حرية استخدام الكود وتعديله وتوزيعه.

خطة التوثيق الشاملة:

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

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

* أمثلة وحالات استخدام برمجة التطبيقات API: (توفر أمثلة عملية لكيفية استخدام واجهة برمجة التطبيقات في سيناريوهات مختلفة).

* وثائق مُحدثة بشكل دوري: الحفاظ على تحديث الوثائق وتوافقها مع أحدث إصدارات الكود.

11. Will your project depend on or contribute to third-party tools or services?

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

12. Is there anything else you’d like to share about your project? (optional)

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

Budget

[edit]
13. Upload your budget for this proposal or indicate the link to it. (required)

https://docs.google.com/spreadsheets/d/13LCPpv7kjF_eCAPN7mrKw06EsRaD9QVodg4DLX7ZWgw


14. and 15. What is the amount you are requesting for this proposal? Please provide the amount in your local currency. (required)

793528.56 YER

16. Convert the amount requested into USD using the Oanda converter. This is done only to help you assess the USD equivalent of the requested amount. Your request should be between 500 - 5,000 USD.

3300 USD

We/I have read the Application Privacy Statement, WMF Friendly Space Policy and Universal Code of Conduct.

Yes

Endorsements and Feedback

[edit]

Please add endorsements and feedback to the grant discussion page only. Endorsements added here will be removed automatically.

Community members are invited to share meaningful feedback on the proposal and include reasons why they endorse the proposal. Consider the following:

  • Stating why the proposal is important for the communities involved and why they think the strategies chosen will achieve the results that are expected.
  • Highlighting any aspects they think are particularly well developed: for instance, the strategies and activities proposed, the levels of community engagement, outreach to underrepresented groups, addressing knowledge gaps, partnerships, the overall budget and learning and evaluation section of the proposal, etc.
  • Highlighting if the proposal focuses on any interesting research, learning or innovation, etc. Also if it builds on learning from past proposals developed by the individual or organization, or other Wikimedia communities.
  • Analyzing if the proposal is going to contribute in any way to important developments around specific Wikimedia projects or Movement Strategy.
  • Analysing if the proposal is coherent in terms of the objectives, strategies, budget, and expected results (metrics).

Endorse


This is an automatically generated Meta-Wiki page. The page was copied from Fluxx, the web service of Wikimedia Foundation Funds, where the user has submitted their application. Please do not make any changes to this page because all changes will be removed after the next update. Use the discussion page for your feedback. The page was created by CR-FluxxBot.