- #pull [[agora]] [[agora paper]] [[agora server]] [[agora bridge]]
agora project
-
a [[project]].
- by [[angle]].
- [[go]] https://gitlab.com/Agora-Project
- a [[project]].
Welcome to [[boris mann]]'s section of the agora!
We're experimenting with [[Connecting to the Agora]], and what some of the configurations and conventions are. The [[Anagora]] page has my notes and feature requests.
Status
- This document was mostly written in 2018. The Agora was then just a thought experiment. It has since grown to be a living project.
- As late as 2020-10-17, the Agora barely existed as a concrete implementation -- it was not a single tool but rather many which you could use in tandem following a convention, which I provisionally named Agora Protocol.
- As of 2022-01-02, a reference Agora is online on https://anagora.org . Using terminology gained and derived in the last three years (with the help of the Agora community!), I can now describe it as a [[knowledge commons]].
Regardless of implementation details, an Agora can be assembled out of off-the-shelf parts available on the internet, mostly for free:
- Knowledge management tools used for the purpose of building a distributed knowledge graph, following the aforementioned convention based on lazily evaluated [[wikilinks]]. See https://anagora.org/agora-editor for a review of some of the tools in this space, or Roam Likes for an older take.
- Social networks and the constructive bits of the internet as we have them, annotated and enriched using open tools and standards.
- An explicit constructive social contract. For reference you can consult the anagora.org default.
If you are interested in collaborating on building Agoras or similar constructive spaces, please reach out or peruse the Git repository.
See also: https://flancia.org/go/agora-howto , https://threadreaderapp.com/thread/1322619094563258370.html.
Head
You can think of the Agora as a convention based social network; an optional, user-controlled annotation layer that can be applied over any internet platform which supports user-generated content.
I think one of the best possible uses for such a network would be to use it to pro-socially maintain a distributed knowledge graph tailored specifically to the goal of solving problems: those of its users and society at large.
Its users, as a cooperative group, could by default take a naive but rational approach to problem solving:
-
For each problem in the set P of all problems:
- Describe it as thoroughly as possible.
- Maintain a set of known or argued possible solutions, S(P).
-
For each solution in S(P):
- Describe it as thoroughly as possible.
- Maintain a set of resources (people, time, attention, money) needed to implement it, R(S).
Individual users could also declare their views on the state of the world explicitly: they define which subsets of P, S and R they agree with, in the sense that they believe they are feasible, true, interesting.
Users that agree on their defined subsets can then efficiently collaborate on solutions as they become available by pooling of resources.
We apply some good old recursivity and seed the Agora with the problem of how to build itself. That is, how to build a system that allows participating users and entities to collaborate optimally in the face of adversity (such as biases, irrationality and even actual ill intent)1.
The Agora should be built on a federated protocol to limit the harmfulness of diasporas. Groups might temporarily diverge in their views enough to want to run separate Agoras, but different Agoras should be able to cooperate on problems and solutions for which there is enough ideological alignment, and eventually merge.
Tail
I have a more focused and detailed unpublished document which will probably replace or complement this chapter soon.
I know the premise sounds almost like a joke: what the world needs is a new social network. The internet and social networks are technologies we are just barely learning to live with, and the recent cause of a lot of polarization and political escalation and Trump Being President2. It doesn't sound at first like we should add another stick to that particular dumpster fire. But hear me out.
We need a designated place in the internet where we can discuss ideas in a constructive way. In particular, where we can discuss possible strategies to face the problems that humanity is facing. This is already happening, for sure; but is it happening somewhere on the internet where everybody can contribute? I don't think so. If the Agora exists already, please point the way -- I'd like to get there, and building it from scratch would be hard. The network of universities and institutes are the closest we have and I love them, but the Agora should be fully open and available to all over the internet, so every participating individual can contribute work and thought. Of course the whole internet could be an Agora; but the internet as a whole is chaotic and disorganized and thus its implicit Agora is entangled with places that are not constructive and not safe. There must be a better way.
Nick Bostrom has a paper on existential risk where he talks about a kind of lottery of ideas; humanity is constantly playing this game, the metaphor goes, and drawing ideas out of big lottery wheels of Science and Technology and Culture. Some of the balls in this wheel are colored white; these are good ideas. They contribute to human good, and we're glad we found them.
There are also black balls, though. These are bad3. They are things that, on the whole, produce enough bad to be existential risks to humanity. Nuclear power seemed to be this for a while; perhaps mutually assured destruction could have resulted in an apocalypse. But it didn't! Aren't we lucky? If (and it's a big if) things stay this way, we got away with playing with something dangerous. Perhaps we can use the idea for whatever good it holds (cheap and relatively safe energy), or perhaps we decide to bury it underground in a big vault of ideas (this one doesn't have to ever spin again) that says Do Not Go There, Trust Us. For now, though, the idea might still turn out to be black; we could, perhaps, represent this situation as a grey ball of whatever shade we deem most likely.
We need a social network for discussing ideas. For talking about Bostrom's lottery urn, and what it has in it for us. In the Agora, we discuss ideas and their shades and merit; we discuss, first and foremost, ethics. We talk openly and clearly about how to best move forward as a society of humans, with the knowledge we've gotten and the resources we have.
What if social networks are grey? How dark is their shade? The high modernist in me wants to believe that the structured flow of information is more of a good thing than a bad thing. But we need to be cautious, and this is why I wrote this and you are reading it now.
I need your help.
In Flancia there is no poverty.
-
To start with, discussion in the Agora should follow the tried and tested Principle of Charity.β©
-
what if Twitter is already a decent Agora, and Trump just woke up to the fact that it's a superior meme transfer device sooner than others?β©
-
White = good and black = bad is in the original paper. Now, an apology: I don't like the fact that our culture encodes bad things as black, it's associated with death, etc. I think associating black with badness is a bit trite in a world that puts so much stock on being a particular kind of yellow.β©
Agora
-
A [[protocol]].
- #pull [[agora protocol]]
-
A [[platform]].
- #pull [[agora platform]]
-
A [[graph]].
- #pull [[agora graph]]
-
A [[commons]].
-
The Agora is a distributed knowledge graph and experimental social network.
- See [[go/agora slides]] if you'd like a 10' introduction to the key concepts.
- See [[go/agora doc]] if you are interested and have half an hour :)
-
The [[Agora]] you're likely reading this in, https://anagora.org , is designed to be just one of many.
- Anyone can run [[an Agora]] of their own if they so desire. This Agora is [[open source]]: [[go/agora]].
- To [[sign up]] for the Agora, which means volunteering your writing and media to it, please consult [[agora editor]].
- This Agora wants to be [[maximally inclusive]], but it is in its infancy; it is a [[work in progress]]. If you want to participate and can't, please also send email to signup@anagora.org to let us know.
- Through projects such as [[Agora bridge]], we hope to make this Agora available for writing to anyone that has access to a [[digital garden]] or a social media account.
- Follow an [[agora bot]] if you'd like to contribute to this Agora from [[social media]]:
- If you want to learn more about the [[experimental]] nature of this Agora, please refer to this Hacker News comment. If you want to keep up to date with development, consider adding me on Twitter or Mastodon: [[flancian]].
-
Agoras are spaces kept by communities with [[good intent]] while expressing explicit [[goals]] and open [[protocols]].
- This section, made up of items in a [[markdown]] list, is an example of an Agora protocol.
- This [[agora protocol]] is a set of simple conventions on top of [[plain text]] or other [[supported formats]].
- #pull [[agora howto]] [[an agora]] [[agora doc]]
- [[git]] https://github.com/flancian/agora
- [[bugs]] https://github.com/flancian/agora/issues
- [[bug]] https://github.com/flancian/agora/issues/new
- [[nutshell]] https://twitter.com/flancian/status/1487110385446576134
- [[architecture]] https://social.coop/@flancian/108346148663576473
-
The Agora is a distributed knowledge graph and experimental social network.
-
[[distributed knowledge graph]] & [[experimental social network]]
- [[social knowledge graph]]
- [[wiki]] [[wikilinks]]
- [[digital garden]]
An agora, in its broadest sense, is a conceptual space where people attempt to bring an increased level of intentionality, explicitness, and mutual agreement to the principles and protocols for interacting in that space. A further aspect of the idea of an Agora is that it is a space which enables collaboration. In particular, it is a space that allows for collaboration guided by specific shared interests, without requiring the co-consitutients of the agora to be aligned more fully or generally in terms of their intentions, values, etc.
Some topics that the idea of an Agora is related to: [[transparency]] [[decentralized structures]] [[egalitarian principles]] [[judgement]] [[algorithms of interaction]] [[communication]] [[collaboration]] [[knowledge sharing]]
There are (infinitely) many possible variants of how this idea might be implemented in concrete, real-world situations. For example, an agora could be a space that is opened up inside a conversation between two people. Or it could be a collaborative project that is accompanied by specified rules. Or it could be a collective agreement about how to handle certain types of situations.
One variant of the idea of an Agora is a place where personal notes are shared, with the common goal of pooling information and sharing knowledge. One implementation of this idea is https://anagora.org . See also https://flancia.org/go/agora .
The term "Agora" and the basic idea come from [[Flancia]].
img side { lapin 77 {My visual take}}
Agora is a βwiki like experimental social network and distributed knowledge graphβ, so they said. I would say it's an aggregator of digital gardens and a community around it. Anagora is the first and biggest instance of it. [[Flancian]] was the one who created it and the software behind, but there were other good contributors. Thank you!
I'm part of it:. I also frequent the associated video conferences.
=> https://anagora.org/@melanocarpa | Melanocarpa in Agora => https://anagora.org/@bouncepaw-betula | My recent bookmarks in Agora
Agora makes a big emphasis on graphs and links. Their analogue of hyphae is called a node, nodes are generated from contents from multiple sites. There is also a cool notion of push/pull and go links!
//I was inspired by Agora's go links and implemented something very similar in [[Betula]].//
2022-01-18 I wrote the author an email about the possibilities of making Agora and [[Mycorrhiza]] compatible. 2022-03-06 Melanocarpa was added to Anagora, along with Mycorrhiza support. Furthermore, in 2023 proper support of [[Mycomarkup]] was added.
=> https://github.com/flancian/agora-server/commit/7783430aa33986186e9fd66ee858250b115e0d7e | Commit that adds Mycorrhiza support.
The Agorans also seem to be using [[git]]-based [[markdown]]-driven digital gardens mostly. It is the default choice for many, but luckily support for more formats was added. Mycorrhiza, for example, is supported! There is also [[Betula in Agora]].
= See also => Wiki => Social network => Digital garden => https://mycorrhiza.wiki/help/en/hypha => https://anagora.org/node => https://anagora.org/go => Flancia
You can't really talk about Agora without Flancia.
Agora
This looks like a really cool way of aggregating digital gardens into one place. To produce a community garden (or, an agora). Interesting to contrast with how a solely P2P way of connecting gardens might work, no central aggregator.
An Agora is a distributed, goal-oriented social network centered around a cooperatively built and maintained [[knowledge graph]]. The implementation you are currently looking at tries to assemble such a graph out of a collection of digital gardens.
See also [[sister sites]].
See: [[What do I think about the Agora?]]
Agora
The [https://anagora.org agora] is a cool place to learn stuff
[[agora todo]]
- [[agora containers]]
- [[agora ext]]
- [[agora-server]]
- [[agora ctzn]]
<link rel="stylesheet" href="https://doc.anagora.org/css/center.css"> <button class="pull-url" value="https://doc.anagora.org/css/center.css">">pull</button>
<div class="container-fluid text-center">
<div class="vertical-center-row">
<h1>500 Internal Error <small>wtf.</small></h1>
</div>
</div>
Agora Bridge
-
A [[service]] run by the [[flancia collective]].
- [[git]] https://github.com/flancian/agora-bridge
-
Provides [[write]] functions into [[an agora]].
- It ingests content into the Agora from different sources: [[git]], [[fedwiki]], [[mastodon]], [[twitter]] as of [[2022-09-25]].
-
An [[integration hub]] that hosts [[bots]], [[clients]] and [[bridges]].
- [[siphons]] of [[public utility]].
- It tries to assist its users first and foremost; optionally it allows any [[agora]] to interact with [[social networks]], the [[fediverse]] and the internet at large -- always as is the intent of its users.
-
Bridges are configured with [[yaml]].
- The main configuration file for the service is [[bridges yaml]]; it can be passed to the service as a parameter.
- Bridges can be of type [[input]], [[output]] or [[bidirectional]] (r/w/rw).
-
A per user [[agora yaml]] can be volunteered -- as part of a [[digital garden]] if the user participates in an [[agora]] community). This file serves to configure an agora for the user. [[agora actions]] may then take place, including on demand rendering through [[agora server]] and running of [[agora actions]].
- Signing up to an [[agora]] involves pointing an [[agora bridge]], run by you or by a community, to your configuration file as published somewhere on the internet.
- Please join us in our matrix room if you have any questions.
- For developers, feel free to send a PR adding your garden! Or reach out in our development room.
- [[contains]]
[[done]]
- Got open source approval process.
- Experimented with [[toot cli]].
-
Create [[Mastodon]] account for prod.
- [[mastodon]] @agora@botsin.space
- set up api for @an_agora on [[twitter]].
[[doing]]
[[do]]
- [[]]
- implement [[agora yaml]]
- implement [[bridges yaml]]
- [[push]] [[agora bot]]
<link rel="stylesheet" href="https://doc.anagora.org/css/center.css"> <button class="pull-url" value="https://doc.anagora.org/css/center.css">">pull</button>
<div class="container-fluid text-center">
<div class="vertical-center-row">
<h1>500 Internal Error <small>wtf.</small></h1>
</div>
</div>
-
a [[paper]].
- I'm trying to write (as of [[2022-07]].)
- As part of the contribution I'm trying to put together for the [[pkg book]].
- #pull [[agora pkg chapter]] [[agora slides]]
-
#push [[todo]]
- [[write]], this is a top priority in [[august 2022]].
- this should probably show up at the top of [[todo]] and not at the bottom!
Meta
By default, this paper will be built around the following:
- The [[Abstract]] below, taken from a snapshot of the above on [[2022-08-05]].
-
#pull [[agora pkm chapter]] with greater technicality?
-
Define [[m]], [[m prime]], morphisms.
- (An Agora as a category?)
-
Define [[Agora Protocol]] operations.
- [[print]]
- [[broadcast]]
- [[share]]
- [[assert]] ~ [[m]]
- [[intent]] ~ [[m prime]]
-
[[delegate]]
- -> [[liquid democracy]]
- [[pull]] (a [[node]], as transcluding, incorporating a [[pattern]].)
- [[push]] (a [[node]]), as if meaning publishing to a [[topic]].)
- [[go]] (to a [[node]], or [[URL]].)
- [[fork]] ([[a commons]].)
- [[merge]] ([[n commons]].)
-
Define [[m]], [[m prime]], morphisms.
- #pull [[a pattern language]]
- #pull [[a rosetta stone]]
- #pull [[i am a strange loop]]
Abstract
In this [[paper]] we describe an Agora, a [[social knowledge graph]] provisioned and maintained by a self-governing community as a commons.
The Agora [[knowledge graph]] can be defined as a hypergraph A
with a set of k
nodes N
(entities an Agora knows about) integrated out of subnodes SN_0 .. SN_k
containing subedges SE_0 .. SE_k
, aggregating into edges E_0 .. E_k
(semantic links between entities inferred out of known subnodes). Edges are annotated implicitly by link context and explicitly via the use of [[agora protocol]], which is extensible and tries to build on existing conventions in the [[personal knowledge management]] space.
An Agora differs from other projects in the personal knowledge space in a few ways: whereas a personal knowledge graph usually contains resources authored or collected by a single person, and a wiki usually contains resources produced by a group, an Agora contains, integrates and interlinks both personal and group resources. Whereas links in a personal knowledge graph or wiki usually have a single target, Agora links fan out by default and can be thought of as mapping to sets of resources. This is consistent with the general design principle of facilitating storage and retrieval of entity-mapped information towards removing friction from cooperation.
Building on the general principles above and a [[free software]]1 reference implementation of the underlying protocols and data, we model and detail how to implement a distributed system that provisions social knowledge services ethically and sustainably, upholding [[data sovereignty]] principles. We then analyze some of the potential applications of such a system. Finally, we shortly explore future work and social implications assuming that the Agora is run as a [[confederated]] system for the [[public good]].
Introduction
As per [[agora pkm chapter]] by default?
Background
- #pull [[a pattern language]]
- #pull [[a rosetta stone]]
- #pull [[the expanding circle]]
-
The provided [[reference Agora]] tries to remain tool, format and platform agnostic, building on general conventions common to many tools and platforms in the knowledge space for ease of integration and maximal inclusivity2 and diversity3. β©
Agora Server
-
a [[project]]
- [[agora]] [[interlay]] [[overlay]]
- [[go]] https://github.com/flancian/agora-server
- [[git]] https://github.com/flancian/agora-server
- [[bugs]] https://github.com/flancian/agora-server/issues
- [[bug]] https://github.com/flancian/agora-server/issues/new
- [[history]] https://github.com/flancian/agora-server/commits/main
- Works with a simple implementation of the [[Agora Protocol]]; includes a web frontend and a simple backend. If you're reading this on anagora.org right now, you're using it.
- Python3 based, uses Flask. Quite simple really.
- It currently renders a collection of [[digital garden]]s as lazily assembled into a [[distributed knowledge graph]]. The graph is plug-and-play and is hosted in a different repository; that repository is the actual [[Agora]]. For the reference repository (which, again, you're likely viewing right now if you're on anagora.org), see https://flancia.org/go/agora .
- Copyright for this implementation as linked above is Google's, but the license is open source (Apache). Note this is not an official Google project and won't be supported by Google.
- See [[Agora Version]] for per-version information.
Agora Server
- server backend for [[agora]]
- talks to [[agora ctzn]]
- #issues [[agora issues]]
- public document at doc.anagora.org/agora-project
- video call at meet.jit.si/agora-project