One of the earliest design goals with Rosetta was to avoid introducing any gatekeepers. We could have created a single GitHub repository and expected blockchain teams to make PRs in a single language but opted to instead release a community-driven standard that could be implemented in any language without any permission.
In a world with gatekeepers, there is no way decentralized solutions can truly excel. Anyone can build an implementation of any blockchain that adheres to the Rosetta specifications and anyone can use an implementation of any blockchain at any time.
Because all usage occurs over a JSON-based specification instead of through some specialized protocol or relies on an SDK (with support in only a few languages), it is possible to provide an implementation of the Rosetta APIs in any language.
When creating an implementation of the Rosetta APIs, there is no repository where finished implementations must be merged. Any developer can use an implementation of the Rosetta APIs for a particual blockchain if they determine it meets their needs. Multiple teams can create implementations for a given blockchain and no implementation will be given some kind of preference for gaining favor with the repository maintainer.
To keep track of community-built Rosetta implementations, we expect groups of developers to create repositories where they codify startup scripts used to start each implementation and mark which versions they have tested for stability. Who knows, maybe this could live on a blockchain somewhere?
Updated about 1 month ago