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

Reapproach as a standard, implemented by one example application. #12

Open
digitalextremist opened this issue May 30, 2015 · 3 comments

Comments

@digitalextremist
Copy link

As it stands GitTorrent centralizes on JavaScript. I would wholeheartedly support the decentralization of the code itself on a language level, by implementing this in Ruby... if it were spelled out as a standard.

I see the GitTorrent organization exists. Is there a plan to move this repository over as GitTorrent-JS or the like, expecting GitTorrent-Ruby and similar, for other languages?

I propose a standard be extracted from this implementation, then this implementation become a demonstration/primary implementation, anticipating others.

@cjb
Copy link
Owner

cjb commented May 30, 2015

I agree that networked programs should follow standards and ideally have multiple implementations. I've tried to specify some of the messaging in the README here. I'd be happy to see other implementations and more work on defining the protocol. This is all still very experimental, so it might make sense to wait a few months before starting porting effort.

There are some things that you're not going to be able to do in Ruby. In particular, the bittorrent library I'm using ("webtorrent") also supports WebRTC, so in theory you could run GitTorrent in a web browser and clone repos into a browser tab. Ruby doesn't support WebRTC, or easily run in browsers. So that's part of why I chose JS for the reference implementation.

@digitalextremist
Copy link
Author

@cjb your work on the reference implementation and first standard premise is great, and I understand the limitations you're working around by the choice of language at this point; but I feel like you need to then actively invite collaboration on the conceptual framework itself, working to avoid:

competing standards

The ideas you've demonstrated are critical and since you are disrupting the entire status quo, without opening up to a quixotic committee mentality, please allow the standard and implementation to diverge and others to come in at this critical point to affirm the standard alongside you. I would, and I'd help catalog the limitations and work around them.

For example, I could see using several languages concurrently, if the standard were implemented in a modular fashion where various languages worked in unison for different but interacting pieces.

This is an extremely exciting and liberating concept. Thank you for all the work you've put into it.

@cjb
Copy link
Owner

cjb commented May 30, 2015

Sure. I'm not sure what to say except that I welcome collaboration on everything, including the core design. An official standard right now would be extremely unfinished; just look at the other open issues.

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

2 participants