Arlodotexe / brain-dump

If you had unlimited time and resources, what would you build?
1 stars 0 forks source link

Bringing Git to the distributed Web #2

Open Arlodotexe opened 1 year ago

Arlodotexe commented 1 year ago

Background

The original thread spawned some interesting ideas, and I'd like to clearly separate them so it can be refined and discussed as needed.

What if we went all in?

If I had unlimited time and resources, what would I build?

Decentralized Git remotes

See also:

Decentralized GitHub alternative

Native Git support

This one is a bit more "out there" and should have probably been binned, but let's write it down anyway.

Arlodotexe commented 3 months ago

Adding this from a discussion on Discord.

Well-designed distributed systems can operate in a centralized or non-centralized context, and (again, when well-designed), that's better because it can operate distributed or like a traditional client-server, where operators/devs host beefy hardware to speed things up for users and the application establishes a direct connection to them out of the box. Making use of dev-operated nodes can be made required by the application, but it's optional under the hood when the application is designed to work distributed.

Gaming is a great example, because you need a powerful server or set of servers everyone connects to, but the way you discover other players and establish the 1:1 connection each one has to a host server node (whether it's beefy and hosted by the dev or hosted by an end user) can be established via distributed or traditional client-server methods. The ability to mix and match distributed and non-distributed design patterns depending on your use case-- that flexibility is powerful, and the integrations between git and GitHub really highlight that.

Ultimately, I think the rest of our dev tooling from GitHub (CI, Pull Requests, Issues) should be just as flexible and local-first as git is.