المجتمع بلا حدود: الخطاب كالنسيج - التفكير والإبداع

In ActivityPub Support: Phase 1 RFC I outlined an ideation exercise to evaluate the business case for having ActivityPub support in Discourse, and think beyond a MVP as-if Discourse was built from the ground up with federation in mind:

So hereby I will kick off the ideation with some brainstorming and without taking technical practicalities into account given current codebase. I realize there are many ins and outs and edge cases to all of this. This is a vision of what native federation support might look like. Here goes..

Community has no boundary

(Photo by Pixabay from Pexels)

We all share one planet :wink: intermingling in complex social structures. Why is a Discourse community restricted to a single forum?

I am admin of Humane Tech Community (HTC) and we cover a broad range of tech-related subject areas, having (sub)categories of “Freedom > Privacy”, “Alignment > Ethics”, “Alignment > Standards”. Too broad maybe, and many other Discourse forums exist that specialize on these categories, and in that field do a better job than we do. But for people interested in getting an overview of the entire field of humane technology the broad positioning makes sense.

Federating categories

What if I could federate our “Privacy” subcategory with e.g. the “Blog Posts” subcategory of the PrivacyTools forum? Maybe to only synchronise topics in one direction - as HTC’s privacy subcategory is broader in scope - where topics created at PrivacyTools appear on the HTC forum, and our members can interact with them. Topic posts on HTC forum are then transferred back to the topic at PrivacyTools and vice versa. The topics on both forums are kept in sync. Maybe I even want to one-way synchronize multiple PrivacyTools subcategories to “Privacy” at HTC. And why not sync with different privacy-related communities in a similar way.

Another example. Both the Feneas and SocialHub share a top-level “ActivityPub” category. There’s overlap in these, duplication, members from one community unaware of what is happening in the other community. This is an opportunity where “ActivityPub” is candidate for bidirectional synchronisation, where each forum then contains the same topic lists.

Federating tags and individual topics

Same can apply for tags, where a particular tag is configured to be federated. This might be e.g. set up such that any topic with #specification tag in SocialHub is federated to “Alignment > Standards” subcategory on HTC.

Topics may also be federated on a case-by-case basis, triggered by a toolbar command, where you specify the target forum to federate to, and maybe also select the remote category that the topic should appear under (i.e. the forum Category list is also federated for remote browsing).

Member mentions and profile views

When a topic is federated to another forum, any mentions within need to be adapted to reflect where the member resides. My @aschrijver handle at HTC might appear as @aschrijver@humanetech on the SocialHub forum after synching.

Since I am also a user on SocialHub in my profile settings I might connect the accounts, and after a verification this means that in the synched topics my local account handle can be shown.

When clicking a remote handle or member avatar the profile card of the remote forum is displayed. When clicking again to see the profile summary, it may show only the activity metrics on the local forum that resulted from synched topics interaction. Alternatively, and more interrestingly, it would show summaries from all known forums that are part of the federation config. E.g. I would then be able to find out that the response came from a very active, expert member on the other forum.

Direct messages and notifications

DM’s would be possible across all federated forums, not just locally, by tagging/mentioning the remote member in the DM. Other than that there would be no difference in the way that DM communnication takes place. It works the same as current local-only DM’s.

From all the federation stuff described above arises the need to also federate notifications. If I respond to a remote member’s post, like their post, or mention them in a synched topic thread, a UI notification may appear in the remote forum to notify the member. Email notifications are handle by the remote forum as well. However, if the member has linked accounts on both forums the notifications might be coming from the local forum where the interaction first took place.

Single sign-on

Note that in all the functionality described thus far, there’s no need to have SSO. A remote member does not have automatic privileged access to another federated forum. So what if they are mentioned in a one-way synchronised topic thread? In that case they will receive a UI notification and email coming from their own forum instance, and when clicking that are directed to the other forum (maybe in a new browser tab) where they can just view the topic. If they want to respond they have to first sign up and link accounts, to be able to respond.

Note that SSO is a tricky thing on the Fediverse, that has no good solution yet. But for Discourse-to-Discourse federation the SSO facility may be much easier to implement. If there were SSO integration, then clicking the notification might open the topic in-context within the current forum (as a ‘remote view’), and allow the member to interact with it seamlessly.

Federation management and complexity

This whole use case is described as-if Discourse was built from the ground up with federation support built-in. If all this is implemented it touches nearly all features of the product. Unlike the use case that started this thread - for FB-like personalized feeds - the federation here is carefully managed by forum staff, not on the whim of individual members.

Much of federation config is admin-only stuff. It should be done strategically and with a good plan, so as to keep the community organization and content intuitive and logical. The federation set up is built gradually over time as part of community-building workflow, not something that is casually added.

Interoperability

Of course this vision of ActivityPub support need not be restricted to Discourse. Any compatible software project could become part of the distributed community fabric. For instance forem’s open-source community building software and loomio collaborative decision-making platform, both of whom I just pointed in the direction of this post. But Discourse has the opportunity to take the lead in all this.

Fediverse integration

All of the federation support so far was limited to the forum/community business domain, but with ActivityPub integration interoperability can now expand to embrace the broader Fediverse, enabling numerous exciting business cases. Just to list some that randomly pop up with me now:

  • Announce forum posts fediverse-wide with toots on the Mastodon / Pleroma microblogging platforms.
  • Embedded images are auto-uploaded to PixelFed and served from there (nice for e.g. Blender communities).
  • Date/time toolbar allows setting up a full Mobilizon Event facing the fediverse, with full RSVP features.
    • Integration is 2-way enabled, where Mobilizon Discussions on the event are actually Discourse topics.
  • Create PeerTube topics with special video features, where the posts are the comment thread at PeerTube.
    • Same holds for Owncast if they add AP support (see this issue).
  • Your published topic automatically becomes a Writefreely blog post plus comment thread.
  • Embed parts of your forum into Nextcloud as an app via its ActivityPub support.
  • Integrate podcast features via Funkwhale (see recent video about podcasting support).
  • Obtain profile info from Flockingbird, professional social network under development (LinkedIn-like rolodex).

And look at the ever growing number of apps on the ActivityPub Watchlist and let your fantasy guide you :smiley:

Consequences

Forget for a moment all the technical hurdles and obstacles and consider what having this means for Discourse as a product. Or rather as Discourse no longer being ‘just-a-product’: Discourse has become a distributed community fabric.

Forum staff are no longer just that. They’ll adopt a much broader perspective to community-building. Both the community and community content exists all across the Discourse fabric. Staff will be actively looking at other Discourse instances, approaching their staff to forge partnerships and create interesting federation designs to slice and dice their community organization and content to be most interesting for the community member base.

The community members themself are also much better served. More interesting content will flow to their forum ‘portal’ and the forum will be more active than if it were just a local thing. Community members will be able to discover and interact with members of other forum instances all across the fabric. In fact the community boundary has been removed: Community has no boundary.

17 إعجابًا

لكي نكون منصفين، لقد قرأت بسرعة فقط، ولكن: ما هي المشكلة التي تحاول حلها بفكرة القماش هذه؟

إعجابَين (2)

أولاً، تصوّر مجموعة كاملة من الاحتمالات دون قيود، كمدخل للعصف الذهني. لكن شخصياً، لدي مشكلتان أود أن أرى تحسينات فيهما: واحدة بصفتي عضواً في المجتمع، والأخرى بصفتي ميسراً للمجتمع (أعمل حالياً في 5 منتديات، حيث أقوم أحياناً بنشر المواضيع عبر هذه المنتديات):

  • بصفتي عضواً في المجتمع، لدي حسابات على 15-20 منتدى من نوع Discourse، وأحاول التوفيق بين هذه الحسابات (بعضها منسي) وكلمات المرور، وأتحقق من المنتديات الشائعة بطريقة تشبه الدوران، موقعاً تلو الآخر. coinciden جميع هذه المنتديات في العديد من مجالات المحتوى المتداخلة، نظراً لاهتماماتي. الآن، إذا طُلب مني الانضمام إلى منتداكم الرائع حول موضوعي المفضل، سأظل متردداً جداً في القيام بذلك وإنشاء حساب آخر.

  • بصفتي ميسراً للمجتمع، لدي مشكلة مماثلة ومترابطة. قد يكون مجتمعك صغيراً، وقد تقرر الانضمام إلى ذلك المجتمع الآخر الذي يحتوي على محتوى في مواضيع متشابهة ومتداخلة جزئياً. أو العكس. أو قد لا تعرف حتى وجود ذلك المجتمع الرائع (ربما أعرف أنا كميسر للمجتمع أنه موجود، لكن هل سأخصص موضوعاً مثبتاً لإبلاغ أعضائي؟).

مع وجود دعم التوحيد، سيكون هناك فوز فوز لميسري المجتمع للتعاون في شراكات وتشكيل تنظيم المنتدى لجمهورنا المتتابع والاستفادة من نقاط قوة بعضنا البعض. عملياً، سيتضمن ذلك:

  • القدرة على تقديم محتوى عالي الجودة من خلال اختيار المصادر الأكثر ملاءمة للتوحيد.
  • قاعدة أعضاء أكبر - مجموع التوحيد - وبالتالي المزيد من الأشخاص لإجراء مناقشات مثيرة معهم.
  • مستويات نشاط أعلى في جميع نسخ المنتديات المشاركة في التوحيد، مما يساعد على إبقاء الزوار المتكررين.

ثلاثة جوانب - الجودة والكم والنشاط - هي المفتاح لأي مجتمع ناجح :slight_smile:

8 إعجابات

أتفق معك، يمكن أن يكون هذا مصدر إزعاج حقيقي. أحل هذه المشكلة بإضافة تغذية RSS من مجتمعات Discourse، وتمكين رسائل البريد الإلكتروني الأسبوعية المدمجة في النظام.

5 إعجابات

لقد أنهيت للتو كتاب نيل فيرغسون “الميدان والبرج” الذي يتناول تأثير الشبكات الاجتماعية (الروابط الاجتماعية الغامضة وغير الرسمية بين الأفراد) عبر تاريخ العالم. إنه كتاب بعيد عن الكمال، لكنه يعزز باستمرار وجهة نظرك القائلة بأن “المجتمع لا حدود له”. فالشبكات الموزعة أكثر مرونة وإبداعًا ومساواة من التسلسلات الهرمية. ويصف ديسكورد نفسه بأنه “إعادة تشغيل من الصفر، ومحاولة لإعادة تخيل ما يجب أن يكون عليه منتدى النقاش الحديث على الإنترنت اليوم، في عالم من الهواتف الذكية والأجهزة اللوحية وفيسبوك وتويتر المنتشرة في كل مكان”. ما لم تكن طموحات ديسكورد أن تكون مجرد أحدث وأفضل برنامج لل منتديات لفترة من الوقت، فإن التكامل مع ActivityPub هو السبيل الواضح لتحدي فيسبوك وجوجل وتويتر وما شابهها بجدية، ولقلب التوقعات حول ما يمكن أن يكون عليه المجتمع عبر الإنترنت.

8 إعجابات

@aschrijver بالتأكيد، أنا شخصياً أحب الأفكار والتفكير وراءها.

يبدو أن هذا قابل للتحقيق بشكل “سهل” إلى حد ما. بالنسبة لجزء الحسابات، يمكنك استخدام منصة Discourse رئيسية تعمل كمزود مصادقة موحدة (SSO). سيتعين على منتديات Discourse الأخرى الانضمام إلى النظام لبناء قاعدة مستخدمين مركزية: يتم حجز اسم المستخدم الخاص بك عبر جميع منصات Discourse التي تستخدم هذا النظام. بشكل مثالي، ستنضم إدارات المنتديات/الملاك عند إنشاء منتدياتهم. سيكون من الممكن الانضمام لاحقاً، لكنك ستحتاج فقط إلى حل مشكلة ظهور أسماء مستخدمين مكررة في ذلك الوقت: سيتعين على المسؤول إجبار مستخدميه على تغيير أسماء المستخدمين إذا كانت الأسماء مستخدمة بالفعل في النظام.

أما بالنسبة لجزء الشراكة، فيجب أن تكون الإضافات التي تستخدم Matterbridge و/أو واجهة برمجة تطبيقات Discourse قادرة على تنفيذ كل شيء. سيكون هناك بعض التطوير والتحسين للإضافات هنا.

بدلاً من ذلك، بالنسبة للمنتديات الجديدة، قد يكون هناك حل لنهج “متعدد المواقع”: إنشاء أقسام في منصة Discourse رئيسية (قد تكون نفس منصة مزود SSO المذكورة في الفكرة السابقة)، بحيث يمثل كل قسم “منتدى” واحد. من خلال تعديل بعض الأمور، يمكنك “تقييد” عدد قليل من الأشخاص داخل القسم، وإزالة الإشارات إلى “الأقسام” الرئيسية وإعادة توظيفها كـ “منتديات” مختلفة. من خلال تفعيل الأقسام الفرعية، لا يزال كل منتدى يحتوي على مستويين من الأقسام. هناك تعديلات تحتاج إلى العمل عليها، لكن هذا يتيح مباشرة قاعدة مستخدمين مشتركة والمراسلة الخاصة المتبادلة (أنت على نفس منصة Discourse!).

يمكنك دمج النهجين: وجود منتديات مستضافة على منصة Discourse الرئيسية ومنتديات خارجية ترتبط بها. أعتقد أن ترجمة رؤيتك إلى واقع ممكنة بشكل سهل إلى حد ما. أنا مستعد محتملاً للعمل على هذا إذا كان هناك اهتمام (سأحتاج إلى بعض المساعدة، رغم ذلك). لقد سجلت النطاق webforum.link الذي يمكن استخدامه لهذا الغرض.

ملاحظة (بعد رؤية المنشور السابق): بروتوكول ActivityPub شيء “مفتوح”. الأفكار المذكورة أعلاه ستكون أكثر “انغلاقاً” ومقتصرة على منتديات Discourse. ولن يكون الانضمام إليها سهلاً بنفس القدر أيضاً.

3 إعجابات

@aschrijver ، تكملةً لتبادلنا للرسائل في https://meta.discourse.org/t/activitypub-support-phase-1-rfc/132624/50، مع محاولة نقل النقاش إلى هنا (فهو موضوع أكثر ملاءمة):

هناك أمر وجدته مثيرًا للاهتمام مؤخرًا: فقد أنشأ بعض الأشخاص سوقًا مجانيًا ولا مركزيًا يُدعى Openbazaar. كانت الفكرة الأساسية تتمثل في إنشاء شيء مفتوح تمامًا، حيث يمكن لأي شخص عرض أي شيء للبيع دون أي إمكانية للقيود أو الرقابة. يعتمد هذا النظام على العملات المشفرة للدفع، ويوجد إمكانية لمراجعة البائعين ونظام من المشرفين للتدخل في نهاية المطاف لتسوية المعاملات التي قد تواجه مشاكل أو تعطل. لا توجد أي رسوم على المعاملات على الإطلاق؛ فالأمر مجاني بنسبة 100% (قد تُفرض رسوم صغيرة على المشرف في حال الحاجة إلى تدخله، إذا لزم الأمر).

أعني، نظريًا، هذا الأمر رائع، برأيي الشخصي. ومع ذلك، لم ينجح أبدًا حقًا في الانتشار. من ناحية أخرى، تعمل مواقع مثل eBay أو Amazon بشكل ممتاز، رغم أنها تفرض رسومًا كبيرة على كل معاملة.

النقطة الجوهرية هي أن وجود شخص يتحكم في شيء ما، ويكون لديه حافز لجعله ناجحًا لأنه يستفيد ماديًا منه، ويستثمر لتحقيق هذا الهدف، يجعله يعمل بشكل أفضل عادةً من الأفكار المجانية والمفتوحة والنبيلة. قد يكون هذا حزينًا جدًا، لكن عمليًا، هذا ما يبدو أنه يحدث في الحياة الواقعية.

هل استحوذ Mastodon على Facebook و Twitter؟ وهل سيستحوذ عليهما يومًا ما؟ لا يبدو أن المستخدمين قد ملّوا من كمية الإعلانات التي يتعرضون لها على Facebook.

على أي حال، يبدو لي أنك لم تأخذ هذا الجانب في الاعتبار في رؤيتك حول التوحيد (الفيدرالية). لذا، إليك هذا الرأي لتتخذه في الحسبان (أو على الأقل لتعرف عنه). هذا لا يعني أن خيار توحيد الأشياء أو الدخول في شراكات ليس فكرة جيدة. لكن الانتقال إلى “الفيدرالية الكاملة” قد يزيل أيضًا جاذبية تشغيل برنامج ما، حيث يصبح مجرد “عقدة” ولا يعود شيئًا تتحكم به. الأمر مختلف جدًا، على الأقل.

إعجاب واحد (1)

تطور استخدام المنصة ليس خطيًا. خذ مثالًا على تطبيق Signal: قال سنودن “استخدم Silent أو Signal”، فتطور التطبيق. ظل لفترة طويلة تطبيقًا متخصصًا. أما عندما تسيء شركة من عمالقة التكنولوجيا (GAFAM) التواصل، ويعلن إيلون ماسك “استخدم Signal”، فإن مئات الآلاف من المستخدمين يأتون لأنهم قارنوا في وقت واحد نفس المعايير، وتلبي التطبيق الوجهة احتياجاتهم.

قد يكون بعض المستخدمين قد غادروا تويتر وفيسبوك مؤخرًا، دون تغطية إعلامية كبيرة، لأن المزوّد الرئيسي للتفاعلات في خلاصتهم قد تم حذف حساباته.

كلما زاد الفوضى في النظام على وسائل التواصل الاجتماعي، زادت احتمالية أن يشارك المستخدمون بشكل متزامن في “إلغاء تثبيت تطبيق 1، وتثبيت تطبيق 2” على نطاق واسع.

إعجاب واحد (1)

لست متأكدًا من أن مثال Signal قابل للمقارنة حقًا. هنا توجد ميزة واضحة مضافة، وسبب واضح لاستخدامها: «استخدم اتصالات مشفرة بحيث تبقى كلماتك خاصة ولا يستطيع أحد الاستماع إليها». سيكون هذا انتقالًا من غير مشفر إلى مشفر.

لكن عند الانتقال من منصة «مغلقة» و«معزولة» إلى منصة «مفتوحة»، إذا فكرنا في «التكامل الكامل» (full federation)، فهل يضيف ذلك شيئًا فعليًا للمستخدمين؟ هل يضيف ميزة حقيقية لهم؟ قد يقول البعض نعم، لأنهم يرون كيف يشاركون في عدة مجتمعات، ويمكن تجميع ذلك (أفهم تمامًا كيف يكون تسجيل الدخول إلى مجتمعات مختلفة أمرًا مرهقًا).. ولكن في الوقت نفسه، إذا انتقل جميع المستخدمين إلى مجتمع «مغلق» واحد أصبح مهيمنًا، فسيكون الأمر متشابهًا جدًا بالنسبة لهم. لست متأكدًا من أنهم سيلاحظون الفرق، أو سيهتمون بـ «الانفتاح».

يهتم الناس بالمحتوى والتفاعلات وما إلى ذلك، لكن هل يهمهم كيف تعمل الأمور تقنيًا ومن يتحكم فيها؟ الانتقال إلى «التكامل» هو في الواقع انتقال من التنافس إلى المشاركة للمجتمعات. قد تكون هذه المجتمعات أصدقاء مع بعضها البعض ومستعدة لإرسال المستخدمين من واحدة إلى أخرى، لكنها لا تزال تتنافس عندما تكون مغلقة.

نقطةك الثانية مثيرة للاهتمام: هل يمكن أن يمنع بعض «التكامل» الحظر وحذف الحسابات والرقابة؟ هذا قد يكون ميزة «مضافة» للناس. حاليًا مع ActivityPub، أعتقد أنه يمكن حظرك من مواقع فردية، لكنك تستطيع الاستمرار في النشر في بقية الشبكة المدمجة… طالما أن الموقع الذي سجلت فيه لم يحظرك؟ @aschrijver، هل تعرف كيف يعمل ذلك؟ (أنا لا أعرف ActivityPub جيدًا بما يكفي). هل أنت مسجل على مستوى التكامل، أم أنك مسجل في أحد المواقع التابعة للشبكة المدمجة؟ هل يمكن أن تُحظر على مستوى التكامل؟ أم أن هذا مستحيل؟ (من المفترض أن يكون مستحيلًا؟)

@jibe-b السؤال لم يكن حقًا حول الانتقال من تطبيق إلى آخر، بل حول التطبيقات الفردية المغلقة مقارنة بشيء مدمج (شيء مفتوح). يمكن أيضًا أن تكون هناك تطبيقات فردية مغلقة بسياسات قوية لحرية التعبير ولا تحظر الناس (من السهل جدًا القول ذلك بعد وقوع الحدث، لكن «موفر ردود الفعل» كان يمكن أن يتوقع ذلك). يمكنك ضمان بيئة خالية من الحظر من خلال اللامركزية التامة وإزالة قدرة الحظر من أي شخص. لا أعتقد أن منع الرقابة كان الهدف الأولي لـ @aschrijver، رغم ذلك.

إعجاب واحد (1)

(لقد اقتبست مقاطع للاختصار). تشبيه المطعم ينهار نوعًا ما هنا. الأمر أشبه بأنك تجلس في طاولتين في نفس الوقت، وفي مطعم “مجمع” أكبر به المزيد من الناس للاحتفال معهم. ما تقوله قد يكون صحيحًا، لكنه يعتمد أيضًا كليًا على كيفية تنفيذ الأمور.

بينما يضع موضوع مواصفة RFC الخاصة بـ ActivityPub وحالة الاستخدام الخاصة بـ @hellekin الأفراد في سيطرة كاملة، فإنني في وصفي أعلاه أترك هيكل المجتمع بالكامل في أيدي موظفي المجتمع. يقوم هؤلاء بإقامة شراكات مع مجتمعات أخرى، وقد يكونون قادرين فقط على مشاركة أقسام عرضية من مجتمعهم بناءً على الموافقة المتبادلة.

اعتقدت أن فعل ذلك سيكون في مصلحة شركة Discourse (الشركة) وكذلك مديري المجتمعات الذين يبذلون كل هذا الجهد لبناء هويتهم وقاعدة أعضاءهم. أي أنه سيكون أكثر من مجرد حالة عمل. لذا، سيظل الموظفون في سيطرة كاملة، وسيعتنون أيضًا بالحفاظ على تنظيم المجتمع المكون شاملًا وبديهيًا. إنهم “محررو نسيج المجتمع”.

إذا سمحت بحرية كاملة لمستخدمي Discourse لملء “بوابتهم” الفارغة بمحتوى من منتديات من كل مكان، فستحصل على ديناميكية مجتمع مختلفة تمامًا. لحالة الاستخدام هذه قيمة، في حالات محددة، لكنها مختلفة تمامًا عن حالة استخدام “الموظفون يحتفظون بالسيطرة”. بالطبع، جميع درجات الرمادي بينهما ممكنة أيضًا.

نعم، أعرف عنهم وأحب الفكرة وراء OpenBazaar كسوق لا مركزي، ومع ذلك فإن العملات المشفرة هي التي منعتني من تجربته. إنها مسألة ثقة. بالنسبة للكثيرين، قد يكون هذا قد منعهم أيضًا. لكن بخلاف ذلك، فإن التأثيرات الشبكية الهائلة لتقنيات كبرى راسخة تجعل من الصعب جدًا على الوافدين الجدد الدخول، حيث يطلقون خدمة جديدة، ويعلنون عنها في مواقع يزورها ملايين الزوار يوميًا، ويكونون قادرين على العمل بخسائر كبيرة حتى تنجح الخدمة أخيرًا.

نعم، أنا أتفق مع ذلك. هذا هو السبب في أنني لم أركز على “الحرية الكاملة”، بل على حالة استخدام “الموظفون في السيطرة”، كما هو موصوف أعلاه. حيث تضيف دعم ActivityPub ميزة فريدة (USP) لمنتج Discourse الموجه لمديري المجتمعات، وهم العملاء الدافعين. حسنًا.. إذا اختاروا اشتراكًا مستضافًا على السحابة، بالطبع.

في هذا الصدد، قد تجعل شركة Discourse الاشتراكات أكثر جاذبية من خلال تقديم خدمات ذات قيمة مضافة، مثل خدمة اكتشاف وتطابق حيث يبحث مديرو مجتمعات مختلفة بنشاط عن شراكات وتعاونات لإثراء مجتمعاتهم (وبشكل ضمني مجتمعات بعضهم البعض). قد تكون الخدمة متاحة لأي شخص، أو فقط للعملاء في خطة مدفوعة.

هل يجب أن يريدوا ذلك؟ لماذا يجب أن يكون هذا هو الهدف؟ يسمح بروتوكول ActivityPub للعديد من التطبيقات المختلفة في مجالات متنوعة بالعمل معًا على أي مستوى. كل مشروع / تطبيق / منتج سيسعى لتحقيق أهدافه الخاصة، وفي حالة البرمجيات التجارية، ميزاته الفريدة الخاصة.

الجزء الأول مهم. اختر التوحيد الخاص بك بحكمة. لا يجب أبدًا أن يكون “التوحيد الكامل” هو الهدف إذا فقدت كل هويتك كمنتج من خلال القيام بذلك.

أولاً، هناك فرق بين “التوحيد” و"الفيدوفيرس" (The Fediverse). إذا قمت ببناء التوحيد باستخدام ActivityPub، فيمكنك بناؤه بأي طريقة تريد أن تعمل بها. إذا قمت بالبناء بهدف التكامل مع الفيدوفيرس، فهناك بعض المعايير الواقعية الراسخة لكيفية عمل الأمور. حظر شامل على مستوى المستخدم في الفيدوفيرس غير ممكن، وتعتمد الحظور على instances محددة على قرارات مدراء كل instance آخر، ويتم تكوينها في قوائم الحظر والسماح. غالبًا ما تُشارك هذه القوائم (مثل قوائم حجب الإعلانات) وقد تؤدي إلى حظر instances معينة بالكامل عبر الفيدوفيرس (“يتم دفعهم إلى أطراف الفيدوفيرس”).

فيديو جيد يشرح المفهوم هو:

مثل المنتديات، كل instance موحد في الفيدوفيرس يتم إدارته. وأعتقد أن هذا أمر جيد. لا تزال هناك حرية كاملة، لأنه يمكنك تشغيل منتدى / instance خادم خاص بك بدون إدارة حيث يسمح بكل شيء. للآخرين حرية حجبك بناءً على ذلك.

4 إعجابات

تفويض إدارة المجتمع

بما أن هذه مجرد عصف ذهني عشوائي، وقد رأيت للتو هذا الموضوع نداء لاستدعاء متطوعين لإدارة المجتمع :mega: … فكرت:

—> ماذا لو كانت إدارة المجتمع موحدة (موزعة)؟

أنت مدير مجتمع جديد في منتدى Discourse حديث التثبيت، مبتدئ تمامًا في واجهة الإدارة وممارسات بناء المجتمع. ماذا لو كان بإمكانك استدعاء مساعدة مدير مجتمع خبير لفترة زمنية معينة لتقديم المشورة لك والإشراف على عملك؟

الآن، أعلم أنكم ستقولون: “لماذا لا تنشئ حساب موظف في ذلك المنتدى مباشرةً.. لا حاجة للوحدة!” وأنتم محقون. لكن دعونا نعكس الأمر ونجعل هذا أكثر إثارة للاهتمام: ماذا لو أردت تقديم مهاراتي في إدارة مجتمع Discourse سواء كمتطوع أو كمحترف (أي مقابل أجر)؟

أريد أن أتمكن من التعامل بفعالية مع أكبر عدد ممكن من المجتمعات في “محفظة عملائي”. هذا يؤدي إلى فوز ثلاثي:

  • يمكن لمديري المجتمع الجدد الحصول على خدمة التوجيه للبدء بسرعة أكبر.
  • يمكن لمديري المجتمع الاستفادة من مهاراتهم على نطاق أوسع، بما يتجاوز مجتمعهم الخاص.
  • تعني النقطتان السابقتان أن Discourse أضفت ميزة تنافسية فريدة أخرى إلى منتجها.

فكيف سيبدو هذا؟ لا أعرف.. هناك العديد من الاحتمالات. بعض الاقتراحات، حيث يعمل كل من المسؤول المفوض من بوابته الخاصة عبر الوحدة، مع إدارة العديد من المجتمعات المحتملة:

  • يمكن للمسؤول المفوض إعداد إعدادات المنتدى، وتثبيت الإضافات/المكونات/أنماط CSS، والتي يوافق عليها المسؤول الفعلي قبل أن تصبح سارية المفعول.
  • يكون للمسؤول المفوض الوصول إلى الفئات والمجموعات المخصصة للموظفين فقط، ويشارك في المناقشات لتقديم نصائحه.
  • يتعامل المسؤول المفوض مع الأعلام المرفوعة في المنتدى، حيث يتم توحيد الموضوع الذي يحتوي على العلم فقط إلى بوابته.
  • يساعد المسؤول المفوض، نظرًا لاطلاعه على مشهد المجتمع، في ترتيب الشراكات مع مجتمعات أخرى ومشاركة المحتوى.

فكر في ما يلي بناءً على ما سبق:

قد تكون هذه أيضًا خدمة ذات قيمة مضافة ويمكن دمجها مع ما سبق. جميع الأطراف المعنية لديها مصلحة في فحص المسؤولين المفوضين كمديري مجتمع جيدين إلى حد معين. قد تسمح شركة Discourse فقط للأشخاص بأن يصبحوا مسؤولين مفوضين إذا كانوا مشتركين في اشتراك (مدفوع؟). قد تقدم شركة Discourse أو شريك لها دورة في إدارة المجتمع، وعند اجتيازها، تمنح شهادة مع ختم اعتماد من @codinghorror.

حسنًا.. سواء أعجبك الفكرة أم لا. كانت جلسة عصف ذهني لطيفة بالنسبة لي، ها ها :grinning_face_with_smiling_eyes:
ربما يمكنك تحسينها؟


تعديل:

ستستخدم شركة Discourse نفسها هذه الخدمة أيضًا. في بداية اشتراكنا المدفوع، كان عضو واحد من فريق Discourse جزءًا من فريق موظفي منتدى لتقديم نفس النوع من المساعدة. من خلال ذلك، يمكنهم القيام بذلك من “مقصرتهم” عن بُعد، أو.. تفويضه.

هناك شيء آخر يتعلق بمشاركة أجزاء من المجتمع.. في عدة مناسبات عندما نشرت موضوعًا على Meta طلبًا للمساعدة المحددة، تم جعل الموضوع خاصًا (أحيانًا لأنه يحتوي على معلومات حساسة) وتم التعامل معه كـ “تذكرة دعم” من قبل فريق Discourse. مع الوحدة، قد يكون لدي جزء الدعم من Meta مدمجًا في منتدى الخاص بي.

4 إعجابات

(تنسيقي الخاص). أعجبني جدًا هذا التعريف يا @JE-FF، ويتناسب تمامًا مع النهج المبتكر المتبع مع مفاهيم ‘لا حدود للمجتمع’ و’Discourse كنسيج’. غير أنني أشك، كما ذكرت أيضًا لـ @Mevo، في ما إذا كان Discourse يريد حقًا تحدي شبكات التواصل الاجتماعي الكبرى. يمكنهم ذلك إذا أرادوا، لكن لا حاجة لذلك. فـ Discourse ناجح جدًا بحد ذاته، وهو الآن في موقع مختلف، أي كخدمة SaaS متعددة المستأجرين، أو ‘سحابة من منتديات المجتمع المستقلة’. ومع ذلك، من خلال توسيع مفاهيم المجتمع لتشمل ما يتجاوز حدود المستأجرين، قد يكونون في موقع أفضل لمواجهة منافسيهم، سواء في مجال المنتديات أو شبكات التواصل الاجتماعي.

إعجابَين (2)

شكرًا جزيلاً لك، @aschrijver. كل شيء واضح جدًا، وبصراحة، أتفق معك تقريبًا بالكامل على كل ما قلته. لقد كتبت رسائلي بفكرة معينة في ذهني مفادها أن ما اقترحته كان مجرد “خطوة تمهيدية” نحو “تفويض كامل (ومفتوح تمامًا)” كهدف نهائي. الآن، لست متأكدًا حتى من أين أتت هذه الفكرة، وقد لا تكون قد قلت شيئًا من هذا القبيل أبدًا. قد يكون هذا سوء فهم (أو فكرة من اختراعي)، أو ربما خلطت بين أشياء قالها أشخاص آخرون.

استخدام ActivityPub لكل ما يمكن أن يسمح به، بينما لا تزال تختار كيف تريد القيام بالأشياء، نعم، كل هذا يبدو مذهلاً بالنسبة لي. أعتقد أنك محق في أن هناك خلطًا بين ActivityPub والفيديفيرس (لقد شرحت ذلك بالفعل في الموضوع الآخر حول ActivityPub).

شخصيًا، أحب كل الأفكار التي طرحتها. فيما يتعلق بـ “إدارة المجتمع” الموزعة، قد يكون من المفيد جدًا الوصول إلى المشرفين بهذه الطريقة. مشرفون يمكنك استخدامهم مؤقتًا عندما يزداد نشاط مجتمعك، أو عندما يكون هناك حدث خاص يتطلب المزيد من المشرفين (ربما كان كل هذا مدرجًا في “إدارة المجتمع” في ذهنك. لقد تحدثت عن الأعلام. لكن يمكنك أيضًا الوصول إلى المزيد من الأشخاص من نوع “المسؤولين”، أو “المشرفين”، أو “مديري المجتمع” إذا عرفت هذه المهام على أنها مختلفة).

كما تم ذكره سابقًا، يمكن تحقيق كل هذا “على الجانب” من خلال الإضافات و/أو موقع جانبي (قد يكون هناك موقع جانبي يعمل بنظام “العمل الحر” يعرض ويقترح خدمات مع أشخاص يذهبون للعمل في المجتمع مباشرة. ليس هذا جميلاً مثل امتلاكهم لمنصتهم الخاصة التي يمكنهم من خلالها إدارة كل شيء عن بُعد وتجميعه بفضل ActivityPub، لكنه سيكون بداية جيدة بالفعل).

كل ذلك يعتمد على ما إذا كان فريق Discourse يرغب في استخدام بعض هذه الأفكار لتنفيذها مباشرة في Discourse أم لا.

4 إعجابات

أنا لا أوافق على ذلك. لقد استخدمت إعدادات متعددة للمواقع لتسهيل الملكية الجماعية لم instance من Discourse، حيث يمكن لمجموعة مقربة أن تصبح جزءًا من طاقم العمل مع الحفاظ على رابط مباشر مع المجتمع الأوسع. برأيي، فإن اللعب بحدود المجتمع يمكّن المجتمع من خلال استخدام مبدأ التكميلية: أي أن القرارات تُتخذ بقدر الإمكان بالقرب من الممارسة.

أولاً، يبدو أنك تفسر ما قاله على أنه ‘المستخدمون سيسيئون التصرف دون وجود بعض ‘التحكم من الطاقم’’، وهو ما لم يقله، في رأيي. ثانياً، لم يتحدث إلا عن ‘ديناميكية مجتمع مختلفة تماماً’، دون أي حكم على ما إذا كان ذلك جيداً أم سيئاً. بل يبدو أنك توافقه الرأي بقولك إن الأمر جيد (فهو لا يزال ‘مختلفاً’).

لكن هذا لم يكن موضوع النقاش. لم يكن الأمر يتعلق بهذا ‘التحكم’، ولا بوجود أي مشكلة مع المستخدمين.

نعم، كان الأمر يتعلق في الغالب بإظهار مدى اتساع نطاق الخيارات المتاحة، والمرونة الكاملة لضبطها حسب السيناريو المحدد. إذا ركزت حصريًا على بروتوكول ActivityPub، فإنه يمنح مطوّر ميزات التوحيد (federation) سيطرة كاملة على ‘الكرة’. جميع حالات الاستخدام المطبَّقة تُعدّ صحيحة بنفس القدر (بافتراض أنها صُممت عمدًا كجزء من تطوير المنتج).

أرى أن حالة @hellekin تقع بالفعل في الطرف غير الحرّ تمامًا من الطيف، وسيكون من المثير للاهتمام التعمق فيها أكثر. فـ @hellekin يدير أكثر من منتدى مقارنة بي، وبطرق إبداعية، كما يتضح من منتدى SocialHub، حيث تملك فرق البرمجيات الفردية لـ ActivityPub سيطرة على أقسامها الخاصة من المنتدى. وغالبًا ما تملك هذه الفرق منتدى مستقلًا آخر خاصًا بها (كما في حالة Mastodon). ويجب تشجيعها على بذل ‘الجهد المزدوج’ لإبقاء مجتمع ActivityPub على اطلاع بامتدادات التوحيد المخصصة التي تدمجها في برمجياتها الخاصة. بالإضافة إلى ذلك، يحتوي SocialHub على ما يمكن اعتباره منتديات فرعية (satellite forums).

3 إعجابات

لقد قررت للتو الانضمام إلى منتدى Discourse آخر، لمساعدتهم وتقديم بعض التوجيهات المفيدة (نسخ/لصق) لمواضيع في منتديات أخرى. حساب مستخدم Discourse آخر آخر لإدارته.

المنتدى هو Fedeproxy، لمشروع جديد يستخدم بروتوكول ActivityPub ويهدف إلى مزامنة منصات تطوير الكود (مستودعات Github و Gitlab و Gitea وغيرها) مع بعضها البعض. قد يصبح هذا المشروع تطبيقًا لبروتوكول Forgefed، ومن المثير للاهتمام ذكره هنا لسببين:

  1. هذا مثال آخر على مجال أعمال مختلف تمامًا يمكن أن يستفيد بشكل كبير من اتحاد ActivityPub.
  2. إذا كان Discourse يدعم الاتحاد، ففئة #development في هذا المنتدى يمكن أن تُزامن ثنائيًا مع الفئة الفرعية #software في SocialHub، دون الحاجة للعمل على منتدين ونسخ النقاشات.

تحديث:

في منتدى Fedeproxy، أشار مستخدم (والذي بالمناسبة لم يرغب في التسجيل هنا، فقط من أجل نشر منشور واحد) إلى نموذج بيانات مرتبطة مثير للاهتمام للمجتمعات، وهو مواصفات SIOC Core Ontology، حيث يمثل مشروع SIOC اختصارًا لـ “المجتمعات المتصلة دلاليًا على الإنترنت” (Semantically-Interlinked Online Communities). يحدد هذا النموذج الدلالات التالية في البيانات المرتبطة:


تم ذكره هنا لأنه يسلط الضوء على التفكير في مجال الأعمال/المفردات ويمكن أن يكون مصدر إلهام للعصف الذهني :slight_smile:

(ملاحظة: لا تدع مصطلح “الشبكة الدلالية” في مواصفات SIOC يضلك. الأمر لا يتعلق بذلك - فهو معقد جدًا - بل يتعلق بالبحث عن مفردات بيانات مرتبطة مغلقة لتحديد مجال معين.)

تحديث 2:

وجدت مشروعًا رائعًا اليوم، أيضًا في مجال مشابه لـ Discourse، وبدأت نقاشًا بعنوان “المجتمع ليس له حدود” هناك:

PubPub هو جزء من مجموعة Knowledge Futures، الذين يعملون أيضًا على مشروع رسم بياني للمعرفة الموزعة المفتوح Underlay (الذي يقترب من فكرة لدي لتجميع المعرفة من منتديات Discourse).

تحديث 3:

أدركت أن النقاش حول المجتمع أوسع بكثير من Discourse وحده، حيث أن مفاهيم المجتمع عالمية جدًا في مجتمعنا. بالنسبة لـ Fediverse، بدأت نقاشًا حول توحيد مجال المجتمع ونمذجة امتداد لـ ActivityPub بناءً عليه:

7 إعجابات

Activitypub فكرة جيدة، لكن حتى البرامج الجديدة التي تطبقها ككيانات أساسية تضطر إلى إصلاح عدد من الثغرات في المواصفات — لذا فمن المنطقي بالنسبة لنا الانتظار والترقب.

كما أن هذا ممكن تمامًا كتطبيق إضافي إذا كان الأمر يتعلق بمجموعة معينة متحمسة جدًا له.

13 إعجابًا

سيكون رائعًا رؤية مثل هذا التكامل يُطرح في طلب دمج إلى تطبيق chat-integration حتى نتمكن ببساطة من النشر المتقاطع عبر الوسم / الفئة / الإشارة بعد إضافة بيانات الاعتماد الخاصة بنا. تحياتي!

7 إعجابات

شكرًا لك @codinghorror. نعم، في الواقع توجد ثغرات في مواصفة ActivityPub. لكنها موجودة عمدًا إلى حد كبير، لأن مؤلفي المواصفة لم يرغبوا في إنشاء معيار تقني ضخم ومعقد يشمل كل شيء، بالإضافة إلى أنه - وقت الكتابة - لم يكن معروفًا كيف ستتطور المواصفة. لذا انتظروا حتى تظهر تطبيقات مرجعية (وهذا كان له أيضًا بعض العيوب، مثل استخدام Mastodon لواجهة برمجة تطبيقات مخصصة للعميل بدلاً من جزء العميل إلى الخادم في المواصفة، لكن Mastodon عرّف أيضًا بعض امتدادات مساحة الاسم المفيدة للاستخدام).

حاليًا، تم ملء معظم هذه الثغرات بواسطة معايير مفتوحة أخرى (رغم أن هناك بعضًا لا يزال يحتاج إلى سد). فهناك HTTP Signatures للتكامل بين الخوادم (أو - الأقل استخدامًا - توقيعات JSON-LD)، وللاستشهاد بالمستخدمين الموزعين يُستخدم Webfinger. أما من العميل إلى الخادم فيُستخدم OAuth2 Client Credentials، وهناك مواصفات فعلية مثل NodeInfo و NodeInfo2 للتواصل حول قدرات الخادم.

أتفق بأن عددًا كبيرًا من الأمور التي نوقشت في هذا الموضوع (الغالبية على الأرجح) يمكن تنفيذها باستخدام الإضافات وواجهة برمجة تطبيقات Discourse الرائعة. سيكون بالفعل رائعًا كما يقول @sunjam إذا تجرأ شخص ما على خوض هذه التجربة :slight_smile:


استنادًا إلى هذه العاصفة الفكرية، قمت ببدء بعض المناقشات الأعمق على منتدى SocialHub، وأود الإشارة إليها:

تحديث 2021/03/07: في SocialHub، في الموضوع المتعلق بإنشاء امتداد مفردات المجتمع لـ AP، شرحتُ بشكل أكثر تفصيلاً كيف يمكن لـ Discourse أن يتناسب مع نموذج المجتمع. راجع مشاركتي:

7 إعجابات