Nextgraph
S01:E02

Nextgraph

Episode description

This upbeat episode features a flourishing conversation about protocol development together with Niko.

From the exciting announcement of ELFA to the philosophical topic of singularity vs multiplicity to the origins of Nextgraph and the technology it builds on, follow along and learn more about the landscape of Open-Source in Europe.

Listen in, learn and enjoy <3

Download transcript (.srt)
0:24

Oh, I will try not to do hums.

0:28

No, don't think about it, it's all good.

0:30

Just be yourself.

0:34

Also, gotta say, your audio sounds really good.

0:38

And your voice is sounding fresh.

0:42

Okay, thanks.

0:43

Same for you.

0:45

I can hear you well and always a

0:47

pleasure to have you.

0:58

Hello and welcome to the second episode of

1:02

the SolarCast podcast.

1:04

And today we have Nico with us from

1:07

NextGraph.

1:09

We will be covering tons of different topics,

1:11

from how NextGraph works, to why it was

1:15

started, and some exciting new announcements that have

1:19

been made recently, as well as the status

1:23

of funding for open source in Europe right

1:26

now.

1:27

So, with no further ado, let's dive in.

1:41

Awesome!

1:43

So glad to have you here, Nico, and

1:46

right after FOSDEM.

1:49

This is going to be the second episode

1:52

of SolarCast.

1:54

And you are actually one of the first

1:56

people who even heard about it ever, because

1:59

we started talking about doing this recording like

2:01

a year ago.

2:04

Exactly.

2:05

Hello, Zenna.

2:07

I'm very happy to be here with you

2:10

today.

2:12

Finally!

2:13

After an intense FOSDEM, that's for sure, and

2:16

the previous one was also intense.

2:18

It's always intense, right?

2:21

You couldn't join us, but you were missed,

2:24

for sure.

2:25

And I hope you saw some recordings.

2:28

But it was, yes, next time.

2:30

Next FOSDEM, we'll be together in Brussels again.

2:34

And also this FOSDEM, you were organizing like

2:37

a whole section, weren't you?

2:39

Yes, indeed.

2:40

There was this dev room.

2:41

This was the first time that we did

2:43

a local first dev room.

2:44

It was needed, right?

2:46

It was overdue.

2:47

And it went very well.

2:50

We had a full day, packed with amazing

2:54

talks.

2:55

I think we might expect to have it

2:58

next year, as a repeat.

3:01

I really hope so!

3:03

My FOMO was so intense, it was off

3:06

the charts.

3:08

I understand you, really.

3:10

I would like to miss it.

3:13

You have the videos.

3:15

At least you can go watch the videos

3:16

whenever you have time.

3:18

Everything is there.

3:20

And that goes for everyone else who might

3:23

be listening as well.

3:28

That said, was there like...

3:30

Actually, I think I know the answer to

3:32

this.

3:32

Because before we dive into the regular questions

3:36

of the interview, y'all made a pretty

3:38

big announcement this FOSDEM.

3:42

Or maybe specifically, NLNet made a big announcement,

3:46

and you are part of it.

3:47

Exactly.

3:48

It's a joint announcement.

3:50

And it was big, and it was at

3:52

the same time.

3:52

So this FOSDEM was intense for me.

3:56

We announced that there is a consortium that

3:59

was created and that has been selected by

4:02

the European Commission for three years of funding

4:04

with the goal of building a suite of

4:09

apps based on XRF.

4:12

And we can dive into that a bit

4:14

later if you want.

4:15

But the suite of apps is productivity tools.

4:18

It borders to social networks also.

4:22

So we expect a lot from that.

4:24

It was just announced a few days ago.

4:27

Yeah, that is incredible.

4:29

And from having seen a bit of behind

4:31

the scenes, wow, you deserve this.

4:33

The amount of effort you've put in to

4:35

make this happen is incredible and admirable.

4:40

So cheers to you.

4:42

Thank you.

4:42

Thank you so much.

4:48

So going forward, what do you see with

4:53

this new consortium and this new suite of

4:56

apps that are going to be built on

4:57

NextGraph?

4:58

What do you see as the next steps?

5:00

How do you think you're going to be

5:02

engaging with the surrounding communities?

5:07

Yes, it's going to be first a lot

5:08

of work.

5:10

These 12 partners working together, they all bring

5:13

their own technology.

5:15

We're going to make it happen.

5:17

The work is concentrated on the first two

5:19

years.

5:22

So you can expect something to test in

5:24

about a year or maybe a bit before.

5:27

And we have CryptoPad also in the consortium.

5:32

So we're going to work on compatibility with

5:34

the suite of apps of CryptoPad.

5:39

So then the sky is open, I would

5:42

say.

5:43

We're still looking at other suites that already

5:47

exist, like NextCloud or La Suite Numérique from

5:50

the French government or others that would like

5:54

to have interoperability with us.

5:56

And we would like to benefit from the

5:57

features that we can offer them.

5:59

So why not that?

6:01

In terms of community, there are also some

6:05

independent app makers that are looking into NextGraph

6:09

for using it as a base for their

6:12

work.

6:13

So we hope, yes, we have expectations.

6:18

I hope it will turn out to be

6:20

good.

6:21

It will definitely.

6:22

I'm so excited to see more and hear

6:25

about what's coming forward with that.

6:27

I can't wait.

6:32

It's really been a journey for the whole

6:36

peer-to-peer kind of webs.

6:39

Well, that's how I refer to it in

6:41

my head.

6:41

Easier than saying offline first, local first, peer

6:45

-to-peer networks.

6:47

But the maturity is really starting to come.

6:50

But one thing that you mentioned just now

6:53

was interoperability.

6:56

And just because this has become like kind

6:58

of like the tagline for digital sovereignty in

7:01

Europe, I'm kind of wondering like what does

7:04

interoperability mean for you in practice as someone

7:07

who's like developing protocol?

7:09

Sure, that's a very good question.

7:12

And the word is used interoperability.

7:14

It's used everywhere, right?

7:16

Everybody is interoperable.

7:18

Basically, not saying it is like a mistake.

7:22

But then how do you do it?

7:24

And what it really means, it's another question.

7:27

And then we have problems of interoperability on

7:29

the definition of the term interoperability.

7:35

I know.

7:37

It's a tough subject.

7:39

So what it means, at least for the

7:41

end user, I guess, is that if the

7:44

end user is using an app and then

7:47

wants to switch to another app, if the

7:51

user has the files, he can do that.

7:54

They can do that, right?

7:58

If she's using one website and then wants

8:03

to switch to another one, the same.

8:06

We have basic interoperability with the web.

8:09

We have these links, right?

8:11

We can connect.

8:12

We can say, now I redirect users to

8:16

another page that exists for 30 years.

8:20

That's the very lowest standard of interoperability.

8:26

But then the apps that we use, they

8:28

need to save the data somewhere.

8:31

And this data has a format.

8:35

And this format is decided by the programmers

8:38

of the app makers, of the ones who

8:40

wrote the program, the software.

8:42

And this is where there is this problem

8:44

of interoperability, because is that format understood by

8:48

other apps or not?

8:50

So we have import, export, and this is

8:52

becoming soon a nightmare.

8:54

So I have done this work here, but

8:57

I need to export it in another one

8:58

and import it, and it doesn't work, or

9:02

there are differences.

9:03

These programs don't really understand the same formats

9:06

the same way.

9:08

So at the level of the data, I

9:10

like to use a specific format, which is

9:13

called RDF.

9:15

It is a simple format that describes...

9:18

Yes, it is not known.

9:20

I see your interest.

9:21

It is not so well known.

9:24

There is another one which is called JSON,

9:27

which is more known, right?

9:29

But the JSON is simple.

9:33

It is playing well with the...

9:36

The structure is very good.

9:37

It is very simple to use.

9:39

But it does not really describe the schema.

9:43

So we have JSON schema, for example, but

9:45

this is still very open in there, right?

9:48

Anybody can do anything.

9:50

And it is not meant for having a

9:54

way to share this schema globally with others.

9:57

It is more like, OK, I can define

9:59

my own schema, and then what?

10:01

So RDF has been thought from the beginning

10:03

in how we connect data across databases.

10:07

A database is like where I store my

10:09

data normally as a program.

10:11

It could be in a file if it

10:12

is just local, but when we have a

10:14

server and that we want to have collaboration

10:17

with different users, we put the data in

10:20

the database.

10:21

And it is the same.

10:22

Let's see it as a file for those

10:24

who don't know.

10:26

But then the data, in which format is

10:28

it in there?

10:29

And how do I exchange or link the

10:33

data across these databases, across these servers?

10:36

And this is why RDF exists.

10:38

And it was invented in cooperation with Tim

10:41

Berners-Lee, the inventor of the web.

10:44

So he did the web like 30 years

10:46

ago, and then he said that was cool,

10:50

everybody is using it, but it is a

10:53

web of web pages, right?

10:55

Of these HTML web pages.

10:56

Now I want to do the web of

10:58

the data.

10:59

So it's at a lower level.

11:02

It's how I link the data itself.

11:06

And then that's it.

11:07

That's the standard.

11:08

So it's a simple standard.

11:10

It doesn't have a lot.

11:12

And you can link the data across all

11:14

the planet databases.

11:17

This is fascinating.

11:19

And I love hearing such a concrete answer

11:21

to this question, because usually this question is

11:24

so confuddled in so many different ways.

11:28

We can come back to the same question,

11:31

because you mentioned protocols and I did not

11:33

address that.

11:34

So we can also go back to that

11:35

after if you want to.

11:38

Because there is also the problem of interoperability

11:41

at the level of the network, which is

11:43

another problem.

11:44

I was talking about the data now.

11:45

There is another one at the network and

11:48

the protocol level.

11:49

So the web, I was talking about the

11:54

web, is based on this protocol that is

11:57

called HTTP.

11:57

Everybody knows it, even those who don't know

11:59

exactly how it works.

12:02

And this was created by the same person,

12:05

Tim Berners-Lee.

12:07

So it's a very simple sync protocol that

12:11

can take or put some data on the

12:15

server.

12:16

Or I want to read.

12:17

So I take the data, it's called GET.

12:19

Or I want to modify this data and

12:21

it's put or patch or post.

12:24

But there are two ways of using this

12:27

protocol.

12:28

Most of the people use the GET.

12:30

They want to receive the information, to read

12:32

it, to browse the web.

12:36

And then we have...

12:39

So this protocol is based on TCPIP.

12:41

This is less known, but it is a

12:44

lower level protocol that makes the internet.

12:48

So the internet is using this protocol.

12:50

So all these computers, these servers, these devices

12:54

of the user are using this protocol to

12:58

exchange information.

13:00

There is only one protocol in the world

13:02

for that.

13:03

And all the internet is based on that.

13:06

At the genesis of the internet, there were

13:09

many competing protocols.

13:10

But eventually, it all boiled down to one

13:13

because we wanted interoperability.

13:16

And one of them won, let's say.

13:20

So then on top of TCPIP, HTTP was

13:23

able to exist.

13:25

And it's the same.

13:26

HTTP became the standard at the higher level

13:29

of this protocol for getting or putting data

13:34

to the server.

13:35

And now we see that this paradigm of

13:39

the web and the HTTP protocol put and

13:44

get is changing, is evolving to some more

13:48

decentralized protocols.

13:51

So this is what you're working also, Zina.

13:53

I know you're very into that.

13:56

And you call it peer-for-peer, or

13:57

it could be peer-to-peer.

13:58

There is a slight difference between the two

14:00

terms that you can explain maybe later.

14:04

And then it's more decentralized.

14:07

And we don't use HTTP.

14:11

We use new protocols.

14:13

But most of the time, they are based

14:15

on TCPIP under the hood.

14:18

So these many protocols on the peer-to

14:22

-peer level, I find it as a bit

14:26

counterproductive because I would imagine one protocol that

14:32

would fit all the needs, that would be

14:35

a convergence of all this research that happened

14:39

along the years, all these small protocols that

14:42

aren't used so much yet, but that will

14:45

be used at some point in the future

14:47

because we want this peer-to-peer change

14:48

to happen.

14:49

So I'm actually really curious.

14:51

I wish it could happen.

14:53

Yeah, because we've had this conversation, you and

14:56

I, before.

14:58

And we're not going to delve into all

15:00

of that now, even though it's a very

15:02

interesting conversation, I think.

15:04

But the conversation is the question of multiplicity

15:07

versus the one.

15:08

And if we recap just in short, I

15:10

was saying that in a distributed web where

15:16

things are peer-to-peer, there will be

15:18

multiplicity because that aligns with the organizing forms

15:23

and the architectural forms of these kind of

15:26

webs and networks.

15:27

And you were saying what you said just

15:29

now, which is this whole of like, there

15:34

will be one protocol that will eventually become

15:37

the protocol that we will use, but it

15:39

will be an updated version compared to what

15:43

is existing now, which is like HTTPS and

15:47

stuff like that.

15:48

Did I recap that correctly?

15:51

Yes, it's good that you mentioned this previous

15:54

discussion we had.

15:55

And yes, for me, I'm still saying the

15:57

same.

15:57

And for now, we are not there.

16:00

For now, we still have a diversity of

16:02

protocols.

16:03

And it has, of course, a benefit because

16:07

everybody can experiment and add features that are

16:11

specific to what they need.

16:15

But then there is this question that you

16:16

raised of interoperability.

16:18

And if we want the devices and the

16:22

networks to talk to each other, I believe

16:25

that somehow we need to speak the same

16:27

language or the same protocol.

16:30

Then there is also the option of making

16:33

bridges.

16:34

Like if we do have separate networks and

16:36

separate systems that don't talk the same protocol,

16:39

then we can make bridges between them.

16:41

It's already existing for some of the protocols.

16:45

But I found that this bridges solution is

16:48

a bit brittle because we don't have parity

16:51

of features on those protocols.

16:53

So it's always going to be a subset

16:55

of the features that are bridged.

16:57

And it can be, for the end user,

17:00

I mean, a bit confusing.

17:03

So as we've seen, these HTTP protocols take

17:06

over the whole web.

17:08

We might see one protocol, and it doesn't

17:10

have to be mine.

17:12

I would prefer to just work with all

17:14

the people doing protocols today and come back

17:18

to the drawing table and say, let's make

17:21

the best of all these protocols.

17:23

And then let's design it together and then

17:27

let's implement it together.

17:28

We can even split the work because we

17:30

are many.

17:31

So then it's going to go very fast,

17:33

the implementation.

17:35

And then it's the best, right?

17:36

So we all put our brains in it.

17:38

So it's the best of all of it.

17:40

So I'm wishing for that.

17:43

And in the meanwhile, I have my protocol.

17:47

Something like that.

17:50

I fully get that.

17:52

And thank you for touching back in on

17:53

this, because it was something I was thinking

17:55

about ahead of the podcast.

17:56

I was like, should we bring this conversation

17:58

back?

17:58

It's really interesting, and I find it very

18:00

fascinating.

18:01

Also, because it touches on that correlation between

18:04

technical work and organizational work and how they

18:07

kind of shape each other.

18:10

That's called sociomateriality, which is a completely other

18:14

topic that we won't go into now.

18:17

Hashtag academics.

18:18

Yeah, somebody needs to interview you at some

18:20

point.

18:21

No, definitely not.

18:31

But I thought it was interesting because something

18:33

that you mentioned here, it comes back to

18:37

this whole question of like, is it a

18:39

feature or is it a bug?

18:41

Exactly.

18:42

Because in a lot of these networks, like

18:47

ActivityPub, which is the protocol for Mastodon, or

18:51

also in Scuttlebutt, we had the same situation

18:53

where we had the Scuttlebutt protocol, but someone

18:56

built the chess app and someone else built,

18:58

of course, just regular social networking.

19:02

And then you mentioned this aspect of the

19:06

parity of features and how that can become

19:11

confusing for end users.

19:14

So I was wondering, you mentioned that that

19:19

was going to be a challenge for networks

19:22

to be able to communicate together because one

19:24

network might be using a certain data set

19:26

that the other network doesn't use for different

19:31

purposes.

19:32

But I'm wondering, because that is already happening

19:35

in a sense.

19:36

Like a lot of these networks have multiple

19:39

apps being built on top of them.

19:42

Like communicating between a LEMME instance and a

19:48

PixelFed instance, for example, can sometimes be a

19:52

little bit like wonk.

19:54

How do you see that happening now that

19:57

you're going to be building multiple apps running

20:00

over NextGraph?

20:02

Good, very good question.

20:03

So, yes, this ecosystem of apps built on

20:08

NextGraph or built on this ideal protocol is

20:13

needed, is wanted, is desired.

20:16

And it's going to happen.

20:19

We have a plan for 16 apps in

20:22

ELFA.

20:22

That's the name of the project, the consortium

20:24

for encrypted local-first applications.

20:28

That's a name that says what it does.

20:31

And then we want even interoperability with other

20:37

apps.

20:37

We have also third-party apps, app makers

20:40

that are already building apps, like three of

20:43

them at least, in the pipeline, a video

20:46

editor.

20:47

We have a text editor with comments and

20:52

social interaction.

20:54

The video editor is Miru.

20:56

And then we have a Lilo startup that

20:59

is working on the web of trust and

21:01

social networks and personal network manager.

21:05

It means I import all my contacts into

21:08

this app and then I can contact the

21:10

people but also share these contacts with others.

21:14

But anyway, what I mean, what I wanted

21:15

to say about the diverse ecosystem is that

21:19

if the protocol is at the lowest level

21:21

possible, then there is, the sky is open.

21:27

Then everything can happen on top of this

21:29

protocol.

21:30

So we don't want to pack the protocol

21:32

with a lot of features, like ActivityPub has

21:35

a bit of this problem because it's a

21:37

higher level protocol.

21:38

It's more about what the format of the

21:40

data, about what you can do, what the

21:42

interactions the users can do on this protocol.

21:47

While NextGraph protocol, it's a lower level.

21:50

It's about syncing data.

21:54

That's all it does.

21:55

So we are in the local first paradigm.

21:58

So it is different than a web API.

22:01

We have here a sync engine and a

22:05

sync protocol.

22:06

So the devices of the users are connected

22:10

through this protocol and they sync the data.

22:14

And that's what's happening.

22:15

And it's end-to-end encrypted.

22:16

So there are some servers in between that

22:19

are just there to help, to help for

22:21

the communication.

22:22

But they don't see the data because it's

22:24

end-to-end encrypted.

22:26

And we call them brokers and they do

22:28

store and forward.

22:29

It's like in WhatsApp.

22:30

When you send a message in WhatsApp, there

22:33

is a server, the server of Meta, but

22:36

it doesn't see the data, the message.

22:38

And as soon as the message is transferred

22:40

to the other devices, WhatsApp deletes the data

22:44

that it had stored on the server.

22:46

We don't delete it because it helps for

22:49

synchronization with new users that join a group,

22:51

for example, or new devices that you would

22:55

add for yourself.

22:58

But the user can decide at some point

23:01

to remove data from the broker also.

23:04

As long as it's end-to-end encrypted,

23:06

it's okay.

23:08

So that's the general architecture.

23:10

And it syncs data.

23:12

So you have documents that are synced.

23:14

In the documents, what you put is up

23:16

to the app developer.

23:17

The app developer can create all kinds of

23:20

formats for the data, different types of interactions,

23:24

of use cases, of flows, of how to

23:27

use the app.

23:28

That doesn't matter because we just use these

23:30

documents as a database, as a global database,

23:33

as I said before.

23:35

And it handles permissions, but that's it.

23:40

And the format, we can support RDF, JSON,

23:48

and Markdown also for the text, the rich

23:51

text editing.

23:53

So that's the basic we give.

23:55

We give a little bit more in the

23:58

protocol, but I don't want to touch it

24:00

now.

24:01

And we think that this is really the

24:04

base that an app developer needs.

24:07

Yeah.

24:09

Can I make a sneaky, cheeky request?

24:13

Yeah.

24:15

One app that's missing on the market, a

24:19

huge gap in the open source market, is

24:22

voice chatting apps.

24:25

Like, Discord has a stranglehold on the market,

24:30

and Mumble used to be the other option,

24:35

basically.

24:36

Now Discord is starting to use these identity

24:41

verification methods that are quite intrusive.

24:45

Yes.

24:47

So, yeah.

24:48

A sneaky, cheeky little sign.

24:50

Okay, I will keep it in the back

24:51

of my mind.

24:52

In fact, it's very true in the news.

24:54

In the last days, everybody was talking about

24:56

this problem of Discord that open source people,

25:00

at least, or privacy-concerned people, want to

25:03

leave Discord, where it's massively used so far,

25:07

even in the open source communities.

25:10

And it was a wrong idea because it's

25:12

not open source, it's not an open platform.

25:15

So, why are we...

25:16

What are we doing there in the first

25:18

place?

25:19

But, anyway, it's going to change, but people

25:22

are confused because there's no alternative.

25:23

Right?

25:24

There's not a very good open source alternative.

25:26

There is one that is trying, but it's

25:28

missing this key feature of the audio, as

25:32

you said, this audio chat or...

25:36

So, let's do it.

25:37

Yes, let's do it.

25:38

I hope that somebody will do it soon.

25:40

On any protocol, I would say, and then

25:44

I can port it to NexGraph or something

25:45

like that.

25:47

But if they want to do it on

25:49

NexGraph, they are welcome to do it, of

25:51

course.

25:53

If you're listening to this, you can reach

25:55

out to NexGraph or any other protocol and

25:58

build a voice chatting app for open source

26:00

and people will love you.

26:02

Exactly.

26:04

You will have a lot of adoption in

26:06

the coming days or weeks.

26:07

You have to do it quick.

26:10

Actually, we've been having this issue for years

26:13

because we used voice chatting in Scuttlebutt as

26:16

well.

26:17

Now it's becoming...

26:18

I feel so old when I say these

26:19

things, but seven years ago...

26:22

No, but it wasn't seven years ago.

26:24

Maybe four years ago.

26:25

We were using voice chat a lot, but

26:29

then something happened with Mumble and then it

26:31

just kind of fell off.

26:32

But no one wanted to move to Discord,

26:34

of course.

26:35

I tried it, Mumble.

26:36

It's nice, right?

26:37

It's like a native app that you had

26:39

to install and it was working great.

26:42

I don't know why it didn't pick up.

26:44

I don't know.

26:45

There are some questions to ask here.

26:47

What's better in Discord than Mumble, by example?

26:50

Why?

26:51

Exactly.

26:52

Good question.

26:55

For the eve online player season.

26:57

But now we've gotten plentifully distracted by super

27:01

interesting conversation, which is always a pleasure.

27:03

And part of that conversation has also dived

27:06

into some of those questions that we're going

27:08

to be exploring in this podcast episode.

27:11

So one thing that I'm very curious about

27:14

right now.

27:15

And I think I don't know if people

27:18

have heard this story, but you yourself are

27:22

a very fascinating person.

27:25

Thank you.

27:26

You too.

27:27

See that.

27:29

With so many cool life stories.

27:33

But I'm curious, like what's when Next Graph

27:37

was initiated?

27:39

What was it that like made you want

27:42

to build Next Graph?

27:44

And why did you find it so important?

27:48

Yes.

27:48

Okay.

27:49

So I will make it short.

27:51

This idea is 20 years old.

27:54

Even more, I think.

27:55

It was the first idea was the tools

27:58

I'm using today, so 20 years ago, are

28:01

not good enough.

28:02

It's all brittle.

28:03

It's all okay.

28:05

They are open source.

28:06

Imagine 20 years ago how it was, but

28:08

the situation improved a little bit, but it's

28:11

still not as good as I want it.

28:13

Right?

28:13

Tell me.

28:14

Good enough for what?

28:17

All the tools.

28:18

Like I'm using a computer and I have

28:20

these problems all the time.

28:22

Right?

28:23

Of incompatibility of apps, of I need to

28:26

use a server.

28:27

I need to install a server.

28:28

If I want to self-host an open

28:31

source project, I need to install maybe 20,

28:34

25, 30 different servers, services, right, on the

28:38

server that I rent.

28:39

I need to sysadmin this server.

28:42

I need to make the security good for

28:45

it and all these apps to work together,

28:47

which is a nightmare.

28:48

We have Framasoft in France, right, tried to

28:51

do that.

28:52

They called the project to degooglize the internet

28:55

10 years ago and it didn't really pick

28:58

up.

28:59

They did some good things, but it was

29:01

brittle also because you had these different apps

29:04

and they were not working well together.

29:06

We have newer attempts at that that are

29:09

the same, right.

29:10

I take these different softwares and I try

29:13

to make them work together, but it doesn't

29:15

really fit.

29:16

So there is this first problem, right, and

29:18

then I want to own my data.

29:20

I want to everything I do, even if

29:22

it's on the web, even if it's sharing

29:24

with others, I want to have a copy

29:25

locally.

29:26

I want to be the owner of my

29:29

own data and if something happens, I can

29:32

do, I can use another software and I

29:34

can switch to another.

29:37

Yes, if the software is not good enough,

29:39

I can change it, but also if I

29:41

want to just use another one, I should

29:43

be able to do that.

29:45

So that was the first principles I wanted

29:48

to address.

29:49

It's called malleable software.

29:50

There is a term for that and it

29:52

does not exist.

29:54

We are still struggling to create malleable software.

29:58

So that's our very first