ورق — المكونات الخارجية وتراخيصها
=================================

هذا الملف يسجل كل مكون خارجي يشحن مع ورق أو يُبنى عليه، ورخصته كما تعلنها الحزمة
نفسها. حُرِّر بمسح التعريفات المثبتة فعلا (importlib.metadata) لا بالنقل عن الذاكرة.

آخر تحديث: 2026-09-19 · ورق 0.3.0


١) المكون الحاكم: PyMuPDF
--------------------------
pymupdf 1.28.2        AGPL-3.0 أو رخصة Artifex التجارية
pymupdf4llm 1.28.2    AGPL-3.0 أو رخصة Artifex التجارية

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

  (أ) نشر ورق كاملا تحت AGPL-3.0، بما في ذلك خادم الجوال؛ أو
  (ب) شراء رخصة Artifex التجارية.

  ← **اختار المالك (أ) في 17 سبتمبر 2026**: ورق حر تحت AGPL-3.0، ونصها في LICENSE.
    فلا حاجة إلى رخصة Artifex. ولو أُريد إغلاق المصدر لاحقا فالطلب يُقدَّم عبر
    نموذج المبيعات على artifex.com/contact — لا تنشر Artifex بريدا للترخيص ولا
    تنشر سعرا، والسعر يُعطى بعرض سعر بعد أن يسألوا عن نموذج التوزيع وعدد الوحدات
    أو الخوادم وحق إعادة التوزيع والمدة.

وينبني على الخيار (أ) التزام عملي كثيرا ما يُغفل: المادة 13 تلزم من يشغّل البرنامج
خدمةً على الشبكة بأن يعرض شيفرته المصدرية على مستخدمي الخدمة. وخدمة waraq.cc
تفي به عبر `/api/source` ورابط «الشيفرة المصدرية» في التطبيق.

وأثرٌ عمليٌّ آخر: الحدود التي تُفرض على جهاز المستخدم (عدد ملفات الدمج مثلا) لا
تُنفَّذ، لأن من يحذفها يحق له نشر نسخته. وما يُنفَّذ هو ما يجري على الخادم.


٢) واجهة Qt
------------
PySide6_Essentials 6.10.3   LGPL-3.0-only أو GPL-2.0-only أو GPL-3.0-only
shiboken6 6.10.3            LGPL-3.0-only أو GPL-2.0-only أو GPL-3.0-only

نستعملها تحت LGPL-3.0. وتلزم LGPL بإتاحة شيفرة المكتبة نفسها وبتمكين المستخدم من
استبدالها بنسخة معدلة. وبناء PyInstaller هنا يشحن مكتبات Qt ملفاتٍ منفصلة لا
مدموجة في التنفيذي، وهو ما يفي بشرط إعادة الربط.


٣) بقية المكتبات
-----------------
anthropic 1.6.0               MIT
arabic-reshaper 3.0.1         MIT
cryptography 50.0.1           Apache-2.0 أو BSD-3-Clause
fastapi 0.141.1               MIT
openpyxl 3.1.5                MIT
pikepdf 10.13.0.post1         MPL-2.0        (حقوق متروكة على مستوى الملف)
Pillow 12.3.0                 MIT-CMU
pyhanko 0.37.0                MIT
pyhanko-certvalidator 0.32.1  MIT
python-bidi 0.6.11            LGPL           (يسري عليها ما في البند ٢)
python-docx 1.2.0             MIT
python-multipart 0.0.32       Apache-2.0
python-pptx 1.0.2             MIT
pywin32 312                   PSF
qtawesome 1.4.2               MIT
QtPy 2.4.3                    MIT
uvicorn 0.53.0                BSD-3-Clause


٤) أدوات البناء والفحص (لا تُشحن مع المنتج)
---------------------------------------------
pyinstaller 6.22.3   GPL-2.0 مع استثناء المُقلِع
                     الاستثناء يجيز توزيع تطبيقات غير مفتوحة مبنية به، فلا يفرض
                     على ورق شيئا. والقيد على ورق يأتي من البند ١ لا من هنا.
pytest 9.1.1         MIT
pytest-qt 4.5.0      MIT


٥) الخطوط
----------
IBM Plex Sans Arabic (Regular, Medium, SemiBold, Bold)
  حقوق النشر 2019 IBM Corp.
  SIL Open Font License 1.1 — كما يعلنها جدول الأسماء في الخط نفسه (nameID 13).
  «IBM Plex» علامة تجارية مسجلة لـIBM في ولايات قضائية كثيرة.

إعادة التوزيع مسموحة، لكن OFL تشترط أن يرافق نصُّ الرخصة الخطَّ.

  ← مستوفى في 19 سبتمبر 2026: نصُّ OFL-1.1 في waraq/resources/fonts/OFL.txt
    (منقول عن مستودع IBM Plex الرسمي بترويسة حقوق IBM واسم الخط المحفوظ)،
    ومواصفة البناء تحزم مجلد fonts كاملا فيُشحن معها.


٦) نماذج التعرف الضوئي
-----------------------
ara.traineddata, eng.traineddata — نماذج Tesseract، Apache-2.0.
النماذج المنزَّلة عند الطلب تعيش في مجلد بيانات المستخدم ولا تُشحن مع المثبِّت.


ما يلزم المالك فعله
--------------------
1. ✅ حُسم البند ١: AGPL-3.0، ونصها في LICENSE (منقولة حرفيا عن gnu.org).
   والمادة 13 مُوفّاة عبر `/api/source` في الخدمة المستضافة.
2. ✅ أُضيف waraq/resources/fonts/OFL.txt، فشرط خطوط IBM Plex مستوفى.
