La comunidad no tiene fronteras: Discourse-as-a-Fabric - ideación y lluvia de ideas

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 Me gusta

Para ser justos, solo lo hojee ligeramente, pero: ¿qué problema estás intentando resolver con esta idea de tela?

2 Me gusta

En primer lugar, presenté un montón de posibilidades sin restricciones como entrada para la lluvia de ideas. Pero personalmente tengo dos problemas en los que me gustaría ver mejoras: uno como miembro general de la comunidad y otro como facilitador de la comunidad (personal en 5 foros actualmente, donde publico ocasionalmente en varios lugares):

  • Como miembro de la comunidad, tengo cuentas en 15-20 foros de Discourse, alternando entre ellas (algunas olvidadas) y contraseñas, y revisando los más populares de manera similar a un carrusel, sitio por sitio. Todos estos tienen muchas áreas de contenido que se superponen, dado mis intereses. Ahora, si me pidieran unirme a su excelente foro sobre mi tema favorito, aún estaría muy dubitativo en hacerlo y crear otra cuenta más.

  • Como facilitador de la comunidad, tengo un problema similar y relacionado. Mi comunidad puede ser pequeña, y usted podría decidir unirse a esa otra comunidad con contenido sobre temas similares, parcialmente superpuestos. O viceversa. O incluso podría no saber que existe esa otra gran comunidad (quizás yo, como facilitador de la comunidad, sé que existe, pero ¿dedicaría un tema fijado para informar a mis miembros sobre ello?).

Con el soporte de federación en su lugar, habría un beneficio mutuo para que los facilitadores de la comunidad cooperen en asociaciones y den forma a la organización de los foros para nuestras audiencias consecutivas y aprovechemos las fortalezas de los demás. Concretamente, esto implicaría:

  • Capacidad de proporcionar contenido de mayor calidad seleccionando las fuentes más apropiadas para federar.
  • Una base de miembros más grande: el agregado de la federación, y por lo tanto más personas con las que tener discusiones interesantes.
  • Niveles de actividad más altos en todas las instancias de foro que participan en la federación, lo que ayuda a retener a los visitantes recurrentes.

Tres aspectos: calidad, cantidad y actividad, que son clave para cualquier comunidad exitosa :slight_smile:

8 Me gusta

Estoy de acuerdo, esto puede ser realmente molesto. Yo resuelvo este problema agregando el feed RSS de las comunidades de Discourse y activando los correos electrónicos de resumen semanal integrados.

5 Me gusta

Acabo de terminar recientemente “La plaza y la torre” de Niall Ferguson, que trata sobre la influencia de las redes sociales (conexiones sociales informales y poco conocidas entre individuos) a lo largo de la historia mundial. No es un libro perfecto, pero refuerza consistentemente tu punto de que “la comunidad no tiene límites”. Las redes distribuidas son más resilientes, innovadoras e igualitarias que las jerarquías. Discourse se describe a sí mismo como “un reinicio desde cero, un intento de reimaginar cómo debería ser un foro de discusión en internet moderno hoy, en un mundo de teléfonos inteligentes, tabletas, Facebook y Twitter omnipresentes”. A menos que la ambición de Discourse sea ser simplemente el software de foro más nuevo y mejor por un tiempo, la integración con ActivityPub es la vía clara para desafiar seriamente a Facebook, Google, Twitter y otros, y revertir las expectativas sobre lo que puede ser una comunidad en línea.

8 Me gusta

@aschrijver Claro, personalmente me encantan las ideas y el planteamiento.

Esto parece ser bastante “fácil” de lograr. Para la parte de las cuentas, podrías utilizar un Discourse principal que actúe como proveedor de SSO. Otros foros de Discourse solo tendrían que unirse al sistema para construir una base de usuarios centralizada: tu nombre de usuario estaría reservado para ti en todos los Discourse que lo utilicen. Idealmente, los administradores/propietarios de los foros se unirían al crear su foro. Sería posible unirse más tarde; solo tendrías que resolver todos los nombres de usuario duplicados que aparezcan en ese momento: el administrador tendría que hacer que sus usuarios cambien su nombre de usuario si ya está en uso en el sistema.

Para la parte de la asociación, los plugins que utilicen Matterbridge y/o la API de Discourse deberían poder hacer todo. Habría que desarrollar y refinar algunos plugins aquí.

Alternativamente, para nuevos foros, podría haber una solución con un enfoque de “multisitio”: crear categorías en un Discourse principal (podría ser el mismo que el proveedor de SSO de la idea anterior), donde una categoría = un “foro”. Ajustando algunos aspectos, podrías “bloquear” a ciertos usuarios dentro de la categoría, eliminar las menciones a las “categorías” principales y reutilizarlas como diferentes “foros”. Al activar subcategorías, cada foro aún tendría 2 niveles de categorías. Hay ajustes que trabajar, pero esto permite directamente una base de usuarios común y mensajería privada interna (¡estás en el mismo Discourse!).

Puedes combinar los dos enfoques: tener foros alojados en el Discourse principal y otros externos enlazando a él. Creo que traducir tu visión a la realidad es bastante factible. Estoy potencialmente dispuesto a trabajar en esto si hay interés (aunque necesitaría algo de ayuda). He registrado el dominio webforum.link, que se puede utilizar para esto.

Nota (tras ver el mensaje anterior): ActivityPub es algo “abierto”. Las ideas anteriores serían mucho más “cerradas” y restringidas a foros de Discourse. Tampoco sería tan fácil unirse.

3 Me gusta

@aschrijver, continuando nuestro intercambio de publicaciones en ActivityPub Support: Phase 1 RFC - #50 by Mevo y tratando también de llevar las cosas aquí (este es un tema más apropiado):

Hay algo que he encontrado bastante interesante últimamente: algunas personas crearon un mercado gratuito y descentralizado llamado Openbazaar. La idea era básicamente tener algo totalmente abierto donde cualquiera pudiera poner cualquier cosa a la venta, sin posibilidad alguna de restricción o censura. Se basa en criptomonedas para los pagos, y existe la posibilidad de revisar a los vendedores y un sistema de moderadores para arbitrar eventualmente transacciones que puedan salir mal o tener problemas. SIN COMISIONES en las transacciones en absoluto; la cosa es 100% gratuita (habría una pequeña comisión para el moderador que necesite intervenir, si ese fuera el caso).

Quiero decir, en papel, esto es fantástico, en mi opinión. Sin embargo, nunca realmente despegó. Por otro lado, eBay o Amazon, que cobran bastantes comisiones en cada transacción, funcionan muy bien.

El punto es que tener a alguien que controle algo, que tenga un incentivo para que funcione porque obtiene ganancias financieras de ello y que invertirá hacia ese objetivo, generalmente hace que funcione mejor que las ideas gratuitas, abiertas y nobles. Puede ser muy triste, pero en la práctica, esto es lo que parece ocurrir en la vida real.

¿Ha tomado Mastodon el relevo de Facebook y Twitter? ¿Lo hará alguna vez? Los usuarios no parecen estar hartos de la cantidad de anuncios que consumen en Facebook.

De todos modos, me parece que no consideraste ese aspecto en tu visión sobre la federación. Así que aquí está para que lo consideres (o al menos lo conozcas). No significa que tener la opción de federar cosas o establecer asociaciones no sea una buena idea. Pero ir por la “federación completa” también podría quitar el atractivo de ejecutar un software que solo se convierte en un “nodo” y ya no es algo que tú controlas. Es bastante diferente, al menos.

1 me gusta

La evolución del uso de una plataforma no es lineal. Tomemos el ejemplo de Signal: Snowden dijo «usa Silent o Signal», y la app avanzó. Así, se mantuvo como un nicho. Cuando un Gafam comete un error de comunicación y Elon Musk dice «usa Signal», cientos de miles de usuarios llegan porque evalúan de forma sincrónica los mismos criterios y la aplicación de destino responde a su necesidad.

Algunos usuarios pueden haber dejado Twitter y Facebook recientemente, sin mucha cobertura mediática, porque el principal proveedor de reacciones en sus feeds ha visto eliminadas sus cuentas.

Cuanto más caótico se vuelva el sistema en las redes sociales, mayor será la probabilidad de que los usuarios participen de forma sincrónica en un masivo «desinstalar app1, instalar app2».

1 me gusta

No estoy seguro de que el ejemplo de Signal sea realmente comparable. Aquí hay una característica añadida clara, y un PORQUÉ por el que la gente debería usarla: «Usa comunicación cifrada para que lo que digas permanezca privado y nadie pueda escucharlo». Sería pasar de no cifrado a cifrado.

Pero al pasar de una plataforma «cerrada» y «aislada» a una «abierta», si pensamos en la «federación completa», ¿realmente aporta algo a los usuarios? ¿Realmente les añade una característica? Algunos dirán que sí, al ver cómo participan en varias comunidades y cómo esto podría aglutinarlas (entiendo lo pesado que es iniciar sesión en xx comunidades diferentes). Pero al mismo tiempo, si todos los usuarios se mudaran a una única comunidad «cerrada» que se volviera dominante, sería prácticamente lo mismo para ellos. No estoy seguro de que noten la diferencia o deseen la «apertura».

A la gente le importan el contenido, las interacciones, etc., pero ¿les importa cómo funciona técnicamente o quién lo controla? El paso a la «federación» es, de algún modo, un paso de COMPETIR a COMPARTIR para las comunidades. Pueden ser amigos entre sí y estar bien con enviar usuarios de una a otra, pero siguen compitiendo cuando están cerradas.

Tu segundo punto es interesante: ¿Preveniría alguna forma de «federación» las prohibiciones, la eliminación de cuentas y la censura? ESTO podría ser una característica añadida para la gente. Actualmente, con ActivityPub, supongo que puedes ser prohibido en sitios individuales, pero puedes seguir publicando en el resto de la federación… siempre que el sitio en el que te registraste no te prohíba el acceso. @aschrijver, ¿sabes cómo funciona eso? (No conozco bien ActivityPub). ¿Estás registrado a nivel de federación o en uno de los sitios que pertenecen a la federación? ¿Puedes ser prohibido a nivel de federación? ¿O eso es imposible? (¿Se supone que es imposible?)

@jibe-b La pregunta no iba realmente de una aplicación a otra, sino de aplicaciones individuales cerradas comparadas con algo federado (algo abierto). También puede haber aplicaciones individuales cerradas con políticas fuertes de libertad de expresión y que no prohíben a la gente (es muy fácil decirlo en retrospectiva, pero el «proveedor de reacciones» podría haberlo previsto). Puedes garantizar un entorno libre de prohibiciones descentralizando totalmente y eliminando la capacidad de prohibir de cualquier persona. No creo que prevenir la censura fuera el objetivo inicial de @aschrijver, aunque.

1 me gusta

(He citado fragmentos por brevedad). La analogía del restaurante se quiebra un poco aquí. Es como si estuvieras sentado en dos mesas al mismo tiempo, y además en un restaurante más grande y «agregado» con más gente para celebrar. Lo que dices puede ser cierto, pero también depende totalmente de cómo se implementen las cosas.

Mientras que el tema del RFC de ActivityPub y el caso de uso de @hellekin colocan a las personas individuales en pleno control, en mi descripción anterior dejo la estructura de la comunidad completamente en manos del personal de la comunidad. Ellos establecen alianzas con otras comunidades y, posiblemente, solo pueden compartir secciones transversales de su comunidad basándose en el consentimiento mutuo.

Pensé que hacerlo estaría más en el interés de Discourse (la empresa) y también de los administradores de comunidad que dedican tanto esfuerzo a construir su identidad y su base de miembros. Es decir, sería más bien un caso de negocio. Así, el personal seguiría teniendo el control total y también se encargaría de mantener la organización de la comunidad compuesta de manera integral e intuitiva. Ellos son los «editores del tejido de la comunidad».

Si permitieras plena libertad a los usuarios de Discourse para llenar su «portal» vacío con contenido de foros de cualquier parte, obtendrías una dinámica de comunidad completamente diferente. El caso de uso tiene valor para casos específicos, pero es totalmente distinto al caso de uso donde «el personal mantiene el control». Por supuesto, también son posibles todos los matices intermedios.

Sí, los conozco y me encanta la idea de OpenBazaar como un mercado descentralizado, pero fueron las criptomonedas las que me impidieron probarlo. Es un problema de confianza. Para muchas personas, eso también pudo haberlas frenado. Pero aparte de eso, son los enormes efectos de red de las grandes empresas tecnológicas establecidas los que hacen muy difícil que los nuevos actores hagan su entrada, donde lanzan un nuevo servicio, lo anuncian en sitios con millones de visitantes diarios y pueden operar con grandes pérdidas hasta que finalmente despegue.

Sí, estoy de acuerdo con eso. Por eso no me centré en la «plena libertad», sino en el caso de uso de «el personal mantiene el control», como se describió anteriormente. Donde el soporte de ActivityPub añade una propuesta de venta única (USP) a Discourse como producto para administradores de comunidad, los clientes que pagan. Bueno… si eligen una suscripción alojada en la nube, eso sí.

En ese sentido, Discourse (la empresa) podría hacer las suscripciones más interesantes ofreciendo servicios de valor añadido, como un servicio de descubrimiento y emparejamiento donde los administradores de comunidad de diferentes comunidades buscan activamente alianzas y cooperaciones para enriquecer sus comunidades (y, implícitamente, las de los demás). El servicio podría estar accesible para cualquiera, o solo para clientes de un plan de pago.

¿Deberían querer hacerlo? ¿Por qué debería ser ese el objetivo? ActivityPub, como protocolo, permite que muchas aplicaciones diferentes en muchos dominios distintos interoperen a cualquier nivel. Cada proyecto / aplicación / producto perseguirá sus propios objetivos y, en el caso del software comercial, sus propias propuestas de venta únicas (USP).

La primera parte es importante. Elige tu federación con cuidado. La federación total nunca debería ser el objetivo si pierdes toda tu identidad como producto al hacerlo.

En primer lugar, hay una diferencia entre «federación» y «el fediverso». Si construyes una federación usando ActivityPub, puedes hacerla funcionar de cualquier manera que quieras. Si la construyes con el objetivo de integrarte con el Fediverso, entonces hay ciertos estándares de facto establecidos sobre cómo funcionan las cosas. No es posible una prohibición a nivel de usuario en todo el fediverso, y las prohibiciones en instancias específicas se basan en decisiones de los moderadores de cada una de las demás instancias, y se configuran en listas de bloqueo y de permitidos. Estas listas a menudo se comparten (como las listas de bloqueo de anuncios) y pueden llevar a que ciertas instancias queden completamente bloqueadas en todo el fediverso («son empujadas a los márgenes del fediverso»)."

Un buen video que explica el concepto es:

Al igual que los foros, cada instancia federada en el Fediverso está moderada. Y creo que eso es algo bueno. Sigue habiendo plena libertad, porque puedes crear tu propio foro / instancia de servidor sin moderación donde todo vale. Otros tienen la libertad de bloquearte basándose en eso.

4 Me gusta

Delegar la gestión de la comunidad

Dado que esto es una lluvia de ideas libre y acabo de ver este tema Búsqueda de administradores de comunidad voluntarios :mega: … pensé:

¿Y si la gestión de la comunidad estuviera federada?

Imagina que eres un nuevo administrador de comunidad en un foro de Discourse recién instalado, un completo novato en la interfaz de administración y en las prácticas de construcción de comunidades. ¿Y si pudieras pedir ayuda a un administrador de comunidad experimentado durante un periodo determinado para que te asesore y supervise tu trabajo?

Ahora sé que diréis: “¿Por qué no crear simplemente una cuenta de personal en ese foro… no hace falta federación!” y tendríais razón. Pero vamos a darle la vuelta y quizás hacerlo más interesante: ¿Y si quisiera ofrecer mis habilidades en Discourse y en gestión de comunidad, ya sea como voluntario o como profesional (es decir, remunerado)?

Querría poder gestionar de forma productiva tantas comunidades como sea posible en mi ‘cartera de clientes’. Esto conduce a una triple victoria:

  • Los nuevos administradores de comunidad pueden obtener un servicio de incorporación para empezar más rápidamente.
  • Los administradores de comunidad pueden beneficiarse más ampliamente de sus habilidades, más allá de su propia comunidad.
  • Los dos puntos anteriores significan que Discourse añade otra propuesta de venta única (USP) a su producto.

¿Cómo sería esto entonces? No lo sé… hay muchas posibilidades. Algunas sugerencias, donde en cada una de ellas el administrador delegado trabaja desde su propio portal de foro mediante federación, gestionando potencialmente muchas comunidades:

  • El administrador delegado puede configurar la configuración del foro, instalar complementos/componentes/CSS, que el administrador real aprueba antes de que surtan efecto.
  • El administrador delegado tiene acceso a categorías y grupos exclusivos del personal y participa en discusiones para dar sus consejos.
  • El administrador delegado gestiona las señales (flags) levantadas en el foro, donde solo el tema con la señal se federará a su portal.
  • El administrador delegado, conociendo el panorama de la comunidad, ayuda a organizar asociaciones con otras comunidades y el intercambio de contenido.

Considera lo siguiente a partir de lo anterior:

Esto también podría ser un servicio de valor añadido y combinarse con lo anterior. Todas las partes involucradas tienen interés en que los administradores delegados sean evaluados como buenos administradores de comunidad hasta cierto punto. Discourse (la empresa) solo podría permitir que las personas se conviertan en administradores delegados si están en una suscripción (¿de pago?). Discourse o un socio podría ofrecer un curso de gestión de comunidad que, al aprobarse, otorgue un certificado con el sello de aprobación de @codinghorror.

Bueno… si te gusta la idea o no. Fue una buena sesión de lluvia de ideas para mí, ja ja :grinning_face_with_smiling_eyes:
¿Quizás tú puedes mejorarla?


Edición:

El propio Discourse utilizaría este servicio también. Al inicio de nuestra suscripción de pago, un miembro del equipo de Discourse formaba parte del personal de nuestro foro para ofrecer el mismo tipo de ayuda. Con esto pueden hacerlo desde su propio ‘cockpit’ remoto, o… delegarlo.

Otra cosa que tiene que ver con compartir partes de una comunidad… Varias veces, cuando publiqué un tema en Meta pidiendo ayuda específica, el tema se hizo privado (a veces porque contenía información sensible) y se gestionó como un ‘ticket de soporte’ por parte del equipo de Discourse. Con la federación, podría tener la parte de Soporte de Meta integrada en mi propio foro.

4 Me gusta

(Mi formato). Me encanta esa definición, @JE-FF, y encaja perfectamente con el enfoque innovador que se debe adoptar con los conceptos de “la comunidad no tiene fronteras” y “discourse como tejido”. Sin embargo, dudo, como también le mencioné a @Mevo, si Discourse realmente debería querer desafiar a las grandes tecnológicas de redes sociales. Podrían hacerlo si quisieran, pero no es necesario. Discourse tiene un gran éxito por derecho propio y ahora está posicionado de manera diferente, es decir, como un SaaS multiinquilino, una “nube de foros de comunidad independientes”. Aunque al expandir los conceptos de comunidad más allá de los límites de los inquilinos, podrían estar mejor posicionados frente a sus rivales, tanto en el espacio de los foros como en el de las redes sociales.

2 Me gusta

Muchas gracias, @aschrijver. Está muy claro y, honestamente, estoy casi totalmente de acuerdo contigo en todo lo que has dicho. Escribí mis mensajes con la idea de que lo que proponías era un «paso intermedio» hacia una «federación completa (y totalmente abierta)» como objetivo final. Ahora, ni siquiera estoy seguro de dónde surgió esa idea, y es posible que nunca hayas dicho nada parecido. Puede ser una interpretación errónea (e incluso una idea inventada) por mi parte, o tal vez mezclé cosas que dijeron otras personas.

ActivityPub permite hacer todo lo que podría permitir, y al mismo tiempo puedes elegir cómo quieres hacer las cosas; sí, todo esto me suena increíble. Supongo que tienes razón: puede haber confusión entre ActivityPub y el Fediverso (ya lo explicaste en otro tema sobre ActivityPub).

Personalmente, me encantan todas las ideas que has planteado. En cuanto a la «gestión de comunidades» federada, también sería muy útil tener acceso a moderadores de esta manera. Moderadores que podrías utilizar temporalmente cuando tu comunidad esté en auge o cuando haya, por ejemplo, un evento especial que requiera más moderadores (todo esto quizás estaba incluido en la «gestión de comunidades» en tu mente. Hablaste de banderas, pero también podrías tener acceso a más personas de tipo «administrador», además de «moderadores» o «gestores de comunidad», si defines estas tareas como diferentes).

Como se ha dicho antes, todo esto puede lograrse «por separado» mediante plugins y/o un sitio secundario (podría haber un sitio secundario de «freelancers» que liste y proponga servicios con personas que vayan a trabajar directamente en la comunidad. No es tan agradable como tener su propia plataforma desde la que puedan gestionar todo de forma remota y agregada gracias a ActivityPub, pero ya sería un buen comienzo).

Todo depende de si el equipo de Discourse quiere utilizar algunas de estas ideas para implementarlas directamente en Discourse o no.

4 Me gusta

No estoy de acuerdo aquí. He estado utilizando configuraciones de múltiples sitios para facilitar la propiedad grupal de una instancia de Discourse, donde un grupo cercano puede convertirse en su propio personal manteniendo un vínculo directo con la comunidad más amplia. En mi opinión, jugar con los límites de la comunidad empodera a la misma al aplicar el principio de subsidiariedad: que las decisiones se toman lo más cerca posible de la práctica.

Primero, parece que interpretas lo que dijo como «los usuarios se portarán mal sin cierto «control del personal»», lo cual, en mi opinión, no es lo que dijo. Segundo, solo habló de una «dinámica comunitaria completamente diferente», sin juzgar si esto es bueno o malo. De hecho, pareces estar de acuerdo con él al decir que es algo bueno (aun así es «diferente»).

Pero esto no era el tema de la discusión. No se trataba de ese «control», ni de tener algún problema con los usuarios.

Sí, en su mayor parte se trataba de mostrar la amplia gama de opciones disponibles y la total flexibilidad para adaptarse a escenarios específicos. Si me centro únicamente en el ámbito de ActivityPub, este permite al desarrollador de funciones de federación tener un control total del ‘balón’. Los casos de uso implementados son todos igualmente válidos (asumiendo que fueron diseñados deliberadamente como parte del desarrollo del producto).

Veo que el caso de @hellekin no se encuentra realmente en el extremo de la libertad total, y sería interesante profundizar más. @hellekin gestiona más foros que yo, y de maneras creativas, como se puede observar en el foro de SocialHub, donde los equipos individuales de software de ActivityPub tienen control sobre sus propias secciones del foro. Estos equipos suelen tener otro foro independiente propio (por ejemplo, en el caso de Mastodon). Debe alentarse a realizar el ‘doble trabajo’ para mantener a la comunidad de AP informada sobre las extensiones de federación personalizadas que integran en sus propios softwares. Además, SocialHub cuenta con lo que podrían considerarse foros satélites.

3 Me gusta

Acabo de decidir registrarme en otro foro más de Discourse, solo para ayudarles y proporcionar (copiar/pegar) algunos enlaces útiles a temas en otros foros. Otro usuario más de Discourse que gestionar.

El foro es Fedeproxy, un nuevo proyecto ActivityPub que busca sincronizar forges de código (repositorios de Github, Gitlab, Gitea, etc.) entre sí. Podría convertirse en una implementación del protocolo Forgefed y es interesante mencionarlo aquí por dos razones:

  1. Este es otro ejemplo de un dominio empresarial completamente diferente que puede beneficiarse enormemente de la federación mediante ActivityPub.
  2. Si Discourse tuviera soporte de federación, la categoría #development de este foro podría sincronizarse bidireccionalmente con la subcategoría #software de SocialHub, sin necesidad de trabajar en dos foros ni duplicar discusiones.

Actualización:

En el foro de Fedeproxy, un usuario (que, por cierto, no quiso registrarse aquí, solo para dejar un único mensaje) me señaló una ontología interesante de Datos Enlazados para comunidades: la Especificación de la Ontología Central SIOC, donde el proyecto SIOC significa “Comunidades Online Semánticamente Interconectadas”. La ontología define las siguientes semánticas en Datos Enlazados:


Lo menciono aquí porque resalta el pensamiento en dominios empresariales y vocabularios, y puede servir de inspiración para la lluvia de ideas :slight_smile:

(Nota: No dejes que el término “Web Semántica” en las especificaciones de SIOC te desvíe. No se trata de eso, que sería demasiado complejo, sino de buscar vocabularios de Datos Enlazados cerrados para definir un dominio particular.)

Actualización 2:

Hoy encontré un gran proyecto, también en un dominio similar al de Discourse, e inicié allí una discusión titulada “La comunidad no tiene fronteras”:

PubPub forma parte del Grupo de Futuros del Conocimiento, quienes también están trabajando en el proyecto de Grafo de Conocimiento Distribuido Abierto Underlay (que se acerca a una idea que tengo para la agregación de conocimiento desde foros de Discourse).

Actualización 3:

Me di cuenta de que la discusión sobre la comunidad es mucho más amplia que Discourse por sí solo, ya que los conceptos de comunidad son universales en nuestra sociedad. Para el Fediverse, inicié una discusión sobre la estandarización de un dominio de Comunidad y la modelación de una extensión de ActivityPub basada en ello:

7 Me gusta

ActivityPub es una buena idea, pero incluso el software más nuevo que lo implementa como ciudadanos de primera categoría tiene que solucionar varios huecos en las especificaciones, así que para nosotros tiene sentido esperar y ver.

Además, esto es totalmente factible como un plugin si es algo por lo que un grupo en particular está muy entusiasmado.

13 Me gusta

Sería increíble ver que una integración así se incluya mediante una solicitud de extracción en la aplicación chat-integration para que simplemente podamos publicar en múltiples plataformas por etiqueta, categoría o mención después de agregar nuestras credenciales. ¡Saludos!

7 Me gusta

Gracias @codinghorror. Sí, efectivamente, en la especificación de ActivityPub hay lagunas. Pero estas están presentes más o menos deliberadamente, tanto porque los autores de la especificación no querían crear un estándar tecnológico enorme y complejo que lo abarcara todo, como porque, en el momento de redactarla, no sabían cómo evolucionaría la especificación. Así que esperaron a que surgieran implementaciones de referencia (esto también tuvo algunos inconvenientes, como, por ejemplo, que Mastodon utilizara una API de cliente personalizada en lugar de la parte de Cliente a Servidor de la especificación, aunque Mastodon también definió algunas extensiones de namespace útiles para su uso).

Actualmente, la mayoría de estas lagunas han sido cubiertas por otros estándares abiertos (aunque todavía hay algunas por rellenar). Existen las Firmas HTTP para la federación de Servidor a Servidor (o, menos utilizado, las firmas JSON-LD); para las menciones de usuario federadas se utiliza Webfinger. El acceso de Cliente a Servidor emplea OAuth2 con credenciales de cliente, y existen especificaciones de facto como NodeInfo y NodeInfo2 para comunicar las capacidades del servidor.

Estoy de acuerdo en que una gran cantidad de cosas discutidas en este hilo (la mayoría, probablemente) pueden implementarse mediante Plugins y la excelente API de Discourse. Sería, como dice @sunjam, realmente genial si alguien se animara a explorar este camino :slight_smile:


A partir de esta lluvia de ideas, he iniciado algunas discusiones más generales en el foro de SocialHub, a las que me gustaría referirme:

Actualización 07/03/2021: En SocialHub, en el tema sobre la creación de una extensión de vocabulario AP para comunidades, profundicé un poco más en cómo Discourse encajaría en un modelo de comunidad. Véase mi publicación:

7 Me gusta