Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decouple GitTorrent from blockchain #82

Open
voronoipotato opened this issue Mar 16, 2018 · 11 comments
Open

Decouple GitTorrent from blockchain #82

voronoipotato opened this issue Mar 16, 2018 · 11 comments

Comments

@voronoipotato
Copy link

If the title makes you mad take a moment to breathe before reading. My goal is to merely provide many avenues to success.

I think it would be useful to use federated infrastructure as well. This could work similarly to how peertube does where there are servers, you can host your own and they share data freely. This would allow us to piggyback gittorrent with the simpler activitypub model. You could keep going forward with your fully decentralized name solution with basically two repositories one just being the git * torrent architecture without the name tools, and another which uses gittorrent in conjunction with a name tool. This way we can get started much faster.

@cjb
Copy link
Owner

cjb commented Apr 4, 2018

That's fine. GitTorrent activity stalled out -- I suspect Ethereum and IPFS would be a better backend than BitTorrent and Bitcoin -- but there's no issue with allowing both a Bitcoin naming scheme and, say, plain old DNS TXT records, or a federated gossip network or something, because git clone gittorrent:// takes an URL scheme that we can just change. (say, e.g. git clone gittorrent+dns://)

@voronoipotato
Copy link
Author

yes part of what I think would be interesting is if the server could mediate the torrent aspect such that you could do

git clone http://voronoipotato.com/hostname/user/repo
or
git clone gittorrent://voronoipotato.com/hostname/user/repo

In the first case my server would use gittorrent to both seed and connect to clients. This would mean I can pull in git repos that aren't strictly on my server but might be on someone else's, but if users didn't feel comfortable installing gittorrent right away they wouldn't need to. These federated servers could act as a form of seeding backbone which would make it easy to self-host like gitlab does but also share issues etc with others using activity pub. The issue tracking communication think the primary power of github. The second way you'd still have access to that seed highway, but you could take better advantage of local peers, and would be the recommended path.

I think etherium and IPFS are really great, but the kind of social centralization that occurs around pure decentralization creates a vacuum of control around projects that will likely become untenable for more established projects. I'm nearly certain they'll come up with a way to manage that down the line but this project seemed like it could open up into something more flexible through piggybacking it on something like activitypub and independent hosting like gitlab.

I think this could be a viable alternative to github while mitigating the hosting cost of everyone hosting everyone's code but permitting a kind of window across servers like gnu social does and also of course removing the problem of "X's gitlab is down where else can I get the latest version".

As an aside my last name is also Ball, sorry for spamming your issue board lol.

@schwab
Copy link

schwab commented Jun 5, 2018

With the current blue bar across the top of the github pages, it maybe time to officially un-stall this project. What's needed?

@DavidGriffith
Copy link

@schwab, In addition to that, I think it would be worthwhile looking into coming up with a means of putting issues, pull requests, wikis, and so on within a git repository itself. The import functionality of Github competitors (ie, Gitlab) is nice, but it would be even nicer to use Git itself to preserve those data.

@fictitious
Copy link

You guys might be interested in looking at git over ssb: https://github.com/noffle/git-ssb-intro

@SoniEx2
Copy link

SoniEx2 commented Jun 26, 2018

can I use gittorrent with raw hex strings?

can I use gittorrent from java?

can I use gittorrent as an alternative to dat?

can I use gittorrent without ever showing the end-user the hex strings/URIs/etc?

@strypey
Copy link

strypey commented Jul 12, 2018

Here's another group working on a decentralized replacement for GH:
https://github.com/git-federation/gitpub

See also ActivityPub.rocks for more info about the standard they are building this around, the same one used in 'fediverse' social media networks like GNU social, Mastodon, PeerTube, and PixelFed.

@waldyrious
Copy link

waldyrious commented Jul 12, 2018

Here's another group working on a decentralized replacement for GH:
git-federation/gitpub

On that note, I'd also point out https://github.com/git-series/git-series, which aims (aimed?) to implement a mechanism to track the review process (comments, replies, updates to the patches, etc.) within a git repository itself, and therefore preserved in the same distributed fashion as the code, rather than siloed on external platforms like GitHub. There was a Git Minutes episode with its creator, @joshtriplett, that explains the concept in detail.

@joshtriplett
Copy link

@waldyrious Still "aims", just slowly. :)

Thanks for the mention.

@strypey
Copy link

strypey commented Jul 14, 2018

@waldyrious @joshtriplett there seem to be a few projects aiming to bring dev tools like tickets, code reviews, and docs, into the Git repo. Another one for code review is git-appraise (discussed here:
https://news.ycombinator.com/item?id=10726113) and one for bug tracking is Bugs Everywhere:
http://bugseverywhere.org/

@voronoipotato
Copy link
Author

voronoipotato commented Jul 27, 2019

We could also use SSB for this. (secure scuttlebutt) Keeping the big files on torrent and the comments etc on ssb.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants