Live data from Hacker News

GitTorrent: A Decentralized GitHub

blog.printf.net

151–160 of 174 posts

Re: GitTorrent: A Decentralized GitHub

#151

Earlier quoted context omitted.

(Author here.) You're right, of course. This is just a first step. One interesting followup idea might be that the BitTorrent library I'm using, webtorrent, also works in browsers over WebRTC. But I'm not using that because I wouldn't know what to do with a git cloned repo inside of a browser tab. Maybe someone else will though. :)

GitHub provides: - Repo hosting, - Search, - Community In comparison to decentralized Search and Community, decentralized file storage is easy. Conveniently, centralized repo hosting is the biggest problem. Not being able to Search / Comment / Report a bug during a DDOS decreases productivity, but not being able to push commits / run CI tools is a productivity halt. The best next move, might be to focus on decentrali…

Hmm, decentralized search here should probably just use a Kademlia-like implementation (http://en.wikipedia.org/wiki/Kademlia) where a 'XOR metric' is used to measure distance between nodes. (That way the max number of lookups will be log2(n) where n is the number of nodes (with further optimizations possible))

Obviously someone would need to build a user-friendly interface for all that, etc.

Re: GitTorrent: A Decentralized GitHub

#152
This is awesome, but it centralizes on JavaScript.

It is an implementation of a standard without the standard being defined so other implementations can spring up.

Git, one could argue, is language centralized also, which is technically true. That I don't have an answer for. But I don't believe handing off so much dependence to a JavaScript application fits for me.

A C/C++ application like Git I can overlook, at least for a decade or so, but JavaScript feels like a perpetual beta/prototype only. Granted, that's my subjective feeling.

Raised issue: https://github.com/cjb/GitTorrent/issues/12

Re: GitTorrent: A Decentralized GitHub

#153

This is awesome, but it centralizes on JavaScript. It is an implementation of a standard without the standard being defined so other implementations can spring up. Git, one could argue, is language centralized also, which is technically true. That I don't have an answer for. But I don't believe handing off so much dependence to a JavaScript application fits for me. A C/C++ application like Git I can overlook, at leas…

The word "centralize" in the way you're using it is very misleading. Every piece of programming in existence uses some sort of language.

What you're really stating, I think, is that this is written in Javascript and you don't like Javascript. That's totally fine, and it's your prerogative. I'm sure that, like any other piece of programming, GitTorrent can be rewritten in other languages. If Javascript bothers you that much, then do this: rewrite it in Ruby if that's what you prefer.

But please stop attacking the claim that this is "decentralised github" by claiming that this "centralises" on Javascript. It doesn't "centralise" on any language. It's just a first implementation written in Javascript.

Re: GitTorrent: A Decentralized GitHub

#154

This is awesome, but it centralizes on JavaScript. It is an implementation of a standard without the standard being defined so other implementations can spring up. Git, one could argue, is language centralized also, which is technically true. That I don't have an answer for. But I don't believe handing off so much dependence to a JavaScript application fits for me. A C/C++ application like Git I can overlook, at leas…

The word "centralize" in the way you're using it is very misleading. Every piece of programming in existence uses some sort of language. What you're really stating, I think, is that this is written in Javascript and you don't like Javascript. That's totally fine, and it's your prerogative. I'm sure that, like any other piece of programming, GitTorrent can be rewritten in other languages. If Javascript bothers you tha…

That this implementation being uncomfortable for me is my subjective feeling, I've mentioned several times. That I don't want to depend on JavaScript is clear. I don't want to depend on JavaScript. Using the word centralize the way I have, I can't see otherwise. But I'm not defaming anyone. I'm not attacking anything. I'm very motivated to help the standard advance, but I would never for a moment install this implementation. Stupid of me? Sure, maybe. But it's not an attack.

What I wanted I already got, confirmation by the OP that this is in fact a reference implementation and not the all-end-all.

Were that clear to start with, I wouldn't have commented other than to say, awesome! This is extremely exciting to me.

Re: GitTorrent: A Decentralized GitHub

#155
post #71

Forgive me if my comment too readily reveals my ignorance on these topics, but would the IPFS project [0] be useful for this? [0] http://ipfs.io

Definitely, checkout their example on how to host git on ipfs[0] [0] http://gateway.ipfs.io/ipfs/QmTkzDwWqPbnAh5YiV5VwcTLnGdwSNsN...

While integration between git and ipfs is good -- I'm not sure I see how this is much different from just tar-ing up a git-archive and creating a torrent/magnet (setting aside many of the other aspects of how ipfs and torrents work).

Decentralized git pull for only a given hash isn't all that interesting?

If one could pull in updates and/or push changes -- that would be "decentralized git". This is example is more "ipfs.io as a transport for git-releases", rather than "ipfs.io as a transport for git"?

Re: GitTorrent: A Decentralized GitHub

#156
post #70

Earlier quoted context omitted.

Check out IPFS ( http://ipfs.io/ ) You can use it for git repos essentially out of the box by uploading your repo. It is made of content addressed chunks which will get re-used on each re-upload.

I believe that these technologies are bound to wither not because of technical problems but because of "political" problems. These technologies are a huge problem with the regard to how intellectual property is managed today and how it is monetized. Every IP owner will try to slow down the progress of these technologies, mainly by not adopting them. I think these technologies won't be adopted until the IP monetizatio…

Creative Commons cense is important, that is why. Research and development can scale expression if we look for new ideas before old fear. #CreativeCommonsCense? (#CCC?)

Re: GitTorrent: A Decentralized GitHub

#157

Earlier quoted context omitted.

bittorrent hashes as susceptible to collision attacks.

Git and bittorrent use exactly the same hash format (sha1); bittorrent is no more susceptible than Git.

They use hashes for different features though. Ie You don't pull chunks anonymously with git

Re: GitTorrent: A Decentralized GitHub

#158

Sweet as hell. My only quibble is the idea of using the blockchain for validated naming. I think it'd end up in a landgrab which is nasty. As much as we all hate DNS, having the ability to kick a squatter off someone's name is probably a good thing. Personally I don't think having a crazy hash for identification is a bad thing. Rather, what you need to do is just have some sort of reasonable personal contact book so…

Look at Namecoin, it is DNS via blockchain technology.

https://namecoin.info/

Re: GitTorrent: A Decentralized GitHub

#159
post #45

A very interesting idea, GitTorrent, but I have one question which comes to me whenever I read about a delta-based distribution scheme: who is going to generate and share all those deltas? Some Linux distributions have experimented with delta-based package repositories, examples are deltup for Arch Linux and rpm-delta for RPM-based distros. Some of the known issues are: - choosing the number and spacing between delta…

Git is built out of deltas. You're already storing all of them.

Conceptually, git is built out of snapshots.

Re: GitTorrent: A Decentralized GitHub

#160
post #129
post #78

Earlier quoted context omitted.

What about using git notes (`man git-notes`) for tracking issues, comments, etc? They are stored as git objects (right?) and could be used for this task?

I thought about using git notes for this and didn't how it is better than adding issues, comments and wiki inside the repo itself. We are used to put documentation and tests alongside the code in our repo, why not add wiki and issues?

You can make an excellent case for that: this would require documentation and tests to be up-to-date before a commit would be accepted by whoever maintains the repo.
Post reply on HN