Lolly
افتح التطبيق

الحقوق الإبداعية، والاعتمادات، وما يبقى لك

ينبغي أن تتمكن من استخدام عمل جيد صنعه آخرون دون أن تصبح خبيرًا في الترخيص، ودون أن تُسقط بصمت من صنعوه. لذا يحتفظ Lolly بمصدر كل عمل يستمد منه، ويقرأ الترخيص المسجَّل له، ويحدد ما يطلبه ذلك الترخيص من الاستخدام الذي تقوم به فعليًا، ويؤدي الجزء الذي يستطيع برنامج أداءه، ويسمّي الجزء الذي لا يستطيع أداءه إلا أنت.

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

ثلاث حقائق، مفصولة عن بعضها

"CC BY 4.0"، و"هذا الاستخدام يحتاج إلى اعتماد"، و"الاعتماد موجود في الملف الذي نزّلته للتو" ثلاثة تصريحات مختلفة، ويحافظ Lolly على الفصل بينها:

أين تواجه هذا أولًا

مجموعات الرموز التعبيرية هي الحالة اليومية. Twemoji مرخّصة بـCC BY 4.0، لذا يُصدَّر عنوان يحتوي رمزًا تعبيريًا مع اعتماد العمل الفني دون أن يتبقى لك شيء تفعله. أما مجموعتا OpenMoji فمرخّصتان بـCC BY-SA 4.0، لذا فإن إعادة تلوين أحد رموزهما بمعالجة العلامة التجارية هو تكييف، ومشاركة ذلك التكييف تطلب منك اختيار ترخيص متوافق مرة واحدة. اختيار المجموعة لا يُحجب أبدًا، وعنصر تحكم المجموعة يذكر الترخيص حيث تختاره. القواعد نفسها تجيب عن رسم توضيحي في الكتالوج، أو LUT، أو خط، أو أي عمل مسجَّل آخر.

المفردات التي يستخدمها Lolly

مفردات واحدة عبر لوحة التصدير، وVerify، وسطر الأوامر، والنتيجة الآلية.

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

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

التراخيص التي راجعها Lolly

إصدار القواعد rights-rules-2026-09-13.2. كل قاعدة أدناه مُستقاة من النص القانوني للترخيص نفسه، والقسم الذي أُخذت منه مذكور بجانبها في engine/src/rights-profiles.ts وهنا أيضًا. يُحتفَظ بالإصدار والمنفذ (port) كما سُجِّلا: يحتفظ إعلان CC BY 3.0 بإصداره الخاص بدلًا من أن يُبلَّغ عنه كـ4.0 لمجرد أن أداة الاختيار في التطبيق تفضّل 4.0.

الترخيصما يطلبه من استخدام يمكن لـLolly القيام بهمأخوذ من
CC BY 4.0المُنشئ، والعنوان، وإشعار حقوق النشر، واسم الترخيص ورابطه، ورابط المصدر، وبيان بالتغييرات، كل واحد منها حين يوفره المصدر. لا يُستثنى أي استخدام، بما في ذلك الاستخدام التجاري.النص القانوني، القسمان 2(a)(1) و3(a)
CC BY-SA 4.0الاعتماد نفسه. إضافةً إلى ذلك، إذا شاركت تكييفًا، فإنه يخرج بموجب ترخيص متوافق: CC BY-SA 4.0، أو Free Art License 1.3، أو GPL-3.0-or-later، الذي يسري في اتجاه واحد فقط. تُحمَل هذه الثلاثة كبيانات من قائمة Creative Commons، ولا تُطابَق أبدًا بالاسم.النص القانوني، القسمان 3(a) و3(b)؛ قائمة التراخيص المتوافقة
CC0 1.0لا شيء. لا يحمل التخصيص أي شرط، لذا يقترح Lolly اعتمادًا كمجاملة ولا يعرضه أبدًا على أنه مطلوب.التخصيص، القسمان 2 و3؛ الأسئلة الشائعة لـCC حول الاعتماد
CC-PDDCلا شيء. المسجَّل هو التأكيد نفسه ومن قدّمه، لأن الشهادة تصريح طرف واحد لا إثبات.فقرات التخصيص والشهادة
Apache License 2.0تنتقل الإشعارات من المصدر ونص الاعتماد في ملف NOTICE مع أي عمل مُوزَّع. الاستخدام وقت التشغيل لا يطلب شيئًا. تُبلَّغ الحالة كثغرة حين يطلب الترخيص نص إشعار ولا يحمله العمل.Apache License 2.0، القسم 4، الشروط من 1 إلى 4
MITينتقل سطر حقوق النشر وإشعار الإذن مع النسخ والأجزاء الجوهرية. لا يطلب الاستخدام وقت التشغيل ولا الاستخدام المرجعي شيئًا.MIT، شرط إشعار الإذن
SIL OFL 1.1عرض النص بالخط لا يطلب شيئًا من النص. تمرير ملف الخط يحمل الترخيص وإشعار حقوق النشر وقاعدة الاسم المحجوز.OFL 1.1، الشروط 2 و3 و5؛ الأسئلة الشائعة لـOFL حول المستندات

مسجَّل، غير مُفسَّر

تُعرَف CC BY-NC وCC BY-ND وتوليفتا NC-SA وNC-ND، وتُدرَج شروطها، ولا تقرأها أي قاعدة هنا. تُبلِّغ عن licence.unknown مع سطر يذكر الشروط. لا يمكن استنتاج سياق تجاري من سعر أو حساب، ويحتاج كل نص مركَّب إلى مراجعته الخاصة قبل أن تلمسه أي قاعدة.

ثلاث إجابات صادقة أخرى، ولا واحدة منها إذن:

لا تُقرأ معلومات الترخيص المفقودة أبدًا كدليل على أن العمل حرّ التمرير.

ما يفعله Lolly من أجلك

ما يبقى ملكك

في سطر الأوامر

تطبع عملية الرندر كتلة Rights: إلى الخطأ القياسي حين يكون للتقييم اعتماد مطلوب أو مشكلة. تحمل الحالة، وسطرًا واحدًا لكل مشكلة بالشكل code - summary، وما قُرئ الملف المُسلَّم على أنه، ونص الاعتماد للصقه.

Rights: actions-required
  licence.adaptation-choice - If you share this adaptation, it needs a compatible licence.
  Credential intact. It records 1 source. The exporter recorded it; the source did not sign a credential of its own.
  Credits included in this file's metadata.
  "water wave (OpenMoji Color 17.0.0)" by Vanessa Boutzikoudi (OpenMoji), CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0/, source https://raw.githubusercontent.com/hfg-gmuend/openmoji/f9fc506a3f913be9897ab0181d611d4c910a4104/color/svg/1F30A.svg, changes: recoloured.

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

الحالةالمعنىالخروج
readyلا شيء ينتظر شخصًا.0
actions-requiredيبقى قرار قبل مشاركة الملف. لا يزال الملف يُكتب.4
use-not-coveredتقول قاعدة مُراجَعة إن الترخيص لا يغطي هذا الاستخدام.4
unknownالمشكلات الوحيدة هي ثغرات: ترخيص لم يُسجَّل، أو شروط لم تُفسَّر.0
delivery-failedيُحدَّد بواسطة إيصال، لا بواسطة تقييم أبدًا: لم يُعثر على اعتماد مَوعود في البايتات المُسلَّمة. تعرضه لوحة التصدير؛ ويُبلِّغ CLI عن الحقيقة نفسها في سطر إعادة القراءة بدلًا من ذلك.لا يُطبَع

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

يذكر --rights=private أن عملية الرندر هذه لا تُسلَّم لأحد. لا تزال الكتلة تُطبع ولا يزال الاعتماد موجودًا للنسخ؛ ما يتراجع هو الشرط الذي ينطبق عند المشاركة، ولا يُسجَّل أي ادّعاء تسليم. لا توجد علامة لتجاهل شرط: --rights=ignore خطأ استخدام.

رموز المشكلات ثابتة وقابلة للقراءة الآلية، مستقلة عن النص المُترجَم:

attribution.source-missing, attribution.delivery-missing, licence.adaptation-choice, licence.use-not-covered, licence.grant-conflict, licence.unknown, source.redistribution-unknown, credential.ingredient-missing.

عبر MCP، يُعيد lolly_verify حمولة بعنوان rights تتضمن الملخص، وصفًا واحدًا لكل مصدر مسجَّل، والحدود المذكورة؛ ويُعيد lolly_render الخالي من المتصفح status وissues وcredits وfingerprint وعلامة creditsInFile تُقاس بإعادة قراءة البايتات.

أين تعيش القواعد

أربع وحدات محرّك، كلها نقية: بلا شبكة، بلا ساعة، بلا نظام ملفات. بيانات القواعد ذات إصدار وموجودة في المستودع، ولا تُجلَب أبدًا.

الوحدةما تحتويه
engine/src/rights-profiles.tsجدول المعرِّفات، وقارئ تعبير SPDX الأدنى، والأنماط (profiles) المراجَعة مع استشهاداتها، والقاعدة الوحيدة لرابط قد يطبعه الاعتماد.
engine/src/rights-evaluate.tsالتصنيف، والمشكلات، وخطة الاعتماد، والبصمة. حتمي (deterministic): الوقائع نفسها بترتيب مختلف تعطي الإجابة نفسها.
engine/src/rights-attribution.tsالاعتمادات القابلة للقراءة، والملفات المرافقة، ومكوّنات المصدر، والإيصال المقاس بعد الكتابة.
engine/src/rights-report.tsبيانات اعتماد مُتحقَّق منها تُقرأ كإجابات على الأسئلة الثلاثة التي يطرحها Verify.

أُلِّفت ملفات التوقعات في tests/fixtures/rights/ من نصوص التراخيص لا من مخرجات المُقيِّم، ويستشهد ملف README الخاص بها بالقسم وراء كل توقّع.

ما لا يفعله هذا

مذكور بوضوح، لأن الثغرة التي لا تُسمَّى تُقرأ كوعد.