بالنسبة للأشخاص الذين يرغبون في تجنب تشغيل برامج غير مجانية، كيف يمكننا معرفة ما إذا كان البرنامج الذي يوفره لنا موقع ويب للوصول إلى منتدى يعمل بواسطة Discourse هو برنامج مجاني؟
بدون برنامج عميل JavaScript، يبدو المنتدى للقراءة فقط، لذلك أريد تشغيل JavaScript على موقع الويب، ولكني لا أرى أي مؤشر هنا في Discourse Meta أو على سبيل المثال في منتديات Purism (التي تعمل أيضًا بواسطة Discourse)، بأن برنامج العميل هو برنامج مجاني. تحتوي بعض ملفات النص البرمجي على روابط لخرائط المصدر، ولكن خرائط المصدر التي فحصتها لم تحتوي على أي معلومات ترخيص.
وجدت موضوعًا قديمًا يذكر " “هناك إصدار واحد فقط من Discourse - الإصدار الرائع مفتوح المصدر.” "، ولكن بعد ذلك وجدت أيضًا موضوعًا يقترح أن اتفاقية المساهمة قد تسمح بإصدارات مملوكة، ولكنها لا تحتوي على أمثلة لإصدارات مملوكة.
إحدى حالات Discourse التي تعرض معلومات الترخيص هي منتدى أعضاء FSF (لا يمكن الوصول إليه إلا للأعضاء أعتقد)، والذي يرتبط بمستودع Discourse على GitHub، مستودع FSF git، ومستودع GitHub لإضافة، ولكن هذه المعلومات لا تظهر إلا بعد تشغيل برنامج العميل بالفعل، لذا فهي ليست مفيدة جدًا في تحديد ما إذا كان سيتم تشغيل البرنامج في المقام الأول.
هل هناك طريقة لي لمعرفة ما إذا كان برنامج العميل الذي تقدمه حالة Discourse هو برنامج مجاني دون تشغيل هذا البرنامج فعليًا؟ أو حتى إذا اضطررت إلى تشغيل البرنامج، كيف يمكنني الحصول على كود المصدر الكامل المرخص لبرنامج العميل لحالة Discourse؟ بالتأكيد، مستودع Discourse الأصلي على GitHub ليس كافيًا دائمًا، حيث قد يكون الأشخاص قد عدلوا البرنامج قبل إعادة توزيعه؟
بدلاً من ذلك، هل هناك تطبيق Discourse مختلف لا يقوم بتنزيل برامج من الخوادم التي يتصل بها؟
تخميني هو أنك لا تستطيع.\n\nبعض التثبيتات ستكون مستضافة وتحتوي على أجزاء مملوكة في مكدس الاستضافة.\n\nسيكون المستضيفون الذاتيون أغبياء إذا لم يستخدموا التثبيت القياسي لأنه الأرخص في الدعم.\n\nشيء واحد قد تجده هو أن بعض المواقع قد تستخدم إضافات مملوكة/خاصة تسمح لك المنصة بتثبيتها حسب تقدير المسؤول.
إن ذكرك للإضافات جعلني أفكر فيما إذا كانت هناك طريقة للتحقق من معلومات الإصدار، ووجدت هذا الموضوع الذي يصف كيفية الحصول على معلومات الإصدار.
لذلك يمكنني أن أرى، على سبيل المثال، أن هذه النسخة تستخدم الالتزام 276bc8a565389ea1a145af08ec8e64c1a5bea990، ومنتدى أعضاء FSF يستخدم الالتزام 7ecaf6295daf8759aa98d00e7035c4dc0f853303، ومنتدى Purism يستخدم 999aaa35a79ae7c586a91de1f6c1f7b3c8092bd2، ومنتدى Exercism يستخدم الالتزام 1bd9ca11e777f880462ae64c6795ef7de28a8cd2. كل هذه التزامات صالحة في المستودع الرسمي، لذلك أعتقد أن النسخ لم تعدل Discourse نفسه (على الرغم من أنها قد تكون أضافت إضافات).
أعتقد أن هذا يترك الإضافات والسمات. يبدو أنه ربما يمكنك رؤية اسم الإضافات عن طريق البحث عن سمات “data-discourse-entrypoint” في نصوص الإضافات البرمجية، لكنني لا أرى معرفًا للإصدار. هل تعرف أي طريقة للحصول على قائمة الإضافات المثبتة؟
ما كنت أعنيه بـ “تعديل البرنامج قبل إعادة توزيعه” هو أن الأشخاص الذين يعيدون توزيع البرنامج على مواقع الويب العامة، مثل منتديات puri.sm على سبيل المثال، يمكنهم تعديل نسختهم دون تقديم تغييرات إلى مستودع git الرئيسي. إذا أبرموا اتفاقًا مع Discourse، فيمكنهم إصدار هذه التغييرات كبرنامج غير مجاني، بشكل منفصل عن مستودع git الرئيسي لـ Discourse.
شرط كبير ولا أعتقد أن ذلك سيحدث - وما هو الاتفاق، Discourse مفتوح المصدر. لكن CDCK أفضل أن يعرف ذلك. أعتقد أن هناك بعض التفرعات، ولكن هل تلك في الإنتاج… أشك في ذلك. ولكن كما قال روبرت، لماذا عندما يمكن القيام بالأشياء باستخدام المكونات والإضافات.
أعتقد أن هذا، بالإضافة إلى معلومات الإصدار، كافٍ لاستخدام توزيعات Discourse عشوائية مع تجنب تشغيل برامج غير مجانية. يمكن للمرء التحقق من أن الالتزام موجود في مستودع GitHub الرسمي ثم إما التأكد من تمكين الوضع الآمن دائمًا أو فقط “إدراج” (في أداة مثل LibreJS) البرامج النصية التي تظهر عند استخدام الوضع الآمن.
أعتقد أن معظم عمليات التثبيت ستحتوي على مجموعات يمكن التنبؤ بها من المكونات الإضافية. ولكن ليس كلها. لن تعرف أبدًا ما لم تصبح مسؤولًا متميزًا في الموقع.
للتأكد من أنني أفهم بشكل صحيح: إذا كان التغيير ليس من جانب العميل، فهذا يعني أنه لن يؤثر على الكود الذي سيقوم بتشغيله المستخدم العادي (أي ليس مسؤولاً) لتوزيع Discourse. هل هذا صحيح؟