في المقال السابق بنينا طريقة التوظيف نفسها: إعلان واضح، ومسار بمراحل، وفرز ببطاقة تقييم، وبيانات متقدمين تحفظ وتتلف بحسب نظام حماية البيانات الشخصية. والآن نأتي إلى الأداة، والسؤال الذي يطرحه أغلب الفرق التقنية: هل نستضيف نظاماً مفتوح المصدر على سيرفرنا، أم نشترك في خدمة جاهزة؟ والإجابة لا تتعلق بالسعر وحده، فالعربية واتجاهها، وتحويل المرشح إلى موظف، ومن سوف يحدث النظام بعد سنة، كلها تغير القرار.
المواضيع في السلسلة:
- نظام تتبع المتقدمين ATS: من إعلان الوظيفة إلى العرض
- أدوات التوظيف مفتوحة المصدر ATS: مقارنة عملية (الموضوع الحالي)
- نظام توظيف على سيرفرك مع Frappe HR: تجربة كاملة
وفي هذا المقال سوف نتناول:
- أنواع أدوات التوظيف الأربعة، ولماذا نبدأ بالسؤال عن النوع قبل اسم الأداة.
- أربعة أنظمة مفتوحة المصدر شغلناها في Docker: OpenCATS وOrangeHRM وFrappe HR وOdoo Recruitment، بنقاط القوة ونقاط الضعف لكل منها.
- أداة لمطابقة السير الذاتية Resume Matcher، وما الذي تقدمه فعلاً.
- اختبار صفحة الوظائف بنص عربي في كل نظام.
- الخدمات التجارية Greenhouse وLever وWorkable وZoho Recruit بأسعارها كما ظهرت في 23 أكتوبر 2026.
- جدول مقارنة، ثم من يختار ماذا.
والدليل العملي للأداة التي وصلنا إليها تجده هنا:
دليلنظام توظيف على سيرفرك مع Frappe HR: تجربة كاملةنبني Frappe HR في Docker ونمر بالتوظيف كاملاً مع ثلاثة متقدمين، ونختبر الفرز الآلي على سير ذاتية عربية وإنجليزية.
دليلOdoo Community: نظام ERP لشركتك على سيرفرككيف تثبت Odoo Community على سيرفرك، وتمر بدورة بيع كاملة حتى الدفع، وترسل فاتورة إلى بيئة الاختبار في منصة فاتورة.أربعة أنواع من الأدوات
عندما تبحث عن «ATS مفتوح المصدر» سوف تجد أسماء كثيرة تحت نفس الكلمة، وهي في الحقيقة أنواع مختلفة تحل مشكلات مختلفة، والصورة التالية تقسمها:

والسؤال الأول الذي يحسم أغلب الاختيار: هل تريد نظاماً للتوظيف فقط، أم نظاماً يتابع الموظف بعد التعيين أيضاً في الإجازات والرواتب والتقييم؟ فإذا كانت شركتك تستخدم نظام ERP أو تخطط لنظام موارد بشرية، فوحدة التوظيف فيه تحول المرشح المقبول إلى ملف موظف دون نقل بيانات، وهذا أوفر من ربط نظامين. وقد شرحنا موقع هذه الأنظمة في مقال ERP وCRM ومقال الأنظمة التي يحتاجها كل قسم.
كيف قارنا؟
شغلنا الأنظمة الأربعة في Docker على نفس الجهاز، وفي كل نظام أنشأنا وظيفة «مطور Backend» بوصف عربي فيه كلمات إنجليزية مثل API وPython وPostgreSQL، ونشرناها في صفحة الوظائف العامة، ثم فتحنا الصفحة في متصفح لغته العربية. والمعايير التي نقارن بها:
- الترخيص License: هل الكود مفتوح فعلاً، وهل هناك نسخة مدفوعة تحجز ميزات مهمة.
- الصيانة Maintenance: تاريخ آخر إصدار وآخر تحديث للكود، لأن نظاماً فيه بيانات شخصية ولا يحدث هو خطر قبل أن يكون أداة.
- صفحة الوظائف Careers Page: هل يوجد نموذج تقديم عام يرفع فيه المتقدم سيرته دون حساب.
- العربية واتجاه النص RTL: في الواجهة وفي صفحة الوظائف التي يراها المتقدم.
- الاستضافة Hosting: ماذا يحتاج التشغيل، وهل توجد Docker Image رسمية.
والإصدارات التي اختبرناها في 23 أكتوبر 2026 مسجلة في نهاية المقال وفي جدول المقارنة.
OpenCATS: نظام توظيف مخصص فقط
OpenCATS نظام لتتبع المتقدمين مكتوب بلغة PHP مع قاعدة بيانات MySQL أو MariaDB، بدأ كمشروع CATS قديماً ثم استمر كمشروع مجتمعي، ويتعامل مع الوظائف Job Orders والمرشحين والشركات وجهات الاتصال، ولذلك يناسب وكالات التوظيف التي توظف لعملائها. وصدر الإصدار 0.12.0 في 22 أكتوبر 2026 بواجهة جديدة مبنية على Bootstrap 5.3، وأعاد فرض تغيير كلمة مرور المدير الافتراضية، وأضاف تحققاً CAPTCHA لبوابة الوظائف. والترخيص بحسب ملف الترخيص مزدوج: كود OpenCATS تحت MPL 2.0، والكود الأصلي من مشروع CATS تحت CATS Public License 1.1a وهي نسخة معدلة من رخصة Mozilla.
ولاحظ أن المشروع لا ينشر Docker Image جاهزة للإنتاج، فملف Docker في المستودع مخصص للتطوير، لذلك شغلناه من ملف الإصدار على Docker Image الرسمية php:8.4-apache مع MariaDB، واحتاج التثبيت إلى المرور بمعالج التثبيت Installation Wizard. ووجدنا أن صفحة الوظائف العامة معطلة افتراضياً، فهي ترد بصفحة فارغة فيها تعليق Job Board Disabled حتى تفعلها من إعدادات Career Portal. وبعد تفعيلها ظهرت الوظيفة كما يلي:

- نقاط القوة: نظام مخصص للتوظيف فقط وخفيف، وفيه بوابة وظائف وتصدير وتقارير، ونشاط التطوير عاد في 2026 بعدة إصدارات متتالية.
- نقاط الضعف: لا يحتوي الكود على أي نظام ترجمة، فالواجهة إنجليزية فقط، والصفحة العامة تعرض العربية من اليسار إلى اليمين فتنتقل علامات الترقيم إلى غير مكانها. ولا يوجد تحويل المرشح إلى موظف لأنه ليس نظام موارد بشرية، وفهرسة السير الذاتية تحتاج برامج خارجية مثل pdftotext وantiword تضيفها بنفسك.
php:8.4-apache ظهرت رسائل Deprecated من PHP داخل صفحات النظام، وهي تكشف مسارات الملفات على السيرفر. فإذا شغلته بهذه الطريقة فانسخ ملف php.ini-production الموجود داخل الـ Image إلى php.ini قبل أن تنشر النظام.OrangeHRM Starter: نظام موارد بشرية بوحدة توظيف بسيطة
OrangeHRM Starter هو النسخة مفتوحة المصدر من OrangeHRM تحت ترخيص GPL-3.0، وهو نظام موارد بشرية فيه وحدات للموظفين والإجازات والحضور والأداء، والتوظيف Recruitment وحدة منها. وآخر إصدار هو 5.9 في 28 يونيو 2026، ولم يتغير الفرع الرئيسي في المستودع بعده حتى يوم الاختبار. والشركة تنشر Docker Image رسمية، وثبتناه بالمثبت من سطر الأوامر installer/cli_install.php الذي يقرأ ملف إعداد ثم يحذفه لأنه يحتوي كلمة مرور قاعدة البيانات.
ووحدة التوظيف فيها الوظائف الشاغرة Vacancies والمرشحين ومراحل ثابتة من التقديم إلى التعيين، وعند نشر الوظيفة تظهر في صفحة عامة على المسار /web/index.php/recruitmentApply/jobs.html مع نموذج تقديم. وطلبنا قائمة اللغات المفعلة من الـ API الخاصة بالنظام فكانت ثماني لغات: الإنجليزية والصينية بنوعيها والهولندية والفرنسية والألمانية والإسبانية بنوعيها، أما العربية فموجودة في قائمة اللغات التي يمكن إضافتها، ولكن ترجمتها تبدأ فارغة وتكتبها أنت. وهذه صفحة الوظائف بنفس الوصف العربي:

- نقاط القوة: نظام موارد بشرية كامل بترخيص مفتوح، وDocker Image رسمية، ومثبت من سطر الأوامر يسهل التشغيل الآلي، ووحدة توظيف تكفي لشركة توظف عدداً قليلاً.
- نقاط الضعف: لا توجد ترجمة عربية جاهزة ولا اتجاه RTL في الصفحة العامة، والمراحل ثابتة ولا تضيف لها بطاقة تقييم بالمهارات، وآخر إصدار قبل أربعة أشهر من الاختبار.
Frappe HR: وحدة توظيف كاملة داخل ERPNext
Frappe HR، واسم مستودعه hrms، نظام موارد بشرية ورواتب مبني على إطار Frappe ويعمل مع ERPNext، وترخيص المستودع بحسب ملف الترخيص هو GPL-3.0. وهو أكثر الأنظمة الأربعة نشاطاً، فقد صدر الإصدار 16.52.0 في 22 أكتوبر 2026، وقبله بأسبوع الإصدار 16.51.0، مع إصدارات موازية لفرع 15.
ووحدة التوظيف فيه أكمل ما رأينا في الأنظمة المفتوحة: طلب توظيف Job Requisition وخطة توظيف Staffing Plan، ووظيفة شاغرة Job Opening تنشر في صفحة /jobs مع نطاق الراتب ونموذج تقديم يرفع فيه المتقدم سيرته دون حساب، ومقابلات Interview بأنواع لكل نوع مهارات متوقعة، وبطاقة تقييم Interview Feedback يقيم فيها المقيم كل مهارة بالنجوم، ثم عرض عمل Job Offer يطبع PDF، ثم زر لإنشاء ملف الموظف من المرشح المقبول. وعندما فتحنا صفحة الوظيفة بمتصفح لغته العربية ظهرت الواجهة مترجمة ومن اليمين إلى اليسار:

- نقاط القوة: مسار توظيف كامل من الاحتياج إلى الموظف، وبطاقات تقييم بالمهارات، وترجمة عربية واتجاه RTL في الواجهة الداخلية والصفحة العامة وملف PDF لعرض العمل، وتحديثات أسبوعية.
- نقاط الضعف: ثقيل، فهو تسع Containers ويحتاج ERPNext كاملاً حتى لو أردت التوظيف فقط، ولا توجد Docker Image رسمية تحتوي HRMS فتبنيها بنفسك. وفي الترجمة العربية أخطاء واضحة، والصفحة العامة تظهر بالإنجليزية ومن اليسار إلى اليمين لمن متصفحه بالإنجليزية، وحالات المتقدم ثابتة في ست قيم.
Odoo Recruitment: الأقرب لمن يستخدم Odoo أصلاً
تطبيق Odoo Recruitment جزء من Odoo، والنسخة المجتمعية Community تحت ترخيص LGPL-3.0 كما في ملف الترخيص، وآخر تحديث لفرع 20.0 في المستودع كان في 24 أكتوبر 2026. وشغلنا Docker Image الرسمية odoo:20.0-20261015، فوجدنا فيها ست وحدات للتوظيف، منها hr_recruitment وwebsite_hr_recruitment لصفحة الوظائف وhr_recruitment_survey لنماذج المقابلة Interview Forms. وعند تحميل العربية جاءت مراحل التوظيف الافتراضية مترجمة: جديد، والتأهيل، والمقابلة الأولى، والمقابلة الثانية، ومقترح العقد، وتم توقيع العقد، والمراحل في Odoo قابلة للتعديل والإضافة كما في توثيق التوظيف.
وأما الفرق بين Community وEnterprise في التوظيف، فقد وجدنا في الإعدادات خيار Send CV to OCR to fill applications، ولكن الوحدة التي يثبتها hr_recruitment_extract غير موجودة في الـ Image المجتمعية، فاستخراج بيانات المتقدم من سيرته آلياً من Enterprise، ويستهلك رصيداً مدفوعاً بحسب التوثيق. وهذه صفحة الوظائف في نسختنا:

- نقاط القوة: مراحل قابلة للتعديل، وصفحة وظائف ضمن موقع Odoo، وعربية واتجاه صحيحان، وتحويل المرشح إلى موظف في نفس النظام، ومجتمع كبير وتحديث مستمر.
- نقاط الضعف: بعض الميزات مثل قراءة السير آلياً في Enterprise فقط، وبعض النصوص الافتراضية تبقى بالإنجليزية حتى تعدلها، وإذا لم تكن تستخدم Odoo أصلاً فأنت تشغل نظام ERP كاملاً من أجل التوظيف.
Resume Matcher: أداة للمرشح وليست نظام توظيف
قد تجد Resume Matcher في نتائج البحث عن مطابقة السير، وهو مشروع نشط تحت ترخيص Apache-2.0 وآخر إصداراته 1.4.0 في 21 أكتوبر 2026. ولكن لاحظ أنه مصمم للمرشح نفسه: يرفع سيرته ويضع إعلان الوظيفة، فيعدل له السيرة ويكتب خطاب التقديم بنموذج لغوي LLM يختاره، سواء خدمة خارجية أو نموذج محلي عبر Ollama. وعند تشغيله دون نموذج لغوي فشل تحليل السيرة المرفوعة، وبقي يعمل فحص واحد لا يحتاج النموذج، وهو فحص قابلية القراءة ATS Check الذي يستخرج النص من PDF. وجربناه على سيرة عربية فأعطاها 100 من 100، مع أن النص المستخرج كان معكوس الترتيب بأشكال الحروف المنفصلة، وفشل في إيجاد أقسام الخبرات والتعليم والمهارات لأن عناوينها عربية:
cv-noura-ar overall 100 section_headings: fail missing: experience, education, skills
ﺪﻤﺣألا ةرﻮﻧ | [email protected] · 0500000001 · ضﺎﻳﺮﻟا · تﺎﻴﻔﻠﺧ ةرﻮﻄﻣ
cv-omar-en overall 100 section_headings: pass
Omar Khaled | Backend Developer · Jeddah · [email protected] · 0500000002والسطر الثاني في المخرج هو «نورة الأحمد، مطورة خلفيات، الرياض» كما قرأته الأداة. لذلك لا تعتمد على درجة هذه الأدوات مع السير العربية، وفي المختبر بنينا مقياساً بسيطاً للكلمات ورأينا بالأرقام أين يخطئ ولماذا.
اختبار العربية: ملخص
نفس الوظيفة بنفس الوصف العربي في الأنظمة الأربعة، والجدول التالي ما رأيناه في صفحة الوظائف العامة وفي واجهة الإدارة:
| النظام | ترجمة الواجهة | اتجاه الصفحة العامة | ملاحظة |
|---|---|---|---|
| OpenCATS 0.12.0 | لا يوجد نظام ترجمة | من اليسار إلى اليمين | النص العربي يحفظ ويعرض، وعلامات الترقيم في غير مكانها |
| OrangeHRM 5.9 | العربية ليست ضمن اللغات المترجمة | من اليسار إلى اليمين | تضيف العربية وتترجمها بنفسك |
| Frappe HR 16.52.0 | مترجمة مع أخطاء | من اليمين إلى اليسار لمن متصفحه عربي | عرض العمل PDF بالعربية صحيح |
| Odoo 20.0 Community | مترجمة في أغلبها | من اليمين إلى اليسار | بعض نصوص القالب الافتراضي بالإنجليزية |
الخدمات التجارية SaaS
إذا كنت لا تريد إدارة سيرفر، فهذه أشهر الخدمات وأسعارها كما ظهرت في صفحاتها الرسمية في 23 أكتوبر 2026، وتذكر أن بيانات المتقدمين عندها تخرج إلى مزود خارجي، وهذا يحتاج دراسة في ضوء نظام حماية البيانات الشخصية كما شرحنا في المقال السابق:
| الخدمة | السعر (أكتوبر 2026) | ملاحظة |
|---|---|---|
| Greenhouse | غير منشور، بعرض سعر بحسب الخطة Core أو Plus أو Pro وحجم التوظيف | مبني على المقابلة المنظمة وبطاقات التقييم |
| Lever | غير منشور، عند الطلب، ويتغير بحجم الفريق | يجمع ATS مع إدارة العلاقة مع المرشحين Candidate CRM |
| Workable | Standard بسعر 299 دولاراً شهرياً، وPremier بسعر 599 دولاراً شهرياً بالدفع السنوي، لشريحة 1 إلى 20 موظفاً | أسعار منشورة وتجربة مجانية 15 يوماً |
| Zoho Recruit | خطة مجانية لوظيفة نشطة واحدة، وStandard بسعر 88 ريالاً لكل جهة توظيف Recruiter شهرياً بالدفع السنوي (110 ريالات بالدفع الشهري)، وEnterprise بسعر 175 ريالاً (219 بالدفع الشهري)، والضريبة إضافية | الصفحة عرضت الأسعار بالريال لزائر من المملكة |
وأما Odoo فلمن لا يريد الاستضافة خطة One App Free على Odoo Online تعطي تطبيقاً واحداً بعدد مستخدمين غير محدود، فإذا كان التوظيف هو التطبيق الوحيد فهو مجاني، وأي تطبيق ثان ينقلك إلى خطة Standard التي عرضت صفحة الأسعار سعرها بين 16.90 و21.10 دولاراً للمستخدم شهرياً بحسب طريقة الدفع.
جدول المقارنة
| الأداة | الترخيص | آخر إصدار | صفحة وظائف ونموذج تقديم | بطاقة تقييم بالمهارات | المرشح إلى موظف | التشغيل في Docker |
|---|---|---|---|---|---|---|
| OpenCATS | MPL 2.0 وCATS Public License | 0.12.0 في 22 أكتوبر 2026 | نعم، معطلة افتراضياً | لا | لا | لا توجد Image رسمية للإنتاج |
| OrangeHRM Starter | GPL-3.0 | 5.9 في 28 يونيو 2026 | نعم | لا | نعم | Image رسمية وقاعدة بيانات |
| Frappe HR | GPL-3.0 | 16.52.0 في 22 أكتوبر 2026 | نعم | نعم | نعم | تبني الـ Image بنفسك، تسع Containers |
| Odoo Recruitment Community | LGPL-3.0 | فرع 20.0، Image بتاريخ 15 أكتوبر 2026 | نعم | نماذج المقابلة Interview Forms | نعم | Image رسمية وPostgreSQL |
| Resume Matcher | Apache-2.0 | 1.4.0 في 21 أكتوبر 2026 | لا، أداة للمرشح | لا | لا | Image رسمية، وتحتاج نموذجاً لغوياً |
من يختار ماذا؟
- شركة تستخدم Odoo أو تخطط له: فعل Recruitment فيه، والسبب أن الموظف والعقد والراتب في نفس النظام، والعربية جيدة.
- شركة تقنية تريد مسار توظيف كاملاً ببطاقات تقييم وعربية، ولديها من يدير السيرفر: Frappe HR، مع العلم أنك تشغل ERPNext معه، وتراجع الترجمة العربية في الصفحات التي يراها المتقدم.
- شركة صغيرة تريد نظام موارد بشرية بسيطاً والواجهة الإنجليزية لا تزعجها: OrangeHRM Starter.
- وكالة توظيف تدير وظائف لعدة عملاء: OpenCATS، لأن نموذجه مبني على الشركات وجهات الاتصال، مع ملاحظة غياب العربية.
- فريق يوظف باستمرار ولا يريد إدارة سيرفر: خدمة تجارية، وابدأ بمن ينشر أسعاره مثل Workable أو Zoho Recruit لتقارن قبل أن تطلب عرض سعر من Greenhouse أو Lever.
- شركة توظف أقل من خمسة أشخاص في السنة: لا تحتاج أياً منها، فجدول بيانات ونموذج تقديم وبطاقة تقييم مكتوبة تكفي.
الخلاصة
وصلنا لنهاية الموضوع، وأهم ما فيه:
- اسأل أولاً عن النوع: نظام توظيف فقط، أم وحدة توظيف داخل نظام موارد بشرية أو ERP، أم خدمة سحابية.
- Frappe HR أكمل الأنظمة المفتوحة في مسار التوظيف وبطاقات التقييم والعربية، وأثقلها في التشغيل.
- Odoo Community يعطي مراحل قابلة للتعديل وعربية جيدة، وقراءة السير آلياً في Enterprise فقط.
- OrangeHRM وOpenCATS يعرضان النص العربي من اليسار إلى اليمين في صفحة الوظائف، ولا يحتويان ترجمة عربية جاهزة.
- Resume Matcher أداة للمرشح، وفحصه أعطى سيرة عربية مقروءة بالمقلوب درجة كاملة.
- الخدمات التجارية بين أسعار منشورة مثل Workable وZoho Recruit وأسعار بعرض سعر مثل Greenhouse وLever.
وفي المقال القادم بإذن الله سوف نبني Frappe HR على سيرفرنا ونمر بالمسار كاملاً مع ثلاثة متقدمين. وأقرب المقالات إلى هذا الموضوع على الموقع:
دليلنظام تتبع المتقدمين ATS: من إعلان الوظيفة إلى العرضكيف تكتب إعلاناً واضحاً وتفرز المتقدمين بعدل وتقيس مسار التوظيف، وكيف تتعامل مع بياناتهم وفق نظام حماية البيانات الشخصية.
دليلنظام توظيف على سيرفرك مع Frappe HR: تجربة كاملةنبني Frappe HR في Docker ونمر بالتوظيف كاملاً مع ثلاثة متقدمين، ونختبر الفرز الآلي على سير ذاتية عربية وإنجليزية.
دليلما هو ERP وCRM؟ ومتى تحتاج شركتك إليهماما الذي تفعله أنظمة ERP وCRM، ومتى تحتاجها شركتك فعلاً، ولماذا يتعثر تطبيقها، وما علاقتها بالفاتورة الإلكترونية في المملكة.
دليلما الأنظمة التي يحتاجها كل قسم في مؤسستك؟الحد الأدنى من الأنظمة لكل قسم في الشركة، ومتى يحتاجه، وكيف تربطه بالهوية وسجل الموظف وسجل العميل.سجل التحديثات
- أكتوبر 2026: كتابة المقارنة واختبار صفحات الوظائف بالعربية على OpenCATS 0.12.0 وOrangeHRM 5.9 وFrappe HR 16.52.0 وOdoo 20.0 Community وResume Matcher 1.4.0 في Docker Engine 29.8.0، والأسعار كما ظهرت في 23 أكتوبر 2026.