عقد من التأثير: كيف وصلت حزم npm الخاصة بنا إلى مليار عملية تنزيل وشكلت JavaScript

مقدمة

في عالم جافا سكريبت وNode.js، تُعدّ بعض الحزم أساسية، إذ تُنزّل ملايين المرات يوميًا وتُشغّل التطبيقات حول العالم. ويقف وراء هذه الأدوات مطورون يُركّزون على جودة البرمجيات مفتوحة المصدر. واليوم، نُبيّن كيف يُساعد فريقنا في بناء وصيانة حزم npm التي أصبحت جزءًا أساسيًا من بيئة JavaScript.

رواد الثقة بنا: إسحاق ز. شلويتر وإعادة توجيه البريد الإلكتروني

نفخر بانضمام إسحاق ز. شلويتر (جيثب: isaacs) إلى قائمة مستخدمينا. أنشأ إسحاق [npm](https://en.wikipedia.org/wiki/Npm_\(software\) وساهم في بناء Node.js. ثقته بخدمة "إعادة توجيه البريد الإلكتروني" تُظهر تركيزنا على الجودة والأمان. يستخدم إسحاق خدمة "إعادة توجيه البريد الإلكتروني" لعدة نطاقات، بما في ذلك izs.me.

كان لإسحاق تأثيرٌ هائلٌ على جافا سكريبت. في عام ٢٠٠٩، كان من أوائل من أدركوا إمكانات Node.js، حيث عمل مع ريان دال، مُنشئ المنصة. وكما قال إسحاق في مقابلة مع مجلة إنكرمنت: "في خضمّ هذا المجتمع الصغير جدًا من الأشخاص الذين يحاولون إيجاد طريقةٍ لجعل جافا سكريبت من جانب الخادم ممكنة، ابتكر رايان دال Node، والذي كان النهج الصحيح بكل وضوح. لقد بذلتُ قصارى جهدي في هذا المشروع وانخرطتُ فيه بشكلٍ كبيرٍ في منتصف عام ٢٠٠٩ تقريبًا."

للمهتمين بتاريخ Node.js، تتوفر أفلام وثائقية ممتازة توثق تطورها، بما في ذلك قصة Node.js و10 أشياء أندم عليها بشأن Node.js - رايان دال. كما يتضمن فيلم الموقع الشخصي لريان دال رؤى قيّمة حول عمله.

من إنشاء npm إلى قيادة Node.js

أنشأ إسحاق npm في سبتمبر 2009، مع إصدار أول إصدار قابل للاستخدام في أوائل عام 2010. سد مدير الحزم هذا حاجةً أساسيةً في Node.js، إذ مكّن المطورين من مشاركة الشيفرة البرمجية وإعادة استخدامها بسهولة. ووفقًا لـ صفحة Node.js على ويكيبيديا، "في يناير 2010، طُرح مدير حزم لبيئة Node.js يُسمى npm. يسمح مدير الحزم للمبرمجين بنشر ومشاركة حزم Node.js، بالإضافة إلى شيفرة المصدر المرفقة، وهو مصمم لتبسيط تثبيت الحزم وتحديثها وإلغاء تثبيتها."

عندما انسحب رايان دال من Node.js في يناير 2012، تولى إسحاق قيادة المشروع. وكما ذُكر في ملخصه، فقد "قاد تطوير العديد من واجهات برمجة التطبيقات الأساسية لـ Node.js، بما في ذلك نظام وحدات CommonJS، وواجهات برمجة تطبيقات نظام الملفات، والتدفقات"، و"عمل كمدير دائم للمشروع لمدة عامين، مما ضمن جودة متزايدة وعملية بناء موثوقة لإصدارات Node.js من الإصدار 0.6 إلى الإصدار 0.10".

قاد إسحاق Node.js خلال فترة نموّ حاسمة، واضعًا معايير لا تزال تُشكّل المنصة حتى اليوم. ثمّ أسس لاحقًا شركة npm, Inc. عام ٢٠١٤ لدعم سجلّ npm، الذي كان يديره بنفسه سابقًا.

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

المهندس وراء الكود: رحلة نيك باوغ

يكمن سر نجاحنا في مجال المصادر المفتوحة في نيك باو، مؤسس ومالك شركة فوروارد إيميل. يمتد عمله في جافا سكريبت لما يقرب من 20 عامًا، وقد ساهم في صياغة أسلوب عدد لا يُحصى من المطورين في بناء التطبيقات. تُظهر مسيرته في مجال المصادر المفتوحة مهارة تقنية وريادة مجتمعية.

اللجنة الفنية السريعة والمساهمات الأساسية

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

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

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

مساهمات إطار عمل Koa

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

يمنحه عمله عبر Express وKoa رؤية فريدة لتطوير الويب Node.js، مما يساعد فريقنا على إنشاء حزم تعمل بشكل جيد مع أنظمة بيئية متعددة للإطارات.

من مساهم فردي إلى قائد منظمة

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

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

منظمات GitHub الخاصة بنا: أنظمة بيئية للابتكار

نُنظّم عملنا في مجال البرمجيات مفتوحة المصدر حول مؤسسات GitHub المُركّزة، حيث تُلبّي كلٌّ منها احتياجات مُحدّدة في JavaScript. يُنشئ هذا الهيكل مجموعات حزم مُتماسكة تعمل بكفاءة مع الحفاظ على الطابع المعياري.

Cabin: تسجيل منظم للتطبيقات الحديثة

تنظيم الكابينة هو نهجنا لتسجيل التطبيقات بطريقة بسيطة وفعالة. تحتوي الحزمة الرئيسية cabin على ما يقرب من 900 نجمة على GitHub وأكثر من 100,000 عملية تنزيل أسبوعية[^1]. يوفر Cabin تسجيلًا منظمًا يعمل مع خدمات شائعة مثل Sentry وLogDNA وPapertrail.

ما يميز Cabin هو نظام واجهة برمجة التطبيقات والمكونات الإضافية المدروس. دعم حزم مثل axe لبرمجيات Express الوسيطة وparse-request لتحليل طلبات HTTP يُظهر التزامنا بتوفير حلول متكاملة بدلاً من أدوات معزولة.

تستحق حزمة bson-objectid ذكرًا خاصًا، حيث تجاوز عدد تنزيلاتها 1.7 مليون في شهرين فقط. أصبح هذا التطبيق البسيط لمعرف كائن MongoDB الخيار الأمثل للمطورين الذين يحتاجون إلى معرفات دون الاعتماد الكامل على MongoDB.

ماسح البريد العشوائي ###: مكافحة إساءة استخدام البريد الإلكتروني

يُظهر منظمة ماسح البريد العشوائي التزامنا بحل المشكلات الحقيقية. توفر الحزمة الرئيسية spamscanner كشفًا متقدمًا للرسائل غير المرغوب فيها، ولكن حزمة url-regex-safe هي التي شهدت استخدامًا واسعًا.

مع أكثر من 1.2 مليون عملية تنزيل خلال شهرين، يُصلح url-regex-safe مشاكل أمنية حرجة في تعبيرات عادية أخرى لكشف عناوين URL. تُظهر هذه الحزمة نهجنا في البرمجيات مفتوحة المصدر: اكتشاف مشكلة شائعة (في هذه الحالة، ثغرات إعادة الحذف في التحقق من صحة عناوين URL)، وإنشاء حل فعال، وصيانته بعناية.

Bree: جدولة الوظائف الحديثة باستخدام خيوط العمال

منظمة بري هو حلنا لتحدي Node.js الشائع: جدولة مهام موثوقة. توفر الحزمة الرئيسية bree، الحاصلة على أكثر من 3100 تقييم على GitHub، جدول مهام عصريًا باستخدام خيوط Node.js العاملة لتحسين الأداء والموثوقية.

تم إنشاء Bree بعد أن ساعدنا في صيانة جدول الأعمال، بتطبيق الدروس المستفادة لبناء مُجدول مهام أفضل. ساعدتنا مساهماتنا في "أجندتنا" في إيجاد طرق لتحسين جدولة المهام.

ما الذي يجعل Bree مختلفًا عن المجدولين الآخرين مثل Agenda:

  • لا توجد تبعيات خارجية: بخلاف Agenda الذي يحتاج إلى MongoDB، لا يحتاج Bree إلى Redis أو MongoDB لإدارة حالة المهمة.
  • خيوط العمل: يستخدم Bree خيوط عمل Node.js للعمليات المعزولة، مما يوفر عزلًا وأداءً أفضل.
  • واجهة برمجة تطبيقات بسيطة: يوفر Bree تحكمًا دقيقًا وبسيطًا، مما يُسهّل تنفيذ احتياجات الجدولة المعقدة.
  • دعم مدمج: يتم تضمين ميزات مثل إعادة التحميل السلس، ومهام cron، والتواريخ، والأوقات المناسبة للمستخدم افتراضيًا.

بري جزء أساسي من forwardemail.net، حيث يتولى مهام خلفية مهمة مثل معالجة البريد الإلكتروني، والتنظيف، والصيانة المجدولة. استخدام بري في خدمة "إعادة توجيه البريد الإلكتروني" يُظهر التزامنا باستخدام أدواتنا الخاصة في الإنتاج، مما يضمن استيفائها لمعايير الموثوقية العالية.

نستخدم ونُقدّر أيضًا حزم خيوط العمل الرائعة الأخرى مثل حمام سباحة، وعملاء HTTP مثل أحد عشر. يستخدم Piscina، مثل Bree، خيوط عمل Node.js لمعالجة المهام بكفاءة. نشكر ماثيو هيل، الذي يُشرف على كلٍّ من undici وpiscina، على مساهماته الكبيرة في Node.js. يعمل ماتيو في اللجنة التوجيهية الفنية لـ Node.js، وقد حسّن بشكل كبير قدرات عملاء HTTP في Node.js.

إعادة توجيه البريد الإلكتروني: البنية التحتية للبريد الإلكتروني مفتوحة المصدر

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

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

Lad: أدوات وأدوات Koa الأساسية

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

koa-better-error-handler: تحسين معالجة الأخطاء في Koa

يوفر koa-better-error-handler حلاً أفضل لمعالجة الأخطاء في تطبيقات Koa. بفضل أكثر من 50 تقييمًا على GitHub، تُمكّن هذه الحزمة ctx.throw من إصدار رسائل خطأ سهلة الاستخدام مع معالجة العديد من قيود معالج الأخطاء المدمج في Koa:

  • يكتشف أخطاء DNS في Node.js، وأخطاء Mongoose، وأخطاء Redis ويعالجها بشكل صحيح.
  • يستخدم طفرة لإنشاء استجابات أخطاء متسقة ومنسقة بشكل جيد.
  • يحافظ على العناوين (على عكس معالج Koa المدمج).
  • يحافظ على رموز الحالة المناسبة بدلاً من القيمة الافتراضية 500.
  • يدعم رسائل الفلاش وحفظ الجلسة.
  • يوفر قوائم أخطاء HTML لأخطاء التحقق.
  • يدعم أنواع استجابات متعددة (HTML، JSON، ونص عادي).

تُعد هذه الحزمة ذات قيمة خاصة عند استخدامها جنبًا إلى جنب مع koa-404-handler لإدارة الأخطاء الشاملة في تطبيقات Koa.

جواز السفر ####: المصادقة على Lad

يُوسِّع @ladjs/passport نطاق وسيط المصادقة Passport.js الشهير، مع تحسينات خاصة لتطبيقات الويب الحديثة. تدعم هذه الحزمة استراتيجيات مصادقة متعددة جاهزة للاستخدام:

  • مصادقة محلية عبر البريد الإلكتروني
  • تسجيل الدخول باستخدام Apple
  • مصادقة GitHub
  • مصادقة Google
  • مصادقة كلمة مرور لمرة واحدة (OTP)

الحزمة قابلة للتخصيص بدرجة عالية، مما يسمح للمطورين بتعديل أسماء الحقول والعبارات لتتناسب مع متطلبات تطبيقاتهم. صُممت لتتكامل بسلاسة مع Mongoose لإدارة المستخدمين، مما يجعلها حلاً مثاليًا للتطبيقات القائمة على Koa والتي تتطلب مصادقة قوية.

أنيق: إيقاف تشغيل التطبيق بشكل أنيق

@ladjs/graceful يحل التحدي الحاسم المتمثل في إيقاف تشغيل تطبيقات Node.js بسلاسة. مع أكثر من 70 تقييمًا على GitHub، تضمن هذه الحزمة إمكانية إيقاف تشغيل تطبيقك بسلاسة دون فقدان البيانات أو تعليق الاتصالات. من بين الميزات الرئيسية:

  • دعم إغلاق خوادم HTTP بسلاسة (Express/Koa/Fastify)
  • إغلاق اتصالات قواعد البيانات بسلاسة (MongoDB/Mongoose)
  • إغلاق عملاء Redis بشكل صحيح
  • التعامل مع مُجدولات مهام Bree
  • دعم معالجات إغلاق مخصصة
  • إعدادات مهلة قابلة للتخصيص
  • التكامل مع أنظمة التسجيل

هذه الحزمة ضرورية لتطبيقات الإنتاج حيث قد يؤدي إيقاف التشغيل المفاجئ إلى فقدان البيانات أو تلفها. بتطبيق إجراءات إيقاف تشغيل سليمة، يُساعد @ladjs/graceful على ضمان موثوقية واستقرار تطبيقك.

Upptime: مراقبة وقت التشغيل مفتوح المصدر

يُجسّد منظمة Upptime التزامنا بمراقبة شفافة ومفتوحة المصدر. يضم مستودع upptime الرئيسي أكثر من 13,000 نجمة على GitHub، مما يجعله أحد أكثر المشاريع التي نساهم فيها رواجًا. يوفر Upptime أداةً لمراقبة وقت التشغيل وصفحةً للحالة، مدعومةً بـ GitHub، تعمل بالكامل دون الحاجة إلى خادم.

نحن نستخدم Upptime لصفحة الحالة الخاصة بنا في https://status.forwardemail.net مع الكود المصدر المتوفر في https://github.com/forwardemail/status.forwardemail.net.

ما يجعل Upptime مميزًا هو هندسته المعمارية:

  • مفتوح المصدر ١٠٠٪: جميع مكوناته مفتوحة المصدر بالكامل وقابلة للتخصيص.
  • مدعوم من GitHub: يستفيد من إجراءات GitHub والمشكلات والصفحات لحل مراقبة بدون خادم.
  • لا يتطلب خادمًا: بخلاف أدوات المراقبة التقليدية، لا يتطلب Upptime تشغيل خادم أو صيانته.
  • صفحة حالة تلقائية: يُنشئ صفحة حالة جميلة يمكن استضافتها على صفحات GitHub.
  • إشعارات فعّالة: يتكامل مع قنوات إشعارات متنوعة، بما في ذلك البريد الإلكتروني والرسائل النصية القصيرة وSlack.

لتحسين تجربة مستخدمينا، قمنا بدمج @octokit/core في قاعدة بيانات forwardemail.net لعرض تحديثات الحالة والحوادث في الوقت الفعلي مباشرةً على موقعنا الإلكتروني. يوفر هذا التكامل شفافية تامة لمستخدمينا في حال وجود أي مشاكل في جميع جوانب حزمة خدماتنا (الموقع الإلكتروني، واجهة برمجة التطبيقات، MongoDB، Redis، SQLite، SMTP، POP3، IMAP، Bree، إلخ) مع إشعارات فورية، وتغييرات في أيقونات الشارات، وألوان تحذيرية، وغيرها.

تتيح لنا مكتبة @octokit/core جلب البيانات آنيًا من مستودع Upptime GitHub الخاص بنا، ومعالجتها، وعرضها بطريقة سهلة الاستخدام. عند انقطاع أي خدمة أو انخفاض في أدائها، يتم إشعار المستخدمين فورًا من خلال مؤشرات مرئية دون الحاجة لمغادرة التطبيق الرئيسي. يضمن هذا التكامل السلس حصول مستخدمينا دائمًا على معلومات محدثة حول حالة نظامنا، مما يعزز الشفافية والثقة.

اعتمدت مئات المؤسسات التي تبحث عن طريقة شفافة وموثوقة لمراقبة خدماتها وإعلام المستخدمين بحالة الخدمات على Upptime. يُظهر نجاح المشروع قوة بناء أدوات تستفيد من البنية التحتية الحالية (في هذه الحالة، GitHub) لحل المشكلات الشائعة بطرق جديدة.

مساهماتنا في نظام البريد الإلكتروني المباشر

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

من الحزم إلى الإنتاج

تتضمن عملية الانتقال من الحزم الفردية إلى نظام إنتاج متماسك تكاملاً وتوسعاً دقيقين. بالنسبة لـ "إعادة توجيه البريد الإلكتروني"، تتضمن هذه العملية ما يلي:

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

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

حلقة التغذية الراجعة

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

لقد أدى هذا النهج إلى العديد من التحسينات:

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

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

المبادئ الأساسية لإعادة توجيه البريد الإلكتروني: أساس التميز

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

دائمًا ما يكون صديقًا للمطورين، ويركز على الأمان، وشفافًا

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

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

الالتزام بمبادئ تطوير البرمجيات التي تم اختبارها بمرور الوقت

نحن نتبع العديد من مبادئ تطوير البرمجيات الراسخة التي أثبتت قيمتها على مدى عقود من الزمن:

  • MVC: فصل الاهتمامات من خلال نمط "النموذج-العرض-وحدة التحكم"
  • فلسفة يونكس: إنشاء مكونات معيارية تؤدي وظيفة واحدة بكفاءة
  • KISS: الحفاظ على البساطة والوضوح
  • DRY: لا تكرر نفسك، وشجع على إعادة استخدام الكود
  • YAGNI: لن تحتاج إليه، وتجنب التحسين المبكر
  • اثني عشر عاملًا: اتباع أفضل الممارسات لبناء تطبيقات حديثة وقابلة للتطوير
  • شفرة أوكام: اختيار أبسط حل يلبي المتطلبات
  • تجربة طعام الكلاب: استخدام منتجاتنا الخاصة على نطاق واسع

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

استهداف المطورين المتحمسين الذين يعتمدون على التطوير الذاتي

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

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

مبادئ ### في الممارسة: قاعدة بيانات رمز البريد الإلكتروني الأمامي

تظهر هذه المبادئ بوضوح في قاعدة بيانات إعادة توجيه البريد الإلكتروني. يكشف ملف package.json لدينا عن مجموعة مدروسة من التبعيات، كل منها مُختار ليتوافق مع قيمنا الأساسية:

  • حزم مُركّزة على الأمان مثل mailauth لمصادقة البريد الإلكتروني.
  • أدوات مُلائمة للمطورين مثل preview-email لتسهيل تصحيح الأخطاء.
  • مكونات معيارية مثل أدوات p-* المُختلفة من Sindre Sorhus.

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

الخصوصية حسب التصميم

الخصوصية ليست مجرد فكرة ثانوية أو ميزة تسويقية لخدمة Forward Email، بل هي مبدأ تصميمي أساسي يؤثر على كل جانب من جوانب خدمتنا ورمزنا:

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

يمتد هذا الالتزام إلى حزمنا مفتوحة المصدر، والتي تم تصميمها باستخدام أفضل ممارسات الأمان والخصوصية المضمنة منذ البداية.

مصدر مفتوح مستدام

نؤمن بأن البرمجيات مفتوحة المصدر تحتاج إلى نماذج مستدامة لتزدهر على المدى الطويل. يشمل نهجنا ما يلي:

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

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

الأرقام لا تكذب: إحصائيات التنزيل المذهلة لـ npm

عندما نتحدث عن تأثير برمجيات المصدر المفتوح، تُقدم إحصائيات التنزيل مقياسًا ملموسًا لمدى اعتمادها والثقة بها. وقد وصلت العديد من الحزم التي نساعد في صيانتها إلى مستوى لم تحققه إلا قلة من مشاريع المصدر المفتوح، حيث بلغ إجمالي عدد التنزيلات مليارات.

أفضل حزم npm حسب التنزيلات

Important

مع فخرنا بالمساهمة في صيانة العديد من الحزم عالية التنزيل في بيئة جافا سكريبت، نود أن ننوه بأن العديد من هذه الحزم أُنشئت في الأصل من قِبل مطورين موهوبين آخرين. تم إنشاء حزم مثل superagent و supertest في الأصل من قِبل TJ Holowaychuk، الذي كانت مساهماته الوفيرة في مجال المصادر المفتوحة فعّالة في تشكيل بيئة Node.js.

نظرة شاملة على تأثيرنا

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

Note

العديد من الحزم الأخرى التي نساهم في صيانتها ولكننا لم نقم بإنشائها، تتمتع بعدد تنزيلات أعلى، بما في ذلك form-data (أكثر من 738 مليون تنزيل)، وtoidentifier (أكثر من 309 ملايين تنزيل)، وstackframe (أكثر من 116 مليون تنزيل)، وerror-stack-parser (أكثر من 113 مليون تنزيل). يشرفنا المساهمة في هذه الحزم مع احترامنا الكامل لعمل مؤلفيها الأصليين.

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

توزيع فئات الحزمة

التأثير اليومي على نطاق واسع

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

تُظهر أنماط التنزيل الأسبوعية أرقامًا أكثر إثارة للإعجاب، حيث تتراوح باستمرار حول عشرات الملايين من التنزيلات أسبوعيًا[^14]. يُمثل هذا بصمةً هائلةً في بيئة JavaScript، حيث تعمل هذه الحزم في بيئات إنتاجية حول العالم.

ما وراء الأرقام الخام

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

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

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

دعم النظام البيئي: رعاياتنا مفتوحة المصدر

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

إلى جانب مساهماتنا المباشرة في بيئة جافا سكريبت، نفخر برعاية مساهمين بارزين في Node.js، والذين تُشكّل أعمالهم أساسًا للعديد من التطبيقات الحديثة. تشمل رعايتنا:

أندريس راينمان: رائد البنية التحتية للبريد الإلكتروني

أندريس راينمان هو مُنشئ مُرسِل البريد العقدي، مكتبة إرسال البريد الإلكتروني الأكثر شيوعًا لـ Node.js، والتي تُنزّل أكثر من 14 مليون مرة أسبوعيًا. يمتد عمله ليشمل مكونات أساسية أخرى لبنية البريد الإلكتروني، مثل خادم SMTP ومحلل البريد ووايلد داك.

تساعد رعايتنا في ضمان الصيانة المستمرة وتطوير هذه الأدوات الأساسية التي تدعم اتصالات البريد الإلكتروني لعدد لا يحصى من تطبيقات Node.js، بما في ذلك خدمة Forward Email الخاصة بنا.

سيندر سورهوس: العقل المدبر لحزمة المرافق

يُعدّ سيندر سورهوس أحد أبرز مُساهمي برمجيات المصدر المفتوح في بيئة JavaScript، حيثُ يمتلك أكثر من 1000 حزمة npm. تُعدّ أدواته، مثل خريطة p وإعادة المحاولة وهو-دفق، عناصر أساسية تُستخدم في بيئة Node.js.

من خلال رعاية عمل Sindre، فإننا نساعد في دعم تطوير هذه الأدوات المهمة التي تجعل تطوير JavaScript أكثر كفاءة وموثوقية.

تعكس هذه الرعايات التزامنا بمنظومة البرمجيات مفتوحة المصدر الأوسع. ندرك أن نجاحنا مبني على الأسس التي أرساها هؤلاء المساهمون وغيرهم، ونلتزم بضمان استدامة هذه المنظومة بأكملها.

الكشف عن الثغرات الأمنية في نظام JavaScript البيئي

يتجاوز التزامنا بالمصادر المفتوحة تطوير الميزات، ليشمل تحديد ومعالجة الثغرات الأمنية التي قد تؤثر على ملايين المطورين. وقد قدّمنا العديد من أهم مساهماتنا في بيئة جافا سكريبت في مجال الأمن.

إنقاذ جهاز التوجيه Koa

في فبراير 2019، اكتشف نيك مشكلة حرجة في صيانة حزمة koa-router الشهيرة. ولأنها تم الإبلاغ عنه على موقع Hacker News، فقد تخلى عنها مُصانها الأصلي، مما ترك الثغرات الأمنية دون معالجة، ولم يُصدر أي تحديثات للمجتمع.

تُشكل الحزم المهملة التي تحتوي على ثغرات أمنية مخاطر كبيرة على النظام البيئي بأكمله، خاصةً عندما يتم تنزيلها ملايين المرات أسبوعيًا.

استجابةً لذلك، أنشأ نيك @koa/router وساهم في تنبيه المجتمع إلى الوضع. ويحافظ على هذه الحزمة المهمة منذ ذلك الحين، ضامنًا حصول مستخدمي Koa على حل توجيه آمن وفعال.

معالجة ثغرات ReDoS

في عام ٢٠٢٠، اكتشف نيك ثغرة حرجة رفض الخدمة باستخدام التعبيرات العادية (ReDoS) في حزمة url-regex واسعة الاستخدام، وعالجها. قد تسمح هذه الثغرة (SNYK-JS-URLREGEX-569472) للمهاجمين بالتسبب في رفض الخدمة من خلال توفير مدخلات مصممة خصيصًا، مما أدى إلى تراجع كارثي في التعبيرات العادية.

بدلاً من مجرد تصحيح الحزمة الحالية، أنشأ نيك url-regex-safe، وهو تطبيق مُعاد كتابته بالكامل، يعالج الثغرة مع الحفاظ على التوافق مع واجهة برمجة التطبيقات الأصلية. كما نشر تدوينة شاملة يشرح الثغرة وكيفية معالجتها.

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

الدفاع عن أمان Node.js وChromium

كان نيك أيضًا ناشطًا في الدعوة إلى تحسينات أمنية في النظام البيئي الأوسع. في أغسطس 2020، حدد مشكلة أمنية كبيرة في Node.js تتعلق بمعالجتها لرؤوس HTTP، والتي تم الإبلاغ عنها في السجل.

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

تأمين البنية الأساسية لـ npm

في وقت لاحق من الشهر نفسه، اكتشف نيك مشكلة أمنية حرجة أخرى، وهذه المرة في البنية التحتية للبريد الإلكتروني في npm. وكما ورد في السجل، لم تكن npm تُطبّق بروتوكولات مصادقة البريد الإلكتروني DMARC وSPF وDKIM بشكل صحيح، مما قد يسمح للمهاجمين بإرسال رسائل تصيد احتيالي تبدو وكأنها صادرة من npm.

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

مساهماتنا في نظام البريد الإلكتروني المباشر

تم بناء Forward Email بناءً على العديد من مشاريع المصدر المفتوح المهمة، بما في ذلك Nodemailer وWildDuck وmailauth. وقد ساهم فريقنا بشكل كبير في هذه المشاريع، حيث ساعد في تحديد وإصلاح المشكلات العميقة التي تؤثر على تسليم البريد الإلكتروني وأمانه.

تحسين الوظيفة الأساسية لـ Nodemailer

مُرسِل البريد العقدي هو العمود الفقري لإرسال البريد الإلكتروني في Node.js، وقد ساعدت مساهماتنا في جعله أكثر قوة:

  • تحسينات خادم SMTP: قمنا بإصلاح أخطاء التحليل، ومشكلات معالجة التدفقات، ومشكلات تكوين TLS في مكون خادم SMTP[^16][^17].
  • تحسينات محلل البريد الإلكتروني: قمنا بمعالجة أخطاء فك تشفير تسلسل الأحرف، ومشاكل المحلل التي قد تُسبب فشل معالجة البريد الإلكتروني[^18][^19].

تضمن هذه المساهمات أن يظل Nodemailer بمثابة أساس موثوق لمعالجة البريد الإلكتروني في تطبيقات Node.js، بما في ذلك إعادة توجيه البريد الإلكتروني.

تعزيز مصادقة البريد الإلكتروني باستخدام Mailauth

يوفر مايلاوث وظيفة مصادقة بريد إلكتروني مهمة، وقد ساهمت مساهماتنا في تحسين قدراته بشكل كبير:

  • تحسينات التحقق من DKIM: اكتشفنا وأبلغنا عن مشاكل في ذاكرة التخزين المؤقت لنظام أسماء النطاقات (DNS) في X/Twitter، مما تسبب في فشل DKIM في رسائلهم الصادرة، وأبلغنا عن ذلك على Hacker One[^20].
  • تحسينات DMARC وARC: أصلحنا مشاكل في التحقق من DMARC وARC كانت قد تؤدي إلى نتائج مصادقة غير صحيحة[^21][^22].
  • تحسينات الأداء: ساهمنا في تحسينات تُحسّن أداء عمليات مصادقة البريد الإلكتروني[4][5][6][7].

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

تحسينات وقت التشغيل الرئيسية

تشمل مساهماتنا في Upptime ما يلي:

  • مراقبة شهادات SSL: أضفنا خاصية لمراقبة انتهاء صلاحية شهادات SSL، مما يمنع أي توقف غير متوقع بسبب انتهاء صلاحية الشهادات[8].
  • دعم أرقام الرسائل النصية القصيرة المتعددة: أضفنا خاصية تنبيه عدة أعضاء في الفريق عبر الرسائل النصية القصيرة عند وقوع أي حوادث، مما يُحسّن أوقات الاستجابة[9].
  • إصلاحات فحص IPv6: أصلحنا مشاكل في فحوصات اتصال IPv6، مما يضمن مراقبة أكثر دقة في بيئات الشبكات الحديثة[10].
  • دعم الوضع الداكن/الفاتح: أضفنا خاصية دعم السمات لتحسين تجربة المستخدم في صفحات الحالة[11].
  • دعم أفضل لـ TCP-Ping: حسّنا خاصية TCP-Ping لتوفير اختبار اتصال أكثر موثوقية[12].

لا تفيد هذه التحسينات مراقبة حالة Forward Email فحسب، بل إنها متاحة أيضًا لمجتمع مستخدمي Upptime بأكمله، مما يوضح التزامنا بتحسين الأدوات التي نعتمد عليها.

الغراء الذي يربط كل شيء معًا: الكود المخصص على نطاق واسع

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

جهد تطوير ضخم

إن حجم رمز التكامل المخصص هذا مثير للإعجاب:

  • إجمالي المساهمات: أكثر من 3,217 التزامًا
  • حجم قاعدة التعليمات البرمجية: أكثر من 421,545 سطرًا من التعليمات البرمجية عبر ملفات JavaScript وPug وCSS وJSON[^33]

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

تكامل التبعيات الأساسية

تدمج قاعدة بيانات البريد الإلكتروني الأمامي العديد من التبعيات في كل متكامل:

  • معالجة البريد الإلكتروني: دمج Nodemailer للإرسال، وخادم SMTP للاستلام، وMailparser للتحليل.
  • المصادقة: استخدام Mailauth للتحقق من DKIM وSPF وDMARC وARC.
  • حل مشكلة DNS: استخدام Tangerine لـ DNS-over-HTTPS مع التخزين المؤقت العالمي.
  • اتصال MX: استخدام mx-connect مع تكامل Tangerine لاتصالات خادم بريد موثوقة.
  • جدولة المهام: استخدام Bree لمعالجة مهام الخلفية بكفاءة باستخدام خيوط العمل.
  • القوالب: استخدام قوالب البريد الإلكتروني لإعادة استخدام أوراق الأنماط من الموقع الإلكتروني في مراسلات العملاء.
  • تخزين البريد الإلكتروني: تنفيذ صناديق بريد SQLite مشفرة بشكل فردي باستخدام تشفير sqlite3 متعدد التشفيرات الأفضل مع تشفير ChaCha20-Poly1305 لضمان خصوصية آمنة كميًا، مما يضمن عزلًا تامًا بين المستخدمين، ويضمن وصول المستخدم فقط إلى صندوق بريده.

يتطلب كلٌّ من هذه التكاملات دراسةً متأنيةً للحالات الطارئة، وتأثيرات الأداء، والمخاوف الأمنية. والنتيجة نظامٌ متينٌ يتعامل مع ملايين معاملات البريد الإلكتروني بكفاءة. كما يستفيد تطبيق SQLite لدينا من msgpackr لتسلسل ثنائي فعّال، وWebSockets (عبر WS) لتحديثات الحالة الفورية عبر بنيتنا التحتية.

البنية الأساسية لـ DNS مع Tangerine وmx-connect

أحد المكونات الأساسية للبنية التحتية لشركة Forward Email هو نظام حل DNS الخاص بنا، والذي تم بناؤه حول حزمتين رئيسيتين:

  • اليوسفي: يوفر تنفيذ Node.js DNS-over-HTTPS الخاص بنا بديلاً مباشرًا لمحلل DNS القياسي، مع عمليات إعادة المحاولة المضمنة، وأوقات الانتظار، وتدوير الخادم الذكي، ودعم التخزين المؤقت.

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

لقد قمنا بدمج Tangerine مع mx-connect من خلال طلب سحب (#4، مما يضمن استخدام DNS على مستوى التطبيقات عبر طلبات HTTP في جميع أنحاء Forward Email. يوفر هذا تخزينًا مؤقتًا عالميًا لنظام DNS على نطاق واسع مع اتساق 1:1 عبر أي منطقة أو تطبيق أو عملية، وهو أمر بالغ الأهمية لتسليم البريد الإلكتروني بشكل موثوق في نظام موزع.

تأثير المؤسسة: من المصدر المفتوح إلى الحلول بالغة الأهمية

لقد مكّنت ذروة رحلتنا التي استمرت عقدًا من الزمان في تطوير المصادر المفتوحة Forward Email من خدمة ليس فقط المطورين الأفراد، بل أيضًا الشركات الكبرى والمؤسسات التعليمية التي تشكل العمود الفقري لحركة المصادر المفتوحة نفسها.

دراسات حالة في البنية التحتية للبريد الإلكتروني بالغة الأهمية

إن التزامنا بالموثوقية والخصوصية ومبادئ المصدر المفتوح جعل Forward Email الخيار الموثوق للمؤسسات ذات متطلبات البريد الإلكتروني المتطلبة:

  • المؤسسات التعليمية: كما هو مفصل في [دراسة حالة إعادة توجيه البريد الإلكتروني للخريجين]](https://forwardemail.net/blog/docs/alumni-email-forwarding-university-case-study)، وتعتمد الجامعات الكبرى على بنيتنا التحتية للحفاظ على اتصالات مدى الحياة مع مئات الآلاف من الخريجين من خلال خدمات إعادة توجيه البريد الإلكتروني الموثوقة.

  • حلول Linux للمؤسسات: يوضح دراسة حالة البريد الإلكتروني المؤسسي Canonical Ubuntu كيف يتوافق نهجنا مفتوح المصدر بشكل مثالي مع احتياجات موفري Linux للمؤسسات، مما يوفر لهم الشفافية والتحكم الذي يحتاجون إليه.

  • مؤسسات المصدر المفتوح: ربما يكون الأمر الأكثر إثباتًا هو شراكتنا مع مؤسسة Linux، كما هو موثق في دراسة حالة مؤسسة Linux Foundation للبريد الإلكتروني، حيث تعمل خدمتنا على تمكين الاتصال للمنظمة نفسها التي تشرف على تطوير Linux.

هناك تناسقٌ رائعٌ في كيفية تمكيننا من بناء خدمة بريد إلكتروني تدعم الآن المجتمعات والمؤسسات التي تدعم برمجيات المصدر المفتوح بفضل حزمنا مفتوحة المصدر، والتي حرصنا على صيانتها على مدى سنوات طويلة. وتمثل هذه الرحلة المتكاملة - من المساهمة في حزم فردية إلى دعم بنية تحتية للبريد الإلكتروني على مستوى المؤسسات لرواد البرمجيات مفتوحة المصدر - الدليلَ القاطع على صحة نهجنا في تطوير البرمجيات.

عقد من المصادر المفتوحة: التطلع إلى المستقبل

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

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

في السنوات القادمة، نحن ملتزمون بما يلي:

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

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

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

1: إحصائيات تنزيل npm لـ cabin، أبريل 2025 2: إحصائيات تنزيل npm لـ bson-objectid، فبراير-مارس 2025 3: إحصائيات تنزيل npm لـ url-regex-safe، أبريل 2025 4: عدد نجوم GitHub لـ forwardemail/forwardemail.net اعتبارًا من أبريل 2025 5: إحصائيات تنزيل npm لـ preview-email، أبريل 2025 7: إحصائيات تنزيل npm لـ superagent، فبراير-مارس 2025 8: إحصائيات تنزيل npm لـ supertest، فبراير-مارس 2025 9: إحصائيات تنزيل npm لـ preview-email، فبراير-مارس 2025 10: إحصائيات تنزيل npm لـ cabin، فبراير-مارس 2025 11: إحصائيات تنزيل npm لـ آمن من url-regex، فبراير-مارس ٢٠٢٥


  1. إحصائيات تنزيل npm لـ koa، فبراير-مارس ٢٠٢٥ ↩︎

  2. إحصائيات تنزيل npm لـ @koa/multer، فبراير-مارس ٢٠٢٥ ↩︎

  3. إحصائيات تنزيل npm لـ spamscanner، فبراير-مارس ٢٠٢٥ ↩︎

  4. https://github.com/postalsys/mailauth/issues/74 ↩︎

  5. https://github.com/postalsys/mailauth/issues/75 ↩︎

  6. https://github.com/postalsys/mailauth/issues/60 ↩︎

  7. https://github.com/nodemailer/smtp-server/issues/node-v12-requires-tls-min0 ↩︎

  8. بناءً على مشاكل GitHub في مستودع Upptime ↩︎

  9. بناءً على مشاكل GitHub في مستودع Upptime ↩︎

  10. بناءً على مشاكل GitHub في مستودع Upptime ↩︎

  11. بناءً على طلبات سحب GitHub إلى Upptime ↩︎

  12. بناءً على طلبات سحب GitHub إلى Upptime ↩︎