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

what is the rationale for encouraging multiple implementations of ipfs? #74

Closed
danoctavian opened this issue Jun 12, 2015 · 8 comments
Closed

Comments

@danoctavian
Copy link

Why not stick to writing a single implementation (eg. go-ipfs) and just have some interface for interacting with the ipfs daemon with implementations in many languages?

@bedeho
Copy link

bedeho commented Jun 12, 2015

I've also wondered about this.

@jbenet
Copy link
Member

jbenet commented Jun 12, 2015

Go doesn't run on the browser (or rather, not really).

@lstagner
Copy link

You might be able to use gopherjs or llvm+emscripten. Even if its sub-optimal it would be interesting to see if it can be done.

@jbenet
Copy link
Member

jbenet commented Jun 12, 2015

@lstagner indeed. would need to build connectors for webrtc and websockets as the comm, but it might just work :)

@io7m
Copy link

io7m commented Sep 11, 2015

I think the main value is in having different people try to implement the specification in as many different ways as possible: You soon learn where the specification is weak! This is obviously not IPFS specific.

@alspore
Copy link

alspore commented Sep 14, 2015

@io7m I think having multiple implementations will allow for better embedded application specific clients long term. If the protocol becomes the standard, not the implementation, experimentation with implementation will be more encouraged.

@non
Copy link

non commented Sep 16, 2015

Agreed -- and in fact, if there is only ever one implementation then it is likely that either there will be no complete specification, or that the specification will be obsolete/incomplete/incompatible with the implementation. In that case, folks who want to experiment will end up having to try to reverse engineer the actual protocol from the implementation.

@daviddias daviddias added the ready label Jan 4, 2019
@momack2 momack2 added this to Ready in ipfs/project May 10, 2019
@daviddias
Copy link
Member

Lot has happened since the opening of this issue :) I'm closing here but if you want to continue the discussion, please do so at https://discuss.ipfs.io/

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

No branches or pull requests

8 participants