أفهم.
محبط إلى حد ما.
غيّر الأصدقاء المنصة إلى Discourse بسبب ActivityPub القادم.
والآن ينتقدون Discourse مرة أخرى…
أيضًا، انتقل المنتدى الرسمي لـ ActivityPub إلى Discourse، والآن نحن بحاجة إلى مناقشة ما يجب فعله…
أفهم.
محبط إلى حد ما.
غيّر الأصدقاء المنصة إلى Discourse بسبب ActivityPub القادم.
والآن ينتقدون Discourse مرة أخرى…
أيضًا، انتقل المنتدى الرسمي لـ ActivityPub إلى Discourse، والآن نحن بحاجة إلى مناقشة ما يجب فعله…
يقوم المطورون وراء Lemmy بعمل رائع في هذا المجال من تكييف ActivityPub ليكون قابلاً للاستخدام من قبل برمجيات المجتمع:
https://github.com/LemmyNet/lemmy-docs/blob/main/src/en/federation/overview.md
ومع ذلك، فقد اضطروا إلى توسيعه، لذا لا توجد برمجيات أخرى تطبق أنشطتهم.
تطبيقنا للت federate مكتمل من حيث الميزات بالفعل، لكننا حتى الآن لم نركز مطلقًا على الامتثال لمواصفات ActivityPub. وبالتالي، من المرجح أن Lemmy غير متوافق مع التطبيقات التي تتوقع إرسال واستقبال أنشطة صالحة.
أعتقد أنه إذا تمكّن Lemmy من جعله متوافقًا مع Mastodon، فيمكننا حينها الذهاب وتطبيق نفس واجهة برمجة التطبيقات (API) التي يستخدمها Lemmy، مع رسم الخرائط التالية:
| Discourse | Lemmy ActivityPub |
|---|---|
| Category | Community |
| Watching | Follow |
| Topic | Post |
| Post | Comment |
| Like | Like |
في مصطلحات ActivityPub، سيكون هذا صفحة إذن، وهو أمر منطقي جدًا إذا أخذت في الاعتبار ميزة نشر الصفحة: سيتم الإعلان عن الجزء الأول كصفحة، ثم ستكون أي استجابة ملاحظة.
أنا غير متأكد بشأن التحويل من فئة إلى مجتمع. نظرًا لأن دعم AP و SSO يجعل هذا أكثر مرونة. أميل إلى امتلاك أكثر من مثيل واحد لـ Discourse لمجتمع واحد.
فقط لأقول إن نسخ Discourse التالية بدأت في مشاركة المستخدمين والمواضيع، وسيكون ActivityPub في Discourse مفيدًا جدًا للجميع:
https://love.public.cat/t/what-is-at-stake-with-interoperability/96
مثير للاهتمام، يستحق الذكر أن Mobilizon يستخدم أيضًا ActivityPub لتخطيط الفعاليات، وقد طوره Framasoft… نفس الأشخاص الذين يصنعون Peertube.
من المؤسف أن ديسكورد لا يتجه نحو تطبيق ActivityPub، فأشعر أن هناك الكثير من الإمكانات الضائعة هنا، بالنظر إلى أن هناك العديد من المجتمعات التي تستخدم ديسكورد بالفعل وستستفيد من ذلك منذ اليوم الأول… حتى لو لم تكن تعرف ذلك بعد! ![]()
مرحبًا @rishabh، @riking، @codinghorror،
(نعم، يوجد ملخص TL;DR في الأسفل)
منذ بعض الوقت، فهمت من @sl007 و @hellekin أنكم لن تواصلوا هذه المرحلة الأولى في المدى القصير، حتى مع تمويل NGI0. وكشريك في الترويج للتشغيل البنيوي القائم على ActivityPub، أجد ذلك مؤسفًا بطبيعة الحال. ولكن من منظور Discourse، وهو برنامج المنتدى الرائد والأكثر شعبية، هناك العديد من القوى والأولويات الأخرى التي يجب أخذها في الاعتبار، وهذا القرار التجاري في هذا السياق يبدو منطقيًا للغاية:
القرار: لم يكن هذا الطلب للمراجعة (RFC) المقترح جذابًا بما يكفي ليُمنح الأولوية ويُدرج في خارطة الطريق.
اتبع الطلب للمراجعة (RFC) نهج الحد الأدنى من المنتج القابل للتطبيق (MVP) مع “لنبدأ بإنشاء تغذية محتوى مجمعة تشبه فيسبوك عبر المنتديات” كما اقترح @Falco. إنها مجرد واحدة من العديد والعديد من الميزات التي قد تنتج عن وجود دعم أصلي لـ ActivityPub بشكل أو بآخر. ويمكن القول إن وجود مثل هذا الجدول الزمني هو نوع من التحوُّب عن ما تجده عادةً في منتدى، ولا يبدو لي ميزة أساسية حقيقية. بل هو أكثر من إضافة جانبية، وبالتالي فهو أمر مرغوب فيه ولكن ليس ضروريًا.
مع تجاوز الحاجة إلى الوصول بسرعة إلى الحد الأدنى من المنتج القابل للتطبيق (MVP) لدعم ActivityPub، ربما يمكننا اتباع العملية المعاكسة:
التفكير الإبداعي: العصف الذهني لحالات استخدام التشغيل البنيوي وتقييمها من حيث الفائدة التجارية والمزايا الفريدة (USP’s).
أي: أي الميزات ستكون جذابة حقًا في Discourse؟ أو حتى: أين قد يفوت Discourse الفرصة إذا لم يكن على اطلاع بما هو ممكن؟
في منشوره الأخير أعلاه، ذكر @Falco مشروع Lemmy الذي بُني من الصفر على أساس مفردات بيانات مرتبطة (Linked Data vocabulary) مخصصة تتوافق مع نطاق عملهم التجاري. لقد كان لديهم الحد الأدنى من المنتج القابل للتطبيق (MVP) جاهزًا ويعمل في الإنتاج، وهم الآن ينظرون في توسيع مجموعة ميزاتهم بناءً على نطاقهم الخاص. وقد يشمل ذلك التكامل مع النطاق الآخر للكتابة المختصرة (Microblogging) حيث حققت Mastodon و Pleroma وغيرها نجاحًا كبيرًا.
قد يكون نهج التفكير الإبداعي على النحو التالي:
تمارين: لنخيل كيف كان سيبدو Discourse لو كان مبنيًا منذ البداية على نطاق عمل تجاري خاص به قائم على ActivityPub (مُعرّف كمفردات بيانات مرتبطة).
دعونا نتحرر في جلسة العصف الذهني هذه، ونترك إبداعنا يتدفق بحرية.
قد تكون قائمة حالات الاستخدام الناتجة عن كل هذا مثيرة للاهتمام بما يكفي من الناحية التجارية لتصبح جزءًا من خارطة الطريق، ولكن إذا لم تكن كذلك، فقد تلهم المجتمع لبناء الإضافات والمكونات، ووضع بعض الأساس الذي يمكن البناء عليه في مرحلة لاحقة.
ألاحظ وجود سوء فهم واسع النطاق لما يعنيه وجود دعم لـ ActivityPub في تطبيق ما. يعتقد الكثير من الناس أن السبب في ذلك هو أن تصبح ‘جزءًا من Fediverse’. وهنا تذهب الفكرة فورًا إلى التكامل مع خوادم Mastodon، أي تنفيذ التشغيل البنيوي مع (أي للانضمام إلى) نطاق الكتابة المختصرة الموزع.
نعم، هذه فرصة جذابة جدًا بمجرد الحصول على دعم لـ ActivityPub، والعديد من التطبيقات الأخرى مثل PixelFed (بديل إنستغرام)، و PeerTube (بديل يوتيوب) وكذلك Lemmy (بديل ريديت) تسعى إلى ذلك. فهم يجعلون Fediverse مكانًا أكثر جاذبية للمشاركة فيه، وتظهر العديد من الابتكارات التي تجعل مستقبل Fediverse مثيرًا حقًا.
لكن…
يمكن القول إن المنظمات التي تستهدف قاعدة مستخدمين كبيرة مثل Discourse قد تطرح أسئلة مثل: “لماذا أريد التكامل مع Fediverse الذي يضم حوالي 4 ملايين مستخدم فقط؟” أو “لماذا أدمج الكتابة المختصرة في برمجيتي التي تعمل في نطاق مختلف تمامًا؟”. وسيكونون محقين في قول ذلك، والتخلي عن تنفيذ ActivityPub على هذا الأساس.
ومع ذلك…
إن تنفيذات ActivityPub تتعلق بأكثر من مجرد الانضمام إلى (الجزء الخاص بالكتابة المختصرة من) Fediverse. من المنطقي تمامًا تنفيذ مفردات بيانات مرتبطة (Linked Data vocabulary) مصممة بشكل فريد لنطاق عملك التجاري الخاص، وجعل نسخ منتجك الخاصة تتكامل مع بعضها البعض. أو جميع نسخ منتجك ونسخ المنافسين في صناعتك الذين يعتمدون نفس المفردات أيضًا.
مثال واحد هنا هو مشروع ForgeFed الذي يهدف إلى تعريف معايير التشغيل البنيوي لمواقع استضافة الأكواد (مثل GitHub، GitLab، Gitea، Sourcehut، إلخ) لتنفيذها. إن القيام بذلك له معنى هائل، خاصة للمشاريع الأصغر لمواقع استضافة الأكواد لتوفير بديل جذاب لـ GitHub (الذي أصبح مهيمنًا للغاية كمنصة مركزية ومحصورة بشكل متزايد). إذا تم اعتماده على نطاق واسع، فلن يحتاج المطورون بعد الآن إلى التعامل مع مجموعة من حسابات مواقع استضافة الأكواد الموزعة على خوادم متفرقة عبر الإنترنت للمشاركة في مشاريع أكواد مثيرة، أو رفع مشكلة، أو التعليق، أو تقديم طلبات السحب (PR’s).
(لاحظ أنه - كما هو موضح أعلاه - نفس المشكلة التي يواجهها الناس مع وجود مواقع استضافة أكواد مستقلة منتشرة في كل مكان، هي ما أعيشه أنا والآخرين أيضًا مع مشاركتنا في العديد من مجتمعات Discourse.)
الفرصة: يتوفر لـ Discourse موقع فريد لقيادة وضع معايير التشغيل البنيوي لبرمجيات المنتديات، وتشكيل المعيار بطريقة تتوافق تمامًا مع مجموعة ميزات Discourse الحالية.
هناك بعض المنافسين الصاعدين في صناعتك، وهم مبتكرون، ويتبعون أساليب جديدة، ويكررون بسرعة لإضافة ميزات جديدة (أنتم في Discourse تعرفون من هم أفضل
). في رأيي، لا يزال Discourse يتفوق من حيث اكتمال الميزات على ما تقدمه منتجاتهم. ولديكم مجتمع لا مثيل له لمساعدتكم في تطوير المنتج.
ولكن فرصة التشغيل البنيوي الموجودة الآن قد تتحول أيضًا إلى تهديد. إما أن يقفز المنافسون على هذه الفرصة أولاً، أو - ربما بدافع من قانون الأسواق الرقمية في الاتحاد الأوروبي - تقوم منصات التكنولوجيا الكبرى بإنشاء شيء ما يتداخل مع نطاق برمجيات المنتديات. في كلتا الحالتين، سيكون من الصعب على Discourse المواءمة مع هذا المعيار وامتلاك الصوت الأكثر سلطة في تصميم مواصفاته.
أصبح هذا المنشور أطول مما كنت أعتزم. آسف على ذلك ![]()
باختصار، أنا أدعو إلى أنه، بالنظر إلى الموقف الحالي بشأن وجود دعم لـ ActivityPub، قد يكون من الحكمة الانتقال من التركيز قصير المدى المشابه للحد الأدنى من المنتج القابل للتطبيق (MVP)، إلى تقييم أوسع لما يمكن أن يجلبه التشغيل البنيوي لـ ActivityPub لـ Discourse من حيث المزايا الفريدة (USP’s) والموقع على المدى الطويل. أي تطوير الحالة التجارية لاعتماد ActivityPub، بدءًا من مرحلة التفكير الإبداعي.
(كيف يتم إعداد هذا بشكل أفضل - بشرط أن تكون مهتمًا - أترك ذلك في المنتصف، ولكن قد يبدأ ببساطة بموضوع AP جديد يحتوي على ملخص ويكي لحالات الاستخدام المجمعة في الأعلى، مع مناقشة الناس لأفكار حالات الاستخدام في الموضوع)
أرنولد، ما الذي يمنعك من تكليف هذا كإضافة إذا كان لديك إمكانية الوصول إلى التمويل؟
أحيانًا يساعد تطوير وإثبات وظيفة ما في إضافة ما في تبنيها على نطاق أوسع وفي النواة الأساسية.
من الأمثلة الجيدة على ذلك معاينات قائمة المواضيع (إضافة). كانت معاينات الصور المصغرة المدمجة في الأصل مُضافة بشكل كامل. والآن يدعم نواة Discourse الصور المصغرة بشكل أصلي نتيجة شعبيتها المثبتة.
لقد قمنا @angus وأنا ببنائها حتى نقطة قرر فيها النواة الأساسية أن الفكرة ناضجة بما يكفي وشائعة بما يكفي لتنفيذها بأنفسهم.
مثل هذا النهج يقلل المخاطر ويمكن أن يساعد في تجاوز الحدود العملية قبل دخولها خارطة طريق النواة الأساسية.
فكرة فقط…
كانت هناك بالفعل مقترح تمويل في السوق، التقطه أحد أفراد فريق Discourse، لكن المقترح المعتمد تم إسقاطه. العرض لا يزال مفتوحًا، لكنه يتطلب وجود كيان أوروبي لالتقاطه. قد يكون عضوًا أوروبيًا في The Pavilion. يسعدني المساعدة في إعداد المقترح، حيث إن إعادة توظيف المقترح الحالي سيساعد بالتأكيد في تسريع مساره نحو الحصول على التمويل بنجاح.
يمكننا بالتأكيد إجراء مناقشة خارج المنصة حول كيفية التعامل مع ذلك.
رابطك إلى Dansup يذكرني بإضافات ActivityPub الخاصة بـ WordPress المتوفرة خلال العامين الماضيين. مشابهًا لهذا الشخص، لقد كنت أستخدمها على موقعي الخاص في WordPress منذ بدايتها: إضافة ActivityPub وPterotype الذي أصبح غير نشط نسبيًا الآن.
يُحوَّل موقعك إلى كيان (actor) في الفيديفيرس، مثل @latest@meta.discourse.org. يمكنك إضافة وصف لحسابك، ويُعرض شعار موقعك كصورة ملفك الشخصي الموحدة. وستظهر المنشورات في الفيدرالية للمستخدمين الآخرين، بينما ستظهر تعليقاتهم على موقعنا مع عرض أيقونة المستخدم الموحدة واسمهم.
مثال على رد:
@doug@mastodoon.social:
لقد استمتعت حقًا بمتابعة هذا الموضوع حول الفيدرالية! استمروا في العمل الجيد
وهو أمر رائع جدًا لأنه يُعرض في WordPress كتعليق عادي، وفي الوقت نفسه هو تعليق فيدرالي حقيقي عبر ActivityPub.
تعديل: اطلع على Prismo، وهو نسخة فيدرالية من Lemmy/Reddit مبنية بلغة Ruby وقاعدة بيانات PostgreSQL، وقد تتوافق بشكل أقرب مع تصميم Discourse.
مرحبًا @merefield،
إن بناء الإضافات خيار عملي جدًا. في تماريني، اقترحت التفكير “كأ будто” أن ديسكورت تم بناؤه من الصفر مع مراعاة التوحيد كوسيلة لاستكشاف جميع الاحتمالات بعقل منفتح، دون النظر - في الوقت الحالي - إلى ما هو ممكن/قابل للتنفيذ/غير قابل للتنفيذ فيما يتعلق بالمنتج الحالي والنظام البيئي. كل ما نصل إليه قد يكون مناسبًا تمامًا للتنفيذ كإضافات.
أعمل بنفسي بشكل رئيسي على جوانب مختلفة من فيديفيرس. كانت ردودي كعشاق مخلصين وداعمين لديسكورت وكمدافعين عن فيديفيرس، الذي أراه - مع كل ابتكاراته - الفرصة لتصبح المشهد الاجتماعي الجديد المدفوع بالأفراد والأكثر إنسانية.
لكن في منشوري أعلاه أردت تسليط الضوء على حالة استخدام للتشغيل البيني مستقلة تمامًا عن تكامل فيديفيرس أيضًا، مباشرة بين مجتمعات ديسكورت المختلفة. ملاحظة: تابعت على منتدى SocialHub لزيادة الوعي بهذا الجانب من دعم ActivityPub: Positioning ActivityPub: De-Emphasize "Being Part of the Fediverse" as primary USP - Fediverse Futures - SocialHub
شكرًا لك، نقدر ذلك كثيرًا. إنها فكرة رائعة، وآمل أن يلهم هذا النقاش أي مطور إضافات لاكتشاف الاحتمالات.
![]()
نعم، أحب ذلك. يمكن أن تكون هذه المشاريع مصدر إلهام رائع لما قد يكون موجودًا في نوع ديسكورت الذي يتحدث عنه @merefield، عند التركيز على دعم فيديفيرس.
لقد خلصنا في الماضي إلى أن التوحيد بين ديسكورد وديسكورد غير مثير للاهتمام تمامًا؛ فلدينا بالفعل تشغيل تبادلي أساسي من خلال OpenGraph والذي يبدو كافيًا. إذا كان لدى أي شخص حالة استخدام مقنعة، فسأود سماعها، لكنني لم أرَ أيًا منها يُقدَّم حتى الآن. لقد تحدثت فقط عن الإمكانات التقنية ولم تتحدث عن ميزات المنتج التي تتيحها هذه التقنية فعليًا.
نقاط ممتازة! إذا كان الهدف هو مزامنة منشور في منتدى واحد مع منشور في منتدى آخر من نوع Discourse… فيمكنك بالفعل استخدام matterbabble مع matterbridge.
لا، أنت محق. هذا ما كنت أقترح أن نفعله (في ملخصي المختصر مع “توضيح الحالة التجارية لاعتماد ActivityPub، بدءًا من مرحلة العصف الذهني”).
بما أن مقترح العصف الذهني هذا يتجاوز نطاق موضوع هذا الموضوع، ولا يشير أيضًا إلى ميزة واحدة أو RFC، بل هو أكثر من رؤية، فقد أنشأت موضوعًا منفصلًا في فئة #community:
يرجى الاطلاع على مقترح لصياغة حالة استخدام تجارية يمكن أن تكون نقطة انطلاق مقنعة لـ @riking حول أهمية دعم ActivityPub في Discourse
@merefield، هل تود الانضمام إلى المحادثة هناك؟ – سيكون الأمر مباشرًا إذا تم دعم AP، بالطبع!
سامحني إذا كان هذا غير صحيح، ولكن لماذا لا نحول خلاصات RSS إلى ActivityPub باستخدام feed2toot؟ أرى أنه يدعم Mastodon و Pleroma. يقوم Discourse بتوليد خلاصات RSS للفئات والمجموعات افتراضيًا. كما أن دعم RSS مدمج في Hubzilla و Friendica.
أليس ذلك سيكون في “اتجاه واحد” فقط؟ “خارجًا” من Discourse نحو مثيلات ActivityPub، ولكن ليس العكس.
@hellekin عذرًا، لكنني لا أرى حقًا “حالة الاستخدام” هنا. أعني، لماذا القيام بذلك، وما هي الفوائد، وما إلى ذلك.
بعد إعادة قراءة الموضوع، وبعد أن توسعت في Community has no boundary: Discourse-as-a-Fabric - ideation & brainstorm وبدأت في التفكير مجددًا في https://socialhub.activitypub.rocks/t/shaping-up-a-business-use-case-for-activitypub-in-discourse/1321، أدركت أن أحدًا لم يطلب توضيح الأسباب هنا، وهو ما يُعدّ إغفالًا مني ومن المدافعين الآخرين عن ActivityPub، على ما أظن. آسف على ذلك.
هل يمكنك تقديم المزيد من التوضيحات حول ما يمنع Discourse من الغوص بعمق في ميزات التوحيد (federation)، وما هي المجالات المثيرة للاهتمام التي يمكن لمجتمع ActivityPub أن يزوّدكم فيها بمزيد من المعلومات والدعم؟