Re-Decentralization

Open source protocols and tools for a more open and democratic web

by: Gonçalo Valério (dethos@s.ovalerio.net)

OverView

  1. Centralized vs Decentralized
  2. Why Decentralize?
  3. Tools you can use today
  4. Making your website/app a part of the network
  5. Discussion

Centralized vs Decentralized

Graphical representation of the various kinds of networks

Why do we want to decentralize?

  • Control your own data
  • Fight monopolies and network effect
  • Resilience
  • Privacy

What tools do we have now?

(for this talk I will stay away from the blockchain)

Email

Windows 3.1 email app screenshot

Mastodon

Screenshot of joinmastodon website

...which works with:

GnuSocial

Screenshot of a GnuSocial instance

... and with:

Pleroma

Screenshot of a Pleroma instance

... and with:

PeerTube

and many others.

Matrix/Riot

Screenshot of the Riot.im chat program

France seems to like it

“Although the French government’s spokesperson said that the government’s app will be based on open source software found freely available on the internet, she declined to name it. However, Matrix developers have confirmed that the app in question will be based on the federated chat Matrix protocol (a more modern XMPP/Jabber competitor) and, more specifically, on the Riot client, which uses this protocol.”
Source: France To Build Alternative To WhatsApp, Telegram Due To Foreign Spying Concerns

NextCloud/OwnCloud

Example of a nextcloud app running

And many others.

(IPFS, ZeroNet, Syncthing, ...)

Making your App a part of the network

(or in other words, how to be a good citizen on the Internet)

RSS

(It is really useful)

Even Github publishes feeds for repository activity:

Github commit feed

ActivityPub

For social scenarios Activity Pub boxes illustration

XMPP/Matrix

If you implement chat features Xmpp usage scenario. with different users in different servers

Open Collaboration Services

Implemented by NextCloud, OwnCloud and Pydio

The main idea:

Use open standards

(To increase the interoperability of your software project)

Lets Discuss

References