سياسة الاستبعاد
الغاية من بناء أدواتك الخاصة هي السيادة. لذا ستكون خيانة صامتة أن يقوم الشيء الذي بنيته لحماية مجتمعك بإعادة توجيه بيانات أبناء مجتمعك مباشرةً عبر البنية التحتية للإعلان والمراقبة نفسها التي يحاولون تفاديها. تظل معظم الكتالوجات محايدة بشأن من يجني الأرباح من الأدوات التي تدرجها؛ أما بالنسبة للأشخاص الذين بُني هذا من أجلهم، فالحياد هو شكل من أشكال الفشل بحد ذاته.
لذا نلتزم بخط — تضامنًا مع الأشخاص الواقعين في أسفل السلسلة — والأهم من ذلك بالقدر نفسه أننا نتركك تتحقق منه بنفسك بدلًا من أن نطلب منك الوثوق بحُسن نوايا أحد.
ما الذي نستبعده، ولماذا
Section titled “ما الذي نستبعده، ولماذا”تُستبعَد التبعية من الكتالوج إذا كانت مملوكة لـ، أو توجّه البيانات إلى، أيٍّ مما يلي:
| المنظمة | السبب |
|---|---|
| Meta (Facebook، Instagram، WhatsApp، Threads، Reality Labs، Oculus) | نموذج عمل قائم على الإعلان والمراقبة؛ وهو البنية التحتية التي يحاول كثير من هذه المجتمعات تفاديها. |
| OpenAI | مزوّد نماذج مغلقة بموقف من استخدام البيانات لا يتوافق مع المجتمعات التي تُخدَم هنا. |
| xAI (Grok) | المخاوف نفسها المتعلقة بالمزوّد المغلق. |
تعيش القائمة الموثوقة والقابلة للقراءة آليًا في المستودع في
enforcement/excluded-organizations.yaml، مع إشارات خاصة بكل نظام بيئي (نطاقات npm،
وحزم PyPI، ومجموعات Maven، وبادئات وحدات Go، وما إلى ذلك). وهو الملف نفسه الذي يقرأه
محرك التطبيق.
الأدوات القابلة للضبط: وصفة إحكام المزوّد
Section titled “الأدوات القابلة للضبط: وصفة إحكام المزوّد”الاستبعاد أعلاه مطلق — لا شيء ينال إعفاءً منه. لكن بعض الأدوات هي نفسها قابلة للضبط للوصول إلى مزوّد مستبعَد في وقت التشغيل. المثال الأبرز هو Shakespeare، أداة بناء تطبيقات Nostr التي تعمل في المتصفّح: فمنتقي «أحضر مفتاحك الخاص» الخاص بها يمكن توجيهه إلى OpenAI أو xAI بالسهولة نفسها التي يُوجَّه بها إلى Anthropic أو DeepSeek أو Kimi أو OpenRouter أو Ollama المحلي.
لا تُقبَل أداة كهذه في الكتالوج إلا بموجب وصفة إحكام المزوّد
(recipe_type: configuration) — وهي إعداد موثَّق ومُتحقَّق منه آليًا يحظر كل
مزوّد مستبعَد، ويثبّت الأداة على المزوّدين المسموح بهم، ويصف كيفية التحقق من أن لا
حركة بيانات تصل إلى نقطة نهاية مستبعَدة.
هذا ليس ثغرة ولا استثناءً لـ«أداة موثوقة». بل هو العكس: متطلَّب أكثر صرامة موجود تحديدًا لأن الأداة قد تتسلّل لولا ذلك متجاوزةً الطبقة 3. يُحظَر على Shakespeare حظرًا صارمًا استخدام أي تبعية أو مزوّد مملوك لـ Meta أو OpenAI أو xAI — والوصفة هي الآلية المُلزِمة والمُطبَّقة التي تضمن ذلك. راجع وصفة إحكام Shakespeare و عقد الوصفة.
تنبيهات المنشأ (مبنية من Meta، مُرخَّصة برخصة متساهلة)
Section titled “تنبيهات المنشأ (مبنية من Meta، مُرخَّصة برخصة متساهلة)”ثمة أرضية وسطى ضيّقة ومقصودة للمكتبات التي بنتها منظمة مستبعَدة لكنها مُرخَّصة برخصة متساهلة ولا توجّه بيانات المستخدم إليها — وأبرزها React وReact Native وLexical وMetro، التي ألّفتها Meta وأتاحتها مفتوحة المصدر بموجب رخصة MIT.
هذه مُدرَجة في الكتالوج، لكن كلًّا منها يحمل شارة تنبيه meta-origin مرئية
وملاحظة، حتى تتّخذ قرار التبعية وعيناك مفتوحتان. والمنطق وراء ذلك:
- الشاغل الجوهري لسياسة الاستبعاد هو تدفّق البيانات إلى البنية التحتية للإعلان والمراقبة. والمكتبة المُرخَّصة برخصة متساهلة التي تُترجمها داخل تطبيقك الخاص لا تفعل ذلك.
- فريق And Other Stuff يبني فعليًا على هذه الأدوات؛ والكتالوج الذي يخفيها سيكون أقل صدقًا بشأن المنظومة التقنية الحقيقية.
- الشفافية (التنبيه) تخدم من يبني أفضل من الإغفال الصامت.
هذا ليس ثغرة لحِزم تطوير البرمجيات (SDK) التي توجّه البيانات: فحزمة
facebook-nodejs-business-sdk من Meta وأشباهها لا تزال محجوبة بواسطة فلتر
الأسماء. وهذا لا يمتد إلى مزوّدي نماذج اللغة الكبيرة — فأي شيء مملوك لـ OpenAI
أو xAI محجوب حجبًا قاطعًا، سواء صاحبه تنبيه أم لا.
مسار الاعتراض
Section titled “مسار الاعتراض”يمكن الطعن في قرارات الاستبعاد. إذا كنت تعتقد أن أداة استُبعِدت خطأً — مثلًا حزمة من
@react-native-community مملوكة فعلًا للمجتمع ولم تنشرها Meta — فافتح مشكلة (issue).
إن مطابقة سياق الاستيراد في الطبقة 3 موجودة تحديدًا لإزالة اللبس عن هذه الحالات،
والإيجابيات الكاذبة تُتتبَّع وتُصحَّح بدلًا من تمريرها. أما الحُكم التحريري، وبنية
الفئات الجديدة، والاستبعادات المُتنازَع عليها فهي الأمور التي يقرّرها البشر؛ وكل ما
هو قابل للفحص يفحصه برنامج آلي.