91 views
 owned this note
# Future of collaborative documents - publication part ## Problem space Before searching a solution, we need to define precisely the problem we try to solve. ### We want to document the commons. It means we want to document: - people with skils - e.g. Pierre Ozoux has IT system admin skill - projects - e.g. IndieHosters - working documents - e.g. status of the IndieHosters association - events - e.g. yearly meeting of the association - interactions between these objects - e.g. Pierre Ozoux orgnizes the yearly meeting of IndieHosters, here is the report - comments of other documents - e.g. IndieHosters wrote a Blog Post to review the software Nextcloud - curated list of objects - e.g. IndieHosters offers services for the following free software: [Nextcloud, CodiMD, Discourse, RocketChat] ### Why do we document? Our civilzation reached this state thanks to Energy and Information. Information is valuable only if you can digest it. - One way to explore is to use the links between documents. - another way is to search The search capability is what we are looking for. I'd like to be able to seach: ``` Give me the list of people that organized events from last year with tags like "Free software" or "Open Source" in https://www.lamyne.org/ and friends of friends of lamyne. ``` ## Solution space If you agree with the problem, then the solution will come rather fast. ### What is a document **Documents are URLs** The web is amazing and nobody will disagree with that. That's it, use the tool you want to create your documents, and we can already explore the links between them. ### Semantic Web/documentation The missing piece is how we express the kind of document and describe in a precise manner the link between them. This is called the **[semantic web](https://en.m.wikipedia.org/wiki/Semantic_Web)**. ### how do we do semantic There are various ways to achieve semantic web, and it is a rather complicated debate, but basically, you need 2 pieces: - a format for metadata - a common vacabulary The possible data interchange (or formats for metadata) are: - RDF and different flavors - microdata - json-ld - probably others the we don't know about The possible vocabularies (or taxonomies) are: - Dublin core - Friend of a friend - activity streams 2 - https://schema.org You can find more [here](https://lov.linkeddata.es/dataset/lov/). ### Great, but still what do we choose? The format for metadata is not that important, you can translate them from one to the other. Vocabularies are probably mappable too, but the effort would be even greater. We recommend that we choose one and stick to it. It would be easier to start to develop tools around it. If we need to translate between different schemas, it would become too complexe to write such tools. So, that's for sure that we need to agree on one pair of format+vocabulary. Google, Bing and yandex already use json-ld+schema.org, so we recommend this one. [Here some documentation for instance](https://developers.google.com/search/docs/guides/intro-structured-data). That's it ;) All we need is to publish documents in forms of URLs with some json in it that respect a special schema, and then we could profit from the knowledge being federated among the common all over the world, and be able to curate it easily. ## Example applications This topic is fascinating, and to prove it, let's explore some possible appications: - list of hosting providers at the european level: - https://lab.libreho.st/librehosters/directory/blob/master/directory.json - one hoster example: https://indie.host/librehost.json - result: list of hosters: https://libreho.st/ - but this could also be printed on a map: https://chatons.org/fr/find - https://demo.transformap.co/greenmap.html#15/48.2072/16.3844 - this is just a curated list of documents - maybe in this case, it makes sense to use wikidata to be the host for these documents - catalog of free software and hoster - https://github.com/libresh/catalogue/ - https://prism-break.org/en/ - https://degooglisons-internet.org/en/ - https://framalibre.org/ - https://chatons.org In each of these examples, it could be simpler to be just an array of documents (URLs) and then metadata are fetched from the original document (name, logo...)