Drupal and the Decentralized Web

A presentation at DrupalCon Global 2020 in July 2020 in by Boris Mann

Slide 1

Slide 1

D RU PA L A N D T H E DECENTRALIZED WEB BORIS MANN D R U PA L C O N G L O B A L J U LY 2 0 2 0

Slide 2

Slide 2

BORIS MANN • Got involved in Drupal back in 2003 • Ethereum community, helping out with the Ethereum Magicians, Core Devs ✨ • Fission makes open source developer tools Drupal and the Decentralized Web • Boris Mann

Slide 3

Slide 3

A PHP-based CMS GPL! …or web application framework …or community website and blogging tool WEB 2.0!!! Fully buzzword compliant: AJAX, RSS, aggregation, syndication, tagging, blog Web 1.0 → Web 2.0 Drupal and the Decentralized Web • Boris Mann

Slide 4

Slide 4

DECENTRALIZED WEB: WEB2→WEB3? They gave us a fully decentralized Internet and we used it to build web services — Facebook, Twitter, Gmail, iCloud — so massively centralized they verge on being quasi-medieval fiefdoms. — John Evans, Decentralize All the Things!, TechCrunch, 2015 Drupal and the Decentralized Web • Boris Mann

Slide 5

Slide 5

W H AT D O E S O P E N S O U R C E M E A N ? • The problem with the term open source is that everyone means something different when they use it • Some people just mean licensing • Some people think of a particular community’s practices • Others think that it means some kind of fuzzy democracy and/ or mob rule Drupal and the Decentralized Web • Boris Mann

Slide 6

Slide 6

DEFINITION OF OPEN SOURCE

  1. Legal innovation of licenses 2. Way of working together on code, collaboratively, asynchronously, remotely 3. Ideology of code re-use & sharing “information wants to be free” Drupal and the Decentralized Web • Boris Mann

Slide 7

Slide 7

COMMONS BASED PEER PRODUCTION Lots of people work on it, everybody benefits from it, and then people can build upon it (even in a revenue generating fashion) Ted Leung: Explaining Commons Based Peer Production, er, Open Source (2005)

Slide 8

Slide 8

L I C E N S I N G I N N O VAT I O N • For the first time in 15+ years, we’re starting to see licensing innovation again • License Zero: Parity (share alike for open source) & Prosperity (non-commercial) • Fair Source • 996ICU • Ethical Licenses • Cross License Collaboratives (XLC) Drupal and the Decentralized Web • Boris Mann

Slide 9

Slide 9

D ATA E T H I C S • We are starting to see people care about data — specifically, their data • What requires software developers or companies to act in certain ways with data? • From principles (Fair Data Society, Local First Software) to licenses (Cryptographic Autonomy License, Icepick) Drupal and the Decentralized Web • Boris Mann

Slide 10

Slide 10

WHY IS APPLE MOVING FROM BASH TO ZSH? • Licensing of course! • Apple has been shipping an “old” version of bash with Mac OS for a long time, because it is GPLv2, and newer versions now use GPLv3 • Zsh uses an “MIT-like” license, plus some GPL shell functions Drupal and the Decentralized Web • Boris Mann

Slide 11

Slide 11

— Dries Buytaert, Balancing Makers and Takers to Scale and Sustain Open Source Drupal and the Decentralized Web • Boris Mann

Slide 12

Slide 12

WEB2 = ADVERTISING SUPPORTED WEB Things were so simple 20 or even 10 years ago (social media, dated to the invention of RSS, is 20 years old, bitcoin is 10 years old). — Venkatesh Rao, The Extended Internet Universe, May 2019 Unlike the main public internet, which runs on the (human) protocol of “users” clicking on links on public pages/apps maintained by “publishers”… Drupal and the Decentralized Web • Boris Mann

Slide 13

Slide 13

…the cozyweb works on the (human) protocol of everybody cutting-and-pasting bits of text, images, URLs, and screenshots across live streams. We create tiny underground burrows of Slack channels, WhatsApp groups, Discord chats, and Telegram streams that offer shelter and respite from the aggressively public nature of Facebook, Twitter, and every recruiter looking to connect on LinkedIn. — Maggie Appleton, The Dark Forest and the Cozy Web

Slide 14

Slide 14

DEFINITION OF WEB3

  1. Tech (cryptography, distributed systems) & legal & governance & business model innovations 2. Commons-based global infrastructure 3. Ideology of decentralization, user control of data & identity, business models beyond advertising Drupal and the Decentralized Web • Boris Mann

Slide 15

Slide 15

That’s the promise of the crypto world…cryptographic technologies in general, starting with private-key based identity and security for everything). It is still at a very rudimentary stage of development. Drupal and the Decentralized Web • Boris Mann

Slide 16

Slide 16

• Meanwhile, over on Drupal Island…

Slide 17

Slide 17

D R U PA L I S S T U C K O N L A M P I S L A N D • But there’s a problem — Drupal is stuck on a different kind of island — LAMP island! LAMP C O N TA I N E R S SERVERLESS HOSTLESS ☁ 🌐 λ Drupal and the Decentralized Web • Boris Mann

Slide 18

Slide 18

SELF HOSTING • We have many more people online, and the architectures need to be more scaleable to support them all • Which makes them too complex for people to self host IS TOO DAMN HARD

Slide 19

Slide 19

Drupal and the Decentralized Web • Boris Mann

Slide 20

Slide 20

• It turns out: there are tons of islands • Some of them are about privilege and cultural bias • Open source license island, LAMP island • Even HTTP island!

Slide 21

Slide 21

• The biggest island — the Web: HTML, CSS, JS • …and now WebAssembly

Slide 22

Slide 22

• But what if we had common infrastructure • Commons infrastructure

Slide 23

Slide 23

But once [cryptographic tech] matures, we will see the entire extended internet universe getting rearchitected on better foundations, where we could at least push out the boundary of the 2-of-3 pareto. Drupal and the Decentralized Web • Boris Mann

Slide 24

Slide 24

Fediverse Specs (many W3C) Cryptographic Tech Inter Planetary File System Activity Pub drupal.org/project/activitypub IndieWeb drupal.org/project/indieweb github.com/fission-suite/drupal-ipfs Matrix Chat Protocol drupal.org/project/matrix_api Secure Scuttlebutt Drupal and the Decentralized Web • Boris Mann

Slide 25

Slide 25

S S B P R I N C I P L E S S TA C K Drupal and the Decentralized Web • Boris Mann

Slide 26

Slide 26

Scuttlebutt Roy Roy Roy James Kara James Gem When you write a post in scuttlebutt it is stored on your local storage When people follow you, they copy the storage container, and then sync it whenever you’re both online Evan Tom If you’re not online, the people following you can get their updates from someone who is Drupal and the Decentralized Web • Boris Mann

Slide 27

Slide 27

I P F S - I N T E R P L A N E TA R Y F I L E S Y S T E M • Location addressing: an IP address pointing to a server, a web server pointing to a directory path • Content addressing: every piece of content has a unique hash, making it location independent ipfs.io Drupal and the Decentralized Web • Boris Mann

Slide 28

Slide 28

IPFS - HOW IT WORKS Drupal and the Decentralized Web • Boris Mann

Slide 29

Slide 29

IPFS - HOW IT WORKS Drupal and the Decentralized Web • Boris Mann

Slide 30

Slide 30

N T E N IT P AF D DSR EP S SE I NE GR DISCOVERY U T I N G & LO O KU P 56 8 8 8 8 8 ☕ 8 8 7 8 8 8 8 8 Drupal and the Decentralized Web • Boris Mann

Slide 31

Slide 31

ON T A S S ID NG ICP FTSE N P EDED RRES ELIVERING BLOCKS TO USER RO U T I N G & LO O KU P 56 8 8 7 8 Drupal and the Decentralized Web • Boris Mann

Slide 32

Slide 32

I P F S L I N K E D D ATA CONTENT ADDRESSING L I N K E D D ATA { Qm123456…: { data: “Hello world”, links: [ {name: “company”, hash: Qmabcdef…} {name: “license”, hash: Qmzyxwvu…} ] } } Drupal and the Decentralized Web • Boris Mann

Slide 33

Slide 33

I P F S L I N K E D D ATA CONTENT ADDRESSING L I N K E D D ATA { { Qm123456…: { data: “Hello world”, links: [ {name: “company”, hash: Qmabcdef…} {name: “license”, hash: Qmzyxwvu…} ] } } Qmabcdef…: { data: “FISSION”, links: [ {name: “city”, hash: Qm1gb5sn…}, {name: “about”, hash: Qmzyxwvu…} ] } } Drupal and the Decentralized Web • Boris Mann

Slide 34

Slide 34

CONTENT ADDRESSING I P F S L I N K E D D ATA L I N K E D D ATA { { Qm123456…: { data: “Hello world”, links: [ {name: “company”, hash: Qmabcdef…} {name: “license”, hash: Qmzyxwvu…} ] } } Qmabcdef…: { data: “FISSION”, links: [ {name: “city”, hash: Qm1gb5sn…}, {name: “about”, hash: Qmzyxwvu…} ] } } ipfs cat /ipfs/Qm123456…/company/about/founder => “Brooke” Drupal and the Decentralized Web • Boris Mann

Slide 35

Slide 35

C O N T E N T A D D R E S S I N G - I N T E R P L A N E TA R Y S I Z E D N A M E S PA C E • Same file = same hash • No matter when 🕓 • No matter where 🌍 🌌 • No matter who 👩🔧🤖👩🚀👨🎤 🦊 • Zero file duplication per node • Replication = CDN-ish features • Immutable data structures • Structural sharing = dedup blocks • Files & data living together! Drupal and the Decentralized Web • Boris Mann

Slide 36

Slide 36

Slide 37

Slide 37

S O M E I D E A S F O R D R U PA L + I P F S • Self-host large videos, files and data sets • Manage assets with Drupal, store them in IPFS • Take Drupal offline • Sync and interact with desktops and mobile • Let users own their data • Distribute Drupal updates over IPFS Drupal and the Decentralized Web • Boris Mann

Slide 38

Slide 38

D R U PA L I P F S M O D U L E • Available on Github https://github.com/ fission-suite/drupal-ipfs • Test site at https:// fission.dev.affinitybridge.com/ • Use Fission or run your own IPFS node Drupal and the Decentralized Web • Boris Mann

Slide 39

Slide 39

T H A N K YO U ! BORIS MANN @BMANN • Session Review bit.ly/bmann-dweb-review • Slides noti.st/bmann • Talk Notes, Links & Comments talk.fission.codes/t/729